Commit Graph

162 Commits

Author SHA1 Message Date
luisramos0
95bc8fa984 Remove logic from OrderCycleDistributedProducts related to obsolete master variants in OCs, this is a condition that will never happen now since we ensure products always have a standard variants
A migration will be added as well to clean up any very old master variants available in order cycles
2019-10-07 14:53:44 +01:00
Luis Ramos
96428c11c6 Merge pull request #4334 from Matt-Yorkley/products_renderer
Products renderer
2019-10-03 13:47:04 +01:00
Matt-Yorkley
c038b485b1 Rename service and methods to remove use of "shop" term 2019-10-01 14:43:47 +01:00
Matt-Yorkley
032741c54f Refactor ProductsRenderer variants queries
This removes another N+1 and allows pagination applied to the inital query to also affect the returned variants
2019-09-29 17:41:58 +01:00
Matt-Yorkley
d5e90c3c6c Extract #load_products logic into a new service 2019-09-29 00:10:47 +01:00
Matt-Yorkley
cecebb82f4 Move distributed products relation out from OrderCycleDistributedProducts 2019-09-27 17:25:50 +01:00
Maikel Linke
efd450606e Replace deprecated validates_presence_of
This syntax has been deprecated in Rails 3:
https://guides.rubyonrails.org/3_0_release_notes.html#patches-and-deprecations
2019-09-24 19:16:05 +10:00
JASON KNOEPFLER
91a52ead58 Guard against malformed request referer 2019-09-14 09:13:44 -07:00
Maikel
68393f1444 Merge pull request #4037 from luisramos0/subs_stock
Subscriptions - When editing subscriptions, check stock levels when changing orders in current OC
2019-08-06 15:16:00 +10:00
luisramos0
3b467dbae8 Adapt line_item_syncer to the case where item is not added to the completed order because of insufficient stock and the subscription quantity is updated for that item afterwards 2019-07-16 12:08:08 +01:00
luisramos0
306390440a Revert "Swith line_item_syncer.create_new_items from deleting line item in the case of stock issue, to simply set the quantity to zero. This makes things easier later as the line item is already present if the user tries to change quantity of the subscription_line_item"
This reverts commit d153e58933.
2019-07-16 11:00:21 +01:00
luisramos0
267131626e Fix typo and add test case to cover out of stock case 2019-07-16 10:58:25 +01:00
luisramos0
02099ebdae Remove details about stock in line_item_syncer so that we avoid confusing the user with stock numbers, this way the user will know what is the problem and can check stock levels and the order for more details 2019-07-14 21:40:57 +01:00
luisramos0
d153e58933 Swith line_item_syncer.create_new_items from deleting line item in the case of stock issue, to simply set the quantity to zero. This makes things easier later as the line item is already present if the user tries to change quantity of the subscription_line_item 2019-07-14 20:59:42 +01:00
luisramos0
c2a59a374c Fix rubocop issues by simplifying method 2019-07-14 17:21:15 +01:00
luisramos0
2a1011921b Reuse line_item_syncer.add_order_update_issue in line_item_syncer.update_item_quantities to add stock info to the update_quantity order issues 2019-07-14 16:43:46 +01:00
luisramos0
df27ee0d3e Refactor line_item_syncer.add_order_update_issue out of line_item_syncer.create_new_items 2019-07-14 16:06:09 +01:00
luisramos0
c2851015ce Fix deleting created item (destroy doesnt work before save) and add order_update_issue with message so that user can understand what happened 2019-07-14 15:58:00 +01:00
luisramos0
d0c246c345 Fix some rubocop issues 2019-07-14 12:28:32 +01:00
luisramos0
6aed9ba549 Make line_item_syncer delete new line items if stock is insufficient 2019-07-13 22:57:13 +01:00
luisramos0
4f2bc33ec3 Change line_item_syncer to verify stock if order is already complete, this will happen for orders in the current OC when a subscription is changed 2019-07-13 20:56:34 +01:00
luisramos0
0f3404ca27 Rename order_syncer.future_and_undated_orders to explicitly include completed orders from current OC: orders_in_order_cycles_not_closed 2019-07-12 22:20:09 +01:00
luisramos0
5184fa540c Adapt enterprise_relationship permitting and permitted_by scopes to rails 4 2019-07-03 20:18:00 +01:00
luisramos0
7bd32d4967 Fix usage of variant.on_hand in subscriptions order factory, we now take on_demand into account
This fixes a problem introduced in 12eab1bfa9 (diff-c3c4192f302cc77e9a8547012fe86ddb), since then variant.on_hand does not return infinity if variant is on_demand
2019-06-25 14:47:47 +01:00
Matt-Yorkley
08b2b19d5e Improve handling of invalid characters in uploaded CSV files 2019-06-19 09:29:59 +01:00
Kristina Lim
ea8d189d6c Bulk update OC variant changes in OC form 2019-05-28 21:27:43 +08:00
luisramos0
86b0d71c7e Result of rubocop auto-correct and rebuilding rubocop_manual_todo 2019-05-28 12:57:29 +01:00
Luis Ramos
4afa0cdca1 Merge pull request #3589 from kristinalim/fix/2788-ship_address_changed
2788 [Subscriptions] Fix address issues when syncing subscriptions and orders
2019-05-03 23:48:32 +01:00
Kristina Lim
19726061e4 Make Order#address_from_distributor public 2019-05-01 07:17:50 +08:00
Kristina Lim
92dc43d7a2 Make OrderUpdater#shipping_address_from_distributor public 2019-05-01 07:16:56 +08:00
Kristina Lim
0933d53134 Extract method OrderSyncer#update_ship_address_for 2019-05-01 07:16:56 +08:00
Kristina Lim
14d407879c Rename method OrderSyncer#update_ship_address_for
This method has become only a small part of the logic for updating the
order's ship address. This no longer follows the method naming
convention within OrderSyncer where update_*_for describes almost the
complete logic for updating the association.

