Commit Graph

106 Commits

Author SHA1 Message Date
Gaetan Craig-Riou
3bb0176887 Set up variant tags as searchable 2025-05-05 14:54:54 +10:00
Gaetan Craig-Riou
da8675826e Per review, remove :variant_tag context 2025-04-30 14:56:31 +10:00
Gaetan Craig-Riou
d3b653b257 Add "variant_tag" to variant 2025-04-22 13:41:01 +10:00
cyrillefr
1d24674386 Fixes some Rails InverseOf offenses 2025-03-25 18:46:00 +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
aa9daed66e Remove unused StockLocation#stock_items
And the reverse association.
2025-01-22 11:20:05 +11:00
Maikel Linke
248110cfb3 Make stock location association optional
Prepare for removal
2025-01-22 11:20:04 +11:00
Maikel
697f430156 Merge pull request #12992 from mkllnk/errors
Add simpler Alert.raise interface to notify Bugsnag
2024-12-03 13:29:11 +11:00
Maikel Linke
0d8df5d2a8 Replace Bugsnag calls with Alert.raise 2024-11-21 15:58:55 +11:00
Maikel Linke
1ce0b25bb0 Switch SemanticLink to use new association
And ActiveRecord magic does the rest when used correctly.
2024-11-19 15:53:58 +11:00
Gaetan Craig-Riou
324a4ff591 Backport fix for hungarian instance 2024-10-14 15:01:18 +11:00
Gaetan Craig-Riou
d0fe1585d7 Move variant unit attributes to variant 2
Update Spree::Product and spec
2024-10-14 14:56:46 +11:00
Gaetan Craig-Riou
f58a3a859f Move variant unit attributes to variant 1
Update Spree::Variant model and spec
2024-10-14 14:56:46 +11:00
Maikel Linke
1e3c18f3f6 Remove unneeded method StockLocation#propagate_variant 2024-10-03 08:24:15 +10:00
Maikel Linke
9f43244312 Import on-demand stock setting in DFC import 2024-09-25 10:55:41 +10:00
Maikel Linke
95e620a78b Add lookup of variants by semantic id 2024-09-25 10:55:40 +10:00
wandji20
2709479bf2 Require varian t category when creating new product variant [OFN-12666] 2024-07-30 12:07:50 +01:00
Gaetan Craig-Riou
448308710a Per review, distributor are now updated via variant
When a product is deleted, it will delete associated variant and
in turn will touch the affected distributors
2024-07-03 11:23:02 +10:00
Gaetan Craig-Riou
c328ee8087 Remove stockable_by from Product and Variant
It's not used anymore
2024-07-03 11:23:02 +10:00
Gaetan Craig-Riou
260211cf15 Fix Ruboxop issue 2024-07-03 11:21:28 +10:00
Gaetan Craig-Riou
b891a03468 Fix search by producer, BUU product page 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
22f4ae115a Add missing associations and validations specs 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
7af36510c8 Fix lambda styling
It follows Style/Lambda cop :
https://docs.rubocop.org/rubocop/1.60/cops_style.html#stylelambda
2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
4113880401 Move supplier to variant part 2
Variant model and specs
2024-07-03 10:17:49 +10:00
David Cook
898ab08bab Add specs for invalid records
It turns out that the duplicator still raises an exception in some cases. Now I think I see why the the controller was catching the exceptions. At least now we know which exceptions to catch.
2024-06-27 11:39:49 +10:00
Ahmed Ejaz
9dd427ab7f 12346 - fix rubocop rails/pluckInWhere errors 2024-06-22 01:54:54 +05:00
cyrillefr
654fda89ca Fix Rails/RedundantActiveRecordAllMethod issues
- Cop: Rails/RedundantActiveRecordAllMethod
- if receiver is an Active Record object, ".all" can be safely removed
- There are 2 allowed receivers that are listed in the
  styleguide file (those are defaults cf. cop documentation).
2024-06-19 14:32:21 +02:00
David Cook
f8f0a1bf58 Update comment
[skip ci]
2024-05-29 10:55:29 +10:00
David Cook
90c71c6a1a Remove unused method 2024-05-28 12:00:07 +10:00
David Cook
35c2297d55 Detect changes in price
Price is actually an association with lots of custom methods to make it look like a field, and so changes were ignored.
Now this issue is fixed, perhaps it should be moved to a concern..

