Commit Graph

1903 Commits

Author SHA1 Message Date
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
luisramos0
bf32a21155 Allow adapted on_hand attr to be mass assigned in VariantStock.
Without specifying it in `attr_accessible`, `#assign_attributes` won't
work. See details in
https://apidock.com/rails/v3.2.13/ActiveRecord/Persistence/update_attributes
and https://apidock.com/rails/ActiveRecord/Base/assign_attributes.
2018-11-19 10:05:17 +00:00
Maikel
5d200b7753 Merge pull request #3026 from luisramos0/2-0-calculator-line-items-for
[Spree Upgrade] Improve failed_checkout_spec by making calculator decorator line_items_for work with new Stock::Package
2018-11-16 10:41:29 +11:00
Hugo Daniel
a162a2c50b Move product distributions check as a before_destroy in EnterpriseFee model 2018-11-15 14:05:15 +01:00
luisramos0
688ec5fb21 Fix rubocop issues in calculator_decorator and calculator/flat_percent_item_total_spec 2018-11-14 23:04:38 +00:00
luisramos0
7c0627a823 Improve failed_checkout_spec by making calculator decorator line_items_for work with new Stock::Package 2018-11-14 23:04:38 +00:00
luisramos0
0a77eeb4b6 Merge branch 'master' into 2-0-stable-nov-14th 2018-11-14 11:35:58 +00:00
Maikel
d8d20429aa Revert "Instagram pattern" 2018-11-09 13:33:11 +11:00
Luis Ramos
0ea0016fc9 Merge pull request #2998 from coopdevs/adapt-product-on-demand
[Spree Upgrade] Adapt product on demand
2018-11-08 19:21:46 +00:00