Commit Graph

14886 Commits

Author SHA1 Message Date
Gaetan Craig-Riou
3ec58d8791 Add #vouchers, return an array of voucher adjustments 2023-05-15 13:42:37 +10:00
Gaetan Craig-Riou
9b680e1a92 Add CalculatedAdjustments to Voucher
Vouchers are only flat rate of 10 for now, so we add a FlatRate
calculator in a before_validation callback
2023-05-15 13:42:37 +10:00
Gaetan Craig-Riou
f7ee01b9f8 Add voucher input on checkout payment's step
Voucher input is displayed  only if the distributor has any voucher
2023-05-15 13:42:37 +10:00
Jean-Baptiste Bellet
60edb4363e Fix bad indentation (and hierarchy)
`%section` must be siblings each others

introduced by https://github.com/openfoodfoundation/openfoodnetwork/pull/10772
2023-05-12 09:30:37 +02:00
Maikel Linke
636b365304 Tell Rubocop and devs about bulk insert 2023-05-12 10:30:47 +10:00
Jean-Baptiste Bellet
51d6fb81dd Fwd to request the restock_items input value when adjusting items qty 2023-05-11 22:58:44 +02:00
Jean-Baptiste Bellet
f679d8733e Pass the restock_items params to each methods and request call
+ update spec to test whether the restock item checkbox is checked or not.
2023-05-11 22:58:44 +02:00
Matt-Yorkley
b139087c5f Clone ExchangeVariant objects in bulk
An ExchangeVariant is a simple representation of a join table between Exchange and Variant. Previously this code was triggering an additional INSERT query for every variant added to the newly cloned exchange. Some exchanges have ~3000 variants! The code now creates them in bulk in a single INSERT statement. When cloning large order cycles this can improve performance by ~1000% or so.
2023-05-11 20:51:20 +01:00
Filipe
1bdb668cd3 Merge pull request #10769 from Matt-Yorkley/visible-line-items-query
Improve `Permissions::Order#visible_line_items` querying
2023-05-11 15:36:32 +01:00
Maikel Linke
25b7f1749c Simplify error when tax rate can't be inherited
I changed the text to focus on the resolution: the user needs to choose
a tax category or a different calculator.

I associated the error to the model to prevent the attribute name from
being included in the error message. Alternatively, we could have
changed the name of the attribute to match the UI. But this error
affects the combination of two attributes, none of them is invalid on
its own.

I'm using Rails' default lazy lookup for error messages which results in
shorter code and a standard structure.

I also added a simple spec.
2023-05-11 12:46:17 +01:00
Mohamed ABDELLANI
7eca32e84f prevent saving the enterprise fee when a per order calculator is selected along with 'Inherit from product' 2023-05-11 12:46:17 +01:00
Konrad
2836751698 Merge pull request #10805 from jibees/10717-bo-orders-changing-customer-does-not-update-customer_id
Admin, Edit customer details for an order: when changing to another customer, update `customer_id` as well
2023-05-10 19:08:57 +02:00
Matt-Yorkley
1bd9182cea Update menu cache blocks 2023-05-09 16:46:09 +01:00
David Cook
e29df5ea8f Remove unused secondary class
This partially reverts 97c3aaebb2 because it referred to the new feature toggle which has been removed.
2023-05-09 21:26:47 +10:00
David Cook
3ec659d82b Revert pull #10025
[WIP 🚧 ] Admin, behind feature toggle admin_style_v2: adjust some colors

This reverts commits 60f0a58508ce77666fa96c73d76dc0620f23daaf~1..09bcc772ff089f911a56bb
2023-05-09 21:26:47 +10:00
David Cook
be70cd7893 Revert pull #10054
[WIP 🚧 ] Admin/Orders, behind feature toggle admin_style_v2: adjust colors

This reverts commits 5cab0f7f3d495daaeb97fd786208a24355b630fe..4ef5609b0eb08fe7e48803de166ae3e979103c1b
2023-05-09 21:26:47 +10:00
David Cook
0ff540e1e3 Revert pull #10080
[WIP 🚧 ] Admin - Order edition, behind feature toggle admin_style_v2: adjust colors

This reverts commits faf106b2824f248812f523c10b688bd9b254dc14..74b618230ff736ac7929246e2c83ed95067a4dd0
2023-05-09 21:25:29 +10:00
David Cook
c21ff075de Revert pull #10131
[WIP 🚧 ] /admin/order_cycles behind feature toggle admin_style_v2

This reverts commits ccfc632149f062fca546784c7c2f14708d91a08e~1..e403a2c174def34cfa115eab038c86923482bfbf
2023-05-09 21:24:25 +10:00
Matt-Yorkley
4b707b9310 Extract locale file digest logic to a separate class and add tests 2023-05-08 14:09:00 +01:00
Matt-Yorkley
1c277e5547 Cache some html fragments 2023-05-08 14:07:50 +01:00
Matt-Yorkley
be48a6c295 Implement cache_with_locale helper for fragment caching with locales 2023-05-08 14:07:50 +01:00
Matt-Yorkley
11f45dc2f8 Give ContentConfig an updated_at attribute and a usable cache_key 2023-05-08 14:07:50 +01:00
Konrad
e4d8dd9f87 Merge pull request #10780 from dacook/enable-prettier-css
Enable prettier for Admin SCSS
2023-05-06 18:24:58 +02:00
Matt-Yorkley
1995a44848 Improve eager-loading on admin products page adn resolve issue with serializer
For some reason eager-loaded data isn't passed to nested serializers when using associations. Defining the association as a method and passing in some optional paramaters resolves the issue.

