Commit Graph

714 Commits

Author SHA1 Message Date
Maikel Linke
fbdc6c9bd0 Split growing supplied product builder 2025-02-18 13:08:46 +11:00
Maikel Linke
6707516203 Automatically document responses for DFC API w/o tag 2025-02-18 12:58:10 +11:00
Maikel Linke
d39da6d0da Provide endpoint to show a product group
Our Spree::Product corresponds to a DFC SuppliedProduct with variants.
2025-02-18 12:58:09 +11:00
Maikel Linke
35d7bf7a3b Add dfc-b:isVariantOf to supplied products 2025-02-18 12:58:09 +11:00
Maikel Linke
9ac56ab02b Remove outdated spec
A while ago I was told that an absent stock limitation means unlimited
stock. But that can't be distinguished from just not wanting to update
the stock level.

In the meantime, a new stock policy model was proposed. But for now we
have a workaround, setting `-1` as value for unlimited stock.

* https://github.com/datafoodconsortium/ontology/discussions/112
2025-02-13 11:22:04 +11:00
Maikel Linke
a1a78f22fb Remove loading of old DFC context 2025-02-13 10:50:41 +11:00
Maikel Linke
710e1654d0 Report DFC server errors to Bugsnag 2025-02-11 13:01:05 +11:00
Maikel Linke
9d30f007a9 Format spec file 2025-02-11 12:36:00 +11:00
Maikel Linke
c9f319aa96 Find broader taxon if we don't have a specific one
For example, when importing `beef` products associate the type `meat-product`
instead because we don't have a specific beef category.
2025-01-30 11:10:47 +11:00
Maikel Linke
26d09acafe Move taxon discovery to own class for additions 2025-01-30 10:17:20 +11:00
Maikel Linke
1fcefcfcd0 Remove now useless wrapper class 2025-01-30 10:11:03 +11:00
Maikel Linke
236e706f2c Replace custom product type discovery with DFC lookup
We didn't actually need the extra class.
2025-01-30 10:08:32 +11:00
Gaetan Craig-Riou
6fb86dd4ac Merge pull request #13093 from mkllnk/dfc-token-error
Handle wrong OIDC tokens gracefully
2025-01-27 12:56:23 +11:00
Maikel Linke
8636d3fc00 Handle wrong OIDC tokens gracefully
If you copy and paste only part of a token then a general DecodeError is
raised. It's the parent class for all other related errors like for
expired signatures.

Now we just fail authentication instead of raising a server error.
2025-01-24 09:01:04 +11:00
Maikel Linke
64608beaa8 Remove DefaultStockLocation created in setup 2025-01-22 12:01:57 +11:00
Maikel Linke
8e15d571e7 Remove StockLocation from Packer 2025-01-22 11:20:05 +11:00
Maikel Linke
d5ff1f5c71 Remove StockItem#stock_location 2025-01-22 11:20:05 +11:00
Maikel Linke
33c6f3b94f Remove StockLocation#stock_item 2025-01-22 11:20:05 +11:00
Maikel Linke
531c068347 Remove StockLocation#fill_status, now on Variant 2025-01-22 11:20:04 +11:00
Maikel Linke
248110cfb3 Make stock location association optional
Prepare for removal
2025-01-22 11:20:04 +11:00
Maikel Linke
84648690a6 Publish price as in new DFC standard 2025-01-16 09:45:26 +11:00
Maikel Linke
f9d436b1c9 Simplify subscription query
The artificial limit of 100 years was just set because the old SQL query
wouldn't deal with `null` well. Comparing with null always is always
false and returns nothing.