This is renamed in preparation for extraction of the complete update
logic for ship_address. The new method will be named
update_ship_address_for.
2019-05-01 07:16:56 +08:00
Kristina Lim
6952f4ecd1 Improve readability of conditions in OrderSyncer 2019-05-01 07:16:55 +08:00
Kristina Lim
78aa9da2cf Uncomment and update OrderSyncer failing specs
This still achieves a logic issue before the Spree upgrade, where
switching from pick-up to delivery affects whether simultaneous changes
to shipping address are ignored or not.

This behaviour can be fixed in a separate PR.
2019-05-01 07:16:54 +08:00
luisramos0
fce3d69345 Add flash and warning to the cart page when item becomes unavailable 2019-04-13 21:39:41 +01:00
luisramos0
59ec52babe Refactor order_cycle_distributed_variants, better method names and simpler code 2019-04-11 22:15:24 +01:00
luisramos0
44b0592223 Move OrdercycleDistributedVariants from lib/open_food_network to app/services 2019-04-11 21:37:08 +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
Pau Pérez Fabregat
846e6fdd90 Merge pull request #3560 from kristinalim/fix/2788-shipping_method_id_in_shipments
2696,2788 [Spree Upgrade] Fix use of shipping method ID for subscriptions
2019-03-22 11:08:23 +01:00
Kristina Lim
94606025c9 Separate call and call! for AdvanceOrderService 2019-03-21 20:34:51 +08:00
Pau Pérez Fabregat
2a3a935c16 Merge pull request #3570 from luisramos0/byebye-prod-distributions
Delete dead feature product distributions
2019-03-20 09:01:23 +01:00
luisramos0
60ee17204b Merge branch 'master' into 2-0-stable-Mar16 2019-03-16 16:17:38 +00:00
Kristina Lim
7505dd0410 Make order sync for shipping methods readable 2019-03-15 07:59:54 +11:00
Pau Pérez Fabregat
13b2115a29 Merge pull request #3581 from coopdevs/cache-stylistic-improvements
Cache stylistic improvements
2019-03-13 19:05:38 +01: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
Kristina Lim
8782f2087c Use service in admin/payments#create
This separates logic for bang and non-bang versions of
Spree::Order#next.

The different conditions used in both methods (state == "completed" vs
order.completed?) have implications in whether a transition is attempted
or not.
2019-03-13 17:00:31 +11:00
Kristina Lim
a261d912ea Simplify order sync logic for shipping methods 2019-03-13 12:45:54 +08:00
Kristina Lim
9316096d4d Fix updating of the shipping method for an order 2019-03-13 12:45:54 +08:00
Kristina Lim
5b5d1967fd Fix queries for pending order shipment in OrderSyncer 2019-03-13 12:45:53 +08:00