Commit Graph

3321 Commits

Author SHA1 Message Date
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
David Cook
0f3e2ae572 Use browser validation for calculator values
They're all numbers, so we can reliably validate in the browser, removing the need for additional validation logic.
They will still be validated server-side, and in the unlikely even that there is an error, the generic 'Calculator is invalid' message will appear, with the relevant fields highlighted red. I think that's fine.
2023-04-18 09:50:08 +10:00
David Cook
353acfd6ae Validate associated calculator with built in error handling
Except that pesky generic message was appearing. I still don't know how to control that so just deleted it.
2023-04-18 09:39:39 +10:00
David Cook
e43a018dc7 [wip] Copy each calculator error
But we still have the duplicate problem.
Wait a minute, it copies them in the same format that I am copying them. So.. I don't need to copy them at all!

Now I see that we just needed the right format in the translation file.
2023-04-18 09:39:39 +10:00
David Cook
f6fac018ea [wip] Use a custom message format for associated errors
This is much simpler. Multiple messages get combined onto one line though, which is not perfect.

And.. it still seems to duplicate the errors. Weird, it's fine on my frontend though.
2023-04-18 09:39:39 +10:00
James Wu
29ddc68d20 Fix duplicate validation error message 2023-04-18 09:39:39 +10:00
James Wu
f5e2edb028 fixup! Modify Calculator validation error messages [wip]
DC: the error message has now become "Amount Invalid input".
2023-04-18 09:39:39 +10:00
James Wu
00cc8da2fc Fix rubocop class length error 2023-04-18 09:39:39 +10:00
James Wu
1f3e66316b Modify Calculator validation error messages 2023-04-18 09:39:39 +10:00
James Wu
6b1426d0c6 Add numericality validation for PriceSack 2023-04-18 09:39:39 +10:00
James Wu
c68987c0f2 Add numericality validation for PerItem 2023-04-18 09:39:39 +10:00
James Wu
2cb25e6366 Add numericality validation for FlexiRate 2023-04-18 09:39:39 +10:00
James Wu
073f46e590 Add numericality validation for FlatRate 2023-04-18 09:39:39 +10:00
James Wu
23beea8a13 Add numericality validation for FlatPercentPerItem 2023-04-18 09:39:39 +10:00
James Wu
096e388fdf Add numericality validation for FlatPercentItemTotal 2023-04-18 09:39:39 +10:00
James Wu
b9b2fa7c94 Fix error converting String to BigDecimal 2023-04-18 09:39:39 +10:00
Konrad
1b536d9265 Merge pull request #10601 from abdellani/fix-v1-customers-endpoint-should-only-return-managed-enterprise-customers
fix: v1/customers endpoint should load customers of managed enterprises only
2023-04-16 16:22:02 +02:00
Filipe
1bf5fbaf3a Merge pull request #10449 from macanudo527/fix_ER
Update OCs after ER Permissions are Revoked
2023-04-12 18:59:20 +01:00
Konrad
2ace3afd67 Merge pull request #10606 from thejwuscript/10116-improve-bom-sorting
Sort orders by last name
2023-04-12 16:36:45 +02:00
Jean-Baptiste Bellet
b616c14f63 Don't hide producer's name in products despite hide all refs opt selected 2023-04-11 14:26:47 +02:00
Mohamed ABDELLANI
03cb14c926 define manage_by scope on customer model 2023-04-11 12:18:15 +01:00
James Wu
a75f16e23c Implement full_name_for_sorting 2023-04-11 15:25:20 +10:00
Neal Chambers
940f806e5f Fix Rubocop Layout/LineLength 2023-04-04 09:44:15 +09:00
Neal Chambers
77733169fc Update OCs after ERs Permissions are Revoked 2023-04-04 09:37:13 +09:00
Filipe
62cdda2ce2 Merge pull request #10523 from rioug/10431-voucher-minimum-backend
Voucher bare minimum backoffice
2023-03-29 20:21:57 +01:00
Maikel Linke
6f83607aa8 Remove unused product meta description from DB 2023-03-29 14:35:16 +11:00
Maikel Linke
70aff98581 Remove unused product meta description from UI 2023-03-29 14:33:42 +11:00
Gaetan Craig-Riou
2e10336a47 Add ability to manage voucher for enterprise user
Update spec accordingly
2023-03-28 13:39:29 +11:00
Gaetan Craig-Riou
04748b6e0e Move voucher value to the model
Use Spree::Money to display amount with currency
2023-03-28 13:39:29 +11:00
Gaetan Craig-Riou
a48fd0828c Add Voucher model
A voucher belongs to an enterprise and an enterprise can have many
vouchers
2023-03-28 13:39:29 +11:00
Konrad
2e426c701e Merge pull request #10232 from binarygit/show-correct-error-when-user-inputs-url-as-ig-acc
[Enterprise->Create] Show correct error message when user inputs url in instagram field
2023-03-19 21:57:02 +01:00
Filipe
9ea6fa5c44 Merge pull request #9687 from dacook/9616-order-cycle-open-webhook
Add webhook triggered on Order Cycle Open
2023-03-16 17:24:22 +00:00
Konrad
a945f8f72f Merge pull request #10522 from mkllnk/flipper-upgrade
Bump flipper* from 0.20.4 to 0.26.0
2023-03-16 17:24:33 +01:00
Filipe
e8430eae6d Merge pull request #10460 from jibees/10400-pagination-in-bom-not-aggregating-results-from-quick-search-field
BOM: Add a search input that search for items with pagination
2023-03-15 16:31:32 +00:00
Maikel Linke
fdd71cff51 Remove now unnecessary flipper_id method
Flipper does it for us.
2023-03-15 12:54:02 +11:00
David Cook
fdeeab5750 Test twitter with (almost) real world example
I discovered that twitter doesn't have 'www' in the url anymore, no '@' symbol and interestingly no trailing slash. I added back the '@' just so we can test that still.

