Commit Graph

3239 Commits

Author SHA1 Message Date
Maikel Linke
86c35fe2dc Remove dead reference to removed model 2023-05-25 16:13:33 +10:00
Konrad
fed7c3da51 Merge pull request #10761 from rioug/vouchers-any-amount
[Vouchers] Flat rate of any amount
2023-05-19 17:39:33 +02:00
Maikel
0d403f4087 Merge pull request #10814 from Matt-Yorkley/serializer-eager-loading
Improve eager-loading on admin products page
2023-05-19 14:31:25 +10:00
Maikel
f943b411c5 Merge pull request #10823 from abdellani/fix-file-name-used-as-parameter
[Security] Validate product import file path
2023-05-19 14:28:09 +10:00
Filipe
3d1b0816ed Merge pull request #10512 from abdellani/fix-tax-not-charged-when-tax-category-set-to-inherit-from-product
Prevent saving the enterprise fee when a per order calculator is selected along with 'Inherit from product'
2023-05-18 13:43:14 +01:00
Mohamed ABDELLANI
fcb8550cb1 extract file path sanitizer to an independent class 2023-05-17 15:09:48 +10:00
Mohamed ABDELLANI
4d5ba6a7e6 add file path validation 2023-05-17 15:09:48 +10:00
Konrad
4a66b62fa7 Merge pull request #10825 from jibees/10824-remove-feature-toggle-on-white-label-feature
Activate white label feature
2023-05-16 13:50:58 +02:00
Gaetan Craig-Riou
abf2105df7 Admin::VoucherController check enterprise permission 2023-05-16 16:20:04 +10:00
Gaetan Craig-Riou
b427e420ce Update admin pages to allow entering an amount 2023-05-16 16:20:04 +10:00
Maikel
10c918be75 Merge pull request #10732 from mkllnk/report-email
[Hidden] Notify about completed report with download link via email
2023-05-16 10:25:23 +10:00
Maikel Linke
299bc253a4 Expire report download links in a month, not 5mins 2023-05-15 19:41:45 +02:00
Jean-Baptiste Bellet
aaa9bac4dd Remove white_label feature toggle
White label is now activated for everyone.

