cyrillefr
0aecb6873a
Requested changes
...
- 2 new methods for reading either current/desired on hand/on demand
depending on variant state. Goal is to get rid of send method in View
- referring in on_hand/on_demand is in fact irrelevant. In the piece of
code, only desired on_hand/on_demand can be called as we are only in
new variant (non persisted) mode
- View does not use send method anymore, replaced by current_or_desired
- refactor of the spec -> 2 examples in one to get more speed.
2025-02-12 16:01:21 +01:00
cyrillefr
6d6164c8f6
Keep stock selection when error on saving
...
- added 2 not to be persisted attributes aimed at dealing with the UI
- added them to the permitted list
- updated view to switch mode about on_hand/on_demand
that is: from an already persisted variant or not
- Not persisted deals with on_*_desired not to be persisted fields
- Persisted mode deals with regular on_* fields
- the corresponding spec for both on_hand/on_demand
2025-02-12 16:01:21 +01:00
Maikel Linke
0d8df5d2a8
Replace Bugsnag calls with Alert.raise
2024-11-21 15:58:55 +11:00
Gaetan Craig-Riou
eb66244b74
Fix Bugsnag call to notify
...
Make sure we add metadata as expected:
https://docs.bugsnag.com/platforms/ruby/rails/reporting-handled-errors/#add_metadata
2024-11-06 14:01:48 +11:00
Gaetan Craig-Riou
63807f198b
Fix product set, to handle updating supplier on the variant
2024-07-03 10:17:49 +10:00
David Cook
c71eb2d6b5
Remove duplicate assign
2024-05-27 10:34:35 +10:00
isidzukuri
7565825b61
Do not commit to db unchanged products is bulk save
2024-05-27 10:22:58 +10:00
Matt-Yorkley
02abe5cc06
Remove dead code related to multiple product taxons
2024-04-02 09:27:37 +11:00
David Cook
fbbaf51522
Safely autocorrect Lint/SymbolConversion
...
Inspecting 1530 files
.....................................................................................................................................................................................................................................................................................................................................................W.................................................................................................................................................................................................................................................W..........................................................................................................................................................................................................................................................W.......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
Offenses:
app/models/spree/preferences/preferable_class_methods.rb:73:9: W: [Corrected] Lint/SymbolConversion: Unnecessary symbol conversion; use :"preferred_#{name}" instead.
"preferred_#{name}".to_sym
^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/spree/preferences/preferable_class_methods.rb:77:9: W: [Corrected] Lint/SymbolConversion: Unnecessary symbol conversion; use :"preferred_#{name}=" instead.
"preferred_#{name}=".to_sym
^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/spree/preferences/preferable_class_methods.rb:81:9: W: [Corrected] Lint/SymbolConversion: Unnecessary symbol conversion; use :"prefers_#{name}?" instead.
"prefers_#{name}?".to_sym
^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/spree/preferences/preferable_class_methods.rb:85:9: W: [Corrected] Lint/SymbolConversion: Unnecessary symbol conversion; use :"prefers_#{name}=" instead.
"prefers_#{name}=".to_sym
^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/spree/preferences/preferable_class_methods.rb:89:9: W: [Corrected] Lint/SymbolConversion: Unnecessary symbol conversion; use :"preferred_#{name}_default" instead.
"preferred_#{name}_default".to_sym
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/spree/preferences/preferable_class_methods.rb:93:9: W: [Corrected] Lint/SymbolConversion: Unnecessary symbol conversion; use :"preferred_#{name}_type" instead.
"preferred_#{name}_type".to_sym
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/spree/preferences/preferable_class_methods.rb:97:9: W: [Corrected] Lint/SymbolConversion: Unnecessary symbol conversion; use :"preferred_#{name}_description" instead.
"preferred_#{name}_description".to_sym
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/services/sets/product_set.rb:121:28: W: [Corrected] Lint/SymbolConversion: Unnecessary symbol conversion; use :"variant_#{error.attribute}" instead.
product.errors.add("variant_#{error.attribute}".to_sym, error.message)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lib/spree/core/environment_extension.rb:11:24: W: [Corrected] Lint/SymbolConversion: Unnecessary symbol conversion; use :"#{name}=" instead.
create_method( "#{name}=".to_sym ) { |val|
^^^^^^^^^^^^^^^^^
1530 files inspected, 9 offenses detected, 9 offenses corrected
2024-01-10 09:21:43 +11:00
David Cook
a94c50f0c1
Count updated products
...
Ignoring variants for now.
2023-11-03 14:32:58 +11:00
David Cook
de915e8bd7
Capture variant errors when updating
2023-11-03 14:32:55 +11:00
David Cook
ceb9d9af92
Add comment
...
I decided to look into why this is so complicated, in case some of the complexity can be removed. It can't :(
2023-10-24 15:21:13 +11:00
David Cook
1534908895
Move generic method to base class
...
Because rubocop complained about the size of ProductSet.
2023-10-24 15:21:13 +11:00
David Cook
224b6f514b
Remove concept of master variant
...
from old bulk product screen. Hmm I just realised we're deleting that screen soon anyway.
But this helps clean up the spec before I refactor it further.
2023-10-24 15:21:13 +11:00
David Cook
a8d37d0899
Apply suggestions from code review
...
Rails is clever enough to not query the database without ids
Co-authored-by: Maikel <maikel@email.org.au >
2023-08-24 08:48:27 +10:00
David Cook
a0dba001bc
Attempt to save all records in bulk update
...
Before, it would abort after the first invalid record, and it doesn't tell you about the others. This way you find out about all at once.
This affects the existing Bulk Edit Products screen, and can result in longer error messages than before. But I would argue that's a good thing.
I think this is technically optional for BUU at this point, but a helpful improvement.
2023-08-22 11:40:58 +10:00
David Cook
71c36585bc
Retain order when saving.
...
Perhaps this should be tested in the system spec too ("I can rename a product and still see it after saving"). But I'd like to find the compromise to avoid bulking up system specs too much. I think it's covered well enough by the reflex spec?
2023-08-22 11:40:58 +10:00
David Cook
6ffe1ec1ad
Retain the order of products in the collection
2023-08-22 11:40:58 +10:00
Matt-Yorkley
3ef7d2c9ff
Remove master variant from product
2023-06-16 21:23:44 +01:00
Matt-Yorkley
0ca86344d2
Update use of deprecated #add_tab method to #add_metadata
2022-10-19 17:36:53 +11:00
Maikel Linke
47ac118cf7
Simplify ProductSet by using Rails changes feature
...
I added a line to this class before and that made it too long. Now I
removed a line again to keep code quality up.
2022-10-08 09:03:38 +02:00
Maikel Linke
47a43163d8
Avoid error on empty variant attributes
...
In 2019 Pau observed an error where an empty attributes hash was passed
to the bulk product update method. He added an automated test but wasn't
able to reproduce the error.
A recent change in logic made the spec fail but rspec-retry hid that
fail because it would succeed on a second try (not sure why). I now
changed the logic to ignore empty attributes properly and avoid an error
trying to create a new variant when no attributes are given.
* f940397781 Pau's spec
* 6f228781d4 Fixing error detection
2022-10-08 09:03:38 +02:00
Jean-Baptiste Bellet
f71c84cea5
Handle save method as it should be: return false if any errors occurs
2022-07-07 09:56:14 +02:00
Jean-Baptiste Bellet
c39b00b6c2
do not set on_demand and on_hand if variant has errors
...
+ update specs
Co-Authored-By: Maikel <maikel@email.org.au >
2022-07-06 10:46:54 +02:00
Luis Ramos
19b12092a0
Fix rubocop issues and adapt exceptions file
2021-01-14 09:41:07 +00:00
Luis Ramos
96a351ad0e
Adapt usage of Sets to their new location
2021-01-14 09:41:07 +00:00
Luis Ramos
187b4a1fc2
Add Sets namespace to each set file
2021-01-14 09:41:07 +00:00
Luis Ramos
8e65d29b02
Move sets to specific services namespace
2021-01-14 09:41:07 +00:00