Carlos Chitty
ecb303fef5
Correct Style/SlicingWithRange rubocop offenses
2025-03-26 11:16:24 -04:00
Carlos Chitty
dca2714aa7
Autocorrect rubocop offense Style/RedundantArgument
2025-03-25 13:35:56 -04:00
Filipe
353e7ecff0
Merge pull request #13153 from mkllnk/dfc-images
...
Update images in DFC product import on URL change
2025-03-21 09:59:36 +00:00
Filipe
3c801a2656
Merge pull request #13182 from mkllnk/invalid-dfc-catalog-url
...
Rescue from invalid DFC catalog URLs
2025-03-18 10:57:26 +00:00
cyrillefr
e26d591d24
Fixes some rubocop linting offenses - part VI
2025-03-12 21:23:49 +01:00
Maikel Linke
4c086e3d40
Update images in DFC product import on URL change
2025-03-04 20:02:03 +01:00
cyrillefr
446b948889
Fixes some rubocop linting offenses - part II
2025-03-03 14:03:47 +01:00
Maikel Linke
7f8581fd9f
DRY controller methods which became too long
2025-03-03 12:23:58 +11:00
Maikel
ff8fe58268
Merge pull request #13151 from mkllnk/dfc-stock-limit
...
Fix reset stock when importing DFC products
2025-02-24 15:47:12 +11:00
Maikel
462886447a
Merge pull request #13126 from mkllnk/oidc-error
...
Direct people to refresh OIDC connection when needed
2025-02-24 15:45:48 +11:00
Maikel Linke
699db02098
Remove enterprise id from DFC product group URL
...
A Spree::Product represented as product group is not directly associated
to an enterprise. In theory, it could have multiple enterprises through
its variants. So we better don't include the id in the URL.
```
-http://test.host/api/dfc/enterprises/10000/product_groups/90000
+http://test.host/api/dfc/product_groups/90000
```
This makes it simpler as well.
2025-02-18 16:19:27 +11:00
Maikel Linke
5d495b94b3
Use product group attributes for Spree::Product updates
2025-02-18 13:08:49 +11:00
Maikel Linke
11a1d4e09e
Reduce complexity of controller
2025-02-18 13:08:49 +11:00
Maikel Linke
3d435ae781
Include product group objects in our catalog response
...
And when we import a catalog, we don't try to import those product
groups as Spree::Variant. We just see them as reference to
Spree::Product.
2025-02-18 13:08:49 +11:00
Maikel Linke
fba7c24ebd
Product group can be present or just linked
2025-02-18 13:08:49 +11:00
Maikel Linke
516759062f
Import variants for the same product group
...
When importing another catalog, it's probably referring to external
product groups. Storing the external link allows us to group several
variants and replicate the same structure within OFN.
2025-02-18 13:08:48 +11:00
Maikel Linke
c1e0c6ed34
Import variants for existing products via new DFC attribute
2025-02-18 13:08:48 +11:00
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
00a2894e93
Clear invalid OIDC tokens
2025-02-18 11:48:17 +11:00
Maikel Linke
db874b18a4
Fix reset stock when importing DFC products
2025-02-14 10:27: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