Gaetan Craig-Riou
b7f969eed9
Move the inventory feature check to ScopeVariantToHub
...
Per review, the check is done on the same enterprise as the one use to
initialize ScopeVariantToHub. So it makes sense to move the actual
feature check to ScopeVariantToHub#scope
2025-07-09 13:43:12 +10:00
Gaetan Craig-Riou
6937a133ae
Move inventory enabled check to OpenFoodNetwork::ScopeVariantToHub
2025-07-09 11:35:26 +10:00
Gaetan Craig-Riou
29a24b7305
Scope variant to hub only when inventory enabled
2025-07-09 11:35:26 +10:00
Ahmed Ejaz
98e0b0e703
12346 - fix rubocop rails/pluck errors
2024-06-22 01:45:58 +05:00
Feruz Oripov
9d919938f3
Group Order && OrderCycle related services and specs
2024-03-16 19:07:08 +05:00
Neal Chambers
1e4034534c
Fix Layout/LineLength
2023-06-23 09:08:04 +09:00
Luis Ramos
e52937c113
Use rubocop auto correct to add frozen string literal to all files
...
This is an unsafe auto corection, we will need to trust our build here
2021-06-17 23:07:26 +01:00
Luis Ramos
23627c5453
Run rubocop -a (safe corrections) removing all exceptions so all possible fixes are applied
...
9290 issues fixed
2021-06-17 22:19:26 +01:00
Matt-Yorkley
38ce9eb0c4
Update line item removal in CartService when the line item doesn't exist
2021-06-04 17:10:50 +01:00
Matt-Yorkley
3b52b173e8
Delete more dead code in CartService
2021-06-04 17:10:50 +01:00
Matt-Yorkley
b8ccee5f30
Simplify use of #to_i in variant data hash
2021-06-04 17:10:50 +01:00
Matt-Yorkley
a883b2cf63
Remove dead code CartService#cart_remove
2021-06-04 17:10:50 +01:00
Matt-Yorkley
398d4b2612
Tidy up public interface of CartService
...
We don't need this extra hash to be passed around
2021-06-04 17:10:50 +01:00
Matt-Yorkley
4a7c0e8297
Remove variant early if we're deleting them and they're already loaded
2021-06-04 17:10:50 +01:00
Matt-Yorkley
0178cd7530
Adapt OrderContents to allow use with frontend cart service and updating :max_quantity
...
The cart service and it's surrounding logic is a bit messy, as it jumps through hoops to add extra logic for the :max_quantity attribute used with the "group buy" feature.
This is the last bit of code where an order's line items could be changed where we were not using OrderContents.
2021-06-04 17:10:50 +01:00
Matt-Yorkley
cb92231835
Clarify behavior via variable names
...
This is a small semantic thing to clarify that we're not adding to / incrementing the quantity here, we're setting it to the given value. In other places where we change line items on an order we are actually adding the given value to the existing quantity.
2021-06-04 17:10:50 +01:00
Matt-Yorkley
6e8fd3c3f8
Simplify CartService interface
...
There's only one place this method is called, and the "overwrite" argument is always explicitly true. It doesn't need to be there if it's mandatory.
2021-06-04 17:10:50 +01:00
Matt-Yorkley
6451ef173c
Use OrderContents when removing line items with soft-deleted variants in CartService
2021-06-04 17:10:50 +01:00
Matt-Yorkley
9045cc7d65
Use OrderContents in CartService for removing line items from cart
2021-06-04 17:10:50 +01:00
Matt-Yorkley
423c140670
Remove pointless currency code in Order and CartService
...
The currency will always be the currency of the variant, there's no need to pass this value around.
2021-06-04 17:10:50 +01:00
Matt-Yorkley
eb59b691d8
Move hash parsing outside of order lock
2021-06-04 17:10:50 +01:00
Luis Ramos
0707f3c0cc
Switch from map, that does not exist in ActionController::Parameters, to each
2021-04-14 09:17:53 -07:00
Matt-Yorkley
3da21ce2bd
Add historical note to CartService
...
Useful background when applying upstream fixes from Spree::OrderPopulator, and means grepping for OrderPopulator doesn't come up empty.
2021-01-30 16:57:05 +00:00
Andy Brett
7a03882314
re-refactor cart_service
2020-12-08 14:37:16 -08:00
Andy Brett
c70ea44091
show specific error message when add-to-cart fails
2020-12-08 14:37:16 -08:00
Luis Ramos
5d710f1e24
Use ruboccop autocorrect to fix issues
2020-06-22 12:46:07 +01:00
Matt-Yorkley
26ba76cff9
Fix soft-deletion in CartService and update spec
2020-05-05 13:57:50 +02:00
Matt-Yorkley
805f91e838
Remove unnecessary #all call
2020-05-05 09:56:08 +02:00
Matt-Yorkley
2bdda7de04
Change order of methods for easier reading
2020-04-29 17:22:46 +02:00
Matt-Yorkley
eb858159ce
Eager-load :default_price on variants
2020-04-28 01:04:22 +02:00
Matt-Yorkley
468cb3f57e
Remove obviously private methods from the public interface in CartService
...
These methods are not called from anywhere in the app, only in a couple of tests in cart_service_spec.
2020-04-27 19:27:07 +02:00
Matt-Yorkley
25525d4f75
Use guard clause in each block
2020-04-27 19:27:07 +02:00
Matt-Yorkley
a759d8c7c7
Avoid N+1s for variants and for line_items of variants
2020-04-27 19:27:07 +02:00
Matt-Yorkley
b3242041e5
Return earlier (before scoping process, if possible)
2020-04-27 19:27:07 +02:00
Matt-Yorkley
106bb7a27f
Rename some variables and add comments for clarity in cart_service
2020-04-27 19:27:07 +02:00
Matt-Yorkley
2334ab6d00
Delete some dead code in cart_service
...
This Bugsnag error was added a year ago and hasn't been seen
2020-04-27 19:27:07 +02:00
Matt-Yorkley
11af5dffdc
Memoize scoper in cart_service
...
Avoids fetching all of the hub's variant overrides from the db every time it's initialized.
2020-04-27 19:27:07 +02:00
luisramos0
59ec52babe
Refactor order_cycle_distributed_variants, better method names and simpler code
2019-04-11 22:15:24 +01:00
luisramos0
96ee527f0c
Rename distribution_change_validator to order_cycle_distributed_variants
2019-04-11 21:14:01 +01:00
luisramos0
c1d14686a6
Merge branch 'master' into 2-0-stable-Mar22
2019-03-22 10:55:17 +00:00
luisramos0
60ee17204b
Merge branch 'master' into 2-0-stable-Mar16
2019-03-16 16:17:38 +00:00
luisramos0
2de6c46834
Make order.order_cycle required in cart_service. There’s no more exception for that without product_distributions.
2019-03-13 12:24:40 +00:00
luisramos0
351555d4e2
Remove unused methods from add_to_cart helper and distribution change validator
2019-03-02 12:55:08 +00:00
luisramos0
0460e7fc6c
Merge branch 'master' into 2-0-stable-jan-17th
2019-01-17 22:51:25 +00:00
luisramos0
ea61e415e1
Add bugsnag notifications to detect potential dead code scenarios in variants_stock_levels and cart_service
2019-01-15 13:42:51 +00:00
luisramos0
df36e0b344
In cart population, replace usage of global allow_backorders with variant.on_demand adapter
2018-10-18 18:37:09 +01:00
luisramos0
910297572e
Removed unnecessary currency from CartService constructor, using order.currency instead
2018-08-23 12:40:18 +01:00
luisramos0
c7b202f932
Fixed CodeClimate warnings on services/cart_services.rb
2018-08-23 12:39:58 +01:00
luisramos0
05bfc098ff
/controllers/spree/order_populator_decorator (with a class_eval) is now /services/CartService with no dependency to Spree::OrderPopulator.
2018-08-23 12:39:55 +01:00