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
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
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
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
cyrillefr
7812d5f58a
Replace set_methods in order model
2025-04-24 09:29:40 +02: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
cyrillefr
019c703b1c
Fix Rubocop InverseOf offense in Order
...
- also fix failing spec due to adding inverse
2025-04-03 12:39:06 +02:00
Gaetan Craig-Riou
1279ab21a6
Fix delete fee logic
...
A fee can be associated to both the incoming and outgoing exchange, the
previous logic did not account for that, resulting in the fee not being
correctly removed.
Now the delete logic also check for the metadata enterprise role to see
if any additional fee need to be removed.
2025-04-01 13:46:34 +11:00
Gaetan Craig-Riou
b5bc6b84d7
Update Orders::HandleFeesService#recreate_all_fees!
...
We now update or create line item fees instead of deleting them and
recreating them. This is to cover the case when a product has been
removed from an Order Cycle but we want to keep the fee already applied
on existing order. This was an issue only if the existing order got
updated after the product was removed.
2025-04-01 13:46:34 +11:00
Gaetan Craig-Riou
0537a56b47
Merge pull request #13239 from cyrillefr/FixRailsRubocopIssueInverseOfInPayments
...
Fixes rubocop offense inverse_of on payment model
2025-04-01 09:59:01 +11:00
David Cook
d8eab7875f
Merge pull request #13235 from mkllnk/stock-aggregation
...
[API change] Remove unused ProductStock concern
2025-04-01 09:45:24 +11:00
cyrillefr
09a6da0c57
Fixes rubocop offense inverse_of on payment model
...
- some clean up unused method too
2025-03-31 17:10:43 +02:00
Maikel Linke
b3ddfde1c3
Remove empty ProductStock concern
2025-03-28 14:49:47 +11:00
cyrillefr
1d24674386
Fixes some Rails InverseOf offenses
2025-03-25 18:46:00 +01:00
cyrillefr
fa4fc7c3c5
Fixes Rails TimeZone rubocop offenses
2025-03-21 13:13:52 +01:00
Gaetan Craig-Riou
11e08dcc26
Revert "Update line items enterprise fee instead of deleting and recreating "
2025-03-19 09:40:02 +11:00
Filipe
b3c7968e50
Merge pull request #13144 from rioug/13100-removed-fee-when-product-removed
...
Update line items enterprise fee instead of deleting and recreating
2025-03-14 10:12:50 +00:00
cyrillefr
9bb617d748
Fixes some rubocop linting offenses - part III
2025-03-06 23:42:53 +01:00
Maikel
2e4b59daaf
Remove orphaned comment
2025-03-06 11:28:25 +11:00
David Cook
633cdaca56
Remove unused method
...
I believe it's unused since e4d307fe5e
2025-03-06 09:49:50 +11:00
cyrillefr
446b948889
Fixes some rubocop linting offenses - part II
2025-03-03 14:03:47 +01:00
cyrillefr
027d4ccbad
Fixes some rubocop linting offenses - part I
...
- Lint/RedundantSafeNavigation
- Lint/SelfAssignment
- Lint/UselessMethodDefinition
2025-02-27 16:28:00 +01:00