Filipe
d9e3076a3b
Merge pull request #13654 from pacodelaluna/check-enterprise-image-logic
...
Improve enterprise images-related logic
2025-11-14 18:15:50 +00:00
Filipe
3e02a03312
Merge pull request #13650 from rioug/13539-update-variant-multi-producer
...
Fix update multi producer products
2025-11-14 16:56:16 +00:00
Gaetan Craig-Riou
460d109bd2
Update product ability
...
A user has product permission if it is a supplier of at least one of the
product's variants
2025-11-11 11:35:19 +11:00
Maikel
587f76415b
Merge pull request #13656 from pacodelaluna/replace-alias-attribute-with-alias-method
...
Replace alias_attribute with alias_method
2025-11-10 11:50:33 +11:00
Gaetan Craig-Riou
bb8ecccc31
Fix variant tag rules endpoint
...
It now returns tag rules filtered on the preferred variant tags and not
the prefered customer tags
2025-11-03 15:50:12 +11:00
Gaetan Craig-Riou
1a68236c3c
Add variant_tag_rule ability
...
It's needed to allow enterprise user to get a tag autocomplete. Classic
mistake of not testing with a non superadmin user.
2025-11-03 14:25:48 +11:00
Gaetan Craig-Riou
ce60335a60
Per review, fix leftover comment
2025-11-03 14:25:48 +11:00
Gaetan Craig-Riou
3bb9eb9765
Add endpoint to provide autocomplete tag for variant
...
It return a list of available tags and number of related rules, based on
the given enterprise and a partial match on the given tag
2025-11-03 14:25:05 +11:00
Gaetan Craig-Riou
b1d95cac7f
Display filter by variant tag rule
...
We only support one of filter by inventory variants or filter by variants
at any given time, based on enabled feature. If both features inventory
and variant tag are enabled, variant tag takes precedence.
2025-11-03 14:25:05 +11:00
Gaetan Craig-Riou
3f297a8afa
Add tag rule to filter by variant
2025-11-03 14:25:05 +11:00
François Turbelin
275326eaa6
Replace alias_attribute with alias_method
2025-10-31 14:26:33 +01:00
David Rodríguez
05b3e97a0e
Bump Ruby from 3.1.7 to 3.2.9
...
Release announcements:
* https://www.ruby-lang.org/en/news/2025/07/24/ruby-3-2-9-released/
* https://www.ruby-lang.org/en/news/2025/03/26/ruby-3-2-8-released/
* https://www.ruby-lang.org/en/news/2025/02/04/ruby-3-2-7-released/
* https://www.ruby-lang.org/en/news/2024/10/30/ruby-3-2-6-released/
* https://www.ruby-lang.org/en/news/2024/07/26/ruby-3-2-5-released/
* https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-2-4-released/
* https://www.ruby-lang.org/en/news/2024/01/18/ruby-3-2-3-released/
* https://www.ruby-lang.org/en/news/2023/03/30/ruby-3-2-2-released/
* https://www.ruby-lang.org/en/news/2023/02/08/ruby-3-2-1-released/
* https://www.ruby-lang.org/en/news/2022/12/25/ruby-3-2-0-released/
Also autocorrect new offenses.
2025-10-31 09:18:11 +01:00
François Turbelin
f5e3d104e2
Add validation for enterprise white_label_logo
2025-10-28 18:19:12 +01:00
David Rodríguez
4c6d894bc0
Bump RuboCop to 1.86.6
...
There were a few changes needed:
* Plugins are now specified through `plugin:` config keyword.
* All plugin gems need to be specified explicitly in Gemfile since they
are no longer dependencies of plugins already specified explicitly.
* All plugin gems need to be updated in other to use the new APIs.
* One cop was renamed.
* New offenses safe to correct were corrected directly with `bundle exec
rubocop -a`.
* New offenses unsafe to correct were added to the TODO configuration
with `bundle exec rubocop --auto-gen-config --auto-gen-only-exclude
--exclude-limit 1400 --no-auto-gen-timestamp`.
2025-10-27 11:30:33 +01:00
Rachel Arnould
c4c266246c
Merge pull request #13507 from rioug/tag-rules-remove-angular
...
[Variant Tags] Remove angular from tag rule admin page
2025-10-15 23:16:05 +02:00
Maikel Linke
7a12e7426f
Pass actors instead of AR associations to Flipper
...
Apparently they removed support for checking collections of actors.
2025-10-14 13:32:51 +11:00
Filipe
ef4d3ec138
Merge pull request #13506 from chahmedejaz/task/13505-remove-stripe-redirect-monkey-patch
...
Remove Stripe redirect monkeypatch and ensure reliable checkout flow
2025-10-01 13:03:58 +01:00
Filipe
ff2e0f4d45
Merge pull request #13533 from chahmedejaz/task/13435-sort-products-by-on-hand-amount
...
Sort product list by 'on hand' amount
2025-09-29 15:07:00 +01:00
Gaetan Craig-Riou
7e48007d09
Add new tag group and add rule to tag group
2025-09-24 10:40:43 +10:00
Gaetan Craig-Riou
7087d1b290
Add default tag rule
...
I tried to leverage turbo as much as possible
2025-09-24 10:38:53 +10:00
Gaetan Craig-Riou
11006c3a60
Display default rule
2025-09-24 10:36:21 +10:00
Ahmed Ejaz
ac06126f59
replace cvv_response_message usage with redirect_auth_url
2025-09-22 11:55:43 +05:00
Ahmed Ejaz
626b802ea7
add redirect_auth_url column and replace cvv_response_message for redirection
...
- Added redirect_auth_url column to spree_payments table
- Updated payment redirection logic to use redirect_auth_url instead of cvv_response_message
- Cleans up old monkeypatch usage and improves Stripe checkout reliability
2025-09-22 11:54:20 +05:00
Ahmed Ejaz
dffcd446fd
Simplify backorderable priority SQL query in product sorting concern
2025-09-15 12:03:04 +05:00
Ahmed Ejaz
49dbe1d039
Refactor comments for clarity in product sorting concerns
2025-09-15 02:15:03 +05:00
Ahmed Ejaz
da843d1ba1
Add sorting by stock levels using ransacker and update locale for 'on_hand' header
2025-09-13 01:11:21 +05:00
Filipe
b0c7e29b0d
Merge pull request #13468 from mkllnk/rails-config-updates
...
Add Rails 7.0 and 7.1 framework defaults
2025-08-28 11:44:44 +01:00
Ahmed Ejaz
7aa9b164e6
Add scope for ordering products by stock levels and update admin table header for on_hand sorting
2025-08-17 07:16:46 +05:00
Maikel Linke
b16e541a81
Show DFC catalog to authorised platform
2025-08-13 15:02:09 +10:00
Maikel Linke
05b00f16ad
Move config option to a better place
2025-08-12 20:24:16 +10:00
Maikel Linke
c26686b430
Add DfcPermission model to persist granted scopes
2025-08-08 14:00:38 +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
aeefe841bf
Merge pull request #13403 from chitty/cch/image_variant_url_for
...
Do not try to generate a URL for unpersisted blobs in development/test environment
2025-07-09 14:15:07 +10: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
6212cd4d07
Only add variant override permission if inventory enabled
...
The permission shoul not be needed if inventory is disabled, but it will
prevent importing into the inventory if somehow we try to import into
inventory with inventory disabled.
2025-07-09 11:35:26 +10:00
Gaetan Craig-Riou
29a24b7305
Scope variant to hub only when inventory enabled
2025-07-09 11:35:26 +10:00
Gaetan Craig-Riou
f30b899569
Disable inventory option for product import
2025-07-09 11:35:26 +10:00
Gaetan Craig-Riou
cd8b7cd239
First step disable inventory
2025-07-09 11:35:26 +10:00
Ahmed Ejaz
7725fae992
Refactor order cycle and order management abilities to improve producer edit permissions
2025-06-29 19:13:31 +05: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
Ahmed Ejaz
020d90b957
Enhance line item management abilities by consolidating permissions for Spree::Order
2025-06-21 16:19:31 +05:00
Ahmed Ejaz
ade35f2fa2
Fixes specs and update code respectively
2025-06-21 16:19:31 +05:00
Ahmed Ejaz
cd01a27bdd
Add distributor_name_alias to searchable attributes and implement ransacker for filtering line items
2025-06-21 16:19:31 +05:00
Ahmed Ejaz
a37e08c2fd
Refactor order management permissions for producers
...
Introduces granular permissions control for producers editing orders:
- Adds new :edit_as_producer_only permission for suppliers
- Refactors ability checks to clearly separate producer vs admin/distributor access
- Updates order views to properly restrict actions based on user role
- Prevents admins from being restricted by producer-only edit mode
2025-06-21 16:16:58 +05:00
Filipe
6ccc588113
Merge pull request #13342 from chitty/cch/refactor-unit-price
...
refactor: move unit price formatting logic out of model into helper
2025-06-19 16:19:03 +01:00
Carlos Chitty
37bf3f495f
Refactor preference access to use define_method instead of method_missing
...
Replaces dynamic method handling with explicit getters and setters to
avoid recursion issues and improve clarity.
2025-06-18 13:59:46 -04:00
Carlos Chitty
f909bb2c30
Add respond_to_missing? to classes defining method_missing to improve respond_to? behavior
2025-06-18 13:59:42 -04:00
Carlos Chitty
2fe49b2070
Instantiate UnitPrice only once in app/models/spree/line_item.rb
...
Co-authored-by: Maikel <maikel@email.org.au >
2025-06-16 12:53:41 +01:00
Carlos Chitty
85e4f749f9
refactor: move unit price formatting logic out of model into helper
...
Solves Psych::DisallowedClass errors
Example: https://github.com/openfoodfoundation/openfoodnetwork/actions/runs/14739687958/job/41374343627?pr=13232
unit_price returns object with amount and unit, as mentioned in https://github.com/openfoodfoundation/openfoodnetwork/pull/6905\#discussion_r578401368
2025-06-16 12:53:41 +01:00