Using a regex group we can cater for optional www in a single regex.
2023-03-09 11:22:04 +11:00
David Cook
9e7e176cf9 Accept full URLs
It looks like the intention was there, so I made it work.
I've included a real world example, but added capitalisation to complete the test.
2023-03-09 11:21:52 +11:00
Konrad
2daa49406a Merge pull request #10506 from jibees/9868-product-import-empty-variant-names-recorded-differently-leads-to-variant-duplication
Product import: consider `display_name` with `null` or `empty` as value as equal
2023-03-08 16:58:32 +01:00
David Cook
00a823b2fc 6. Add webhook endpoints to user developer settings screen
Allowing creation and deleting via the user association.
It probably won't be much effort to allow editing and multiple records, but I cut it down to the minimum needed to avoid any further delays.

I couldn't find a way to test a failure in the destroy method, but decided to keep the condition because I thought it was worth having.
2023-03-07 15:38:50 +11:00
David Cook
3d81a6e280 Prevent creating duplicate webhook notifications [migration]
Using the clever concurrency testing borrowed from SubscriptionPlacementJob, but I thought a shorter pause time (just 100ms) would be sufficient.

I considered doing this with a new 'state' field (upcoming/open/close), but decided to keep it simple.
2023-03-07 15:38:50 +11:00
David Cook
778baba118 User may have many WebhookEndpoints [migration]
Although we won't be allowing multiple in the this PR, we certainly plan to in the future.

The migration helper add_reference couldn't handle the custom column name, so I had to put it together manually.
2023-03-07 15:38:50 +11:00
David Cook
85c98c6d3e 2. Add model WebhookEndpoint [migration]
This will store the URL for each user that wants a notification.

We probably don't need URL validation (it's not done on Enterprise for example). It could be validated by browser input, and anyway will be validated if the webhook actually works or not.

Inspired by Keygen: https://keygen.sh/blog/how-to-build-a-webhook-system-in-rails-using-sidekiq/
2023-03-07 15:38:50 +11:00
Filipe
60bea89f5c Merge pull request #10135 from abdellani/fix_when_user_deletes_a_shipping_method_existing_orders_are_updated_with_a_random_shipping_method
Fix When user deletes a shipping method existing orders are updated with a random shipping method
2023-03-02 20:03:59 +00:00
Jean-Baptiste Bellet
7b8ccccdc3 display_name can actually be null or empty: consider them as equal 2023-03-02 17:15:57 +01:00
Jean-Baptiste Bellet
8ad532c41a Can search bill_address:phone, firstname, lastname and distributor:name 2023-03-01 14:54:46 +01:00
Mohamed ABDELLANI
066c7bb449 promote OrderManagement::Stock::Estimator.calculate_cost to a public method 2023-02-27 17:49:54 +01:00
Ana Nunes da Silva
d70c34fbd0 fix deprecation warning when accessing model errors 2023-02-26 21:04:16 +00:00
Filipe
10d8e80c45 Merge pull request #10420 from anansilva/9311-remove-code-generating-receipts
Remove code generating receipts
2023-02-20 12:44:13 +00:00
Mohamed ABDELLANI
15c241295e recreate the shipping rate that refers to the original shipping method if distributor no longer support it 2023-02-20 09:55:22 +01:00
Ana Nunes da Silva
3e03988d93 Remove receipt printing settings 2023-02-14 08:08:20 +00:00