+ add mock for `spec/controllers/spree/orders_controller_spec.rb`
2023-05-15 17:10:50 +02:00
Mohamed ABDELLANI
7f52684488 add check_calculators_compatibility_with_taxes before running enterprise bulk update 2023-05-15 07:35:52 +01:00
Gaetan Craig-Riou
5eb6097101 Fix error handling when creating a voucher adjustment
I wrongly assumed that `voucher.create_adjustment` would return nil
if failing to create an adjustment. I will in fact return an
adjustment object with errors.
2023-05-15 13:42:40 +10:00
Gaetan Craig-Riou
b80274f49d Per review comment, Use named value on voucher submit button to distinguish between submission types
The voucher apply button is inside form that has another a submit button,
it leads to a weird situation where either one will submit the whole
payments page form. Adding a named parameter on the voucher apply button
means we can distinguish between the two by checking for the presence
of params[:apply_voucher].
2023-05-15 13:42:39 +10:00
Gaetan Craig-Riou
236f6926d9 Cleaning up left over TODOs 2023-05-15 13:42:39 +10:00
Gaetan Craig-Riou
e5f14177d3 Fix rubocop warning
I guess the new cops are effective :)
2023-05-15 13:42:39 +10:00
Gaetan Craig-Riou
a2e1e6ca33 Review comment, use dig to access voucher_code param 2023-05-15 13:42:39 +10:00
Gaetan Craig-Riou
17e32a89f8 Add VoucherAdjustmentsService to handle calculation
Refactor Voucher to move voucher adjustments calculation
to VoucherAdjustmentsService
2023-05-15 13:42:39 +10:00
Gaetan Craig-Riou
3f37554ff9 Add VoucherAdjustmentsController and specs
Refactor split checkout to use the new controller. But unfortunately
we can't have nested form, so adding a voucher is still handled by
SplitCheckoutController.
2023-05-15 13:42:39 +10:00
Gaetan Craig-Riou
43ab881181 Rename order association to voucher_adjustments
The name vouchers is a bit confusing as the order is linked to a
voucher adjutment and not the actual voucher
2023-05-15 13:42:39 +10:00
Gaetan Craig-Riou
fe9b94a80e Fix cart disappearing bug after adding a voucher
The split checkout page uses `mrujs` and `CableCar` to set the form as
a remote one and perform `CableCar` operation if any : https://mrujs.com/how-tos/integrate-cablecar
The previous solution broke the cart handled by angularJS, it looks like
`morpdom` (https://mrujs.com/references/remote-forms-and-links Navigation Adapter section )
was doing something that angularJS didn't like when redirecting to
the current page.
With the power of `CableCar`, we now replace the #voucher-section on the
split checkout page instead of doing a redirect.
2023-05-15 13:42:39 +10:00
Gaetan Craig-Riou
9789911523 Rework how voucher are applied to an order and handle tax calculation
At the time when we can apply a voucher to an order (payment step) we
don't have any data on possible taxes and payment fees. These are
calculated when we move to the summary step. So voucher are applied in
two step:
- create an "open" voucher adjustment on the order when a customer enters
a voucher code.
- when we move to the summary step, recalulate the amount and
possible tax for the voucher adjustment, once taxes and payment fees
have been included in the order. And then close the original and update
order to reflect the changes
2023-05-15 13:42:38 +10:00
Gaetan Craig-Riou
3f609d3842 Add error message if adding a voucher fails
It's not really useful to the user but better than failing silently
2023-05-15 13:42:38 +10:00
Gaetan Craig-Riou
74e0b0f6b5 Add voucher adjustment loading to CheckoutCallbacks
This is needed so the voucher is loaded properly when the "checkout"
partials are render via cable_car.
2023-05-15 13:42:38 +10:00
Gaetan Craig-Riou
856386fcb0 SplitCheckoutController refactor add_voucher
Now all redirection/render_error happen in #update, it makes it
easier to understand.
2023-05-15 13:42:37 +10:00
Gaetan Craig-Riou
e487ed0532 Add link to remove voucher when a voucher has been applied
Improve styling to match the design
2023-05-15 13:42:37 +10:00
Gaetan Craig-Riou
a9d9b33f7d First take at adding a voucher to an order
Use voucher.create_adjustment to add an adjustment to the order
Currently doesn't take into account tax part
2023-05-15 13:42:37 +10: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
11f45dc2f8 Give ContentConfig an updated_at attribute and a usable cache_key 2023-05-08 14:07:50 +01: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
Jean-Baptiste Bellet
3a1579104f Submit customer_id as params when updating customer details on order 2023-05-04 16:40:58 +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
Konrad
75b5d1fd6f Merge pull request #10712 from jibees/6133-backoffice-orders-endless-spinner-and-error-500-after-skipping-oc-selector
Admin, create new order: distributor and order cycle are now mandatory on step 1 (aka the set_distribution step)
2023-04-22 16:04:15 +02:00
Jean-Baptiste Bellet
f42f513f8c Display white_label_logo image when hide_ofn_navigation is set to true
for both desktop and mobile view
2023-04-20 08:45:03 +02:00
Filipe
f206b7ed9e Merge pull request #10661 from mkllnk/report-download
[Hidden] Provide download link for reports generated in the background
2023-04-19 11:53:14 +01:00
Jean-Baptiste Bellet
0f54d3950d Save can have a context: simplify then 2023-04-19 10:15:35 +02:00
Jean-Baptiste Bellet
7e306693a8 Use Rails standard naming: same name for the route and the method 2023-04-19 10:15:35 +02:00
Maikel
0b03152f3b Merge pull request #10697 from mkllnk/rubocop-config-update
Update Rubocop config and replace deprecated TimeWithZone#to_s with argument
2023-04-19 11:23:34 +10:00
Jean-Baptiste Bellet
ac666a6fce Validate presence of distributor and order_cycle in set_distribution step 2023-04-18 14:36:47 +02:00
Jean-Baptiste Bellet
ba1d985932 update the set_distribution form on the same path
and use the same method `OrdersController#set_distribution`
2023-04-18 14:36:47 +02:00
Jean-Baptiste Bellet
0f28d318ac Fix rubocop error and prefer using a return clause 2023-04-18 14:36:47 +02:00
Jean-Baptiste Bellet
6172d1f2e5 Extract method on_update that will be used elsewhere 2023-04-18 14:36:47 +02:00
Jean-Baptiste Bellet
05a040b4c3 No need to ensure if the distribution is set on new action
This will be handled by validation on set_distribution action
2023-04-18 14:36:47 +02:00
Jean-Baptiste Bellet
73a81310f8 Create a new url /orders/ORDER_ID/distribution
That handles the step when distributor and order_cycle must be selected
2023-04-18 14:21:23 +02:00
James Wu
2a7cb50fa9 Keep and display submitted data on new payment method page 2023-04-18 09:39:39 +10:00
James Wu
ae5f2cc19d Fix error saving data on new Calculator 2023-04-18 09:39:39 +10:00
James Wu
41ce4fbc16 Fix cache issue with invalid form data 2023-04-18 09:39:39 +10:00
James Wu
48753df5f0 Improve input validation and error notification 2023-04-18 09:39:39 +10:00