But Rails is now clever enough to interpret `begins_at..nil` as open
end query. This shouldn't have any practical impact as there's unlikely
to be an order cycle closing in more than 100 years. And if there was,
it would be confusing that it's not treated like other order cycles
ending in 80 years.
2025-01-10 08:57:20 +11:00
Maikel Linke
49ec9a3136 Style Rails/WhereRange 2025-01-10 08:43:58 +11:00
Maikel Linke
0bd6fe6709 Fix setting stock from wholesale offer 2025-01-07 11:03:36 +11:00
Maikel Linke
21195c5750 Calculate stock from wholesale products 2025-01-07 11:03:36 +11:00
Maikel Linke
faad7fa95c Move wholesale calculation for re-use 2025-01-07 11:03:36 +11:00
Maikel Linke
ddaeff7c53 Use DfcCatalog in offer broker 2025-01-07 11:03:34 +11:00
Maikel Linke
ef08ae49fe DRY DFC catalog logic for re-use 2025-01-07 10:49:37 +11:00
Maikel
4c71ea3866 Merge pull request #12994 from mkllnk/dfc-update-voc
Add new DFC vocabulary for order states
2024-12-04 12:57:03 +11:00
Maikel Linke
5719d0682d Remove duplicate lines, dev leftovers 2024-11-29 16:16:43 +11:00
Maikel Linke
c4c95d472e Use defined DFC orders states 2024-11-29 16:16:42 +11:00
Maikel Linke
3e7f61c4d1 Add new DFC vocabulary
So that we can use order states programmatically.
2024-11-29 16:16:42 +11:00
Gaetan Craig-Riou
12cf62c2ff Refactor, add OrderManagement::Order::Updater#update_voucher
Move the logic to update a voucher and associated order to
`OrderManagement`
2024-11-28 13:35:01 +01:00
Ahmed Ejaz
c0887b1806 12890: remove city from response 2024-11-25 19:29:31 +05:00
Ahmed Ejaz
3b83200a14 12890: fix specs 2024-11-22 12:40:54 +05:00
Ahmed Ejaz
7cd8311dcb 12890: add cities and countries data 2024-11-22 12:40:54 +05:00
David Cook
a123369f8d Merge pull request #12935 from mkllnk/dfc-doc-deterministic
Make DFC API docs deterministic
2024-10-23 16:59:55 +11:00
Konrad
a023443c75 Merge pull request #12880 from rioug/5574-fix-checkout-order-total-calc
Fix checkout order total and payment fees calculation
2024-10-16 21:16:34 +02:00
Maikel Linke
1eb70370c7 Import product's invalid weight as 1 item
We previously stored a scale which made the product screen believe that
we are dealing with weight.
2024-10-16 09:27:49 +11:00
Maikel Linke
d1ebe4e1d1 Make DFC API docs deterministic 2024-10-15 15:47:31 +11:00
Gaetan Craig-Riou
40afe7e0ab Fix rebase issue 2024-10-14 15:02:34 +11:00
Gaetan Craig-Riou
9b4cd014bf Fix DFC supplied product builder 2024-10-14 15:01:18 +11:00
Maikel Linke
7d2d14320f Spec that connector update fixed bug 2024-10-11 09:54:29 +11:00
Maikel Linke
86c91143b7 Update more variant data on import 2024-10-10 16:59:04 +11:00
Maikel Linke
cde757efbd Split growing class 2024-10-10 16:58:01 +11:00
Maikel Linke
260e7ba817 Update products when importing them multiple times
Instead of creating a new variant every time.
2024-10-10 16:57:58 +11:00
Maikel Linke
bda506528f Fix import of zero-weight products
We don't allow variants to have zero weight or volume. But a DFC import
in production showed that some catalogs list products with zero weight.
Despite the products having a weight, it's simpler to treat these as
items.
2024-10-10 14:08:02 +11:00
Maikel Linke
e429cb7198 Style growing class 2024-10-10 14:06:42 +11:00
Maikel Linke
a838ef4a21 DRY DFC product import 2024-10-10 14:04:54 +11:00
Maikel Linke
f0b6403c1d Fix locally flaky spec around date filters
This spec would fail on Australian systems early in the morning or in
other timezones accordingly.
2024-10-10 09:58:01 +11:00