Commit Graph

4104 Commits

Author SHA1 Message Date
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
Ahmed Ejaz
f132d99df4 remove ids usage 2025-04-13 21:35:55 +05:00
Ahmed Ejaz
ccfd0edbf1 fix lint issues 2025-04-13 21:35:55 +05:00
Ahmed Ejaz
3e71f8293c add bulk_management ability 2025-04-13 21:35:55 +05:00
Ahmed Ejaz
19c5fec9a9 add ability update supplier line_items in orders 2025-04-13 21:35:55 +05:00
Ahmed Ejaz
0a61910cf6 add ability to view supplier products containing orders 2025-04-13 21:35:55 +05:00
François Turbelin
9529acd477 Adjust the regexp 2025-04-09 23:23:37 +02:00
François Turbelin
243d81c786 Revert "Improve the no-white-spaces regexp for enterprises"
This reverts commit baf89053638628052752f345b357d630d7484046.
2025-04-09 23:20:51 +02:00
François Turbelin
98251b306e Improve the no-white-spaces regexp for enterprises 2025-04-09 22:34:25 +02:00
Gaetan Craig-Riou
6d78ee8be4 Fix rubocop warning 2025-04-09 22:34:23 +02:00
cyrillefr
019c703b1c Fix Rubocop InverseOf offense in Order
- also fix failing spec due to adding inverse
2025-04-03 12:39:06 +02:00