Luis Ramos
951787d456
Merge pull request #3987 from mkllnk/3978-optimise-products-cache
...
3978 Optimise products cache
2019-07-03 19:59:07 +01:00
Luis Ramos
b35743b6e4
Merge pull request #3968 from mkllnk/3924-rescue-failing-shipment
...
Rescue checkout on shipping id conflict
2019-07-03 19:56:24 +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
980b4a86ab
Move shipment rescue to its own method
2019-06-26 10:48:51 +10:00
Matt-Yorkley
5100ad6b51
Improve #line_items_for logic and add more tests
2019-06-25 15:33:42 +01:00
Matt-Yorkley
0a155da273
Avoid undefined method 'order' errors when removing lineitems from basket
2019-06-25 11:13:56 +01:00
Maikel Linke
1e1e88fe51
Rescue checkout on shipping id conflict
...
Helps to investigate https://github.com/openfoodfoundation/openfoodnetwork/issues/3924
A better solution would be to move the update of shipments out of the
after_save callback and deal with it in controllers. Unfortunately,
that's a big and tricky task.
Since this exception is causing a lot of pain for some Australian
farmers, I introduced more logging here to understand the problem
better. The issue was observed in OFN v1 and may disappear with v2. But
we don't know that and should monitor it.
2019-06-21 16:05:54 +10:00
Maikel
5b0c8bbaef
Merge pull request #3836 from Matt-Yorkley/fast_and_furious2
...
Improve /shops, /producers, and /groups performance
2019-06-21 15:02:19 +10:00
Maikel
5aea361d87
Merge pull request #3709 from luisramos0/2-0-prepare-4-rails-4
...
Start upgrade to Rails 4
2019-06-21 14:58:24 +10:00
Maikel
12f0ed9955
Merge pull request #3940 from luisramos0/zones
...
Remove matching of shipping method zone to user address on checkout
2019-06-21 14:43:40 +10:00
Maikel
4c4881430c
Merge pull request #3908 from kristinalim/fix/3843-unit_type_in_product_import
...
3877,3843 Improve handling of units and unit type in product import
2019-06-21 14:43:01 +10:00
luisramos0
2b3865855d
Simplify shipping_method.include? method
2019-06-18 11:42:34 +01:00
luisramos0
1da18d3386
Fix enterprise model scopes by making ready_for_checkout return enterprises and not ids again and by making not_ready_for_checkout select the id field from the ready_for_checkout scope
2019-06-18 10:52:56 +01:00
luisramos0
b025df1798
Fix a few more rubocop issues
2019-06-18 10:52:56 +01:00
luisramos0
178924af5d
Fix long lines in order_cycle model
2019-06-18 10:52:45 +01:00
luisramos0
c15c5435ff
Fix long lines in exchange model
2019-06-18 10:45:01 +01:00
luisramos0
0cdb49818d
Remove distinct from enterprise.ready_for_checkout scope
...
Adapt use of enterprise scope not_ready_for_checkout to rails 4 by adding enterprises table alias to selected field id
2019-06-18 10:40:49 +01:00
luisramos0
9548f5c5f7
Adapt order_cycle scopes to rail 4
2019-06-18 10:40:49 +01:00
luisramos0
ba91abd20e
Adapt exchanges.with_any_variant scope to rails 4
2019-06-18 10:40:49 +01:00
luisramos0
0d07bf2a3b
Adapt enterprise.distributing_products scope to rails 4
2019-06-18 10:40:49 +01:00
luisramos0
07a6e62d09
Adapt query in product destroy process to rails 4
2019-06-18 10:40:49 +01:00
luisramos0
e9667ab289
Adapt product.managed_by scope to rails 4
2019-06-18 10:40:49 +01:00
luisramos0
ccc7a43a06
Bypass validation of shipping methods zone on checkout
2019-06-15 21:11:51 +01:00
luisramos0
e4fcaa5992
Fix typo in package.rb
2019-06-15 20:45:57 +01:00
Luis Ramos
91401446a5
Merge pull request #3915 from mkllnk/3844-permalink-conflicts
...
Consider deleted products when creating permalinks
2019-06-14 13:20:35 +01:00
Luis Ramos
e15ccdbd74
Merge pull request #3840 from mkllnk/3727-default-credit-cards
...
Make only reusable credit cards the default card
2019-06-13 14:13:32 +01:00
Luis Ramos
b02bf3b83c
Merge pull request #3872 from luisramos0/rails4_where_scope
...
[Rails 4] Change all model scopes without a callable object to use a proc
2019-06-12 12:53:10 +01:00
Matt-Yorkley
698d3672a6
List only current taxons for active enterprises
2019-06-12 09:47:01 +01:00
Maikel Linke
b3b8cb778f
Make only reusable credit cards the default card
...
https://github.com/openfoodfoundation/openfoodnetwork/issues/3727
When a user didn't have a default credit card and then checked out with
a credit card it became the default even when the user didn't intend to
store it. That lead to subscriptions trying to charge a one-time card
which fails.
2019-06-11 18:01:41 +01:00
Maikel Linke
a10bb5acbd
Consider deleted products when creating permalinks
...
https://github.com/openfoodfoundation/openfoodnetwork/issues/3844
Spree's implementation and our implementation to create a unique
permalink failed to notice conflicts with soft-deleted products. This
patch looks at deleted products as well.
2019-06-11 18:20:41 +10:00
Kristina Lim
cf11ef8ba2
Ignore parameter list length for ProductImport::EntryValidator
...
This can be done in a separate PR. More tests might be needed when
extracting to a class.
2019-06-10 04:20:04 +08:00
Kristina Lim
8c69ee67b8
Refactor code for validating variant in reference to existing product
2019-06-10 04:20:04 +08:00
Kristina Lim
70614de955
Require product import rows to match unit of preceding rows
2019-06-10 04:20:03 +08:00
Kristina Lim
5d282f7e9f
Update code layout in ProductImporter method
2019-06-10 04:20:03 +08:00
Kristina Lim
73b388da87
Simplify product import all_entries method
2019-06-10 04:20:03 +08:00
Kristina Lim
38519b2bae
Simplify building of product import entries for range
2019-06-10 04:19:50 +08:00
Kristina Lim
37101a6b64
Extract build_entries_from_rows for product import
2019-06-09 23:38:36 +08:00
Luis Ramos
568e3003ba
Merge pull request #3882 from kristinalim/feature/3408-enable_enterprise_fee_summary_for_non_superadmin
...
3408 Remove feature flag for Enterprise Fee Summary
2019-06-06 16:28:36 +01:00
Kristina Lim
2c52c1a6fc
Remove unused argument from Spree::Ability method
2019-06-02 01:30:46 +08:00
luisramos0
c5a95dee79
Remove matching of product shipping category with shipping method's category to allow users to checkout products with categories not supported by the shipping methods.
...
See issue #3884 for more details.
2019-05-29 14:43:19 +01:00
Kristina Lim
ecea0600b6
Remove feature flag for Enterprise Fee Summary
2019-05-29 02:50:41 +08:00
luisramos0
f2bfb9bedb
Fix rubocop issues in adjustment_decorator, line_item_decorator and product_decorator
2019-05-28 16:50:59 +01:00
luisramos0
ced6264846
Fix rubocop issues in enterprise model
2019-05-28 16:30:50 +01:00
luisramos0
f58d9ec790
Fix rubocop issues in exchange model
2019-05-28 16:10:40 +01:00
luisramos0
06c0b1375b
Fix rubocop issues in enterprise_relationship model
2019-05-28 16:07:10 +01:00
luisramos0
ffbd79d3dd
Change all model scopes without a callable object to use a proc
2019-05-28 15:55:13 +01:00
luisramos0
86b0d71c7e
Result of rubocop auto-correct and rebuilding rubocop_manual_todo
2019-05-28 12:57:29 +01:00
Maikel
50ca1f7173
Merge pull request #3824 from mkllnk/aus-content-updates
...
Aus content updates
2019-05-10 10:40:09 +10:00