Maikel Linke
6e489d7770
Enforce required DFC permissions
2025-08-22 16:46:59 +10:00
Maikel Linke
1d2115766a
Show product groups to platform user
...
I removed the caching of `managed_enterprises` in Permissions because
it's just a scope and calling it again is very cheap. And that makes the
method a lot easier to read now that we have a conditional here.
Accessing the managed enterprises via the user instead of a separate
scope on the Enterprise model also reduce the SQL queries. We may want
to use this method in more places. I prefer to keep the
admin-conditional in a permissions class instead of in the model.
2025-08-13 15:06:31 +10:00
Maikel Linke
6814ef43f4
Show addresses to platform users
2025-08-13 15:06:25 +10:00
Maikel Linke
c9e8294561
DRY with shared context
2025-08-13 15:02:09 +10:00
Maikel Linke
82d0e1bf68
Show enterprise to authorised platform user
2025-08-13 15:02:09 +10:00
Maikel Linke
b16e541a81
Show DFC catalog to authorised platform
2025-08-13 15:02:09 +10:00
Maikel Linke
c12d494de3
Demonstrate authentication as DFC client app
2025-08-13 15:02:09 +10:00
Maikel Linke
9be27842e1
Accepts tokens from Startin'Blox OIDC server
...
The API controllers don't know the new type of user yet and will raise
errors but we can work on that bit by bit.
2025-08-13 15:02:09 +10:00
Maikel Linke
2a7754edbf
Add test for current token validation
2025-08-13 15:02:09 +10:00
Maikel
8491a167ed
Merge pull request #13350 from mkllnk/dfc-ui
...
Add permission module with example data
2025-08-13 10:00:53 +10:00
David Cook
1eba950e19
Merge pull request #13451 from mkllnk/remove-person
...
Remove Person from product catalog
2025-08-12 09:42:40 +10:00
Maikel Linke
e54c27c900
Use more precise regex
2025-08-11 16:23:08 +10:00
Maikel Linke
842f4ae40e
Re-enable CSRF check supported by DPM now
2025-08-11 15:13:35 +10:00
Maikel Linke
994f1ca6c6
Update scope ids
2025-08-08 14:00:41 +10:00
Maikel Linke
f65e4797cf
Add feature toggle for DFC dev platform
2025-08-08 14:00:40 +10:00
Maikel Linke
52aeec5ac4
Update and list scopes for real
2025-08-08 14:00:40 +10:00
Maikel Linke
7032b3f463
Add endpoint to update scopes of platform
...
Dummy implementation only.
2025-08-08 14:00:40 +10:00
Maikel Linke
60c8f4ee20
Add DFC API endpoint for listing platforms
...
Only listing example JSON for now.
This is not part of the official DFC API but it's a DFC-related API and
therefore we put it in the same namespace.
The DFC Permission Module will make authenticated requests to grant
certain platforms certain permissions.
2025-08-08 14:00:01 +10:00
Maikel Linke
1ec570375f
Remove Person from product catalog
...
Early versions of the DFC standard demanded that all data is published
in relationship to the authenticated user. But that is not necessary
anymore and can add complications when a platform is authenticated as
client user.
2025-08-07 14:56:35 +10:00
Maikel Linke
75c33b29d5
Losen engine gemspec requirement for Dependabot
...
Dependabot doesn't seem to be able to resolve the version correctly. We
got this message:
```
Could not find compatible versions
Because every version of web depends on Ruby = 0.0.1
and Gemfile depends on web >= 0,
Ruby = 0.0.1 is required.
So, because current Ruby version is = 3.1.4,
version solving has failed.
```
2025-08-07 12:59:32 +10:00
Filipe
a8114e42a7
Merge pull request #13381 from rioug/add-feature-flag-inventory
...
Add feature flag to enable inventory
2025-07-21 17:59:54 +01:00
Gaetan Craig-Riou
b7f969eed9
Move the inventory feature check to ScopeVariantToHub
...
Per review, the check is done on the same enterprise as the one use to
initialize ScopeVariantToHub. So it makes sense to move the actual
feature check to ScopeVariantToHub#scope
2025-07-09 13:43:12 +10:00
Gaetan Craig-Riou
6937a133ae
Move inventory enabled check to OpenFoodNetwork::ScopeVariantToHub
2025-07-09 11:35:26 +10:00
Gaetan Craig-Riou
9e1de75db6
Scope variant only when inventory is enabled
2025-07-09 11:35:26 +10:00
Carlos Chitty
b43fa55a7b
Do not try to generate a URL for unpersisted blobs in development/test environment
...
Explicitly raise an error in `image_variant_url_for` if an Active Storage variant's blob is not persisted.
This addresses `ArgumentError`/`URI::InvalidURIError` in Rails 7.1, which occurs when attempting to generate a URL for an unsaved Active Storage blob. By raising, we ensure existing error handling in calling methods (e.g., `Spree::Image#url`) can provide graceful fallbacks (default image URLs).
This should only affect test and development environments where blobs may not be immediately persisted. Tests in `SuppliedProductImporter` have been updated to reflect this behavior.
References:
- Suggestion: https://github.com/openfoodfoundation/openfoodnetwork/pull/13232#discussion_r2071116581
- Example of failing test due to this: https://github.com/openfoodfoundation/openfoodnetwork/actions/runs/14739687958/job/41374346184?pr=13232
- Related: https://github.com/rails/rails/issues/50234
2025-06-27 15:05:52 -04:00
Maikel
3c1ee5f033
Merge pull request #13384 from cyrillefr/MetricsModuleLength
...
Fixes offenses Metrics/ModuleLength in engines spec
2025-06-19 15:30:27 +10:00
David Cook
f723fe025e
Rename file
2025-06-18 11:12:01 +10:00
David Cook
1525501a9d
Monkey-patch SemanticObject module directly
...
This is the module that defines semanticPropertiesMap.
2025-06-18 11:11:58 +10:00
cyrillefr
583acfcc79
Style Metrics/ModuleLength in spec file
2025-06-17 13:02:54 +02:00
cyrillefr
d9010c3cf3
Style Metrics/ModuleLength in spec file
2025-06-17 11:51:40 +02:00
cyrillefr
1837d6a381
Style Metrics/ModuleLength in spec file
2025-06-17 11:48:33 +02:00
cyrillefr
5b1b48afc6
Style Metrics/ModuleLength in spec file
2025-06-17 11:35:10 +02:00
cyrillefr
a872544b10
Style Metrics/ModuleLength in spec file
2025-06-17 11:28:54 +02:00
cyrillefr
2b1f75e87e
Style Metrics/ModuleLength in spec file
2025-06-17 11:23:03 +02:00
cyrillefr
9b1c95cbc2
Style Metrics/ModuleLength in spec file
2025-06-17 11:20:06 +02:00
cyrillefr
3743efd5e4
Style Metrics/ModuleLength in spec file
2025-06-17 11:13:45 +02:00
cyrillefr
6b0f690170
Style Metrics/ModuleLength in spec file
2025-06-17 11:02:21 +02:00
cyrillefr
ffe93fc470
Style Metrics/ModuleLength in spec file
2025-06-17 10:52:58 +02:00
David Cook
f9764b697d
Found a cleaner way to patch inspect
...
I tried to move on, I really did, but I already had these things in my head and they suddenly clicked together, so I thought it worth updating now.
2025-06-17 10:52:20 +10:00
David Cook
0f3626f12d
Monkey-patch a cleaner inspect
...
I would love to have hooked into the pretty inspect features which provide a better format, with indentation and colours for the console. But I couldn't find out how to.
2025-06-17 10:52:20 +10:00
David Cook
be1f4e91e1
Map currency to DFC codes
...
Probably should have just hardcoded it. Hopefully we can remove this soon anyway.
2025-06-17 10:50:24 +10:00
Carlos Chitty
00aa60c8a3
Correct Style/ReturnNilInPredicateMethodDefinition rubocop offenses
...
Explicitly return false instead of nil
2025-06-04 10:25:50 -04:00
cyrillefr
7cc4cb0181
Fixes RSpecRailsInferredSpecType cop in engines
2025-05-20 12:45:34 +02:00
Maikel Linke
524d6e87b7
Fix product reset on import
2025-05-09 11:27:10 +10:00
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