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
Filipe
846cb4dd89
Merge pull request #13252 from rioug/13159-add-tag-variant
...
[Variant tags] Add variant tag on Bulk Edit Product screen
2025-05-03 17:34:51 +01:00
Cillian O'Ruanaidh
d8959fd7a5
Don't cast remove image parameters to booleans.
2025-05-02 13:07:31 +01:00
Cillian O'Ruanaidh
ace5d5eb08
Add a :truthy? helper instead of ActiveModel::Type::Boolean.cast
2025-05-02 13:07:31 +01:00
Cillian O'Ruanaidh
a9a4156251
Remove Angular and Stimulus Reflex from the Settings > Images section
2025-05-02 13:07:31 +01:00
Gaetan Craig-Riou
da8675826e
Per review, remove :variant_tag context
2025-04-30 14:56:31 +10:00
Carlos Chitty
d0c687650e
Autocorrect Style/HashEachMethods offenses
2025-04-29 15:16:34 -04:00
Carlos Chitty
63168086e7
Autocorrect Style/HashConversion offenses
2025-04-29 14:27:31 -04:00
Carlos Chitty
17a5b5e620
autocorrect Style/ArrayIntersect offenses
2025-04-29 14:20:50 -04:00
cyrillefr
fbb4954ff7
Fixes Rubocop Naming NamingMemoizedInstanceVariableName cop
2025-04-29 13:27:47 +02:00
cyrillefr
2dce79a93d
Fixes Rubocop HeredocDelimiterNaming offense
2025-04-28 09:47:55 +02:00
cyrillefr
7812d5f58a
Replace set_methods in order model
2025-04-24 09:29:40 +02:00
Filipe
07842bf5eb
Merge pull request #13081 from pacodelaluna/do-not-allow-spaces-in-external-billing-id
...
Do not allow spaces in external billing
2025-04-23 12:20:02 +01:00
Gaetan Craig-Riou
d3b653b257
Add "variant_tag" to variant
2025-04-22 13:41:01 +10:00
Filipe
d2fa2e612c
Merge pull request #13113 from chahmedejaz/task/13031-allow-producers-to-edit-orders
...
Allow producer to edit their products on hubs' orders
2025-04-21 11:28:36 +01:00
Filipe
cb9db54cd3
Merge pull request #13240 from rioug/13100-do-not-remove-fee-product-removed-from-OC
...
[Enterprise Fees] Keep fees on product when a product is removed from the order cycle
2025-04-20 21:57:56 +01:00
Ahmed Ejaz
213209b460
hide customer info on bulk orders page
2025-04-13 21:35:55 +05:00
Ahmed Ejaz
293b30cfa6
simplify block
2025-04-13 21:35:55 +05:00
Ahmed Ejaz
f2adcbf2b8
fix syntax error
2025-04-13 21:35:55 +05:00
Ahmed Ejaz
0500294480
rename is_producer to is_producer_only
2025-04-13 21:35:55 +05:00