Maikel Linke
31db35675b
Add feature toggle for filtering shipping methods
2023-03-21 14:49:47 +11:00
Maikel Linke
6b25c36476
Filter ship methods by required shipping category
...
The products in an order may require several shipping categories like
refrigeration or express. We now filter the categories according to
their support of shipping categories.
2023-03-21 14:30:45 +11:00
Maikel Linke
73fa6295ec
Simplify shipping method selection code
2023-03-21 14:30:44 +11:00
Maikel Linke
b5f43b3c1c
Rename method because it's not changing the input
...
A common Ruby convention is to to use the bang naming `!` to mark method
which change the given parameter instead of returning a copy.
2023-03-21 14:30:44 +11:00
Maikel Linke
fcc68a0a19
Return new filtered list instead of modifying
...
This makes a clear distinction between the unfiltered and filtered list.
There may also be some gotchas when modifying the array of an
ActiveRecord relation. It also allows us to write shorter code without
storing a separate variable.
2023-03-21 14:30:44 +11:00
Maikel Linke
6f3a0e8812
De-duplicate early for better performance
2023-03-21 14:30:44 +11:00
Maikel Linke
d7e4962fba
Add method for easier reading
2023-03-21 14:30:44 +11: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
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
b91cabc510
Also send webhook payloads for distributor owners
...
But not supplier owners.
2023-03-07 15:38:50 +11:00
David Cook
ba152f12ee
3. Add OrderCycleWebhookService to create webhook payloads for an order cycle event
2023-03-07 15:38:50 +11:00
Konrad
0e13e5408f
Merge pull request #10467 from abdellani/fix_hub_supplier_can_control_shipping_payment_method
...
limit users who can update shipping/payment method of an order cycle
2023-03-03 09:27:37 +01:00
Maikel
bccee0698f
Merge pull request #10332 from jibees/8901-allow-product-description-to-show-images-in-the-shopfront
...
Shopfront: Allow product description with formatting and `<img />`
2023-03-01 09:56:41 +11:00
Mohamed ABDELLANI
28f0d69540
Update app/services/order_cycle_form.rb
...
Co-authored-by: David Cook <david@redcliffs.net >
2023-02-23 07:22:49 +01:00
Mohamed ABDELLANI
a7e6760028
limit users who can update shipping/payment method of an order cycle
2023-02-23 07:09:49 +01:00
Filipe
604fd75cff
Merge pull request #10247 from abdellani/sales_tax_totals_by_order
...
sales tax totals by order report
2023-02-22 20:03:45 +00:00
Konrad
f7f49377b4
Merge pull request #10297 from cyrillefr/convert-admin-order-cancellation-workflow-to-stimulus-reflex
...
Convert admin order cancellation workflow to stimulus reflex
2023-02-20 21:38:33 +01:00
Mohamed ABDELLANI
dda61d17ee
delegate distributor && order_cycle to the order in the OrderFeesHandler
2023-02-20 14:19:08 +01:00
Jean-Baptiste Bellet
b1d22f7982
Customer can be nil if first time they checkout
2023-02-09 17:11:11 +01:00
Maikel
66a29e58d2
Merge pull request #10340 from mkllnk/job-process-waiting
...
Wait only for report jobs within Puma workers
2023-02-08 14:26:43 +11:00
cyrillefr
ad0ffd2a64
Create a new service for orders bulk cancelling
2023-02-06 19:47:36 +01:00
Filipe
99a0056d7f
Merge pull request #10257 from rioug/9720-fix-imperial-weight-display-when-using-float-value
...
Fix decimal display for imperial weight on Cart, Order Confirmation page and Confirmation emails
2023-02-02 15:03:39 +00:00
Maikel Linke
1609cc49e3
Wait only for report jobs within Puma workers
...
Otherwise a root Puma worker will try to wait for its other child
processes as well while they live a long time.
2023-01-30 16:28:59 +11:00
Jean-Baptiste Bellet
6d68460950
Factorize sanitizer options between edition and displaying
...
by using the same `app/services/content_scrubber.rb`
2023-01-26 18:21:27 +01:00
Jean-Baptiste Bellet
85d9650903
Allow img (and its attributes) to be displayed in the shopfront
2023-01-26 17:42:32 +01:00
David Cook
428b589357
Remove unused currency from calculators
2023-01-25 15:31:40 +11:00
Maikel
4a8e3a751d
Explain what Process.waitall does
...
Co-authored-by: David Cook <david@redcliffs.net >
2023-01-18 23:12:26 +00:00
Maikel Linke
26402397ea
Stop report workers when parent times out
...
No need to keep running when nobody is collecting the result (yet).
2023-01-18 23:12:26 +00:00
Maikel Linke
b19456535d
Isolate report rendering in separate child process
...
Sidekiq doesn't have any features to limit memory usage or execution
time. We need a separate process for this. Forking avoids the boot time
of a fresh process and copy-on-write ensures minimal memory overheads.
2023-01-18 23:12:26 +00:00
Gaetan Craig-Riou
6e76bcac4a
Refactor option_value_value_unit_scaled to use to_d instead of calling BigDecimal
...
As we are now using truncate(2) we don't need to specify the number of significant digits
2023-01-11 15:35:30 +11:00
Gaetan Craig-Riou
91af282ccc
Truncate scaled value unit to maximum of two decimals
...
ie truncate 12.50001234 to 12.5
When using imperial, the scalling calculation rounding results in value unit
having extra decimal when converted back to imperial
+ related spec
2023-01-11 11:04:32 +11:00
Filipe
006ad6be73
Merge pull request #9929 from abdellani/fix-available-shipping-payment-methods-dont-respect-oc-setting
...
fix payment methods loading on multi-distributor order cycle checkout page
2022-12-15 17:05:03 +00:00
Mohamed ABDELLANI
9fbdb311b0
Update app/services/order_available_payment_methods.rb
...
Co-authored-by: jibees <jb.bellet@gmail.com >
2022-12-10 11:51:35 +01:00
Mohamed ABDELLANI
ca795fcf6e
fix OrderAvailableShippingMethods to load the select shipping methods only
2022-11-30 12:42:12 +01:00
Mohamed ABDELLANI
c35c003e5a
load exclusively the payment methods that are available on the distributor
2022-11-25 09:23:39 +01:00
Maikel Linke
392aeb7321
Remove unused method loading default country
...
And another unused method.
2022-11-02 16:21:15 +11:00
Maikel Linke
f971131888
Cache default country for an hour
...
The default country usually never changes after the initial setup of an
instance.
2022-11-02 15:33:43 +11:00
Cillian O'Ruanaidh
eb72ec8e13
An order cycle isn't ready for checkout if a tag rule means no payment/shipping methods are available to the customer
2022-10-21 17:21:31 +01:00
Cillian O'Ruanaidh
3e24b7ba6b
Assign variable across two lines so Rubocop override comment isn't needed in OrderCycleClone
...
Co-authored-by: Maikel <maikel@email.org.au >
2022-10-21 17:21:31 +01:00
Cillian O'Ruanaidh
2c14aecf4f
Extract a OrderCycleClone service
...
Before it was giving a Rubocop error, probably not a bad idea anyway.
2022-10-21 17:21:31 +01:00
Cillian O'Ruanaidh
4e6d64c0a1
Let people choose which payment methods are available to customers on order cycles
2022-10-21 17:21:31 +01:00
Matt-Yorkley
0ca86344d2
Update use of deprecated #add_tab method to #add_metadata
2022-10-19 17:36:53 +11:00
Matt-Yorkley
980f004b83
Update Bugsnag error data
2022-10-19 17:36:52 +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
jibees
0c64720a9e
Merge pull request #9710 from mkllnk/9002-customer-association-updates
...
Associate and update customer records when ordering
2022-09-30 16:36:01 +02:00
Cillian O'Ruanaidh
def87485c0
Don't delete schedules on the order_cycles#update action just because the :schedule_ids was not specified in the parameters
...
Before this schedules were being deleted when the Checkout Options step of editing order cycles was saved because this step wasn't sending the :schedule_ids parameter. It's more awkard for API users if they always need to explicity send the :schedule_ids parameter even if they don't want to add/remove any of the schedules, for example if they just want to update an order cycle name.
2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
a53a3259a8
Connect DistributorShippingMethods to OrderCycles instead of Spree::ShippingMethods
...
Before if a shipping method was shared between multiple distributors it could only be disabled/enabled on that order cycle for all the distributors which have that shipping method e.g. you couldn't select that shipping method for one distributor but disable it for another.
2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
8b59b7a796
Use if exclude instead of if !include in OrderCycleForm
...
Co-authored-by: Maikel <maikel@email.org.au >
2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
af87943fd0
Change 'if !' to 'unless' in OrderCyclesList
...
Co-authored-by: Maikel <maikel@email.org.au >
2022-09-30 13:13:39 +01:00