Commit Graph

17514 Commits

Author SHA1 Message Date
Maikel Linke
61aa02b3c3 Sync stock with DFC catalog after cart update 2024-10-04 16:25:17 +10:00
Maikel Linke
4b2099625c Clarify method action with name
Thanks, David.
2024-10-04 14:34:17 +10:00
Maikel Linke
f8bd0a1cc7 Adjust backorder for stock controlled items
We aggregate quantities over the whole order cycle to account for
cancelations and order adjustments by admins.
2024-10-03 15:58:53 +10:00
Maikel Linke
09de223c93 Backorder stock controlled products 2024-10-03 13:30:16 +10:00
Maikel Linke
74c80c9fff Prepare BackorderJob for stock controlled items
We want to trigger the backordering for any linked product now. So let's
do that check early and then select the variants in the background.
It means less data passed to the job and less space for race conditions.
2024-10-03 13:28:20 +10:00
Maikel Linke
99c098f567 Ignore StockLocation#active, it's always active 2024-10-03 08:24:16 +10:00
Maikel Linke
4b1d7d8a41 Remove dead permission to access StockLocation
We don't have any UI to edit stock locations. So this ability is unused.
2024-10-03 08:24:15 +10:00
Maikel Linke
1e3c18f3f6 Remove unneeded method StockLocation#propagate_variant 2024-10-03 08:24:15 +10:00
Gaetan Craig-Riou
22428fc78d ConnectedApps controller, handle ConnectedApps::Vine
Add logiv to connect and disconnect VINE API plus spec
2024-10-02 16:44:27 +10:00
Gaetan Craig-Riou
f980cb45f6 Add logic for ConnectedApps::Vine#connect and disconnect 2024-10-02 16:44:27 +10:00
Gaetan Craig-Riou
097c6dee2f Add VineApiService and specs
It handles connection to the VINE API
2024-10-02 16:44:21 +10:00
Gaetan Craig-Riou
f7708d69a7 Add VineJwtService
Generate a JWT token to be used to connect to the VINE api
2024-10-02 16:16:28 +10:00
Maikel Linke
4d9f396f40 Ignore unused column spree_stock_locations.backorderable_default 2024-10-02 15:16:05 +10:00
Maikel Linke
662467a1a4 Use database default value for stock_items.backorderable 2024-10-02 15:09:44 +10:00
Maikel Linke
af07358914 Assume on-demand is false by default
We have only one stock location and that has the default set to false.
Now we can simplify code.

The mentioned Bugsnag notification has not been found. The stock item is
always present in this case but it doesn't hurt to guard against it with
`&.`.
2024-10-02 15:06:48 +10:00
Maikel
196956140e Merge pull request #12856 from mkllnk/dfc-order
Place backorders for linked products via DFC integration
2024-10-01 10:51:00 +10:00
Gaetan Craig-Riou
fafd86a2db Revert change made in https://github.com/openfoodfoundation/openfoodnetwork/pull/12538
Although the change fix the issue in the back office scenario, it has
the side effect of getting the order total out of sync. Updating a
payment adjustment need to be followed by udpating the order total and
payment amount to keep everything in sync.
2024-09-30 16:04:44 +10:00
Gaetan Craig-Riou
91f2ca9286 Merge pull request #12734 from cillian/replace-text-angular-with-trix
Replace text angular editor with trix editor in About Us and Shopfront message fields
2024-09-30 09:40:48 +10:00
Filipe
da0660c119 Merge pull request #12857 from chahmedejaz/task/12626-add-clone-failure-explaination
[BUU] Fix No explanation why cloning failed
2024-09-27 17:58:31 -06:00
Filipe
852dd41f89 Merge pull request #12836 from wandji20/wb-OFN-11600
Add browser unsaved changes modal when navigating from order summary page [OFN-11600]
2024-09-27 17:41:04 -06:00
wandji20
0002b2e019 Clean up hardcoded values and improve readability 2024-09-27 16:52:55 -06:00
wandji20
84a2e6c24d Add browser unsaved changes modal when navigation form order sumary page [OFN-11600] 2024-09-27 16:52:55 -06:00
David Cook
be4e0a259e Specify alternate html_title
Because the page title has extra content.
2024-09-27 15:48:28 -06:00
David Cook
c362e8dd0d Use page titles in HTML head
This is much  more meaningful than the controller name, and is helpful for browser tab history.
2024-09-27 15:48:28 -06:00
Ahmed Ejaz
1550ca5da0 fix the choice drag issue
- disabled width on select2-search-choice-close so that it doesn't cover whole option
2024-09-27 16:57:35 +05:00
Cillian O'Ruanaidh
f474afaceb Merge in latest :master and resolve conflict in app/models/enterprise.rb 2024-09-27 10:11:26 +01:00
wandji20
37ab832b86 Remove window unload event listener from edit order cycle cancel link 2024-09-27 10:02:49 +02:00
wandji20
a11873559b Make OC edit warning modal cancel button redirect user to OC list [OFN-12774] 2024-09-27 10:02:49 +02:00
Maikel Linke
51b3770188 Keep failed backorder job in dead set
From Sidekiq's view, the job is successful when we rescue an error and
it will discard it. But we want the option to inspect the job and retry
it. Failing jobs are also reported to Bugsnag automatically.