Note, there are other delegated fields: product name and description may be assigned from the variant. But there's no hooks to save the prroduct, so I didn't include it when checking for changes.
2024-05-28 12:00:04 +10:00
Anthony Musyoki
645cb10864 Fix Rubocop: Do not delete Spree::Variant associations
Spree::Variant acts_as_paranoid and is thus not hard deleted
2024-04-23 12:31:43 +03:00
cyrillefr
404fcf1f72 Fix FixRailsWhereEquals
- fixes offenses caused by RuboCop::Cop::Rails::WhereEquals cop
2024-04-09 10:44:02 +02:00
Matt-Yorkley
3f2a5786bd Apply taxon from sibling variant if none is provided on variant creation 2024-04-02 09:27:37 +11:00
Matt-Yorkley
2ef266390d Move primary taxon to variant 2024-04-02 09:27:36 +11:00
Matt-Yorkley
c01bab5f27 Wrap commonly-repeated calls to Spree::Config to reduce unnecessary cache reads
These config values are relatively static but in some cases they can be called many times in the same request (like rendering a report or a large list of line_items in BOM). These values will now only get fetched from Redis/Postgres once at most per request/job.
2024-03-26 13:39:16 +00:00
Maikel Linke
d47d3eba8f Add SemanticLink model for variants
We want to link variants/products to external DFC SuppliedProducts to
trigger supplier orders when local stock is exhausted. This is the first
step to enable the link.
2024-03-15 16:46:41 +11:00
David Cook
7164cbd0bd Don't validate numericality if blank
This avoids unnecessary second message when left blank:
> can't be blank
> is not a number

Ok this is a little confusing. Why is there a  separate presence check above, and why is it only for measurable units, when we still require a number for _all_ units? Because, for 'items', we allow a blank value then auto-set it to 1.
I don't know if it's really necessary, but that's how it currently works...
2024-02-16 08:51:53 +11:00
Maikel Linke
95c6a56e2e Simplify loading of default tax category
The logic doesn't change but I simplified it and added more detailed
specs.
2024-01-12 17:06:24 +11:00
Mohamed ABDELLANI
d239beb226 remove unnecessary require instructions 2024-01-03 11:34:57 +01:00
Mohamed ABDELLANI
a0c2facca4 validate price numericality on product and variants 2023-11-28 13:45:08 +01:00
David Cook
aa4630d74c Mark fields as changed if they contain unsaved values.
This can happen when there's a validation error. The field with error will also be marked changed, but the error style will override it.

I'd like to move this into a FormBuilder. Existing formbuilder gems don't seem to support it (though I didn't look very hard).
2023-10-24 15:21:14 +11:00
Maikel
90c25d604b Merge pull request #11441 from macanudo527/fix_rails_HasManyOrHasOneDependent
Fix Rails/HasManyOrHasOneDependent
2023-10-09 11:44:23 +11:00
David Cook
117085aeba Transform weight before validation
I guess validates_length_from_database also validates numbers. That's not a bad thing.
So now it's being validated, we should validate the transformed value that will be saved to the database.
2023-10-06 14:15:07 +02:00
David Cook
9a9be8dacd Validate length of variant fields 2023-10-06 14:15:07 +02:00
Neal Chambers
fec59e5ae2 Apply Changes Suggested by Code Review 2023-10-06 10:58:49 +09:00
Neal Chambers
180cd4abe6 Revert Complicated Rails/HasManyOrHasOneDependent Errors 2023-10-06 10:58:49 +09:00
Neal Chambers
7f8ac94933 Fix Rails/HasManyOrHasOneDependent with nil 2023-10-06 10:58:49 +09:00
Neal Chambers
070d2cb855 Fix stock_movements relation in variant 2023-10-06 10:58:49 +09:00
Neal Chambers
b76fb10d46 Fix Rails/HasManyOrHasOneDependent with Destroy 2023-10-06 10:58:49 +09:00
Neal Chambers
50eb8f31f2 Remove Deprecated delegate_belongs_to 2023-09-26 09:50:08 +09:00