luisramos0
429e513a77
Improve line_item code by moving order.shipment reload to a line_item after_destroy hook
2018-12-23 09:15:18 +00:00
luisramos0
b83ec8d357
Add order.shipments reload to line_item.update_inventory. This is necessary when destroying line items as update_inventory may delete the shipment from the order
2018-12-23 00:23:49 +00:00
luisramos0
26b5250f2c
Fix line item destroy by forcing quantity to zero and update_inventory before_destroy so that the variant is restocked
2018-12-22 23:27:27 +00:00
luisramos0
6c70998b64
Move StockLocation.fill_status to VariantStock so we can easily override it
2018-12-21 11:33:07 +00:00
luisramos0
17ced61b3d
Override Spree::Variant.in_stock? in VariantStock so that we don’t depend on Spree::Stock::Quantifier
2018-12-21 11:33:07 +00:00
luisramos0
1835d97013
Adapt line_item.sufficient_stock? to spree 2
2018-12-21 11:33:07 +00:00
luisramos0
d641705053
Add variant scoping to availability_validator_decorator by using line_item.scoper and moving Spree::Stock::Quantifier.can_supply? to VariantStock so that it becomes overridable
2018-12-21 11:33:07 +00:00
luisramos0
c1aeb2e9a3
Improve naming in availability_validator_decorator and cover it with tests
2018-12-20 14:26:34 +00:00
luisramos0
bc22b0a58e
Fix capping quantity to stock levels by always validating line items with quantity zero
...
Stock::Quantifier.can_supply? returns false for an input of zero when stock level is negative
2018-12-20 14:26:34 +00:00
luisramos0
3085e15961
Fix order factory by making line_item.skip_stock_check work in spree 2
2018-12-20 14:26:34 +00:00
luisramos0
88b1bb61d6
Fix availability validator to include inventory_units in it's validation
2018-12-20 14:26:34 +00:00
Maikel Linke
a978e992bf
Remove tax_rates shortcut from adjustment
...
Becoming less dependent on Spree, using our own namespace, keeping
decorators small.
2018-12-19 14:42:38 +11:00
Maikel Linke
a341561446
Move tax rate finding into service and spec it
...
The `#tax_rates` method is actually not present in Spree. We encapsulate
the logic in this commit and enable better unit testing. The new tests
cover a current bug: https://github.com/openfoodfoundation/openfoodnetwork/issues/3127
2018-12-19 14:31:29 +11:00
Luis Ramos
dc6509aa83
use association on updates rather than #find
...
Co-Authored-By: sauloperez <saulopefa@gmail.com >
2018-12-17 10:31:52 +01:00
Pau Perez
be6c8be07a
Handle soft deleted products when refreshing cache
...
Since cd3add960e Spree soft-deletes products and as such the models not
destroyed but updated setting a value for the `deleted_at` field.
This turns what used to be deletes into updates thus triggering AR's
update callbacks instead of the destroy ones. As a result, this bypasses
the logic to refresh the products cache on destroy and hits the
`after_save` callback.
Furthermore, since act_as_paranoid (the soft-delete gem Spree uses) uses
a default scope to avoid retrieving soft-deleted records we need to
purposefully fetch them in order to refresh the cache.
2018-12-14 15:13:06 +01:00
Maikel
1ed880e353
Merge pull request #3206 from coopdevs/fix-redirection-on-admin-products-specs
...
[Spree Upgrade] Fix redirection on admin products specs
2018-12-14 11:59:21 +11:00
luisramos0
66e69edca4
Rename ProductOnDemand to ProductStock; move product.on_hand into it; add product.on_demand; and remove unnecessary on_demand=
2018-12-12 12:10:25 +00:00
Pau Perez
28cb1bf687
Clarify nasty boolean logic on method
2018-12-12 12:57:23 +01:00
luisramos0
4b74e50353
Make ProductsController#bulk_update work by making ProductSet#create_variant not mass-assigning the provided on_hand and on_demand values and set them after each variant is created
2018-12-11 15:18:00 +00:00
Maikel
1819fc8493
Merge pull request #3199 from luisramos0/2-0-stable-dec-10th
...
[Spree Upgrade] Merging master into 2-0-stable (second run in Dec2018)
2018-12-11 18:50:24 +11:00
Maikel
d63ae792b3
Merge pull request #2775 from luisramos0/2-0-checkout-ship-method
...
[Spree Upgrade] Handle shipping_method_id in checkout
2018-12-11 11:59:03 +11:00
luisramos0
cdee7c0422
Merge branch 'master' into 2-0-stable-dec-10th
2018-12-10 16:41:29 +00:00
luisramos0
4f4fc00549
Improve code, specs and comments in the shipping_method selection process in the checkout controller
2018-12-09 20:05:10 +00:00
luisramos0
38ff99717a
Fix bug on calculator_decorator line_items_for where input is line_item with an nil order. Adapted line_items_for so that weight_calculator.line_items_for could be removed.
2018-12-09 19:37:11 +00:00
Kristina Lim
df51d137dc
Update some code style for product import
2018-12-10 03:30:52 +08:00
Kristina Lim
cec50e81f5
Make product import set correct VO stock settings
2018-12-10 03:30:46 +08:00
Kristina Lim
0de829017a
Refactor finding or initializing VO for product import
2018-12-10 03:30:39 +08:00
Kristina Lim
c873a7b8e3
Move stock settings override validation to concern
2018-12-09 23:29:36 +08:00
Kristina Lim
34313c94ca
Make reset stock settings for VO force limited stock
2018-12-09 21:47:05 +08:00
Kristina Lim
83b6973bc2
Require compatible VO on_demand and count_on_hand
2018-12-07 14:39:36 +08:00
Pau Pérez Fabregat
72a4b4f8e2
Merge pull request #3158 from luisramos0/2-0-vos-scoping
...
[Spree Upgrade] Scopes variants on order completion and on changes to completed orders
2018-12-05 12:12:49 +01:00
Maikel
a2c8bea147
Merge pull request #3147 from luisramos0/2-0-vos
...
[Spree Upgrade] Adapt variant overrides to spree 2
2018-12-05 10:50:20 +11:00
luisramos0
02d0b7e88c
Improve comment on VariantStock#move
2018-12-04 15:25:38 +00:00
Maikel
60c8147391
Merge pull request #3164 from luisramos0/2-0-stable-dec-3rd
...
[Spree Upgrade] Merging master into 2-0-stable (first run in Dec2018)
2018-12-04 13:38:02 +11:00
luisramos0
3776b891ce
Merge branch 'master' into 2-0-stable-dec-3rd
2018-12-03 15:30:16 +00:00
luisramos0
e23c4dda68
Add order_shipping_method specs to cover select_shipping_method
2018-11-30 12:58:27 +00:00
luisramos0
7a8c65b3ea
In the checkout controller update process, grab shipping_method_id from form data and inject it in the order when the order workflow gets to delivery (which is when the order gets shipments created)
2018-11-30 10:46:31 +00:00
luisramos0
d962358f15
Fix rubocop and transpec models/variant_override and its spec
2018-11-30 00:43:55 +00:00
luisramos0
0577011f5b
Refactor variant override model and its spec: simplify move_stock and remove unused methods
2018-11-30 00:22:04 +00:00
luisramos0
782530d93b
Scope variants in shipment manifest as they are fetched from DB
2018-11-29 20:43:15 +00:00
luisramos0
a18d289292
Scope variants on line_item before save hook update_inventory
2018-11-29 20:43:10 +00:00
luisramos0
6156aca467
Delegate stock_location.move to variant, and override it in the variant overrides scope
2018-11-29 19:32:52 +00:00
Pau Perez
ab542cfdb2
Remove commented out code
2018-11-28 17:39:51 +01:00
Pau Perez
faac5f4b2d
Refactor PropertyMerge to use Ruby's #uniq instead
2018-11-28 16:21:40 +01:00
Pau Pérez Fabregat
438cff6e6d
Merge pull request #3080 from Matt-Yorkley/pi/french_issue
...
Pi/french issue
2018-11-28 13:39:04 +01:00
luisramos0
f509fa6c86
Make variantStock.on_demand= save the variant so that it doesn't impact on_hand that is already saving the variant with a lock
2018-11-23 18:07:08 +00:00
luisramos0
ba8aa110c2
Fix VariantStock.overwrite_stock_levels by using stock_item.adjust_count_on_hand. This makes product_controller_decorator.bulk_update work
2018-11-23 18:06:48 +00:00
luisramos0
6cdaaa9e7d
Add VariantStock.on_demand as attribute_accessible so it can be mass assigned from product_controller_decorator.bulk_update
2018-11-23 12:04:00 +00:00
luisramos0
134b73d730
Improve VariantStock code by extracting stockitems.first to a separate method
2018-11-22 20:38:46 +00:00
Matt-Yorkley
a5407d780c
Include unexpected validation errors
2018-11-21 19:16:07 +00:00