Commit Graph

16954 Commits

Author SHA1 Message Date
Kristina Lim
6d1dd76590 Cap width of hub name in top bar and wrap 2019-07-03 04:30:06 +08:00
Kristina Lim
356e00bfbb Add space for tab bar in medium and below screens 2019-07-03 04:02:28 +08:00
Kristina Lim
5534109122 Undo setting of margin for home tagline 2019-07-03 04:02:22 +08:00
Janine Luk
ac8790ecb3 sticky header for mobile 2019-07-03 03:57:11 +08:00
Matt-Yorkley
2eb8121644 Update Docker config 2019-07-02 20:36:21 +01:00
Matt-Yorkley
b685e0d3a7 Add ENV var for db host 2019-07-02 20:34:16 +01:00
Matt-Yorkley
1dd3d86a2b Add prefixes to ENV vars 2019-07-02 20:34:16 +01:00
Pau Perez
7ee41902f2 DRY and make database.yml more flexible
This enables us to fix
https://github.com/openfoodfoundation/ofn-install/issues/387 and brings the
needed flexibility so things like
https://github.com/openfoodfoundation/openfoodnetwork/pull/3887 or any CI don't
require a custom version. That's what ENV vars are for!

For instance, I no longer need to mess with my LXC setup to connect to the DB.
I just need to have 2 env vars.
2019-07-02 20:34:16 +01:00
dependabot-preview[bot]
490ced4a92 Bump knapsack from 1.17.1 to 1.17.2
Bumps [knapsack](https://github.com/ArturT/knapsack) from 1.17.1 to 1.17.2.
- [Release notes](https://github.com/ArturT/knapsack/releases)
- [Changelog](https://github.com/ArturT/knapsack/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ArturT/knapsack/compare/v1.17.1...v1.17.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-07-02 19:21:44 +00:00
dependabot-preview[bot]
a682115fb1 Bump simplecov from 0.16.1 to 0.17.0
Bumps [simplecov](https://github.com/colszowka/simplecov) from 0.16.1 to 0.17.0.
- [Release notes](https://github.com/colszowka/simplecov/releases)
- [Changelog](https://github.com/colszowka/simplecov/blob/master/CHANGELOG.md)
- [Commits](https://github.com/colszowka/simplecov/compare/v0.16.1...v0.17.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-07-02 19:19:31 +00:00
Kristina Lim
653067f58c Omit text for top bar items with icon in large
This affects only top bar menu items for:

* Language
* Profile

This does not update the "Log in" menu item, because the currently
selected icon might not be self explanatory.
2019-07-03 01:49:36 +08:00
Kristina Lim
06ed9c838e Remove extra left padding from top bar menu items 2019-07-03 01:49:35 +08:00
Matt-Yorkley
726d87de6b Fix display bug in cart button on mobile menu 2019-07-02 16:47:22 +01:00
Matt-Yorkley
fbb97c3db8 Fix JS render-blocking in Darkswarm 2019-07-02 13:43:20 +01:00
Matt-Yorkley
cea8cbd924 Preload primary font to speed up page rendering 2019-07-02 13:23:03 +01:00
Maikel Linke
73372a58ef Remove unused and dangerous Exchange#eql? override
The `eql?` override has been added in very early commits but was
actually not used except in a test. It also caused performance problems
since each call to `eql?` would issue two database queries. A developer
would unknowingly trigger these when using `exchanges.uniq`. A mistake
that could have happened again in the future.

I moved the implementation to the test that was actually using it and
made a second test a bit more explicit.
2019-07-02 18:42:02 +10:00
Maikel Linke
287d6a926a Document Exchange 2019-07-02 18:42:02 +10:00
Maikel Linke
04b07a1ff5 Further optimise querying affected exchanges
The implementation queried the database for each incoming variant that
was changed. This rewrite combines ActiveRecord relations so that it
creates only one query. This saves another 5-10% of execution time when
updating enterprise fees on production instances.
2019-07-02 18:42:01 +10:00
Maikel Linke
0da7c93bc6 Collect affected exchanges more efficiently
When an incoming exchange of an order cycle changes, the ProductsCache
queries all affected outgoing exchanges to update them. It was creating
a big collection of exchanges with duplicates and then calling `uniq`.
That call was hitting a custom implementation of `eql?` which is very
inefficient. And since `Exchange.eql?` is ignoring the order cycle id,
it was probably filtering too many exchanges from the collection.

Fixed bug: If two order cycles sell exactly the same variants to the
same shop, the two outgoing exchanges are seen as equal. When the
variants change, ProductsCache would only update one of those two
exchanges, leaving one order cycle out of sync. This case is very rare.
It only happens if there is a shop with two active order cycles selling
exactly the same.

The new uniqueness test looks only at the attributes that are later used
to refresh the cache. I measured a page speed improvement from 90
seconds to 3 seconds (30 times faster).
2019-07-02 18:29:50 +10:00
Maikel Linke
bfe41d4cbc Extract method to simplify 2019-07-02 18:29:50 +10:00
Maikel Linke
3e6e0b73ee Style products cache
The `private` modifier doesn't affect class methods. Class methods have
to be declared as private separately. Also using more guard clauses,
brackets and linebreaks.
2019-07-02 18:29:49 +10:00
Maikel
592a468448 Merge pull request #3960 from mkllnk/test-spec-stability
Remove retries from previously flaky specs
2019-07-02 13:50:16 +10:00
Transifex-Openfoodnetwork
f09b1fc1a8 Updating translations for config/locales/en_ZA.yml 2019-07-02 01:13:09 +10:00
Ecksi
bdbd869b06 Modify English tool tip text in yml file
Modify GB English tool tip text in yml file

Modify US English tool tip text in yml file
2019-06-28 10:59:50 +10:00
Maikel
8b42bd205a Merge pull request #3977 from openfoodfoundation/transifex
Transifex
2019-06-27 09:29:09 +10:00
Transifex-Openfoodnetwork
6108a74fec Updating translations for config/locales/fr.yml 2019-06-27 00:47:45 +10:00
Luis Ramos
5ecab7a0c2 Merge pull request #3971 from Matt-Yorkley/basket_errors
Avoid `undefined method 'order'` errors when removing lineitems from basket
2019-06-26 15:33:26 +01:00
Luis Ramos
d8785bdaba Merge pull request #3932 from luisramos0/shpfront_message
Improve message in private shopfront when user is not logged in or not a customer
2019-06-26 15:31:06 +01:00
Luis Ramos
00841cb537 Merge pull request #3923 from luisramos0/prod_image_error
User friendly error when creating a product with an image in an unsupported format
2019-06-26 15:30:18 +01:00
luisramos0
61c8859da8 Fix problem in array concatenation in orders helper and cover it with specs 2019-06-26 14:17:41 +01:00
luisramos0
e33ce235c4 Hide invoice links in order edit page if invoices are disabled 2019-06-26 14:17:41 +01:00
luisramos0
ec2f99a467 Refactor OrderHelper.order_links: extract some logic from order_links to make it more simple and pass rubocop tests 2019-06-26 14:17:41 +01:00
luisramos0
67b5f08b07 Refactor OrderHelper.order_links: extract links object to separate methods 2019-06-26 14:17:41 +01:00
luisramos0
95170bacd5 Show print invoices button in orders list page only if invoices are enabled in the backoffice 2019-06-26 14:17:25 +01:00
Maikel
eebc49f27c Merge pull request #3887 from pacodelaluna/add-docker-configuration-for-dev-setup
Add docker configuration for quick local setup
2019-06-26 21:23:34 +10:00
luisramos0
8b0296eae6 Use a single query to get filter_schedules_by_enterprise_id 2019-06-26 11:38:03 +01:00
François Turbelin
b6120a9105 Fix docker-compose application yml file 2019-06-26 11:03:20 +02:00
Maikel Linke
5d3dbca9c3 Toggle features via env instead of initializer
A FeatureToggle could be switched via a class_eval in an initializer.
The initializer was installed via ofn-install. We want to get rid of
custom, untracked initializers. Here I'm changing the FeatureToggle
class to use environment variables instead.

This change needs to be followed up with a change in ofn-install to use
the new environment variable. It affects only Australian production.
2019-06-26 11:43:22 +10:00
Maikel Linke
5bbd63bcd8 Add spec for rescuing order saving shipment 2019-06-26 11:32:01 +10:00
Maikel Linke
980b4a86ab Move shipment rescue to its own method 2019-06-26 10:48:51 +10:00
Luis Ramos
118ed79070 Merge pull request #3904 from luisramos0/subs_stock
Fix ofn-on-hand directive and fix usage of variant.on_hand in subscriptions order factory
2019-06-25 20:25:06 +01:00
François Turbelin
623d1e0285 Add missing file 2019-06-25 20:05:55 +02:00
François Turbelin
2dcced8810 Put back application example file as it was 2019-06-25 17:59:37 +02:00
Matt-Yorkley
5100ad6b51 Improve #line_items_for logic and add more tests 2019-06-25 15:33:42 +01:00
luisramos0
7e2bead54d Make finalizedquantity optional in the ofn-on-hand directive and extract avaiable quantity to a separate method for clarity 2019-06-25 14:50:03 +01:00
luisramos0
2b6e6c62dd Simplify order_factory_spec by extracting copy pasted code to method 2019-06-25 14:50:03 +01:00
luisramos0
05a15d9441 Extract method to remove some copy pasted code in order_factory_spec 2019-06-25 14:50:03 +01:00
luisramos0
567196fe0e Fix line item verification of stock on the browser side by adding logic to handle completed orders with some reserved stock
The shopping/orders_spec is now validating this edge case by using all stock available in one of the line items
2019-06-25 14:50:03 +01:00
luisramos0
7bd32d4967 Fix usage of variant.on_hand in subscriptions order factory, we now take on_demand into account
This fixes a problem introduced in 12eab1bfa9 (diff-c3c4192f302cc77e9a8547012fe86ddb), since then variant.on_hand does not return infinity if variant is on_demand
2019-06-25 14:47:47 +01:00
Luis Ramos
9b6f1a5e11 Merge pull request #3958 from Matt-Yorkley/pi_encoding
Improve handling of invalid characters in uploaded CSV files
2019-06-25 14:44:32 +01:00