luisramos0
6d2765e352
Convert if statement in case statement in product import entry validator
2019-01-29 23:53:37 +00:00
luisramos0
cc4825290b
Fix type conversion problem in product import entry validator
2019-01-29 15:45:22 +00:00
luisramos0
ab2397785b
Adapted product import EntryProcessor and EntryValidator to new VariantStock logic where on_hand is set at variant level (not at product level) and only after saving the variant
2019-01-29 14:55:18 +00:00
luisramos0
2ffc5305d7
Adapted VariantStock to handle on_hand string values (product import is set on_hand with string values)
2019-01-29 14:55:18 +00:00
Maikel
937aaf67c3
Merge pull request #3250 from coopdevs/open-adjustments-for-update
...
[Spree Upgrade] Open adjustments to enable update
2019-01-24 10:25:16 +11:00
Pau Perez
a99a4725c9
Add #shipment to conform to OFN's decision
...
This ensures we can still use Order#shipment although Spree deprecates
it, while fixing a bug at the same time. The problem that was making the
test fail was on `Order#shipment` that Spree defines.
If the shipments association changes, `#shipment` returns stale data.
That is because the order object we might be using is still alive, and
so its @shipment ivar still holds an old shipment object (it's not nil)
and thus `@shipment ||= shipments.last` doesn't evaluate the right-hand
side of the expression.
Note that we need to `prepend` the evaluation of the concern (which it's
been rename) for our methods to take precedence over Spree ones. With
`include`, Spree's `#shipment` would still be picked up making the test
fail.
2019-01-18 16:02:51 +01:00
Pau Perez
1e03835391
Update order while adjustments are open
...
Spree supports updating line items as the model contains these two
callbacks:
f55722b38d/core/app/models/spree/line_item.rb (L27-L28)
However, as
f55722b38d/core/app/models/spree/adjustment.rb (L1-L7)
clearly states, due to Adjustment's state machine, once the order is
finalized it can't be updated. Then, if we want to have an up-to-date
adjustment_total attribute for a complete order we must update it while
the adjustments are open. Otherwise, the following `immutable?` check
does not pass.
f55722b38d/core/app/models/spree/adjustment.rb (L84-L92)
2019-01-16 15:28:54 +01:00
luisramos0
9ab99f13c4
Merge branch 'master' into 2-0-stable-jan-11th
2019-01-11 11:58:24 +00:00
Maikel
4920782742
Merge pull request #3072 from luisramos0/2-0-calc-line-items-for-take-2
...
Fix bug on calculator_decorator line_items_for where input is line_item with a nil order
2019-01-11 14:49:25 +11:00
Maikel
6c3d769121
Merge pull request #3229 from mkllnk/3127-tax-rates-report
...
3127 More robust tax rates report
2019-01-11 10:41:12 +11:00
Maikel
abe4f78e5c
Merge pull request #2988 from Matt-Yorkley/pi/utf8
...
Pi/utf8
2019-01-09 15:39:05 +11:00
luisramos0
e28f9a7c84
Merge branch 'master' into 2-0-stable-jan-8th
2019-01-08 14:29:50 +00:00
luisramos0
d44c4778e1
Improve line item code by merging multiple destroy hooks into a single hook: update_inventory_on_destroy. This makes the code easier to read
2018-12-24 16:39:06 +00:00
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