This reduces queries run by the controller action by around 75%, as well as the response times.
2023-05-06 17:15:27 +01:00
David Cook
a170b93cc1 Simplify further
Co-authored-by: Maikel <maikel@email.org.au>
2023-05-05 15:34:23 +10:00
Jean-Baptiste Bellet
3a1579104f Submit customer_id as params when updating customer details on order 2023-05-04 16:40:58 +02:00
Konrad
4b6ef7796e Merge pull request #10762 from mkllnk/report-encoding
Preserve encoding of stored reports
2023-05-03 17:08:44 +02:00
Konrad
b60a6fbd05 Merge pull request #10329 from thejwuscript/9861-improve-input-validation
Improve input validation on new and edit Payment Method pages
2023-05-03 16:11:21 +02:00
David Cook
e11518938f Prettify admin components scss
Largely whitespace, but some other updates too, including uppercase colour codes and standardising numbers.

Best viewed with whitespace ignored.
2023-05-03 12:10:58 +10:00
David Cook
c4dc5e0718 Prettier: use double quotes by default
Unfortunately Prettier won't let you do one rule at a time (https://stackoverflow.com/q/63813336/421243), so I'll break it into file chunks.
2023-05-03 12:10:58 +10:00
Konrad
21a0017352 Merge pull request #10756 from jibees/10743-admin-add-unregistered-users-modal-some-html-is-rendered-as-plain-text-instead-of-being
Admin, Add unregistered user: Fix a reflex-morph issue that lead to a HTML escaping error
2023-05-02 19:28:48 +02:00
Konrad
d115c4ce2c Merge pull request #10733 from jibees/9782-shops-list-overlapping-and-overflowing-texts-on-mobile2
Shops list: fix some overlapping and overflowing texts on mobile
2023-05-02 12:15:19 +02:00
Gaetan Craig-Riou
d1f7cc1b2a Merge pull request #10764 from Matt-Yorkley/remove-data-hooks
Remove `data-hook` attributes
2023-05-02 16:35:46 +10:00
Konrad
1176ea2a5f Merge pull request #9941 from basilawwad/conditionally-send-cancellation-email
Conditionally send cancellation email when cancelling order.
2023-04-28 21:54:42 +02:00
Matt-Yorkley
dfc651ed2c Convert Permissions::Order#visible_line_items to a relation with or query
This change looks innocuous but the result of converting this into a nice relation instead of two queries stuck together with the pipe operator (|) can make a huge difference when chaining this into subqueries. The result set is ultimately the same, but the queries can be built without first returning all the ids and then sticking those ids in an array.
2023-04-28 19:13:22 +01:00
Matt-Yorkley
b9431cd121 Remove data-hook attributes 2023-04-28 13:03:13 +01:00
Maikel Linke
630169f8bb Preserve encoding of stored reports
Active Storage reads stored strings as ASCII and that can clash with
Rails' default UTF-8 encoding when special characters are present.
2023-04-28 16:38:06 +10:00
Gaetan Craig-Riou
152af5e105 Merge pull request #10751 from mkllnk/mail-config
Remove unused feature to intercept emails
2023-04-28 16:28:41 +10:00
David Cook
918425fd93 Remove customised error message
We're now handling these values on the frontend, so can keep this simple.

fixes up:
 Add numericality validation for *
 Add translation for Active Record error message
2023-04-28 14:02:12 +10:00
David Cook
a46eef291c Remove localized number logic from calculators
The browser is now responsible for dealing with the decimal separator, for all numeric preferences (as input[type=number]; see Spree::Admin::BaseHelper::preference_field_tag). Calculators are the only place that numeric preferences are used.

It will enforce that only one comma or dot (depending on user's locale) is entered, thus avoiding any ambiguity, and mis-interpretation (eg 100,001 could be interpreted as more than 100 thousand or 100 with a decimal place).
2023-04-28 13:54:16 +10:00
Jean-Baptiste Bellet
959dcb82e1 Morph the form itself instead of morphing a parent DOM element
This seems to avoid HTML parsing error
2023-04-26 17:41:28 +02:00
Jean-Baptiste Bellet
b1de28eeea When there is a white_label_logo_link pref. use it!
+ update spec as well

 + use an an helper to get the main logo link for a shopfront

Co-Authored-By: Maikel <maikel@email.org.au>
2023-04-26 11:04:47 +02:00
Jean-Baptiste Bellet
679fcc0114 When removing the logo, also delete white_label_logo_link preference
since it has no sense without the logo
2023-04-26 11:04:47 +02:00
Jean-Baptiste Bellet
35778ecf1d If enterprise has a white_label_logo attached, then can edit its link 2023-04-26 11:04:47 +02:00
Jean-Baptiste Bellet
70a6e9f44b Add a white_label_logo_link attribute to enterprise model 2023-04-26 11:04:47 +02:00
Jean-Baptiste Bellet
30ba29382a Avoid name collision by renaming some classes with a prefix flex-
This classes should only be used with `.flex`
2023-04-26 09:52:24 +02:00
Jean-Baptiste Bellet
9584205a8e Use .flex class in utilities.scss file
No need to have multiple definition as already included
2023-04-26 09:51:28 +02:00
Jean-Baptiste Bellet
3644dbc0fd Small fix of a prettier formatter error 2023-04-26 09:51:17 +02:00
Jean-Baptiste Bellet
05a7276c9c Create an utilities.scss file that contains some utility classes
Finally Tailwind is coming? ;)
2023-04-26 09:47:23 +02:00
Maikel Linke
dae8703b02 Remove unused feature to intercept emails
This option came from Spree and we never used it. The config input field
is disabled in the admin interface and I checked our managed databases.

I don't think that we will want this feature in the future either.
Staging sends unmodified emails which is more realistic and we haven't
had a use case to intercept those emails. There's still the BCC option
if we need additional access.
2023-04-26 13:50:31 +10:00