Commit Graph

1693 Commits

Author SHA1 Message Date
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
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
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
Pau Perez
de31823151 Add #on_demand= to make product creation page work
We're bringing in the setter that got removed in Spree 2.0 so that we
can still pass an on_demand value from the product creation form.

However, we won't keep the getter to keep things simple. The frontend
seems to be checking the existence of variants anyway, so then it can
also check for product.master.on_demand and we avoid some logic on the
backend.
2018-11-08 11:41:58 +00:00
luisramos0
fcdb5cd7af Merge branch 'master' into 2-0-stable-nov-8th 2018-11-08 11:18:54 +00:00
luisramos0
9490da329a Move Calculator::Weight from models/open_food_network/calculator to models/calculator 2018-11-07 09:54:30 +00:00
luisramos0
bf55f50a7e Fix rubocop warnings on weight and weight_spec 2018-11-07 09:54:30 +00:00
luisramos0
1ef04354fd Add capacity to weight calculator to calculate based on any object with an order (needed in spree 2 to calculate based on package) 2018-11-07 09:54:30 +00:00
Pau Pérez Fabregat
e635cfc9c1 Merge pull request #2901 from luisramos0/variants_including_master
[Spree Upgrade] Adapt product_decorator code to spree 2 with new variants_including_master
2018-11-02 15:48:19 +01:00
Pau Pérez Fabregat
ad743a03ac Merge pull request #2888 from luisramos0/backorders-line-items
[Spree Upgrade] Replace allow_backorders with variant.on_demand in the line_item_decorator
2018-11-02 15:45:25 +01:00
Maikel
d63670d675 Merge pull request #2846 from Matt-Yorkley/pi/rename_enterprise_fields
[Product Import] Rename enterprise fields and update template
2018-10-30 15:11:02 +11:00