I didn't specify `retry: false` because that discards the job as well.
But `retry: 0` should sent it straight to the dead set. No automatic
retries but it's treated like a failed job.
2024-09-26 14:32:55 +10:00
Maikel Linke
989a6d57e0 Notify user of failed backorder completion 2024-09-26 14:32:55 +10:00
Maikel Linke
495634b60c Send error notification to owner 2024-09-26 14:32:55 +10:00
Maikel Linke
49fd1dc4a6 Report backorder errors instead of failing checkout 2024-09-26 14:32:55 +10:00
Maikel Linke
e31e45b875 Place backorders in the background 2024-09-26 14:32:55 +10:00
Maikel Linke
61fec653cf Abstract OrderLocker for re-use 2024-09-26 14:32:55 +10:00
Maikel Linke
9f43244312 Import on-demand stock setting in DFC import 2024-09-25 10:55:41 +10:00
Maikel Linke
7f62b49da5 Move catalog loading to where it's needed 2024-09-25 10:55:41 +10:00
Maikel Linke
070b93c531 Fall back to givin product id w/o retail variant 2024-09-25 10:55:40 +10:00
Maikel Linke
fb96f8f936 Fall back to given product w/o wholesale variant
The class is moving to providing all data with several methods instead
of a data class containing the information. That should be more
flexible. Still some work to do.
2024-09-25 10:55:40 +10:00
Maikel Linke
4303f0e974 Build API URLs to work with any FDC Shopify shop
We can extend this service class when there are other APIs. And
hopefully the DFC will provide a standard for this discovery at some
point.
2024-09-25 10:55:40 +10:00
Maikel Linke
2eec4c73bf Apply 4 hour completion delay only to one enterprise 2024-09-25 10:55:40 +10:00
Maikel Linke
5ef85aef3e Handle backorder cancellations 2024-09-25 10:55:40 +10:00
Maikel Linke
283db8f9d0 Adjust quantities of backorder before completion 2024-09-25 10:55:40 +10:00
Maikel Linke
95e620a78b Add lookup of variants by semantic id 2024-09-25 10:55:40 +10:00
Maikel Linke
c948efd9ce Add structure to adjust final quantities 2024-09-25 10:55:40 +10:00
Maikel Linke
95bc0cc679 Reduce complexity of BackorderJob 2024-09-25 10:55:40 +10:00
Maikel Linke
efe2b724e6 Find wholesale offer for retail variant 2024-09-25 10:55:40 +10:00
Maikel Linke
14c32c0d2e Reduce complexity 2024-09-25 10:55:40 +10:00
Maikel Linke
8f4f873ba0 Move offer finding into separate class
It's going to be more complicated.
2024-09-25 10:55:40 +10:00
Maikel Linke
c0ae2ede2c Complete order 4 hours after order cycle closed 2024-09-25 10:55:40 +10:00
Maikel Linke
3ec53a7d71 Parse updated order result 2024-09-25 10:55:40 +10:00