Maikel Linke
d4512904ea
Make product order deterministic
...
When products are sorted by name and two products have the same name,
their order is undefined. With pagination, two pages can have a
different order of products with the same name which then means that two
pages can return the same product.
Sorting by product id makes sure that the result is always in the same
order, for every page.
2019-12-05 15:37:10 +11:00
Maikel Linke
50093c325a
Move checkout locking to its own service
...
It gives this complex logic more space and allows for better structure
and more comments at the right places.
2019-11-19 18:18:01 +11:00
Matt-Yorkley
5082a133a1
Refactor adjustment fetching into new service and module
2019-11-12 11:57:54 +00:00
luisramos0
9404aacfb2
run rubocop --auto-correct
2019-11-10 18:42:43 +00:00
Luis Ramos
db8e2891d4
Merge pull request #4417 from Matt-Yorkley/shopfront_patchination
...
Ensure variants returned in #variant_relation are DISTINCT
2019-11-01 12:16:01 +00:00
Matt-Yorkley
67a5a1cdc2
Fix incorrectly ordered entries with duplicate product names in OC and custom taxon ordering applied
2019-10-31 12:14:14 +00:00
Matt-Yorkley
f8209ac7d5
Ensure results in #products_relation are DISTINCT
2019-10-30 19:04:28 +00:00
Matt-Yorkley
6d50176e6b
Ensure results in #variants_relation are DISTINCT
2019-10-30 17:13:52 +00:00
Luis Ramos
3e7bd7dc19
Merge pull request #4376 from luisramos0/ghosts
...
Remove product from Order Cycles if product supplier changes
2019-10-28 21:17:48 +00:00
Luis Ramos
02c0b89fa0
Merge pull request #4345 from Matt-Yorkley/shopfront_pagination
...
Shopfront pagination
2019-10-21 16:02:12 +01:00
Matt-Yorkley
542c1bf684
#slice :params in controller and rename to :args in service context
2019-10-18 21:15:13 +01:00
Matt-Yorkley
6433d69d02
Add comments on scoping ProductsRenderer results
2019-10-18 21:15:13 +01:00
Matt-Yorkley
b3c89a9d6c
Move OpenFoodNetwork::ProductsRenderer (lib) to ProductsRenderer (service) and refactor
2019-10-18 21:15:13 +01:00
luisramos0
9f3b4100c3
Improve code by incorporating code review feedback
2019-10-18 10:26:03 +01:00
luisramos0
b625ea0c61
Extract to class ExchangeVariantDeleter
2019-10-17 19:13:45 +01:00
Matt-Yorkley
f134cd9473
Extract tag_rule filtering into separate service
2019-10-09 17:26:58 +01:00
Dan Ingenthron
dbf34da87b
Rubocop fixes
2019-10-08 18:37:16 -05:00
Dan Ingenthron
b4be2cc2d4
Add default shipping category service and update create product form
2019-10-08 18:37:15 -05:00
Matt-Yorkley
e96252f2ed
Add tag_rules logic to main query before pagination
2019-10-08 10:11:24 +01:00
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