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
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
Carlos Chitty
00aa60c8a3
Correct Style/ReturnNilInPredicateMethodDefinition rubocop offenses
...
Explicitly return false instead of nil
2025-06-04 10:25:50 -04:00
Filipe
93ac10bb75
Merge pull request #13262 from cillian/remove-angular-on-enterprise-images-and-white-label-sections
...
Remove Angular from the Settings > Images section
2025-05-16 20:03:55 +01:00
Filipe
d6785b2f5a
Merge pull request #13312 from mkllnk/stock-movement
...
Stop creating stock movements
2025-05-16 19:30:31 +01:00
Filipe
371d0fbf79
Merge pull request #13281 from rioug/13172-search-by-tags
...
[Variant tags] Search products by tags
2025-05-14 07:38:59 +01:00
Maikel Linke
d650d06049
Delete StockMovement model
...
I'm not dropping the database table just yet. Let's keep this change
reversible without data loss. And dropping the table would break the
currently running app code during deploy. We can do that another time.
2025-05-13 15:24:26 +10:00
Maikel Linke
be312246ec
Stop referring to stock movements
2025-05-13 15:24:26 +10:00
Maikel Linke
729e62d7db
Remove unused stock move originator parameter
2025-05-13 15:24:26 +10:00
Maikel Linke
2197656606
Stop creating stock movements
...
Spree added stock movements to track the movements between stock
locations. But we got rid of stock locations and the only stock
movements we have now are just records of stock level changes.
These records were not created in all cases though and there were also
not created for variant overrides (inventory items). And since these
records aren't visible anywhere, I think it's best we remove them
altogether.
I do think that some kind of log would be useful but I don't think that
AR records like this are the best solution for that. And the
StockMovement model just added complexity to our already complex stock
level storage. The actual adjustment of the count_on_hand attribute of
the StockItem was performed in an after_create hook of the
StockMovement. Now we call it explicitely.
2025-05-13 14:56:29 +10:00
Maikel Linke
4cd088f7a7
Remove useless method
2025-05-09 11:40:18 +10:00
Gaetan Craig-Riou
3bb0176887
Set up variant tags as searchable
2025-05-05 14:54:54 +10:00
David Cook
3ec14607a6
Merge pull request #13286 from chitty/apr29-rubocop-style-corrections
...
Rubocop Style corrections
2025-05-05 12:53:57 +10:00
David Cook
29a14848ea
Merge pull request #13285 from cyrillefr/FixRubocopNamingMemoizedInstanceVariableName
...
Fixes Rubocop Naming NamingMemoizedInstanceVariableName cop
2025-05-05 12:48:28 +10:00