Commit Graph

935 Commits

Author SHA1 Message Date
David Cook
918d4401ff Gracefully handle empty string 2024-07-18 12:05:56 +10:00
David Cook
bba59c1ffd Force significant: false for NumberHelper
Although it defaults to false, somehow it seems to be evaluated as true on hu_prod...??!?!!1! (https://github.com/openfoodfoundation/openfoodnetwork/issues/12682)
Maybe this will help.
2024-07-18 11:06:45 +10:00
Gaetan Craig-Riou
686fe8c028 Per review, remove flag argument from products_relation
products_relation is now split in two, products_relation and
products_relation_incl_supplier_properties.
It avoids using a flag argument which is not a a good practice see:
https://martinfowler.com/bliki/FlagArgument.html
2024-07-10 13:19:08 +10:00
Gaetan Craig-Riou
5c3acbbcaf Per review, remove instance variable @query 2024-07-10 11:45:39 +10:00
Gaetan Craig-Riou
c372bf746a Refactor ProductRenderer
The sorting logic has been moved to
OrderCycles::DistributedProductsService#product_relations

Plus hopefully fix the spec flackiness
2024-07-08 10:35:57 +10:00
Gaetan Craig-Riou
79a22aefc3 Refactor #products_relation
Due to primary_taxon and supplier having moved to the variant, filtering
by_producer and by_category with a custom order involves some
complicated sql queries. So we moved the sorting logic from
ProductsRenderer to OrderCycles::DistributedProductsService so we can
keep the complicated SQL logic contained in one place
2024-07-08 10:35:57 +10:00
Gaetan Craig-Riou
260211cf15 Fix Ruboxop issue 2024-07-03 11:21:28 +10:00
Gaetan Craig-Riou
84197aca19 Fix the filtering by properties/supplier properties
- Apply OR when filtering by both product properties and supplier
properties
- Apply AND when filtering by supplier properties and taxon
Filtering by product properties and taxon is handled by ransack, so
no change there
2024-07-03 11:21:28 +10:00
Gaetan Craig-Riou
feb7e173b1 Fix order cycle controller spec, product properties filtering
And fix the underlying product renderer
2024-07-03 11:21:28 +10:00
Gaetan Craig-Riou
63807f198b Fix product set, to handle updating supplier on the variant 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
25371ee9d0 Fix admin pages
- move supplier to variant row on Bulk Edit product page
- add supplier dropdow on add/update variant page
2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
2e129eab8f Fix API V0 variants controller 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
0c9223809b Fix with_properties scope to accept any number of arguments 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
a873fa692b Fix exchange products renderer and specs 2024-07-03 10:17:49 +10:00
Gaetan Craig-Riou
3d82309c5f Fix order permission and specs 2024-07-03 10:17:49 +10:00
Ahmed Ejaz
98e0b0e703 12346 - fix rubocop rails/pluck errors 2024-06-22 01:45:58 +05:00
zanetagebka
e06df7d658 - Refactor method to fix StringConcatenation cop 2024-06-11 15:17:45 +10:00
zanetagebka
a2a670c848 Fix cops StringConcatenation 2024-06-11 15:17:32 +10:00
Filipe
5872515a35 Merge pull request #12515 from isidzukuri/12503_skip_saving_of_unchanged_products
Do not commit to db unchanged products in bulk save
2024-06-05 18:01:59 +02:00
David Cook
5a8eea398e Add comment 2024-06-04 10:24:40 +10:00
Ana Nunes da Silva
205c7dafd2 Add div to sanitizer supported tags 2024-06-03 11:45:50 +01:00
Ana Nunes da Silva
5f54ea3877 Add safe trix tags to html sanitizer;
Use custom html sanitizer in product description.
2024-06-03 11:45:50 +01: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
Maikel Linke
f089c0eff3 Keep HTML line breaks
They do appear in long_description on au_prod.
2024-05-14 12:40:58 +10:00
Maikel Linke
7b4a85f7ef Sanitise HTML in long description of enterprise
This happens only on assignment. We still need to migrate existing data.
2024-05-14 12:25:47 +10:00
Matt-Yorkley
a55931c081 Reinstate sorting by arbitrary list of product categories 2024-04-02 09:42:43 +11:00
Matt-Yorkley
2743a8183d Disable sorting by user-defined product category order 2024-04-02 09:33:34 +11:00
Matt-Yorkley
02abe5cc06 Remove dead code related to multiple product taxons 2024-04-02 09:27:37 +11:00
Matt-Yorkley
b30944471d Update admin forms 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
Anthony Musyoki
25e3f30f97 Fix Rubocop Rails issue: Rails/FindEach 2024-03-20 15:34:30 +03:00
Feruz Oripov
9d919938f3 Group Order && OrderCycle related services and specs 2024-03-16 19:07:08 +05:00
David Cook
4b2406c9c2 Add unit scale dropdown 2024-03-06 13:41:17 +11:00
David Cook
2ef9e34f28 Re-arrange imperial units
Who would have guessed it was this complicated.

Fingers crossed this doesn't break any other functionality...
2024-03-06 13:01:43 +11:00
David Cook
ea0067946d Generate variant unit options in Ruby
This re-implements Angular JS function VariantUnitManager.variantUnitOptions()

Well.. almost. See next commit.
2024-03-06 13:01:43 +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
Gaetan Craig-Riou
b0541b0a34 Merge pull request #12004 from mkllnk/default-country
Cache default country simply in memory
2024-01-05 14:10:35 +11:00
Maikel Linke
cb3cd3e7ea Cache default country simply in memory
This simplifies the code, avoids a method naming collision with Rails
and should be faster as well.
2024-01-04 13:45:36 +11:00
Mohamed ABDELLANI
1ffdca3fc2 require tag_rule_applicator as it's not loaded automatically on OrderAvailableShippingMethods & OrderAvailablePaymentMethods 2024-01-03 12:08:26 +01:00
Mohamed ABDELLANI
3fab2c350e require tag_rule_applicator on Shop::OrderCyclesList 2024-01-03 11:59:21 +01:00
Mohamed ABDELLANI
d239beb226 remove unnecessary require instructions 2024-01-03 11:34:57 +01:00
Mohamed ABDELLANI
41d5ca7861 update the invoice number calculation 2023-12-08 13:33:36 +01:00
Cillian O'Ruanaidh
b78258c505 Replace references to :split_checkout translation keys with :checkout in views, controllers, etc. 2023-12-01 12:37:13 +00:00
Mohamed ABDELLANI
847c3af4da update WeightsAndMeasures#scales_for_variant_unit to ignore available untis when needed 2023-11-13 09:59:14 +01:00
David Cook
91cb3df215 Use named config method
And mock the preference value, rather than setting it. Before, the set preference could have leaked to other tests.
(I noticed that it was already like this in product_import_spec.rb)
2023-11-13 09:29:31 +01:00
Mohamed ABDELLANI
a9d85fd08f fix existing tests 2023-11-13 09:29:31 +01:00
Mohamed ABDELLANI
642cd85cb9 update WeightsAndMeasures#scale_for_unit_value to only return units that are selected on 'Available Units' list 2023-11-13 09:29:31 +01:00
Neal Chambers
ef928aa6fe Safely autocorrect Style/QuotedSymbols
Inspecting 1509 files
.....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................C.................................................................................................................................................................................................................................................................................................................................C............................................................C...........................................................................................................................................................................................................................................................................................................................................C.C.........................................................................................................................................C........................................................................................................................................

Offenses:

app/services/exchange_products_renderer.rb:50:13: C: [Corrected] Style/QuotedSymbols: Prefer single-quoted symbols when you don't need string interpolation or special symbols.
      where("spree_variants.id": incoming_exchanges_variants)
            ^^^^^^^^^^^^^^^^^^^
lib/stripe/credit_card_cloner.rb:67:50: C: [Corrected] Style/QuotedSymbols: Prefer single-quoted symbols when you don't need string interpolation or special symbols.
                                   { metadata: { "ofn-clone": true } },
                                                 ^^^^^^^^^^^
spec/controllers/api/v0/exchange_products_controller_spec.rb:59:52: C: [Corrected] Style/QuotedSymbols: Prefer single-quoted symbols when you don't need string interpolation or special symbols.
          Spree::Product.includes(:variants).where("spree_variants.id": exchange.variants.map(&:id))
                                                   ^^^^^^^^^^^^^^^^^^^
spec/requests/api/orders_spec.rb:35:11: C: [Corrected] Style/QuotedSymbols: Prefer single-quoted symbols when you don't need string interpolation or special symbols.
          "application/json": {
          ^^^^^^^^^^^^^^^^^^
spec/requests/api/v1/customers_spec.rb:39:16: C: [Corrected] Style/QuotedSymbols: Prefer single-quoted symbols when you don't need string interpolation or special symbols.
        schema "$ref": "#/components/schemas/customers_collection"
               ^^^^^^
spec/requests/api/v1/customers_spec.rb:186:16: C: [Corrected] Style/QuotedSymbols: Prefer single-quoted symbols when you don't need string interpolation or special symbols.
        schema "$ref": "#/components/schemas/customer"
               ^^^^^^
spec/requests/api/v1/customers_spec.rb:207:16: C: [Corrected] Style/QuotedSymbols: Prefer single-quoted symbols when you don't need string interpolation or special symbols.
        schema "$ref": "#/components/schemas/customer"
               ^^^^^^
spec/requests/api/v1/customers_spec.rb:230:16: C: [Corrected] Style/QuotedSymbols: Prefer single-quoted symbols when you don't need string interpolation or special symbols.
        schema "$ref": "#/components/schemas/error_response"
               ^^^^^^
spec/requests/api/v1/customers_spec.rb:239:16: C: [Corrected] Style/QuotedSymbols: Prefer single-quoted symbols when you don't need string interpolation or special symbols.
        schema "$ref": "#/components/schemas/error_response"
               ^^^^^^
spec/requests/api/v1/customers_spec.rb:274:16: C: [Corrected] Style/QuotedSymbols: Prefer single-quoted symbols when you don't need string interpolation or special symbols.
        schema "$ref": "#/components/schemas/error_response"
               ^^^^^^
spec/requests/api/v1/customers_spec.rb:286:18: C: [Corrected] Style/QuotedSymbols: Prefer single-quoted symbols when you don't need string interpolation or special symbols.
          schema "$ref": "#/components/schemas/error_response"
                 ^^^^^^
spec/requests/api/v1/customers_spec.rb:361:16: C: [Corrected] Style/QuotedSymbols: Prefer single-quoted symbols when you don't need string interpolation or special symbols.
        schema "$ref": "#/components/schemas/customer"
               ^^^^^^
spec/requests/api/v1/customers_spec.rb:427:16: C: [Corrected] Style/QuotedSymbols: Prefer single-quoted symbols when you don't need string interpolation or special symbols.
        schema "$ref": "#/components/schemas/error_response"
               ^^^^^^
spec/requests/api/v1/customers_spec.rb:440:16: C: [Corrected] Style/QuotedSymbols: Prefer single-quoted symbols when you don't need string interpolation or special symbols.
        schema "$ref": "#/components/schemas/customer"
               ^^^^^^
spec/requests/api/v1/customers_spec.rb:455:16: C: [Corrected] Style/QuotedSymbols: Prefer single-quoted symbols when you don't need string interpolation or special symbols.
        schema "$ref": "#/components/schemas/customers_collection"
               ^^^^^^
spec/support/request/stripe_stubs.rb:72:42: C: [Corrected] Style/QuotedSymbols: Prefer single-quoted symbols when you don't need string interpolation or special symbols.
    stub = stub.with(body: { metadata: { "ofn-clone": true } })
                                         ^^^^^^^^^^^

1509 files inspected, 16 offenses detected, 16 offenses corrected
2023-11-10 09:13:57 +09:00
Rachel Arnould
1e15d32a24 Merge pull request #11679 from abdellani/new_and_unique_invoice_template
New and unique invoice template
2023-11-03 16:49:19 +01:00