Commit Graph

337 Commits

Author SHA1 Message Date
Mohamed ABDELLANI
b072da142e filter distributors before listing on checkout options 2023-06-22 09:00:39 +01:00
Matt-Yorkley
5ad68f25e3 Handle old jquery_ujs buttons 2023-05-21 00:15:30 +01:00
Matt-Yorkley
c4bc0a7bbd Rename select-all-controller 2023-05-20 19:47:41 +01: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
Gaetan Craig-Riou
eb67340c52 Simplify usage of UnsavedChangesController
Remove the need to manually bind handleSubmit to onSubmit event
2023-02-15 10:51:23 +11:00
Gaetan Craig-Riou
75ed68c9cb UnsavedChangesController, automatically add onChange event handler to form elements 2023-02-15 10:30:52 +11:00
Gaetan Craig-Riou
fd278e0086 Fix bug when submitting form triggered a warning and potentially left submit button disable
jquery-ujs automatically disable submit button when submitting the form.
If one choose cancel on the leaving page warning, then the submit buttons
end up in a disable state, with no way to re enable them. This fix
prevent the warning from being triggered when submitting the form, so
we can't end up in the scenario described.
2023-02-08 16:28:41 +11:00
Gaetan Craig-Riou
ef309c0fd0 Order cycle form, checkout options steps add user warning when leaving page and form has been changed
Add UnsavedChanges stimulus controller, it should be generic enough so
that it can reused somewhere else. It works with both 'beforeunload' event
and 'turbolinks:before-visit' when using turbo links.
2023-02-01 09:43:28 +11:00
Gaetan Craig-Riou
de97c59632 Order cycle exchange form, only set red border on pickup_time field if empty
The red border is set by setting pickup_time as $dirty, it then blocks next button and add leave page warning when it is not necessary, this is a fix for it.
2023-02-01 09:43:28 +11:00
Jean-Baptiste Bellet
e403a2c174 Secondary button can actually be disabled 2023-01-06 14:03:40 +01:00
Jean-Baptiste Bellet
5aca76e520 OC, incoming|outgoing products, have the actions inside the table 2023-01-06 14:03:40 +01:00
Jean-Baptiste Bellet
c7d4c4c195 Put action in the flex container for incoming|outgoing products in OC 2023-01-06 14:03:40 +01:00
Jean-Baptiste Bellet
bba1d6c725 Do not specify sizes, let the browser fix the best layout for table 2023-01-06 10:46:01 +01:00
Jean-Baptiste Bellet
52cb6d4eec Put all actions in the same flex container, aligned to right 2023-01-06 10:45:30 +01:00
Jean-Baptiste Bellet
ccfc632149 Whatever the condition, display the td
And put the `ng-if` inside the `td`, attached to a new `div`
2023-01-04 10:41:30 +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
Jean-Baptiste Bellet
5c83a3277e Replace datetimepicker by flatpickr stimulus controller 2022-10-08 16:36:26 +02:00
Cillian O'Ruanaidh
7e40ad39cb Bring back select all checkboxes on order cycle checkout options form. 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
65ee9e1486 Implement new design with shipping and payment methods on different rows instead of same one, the select all checkboxes still need to be added back later
This is the new design from https://github.com/openfoodfoundation/openfoodnetwork/pull/9262#issuecomment-1206673689
2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
a73b608f8a Remove 'shared' shipping method sections from order cycle checkout options form, any shared shipping methods are to be displayed for each distributor e.g. if they belong to multiple distributors they will be displayed multiple times 2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
4b0b4ad991 Revert "Use a more simple layout on the order cycle checkout options form"
This reverts commit 0dddaa6c2b9f1925adca6ff8deac8181691ae119.
2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
8e47949260 Check 'Select all' checkboxes on page load if all its checkboxes are checked
This means the code to set the initial value in the view template isn't needed.
2022-09-30 13:13:39 +01:00
Maikel Linke
195f1e1237 Make "Select all" translatable 2022-09-30 13:13:39 +01:00
Maikel Linke
26d5ea6cdc Remove unused input name 2022-09-30 13:13:39 +01:00
Maikel Linke
c5bb2f52e1 Check "Select all" to start with
Reflect the state of the shipping method checkboxes.
2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
87431c188e Use ShippingMethod :frontend method and drop :backend to avoid ClassLength Rubocop error 2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
0673f9a5ae Use a more simple layout on the order cycle checkout options form
Before there was a row for each distributor and a 'shared' row for shipping methods which were shared among more than one distributor. This layout displays a single list of shipping methods with the distributor or distributors it belongs to beside it as suggested by @lin-d-hop
2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
8cb2767f9a The no shipping/payment method warnings on order cycle checkout options looks better left aligned 2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
1a70cc0c4c Don't display no shipping/payment method warnings on order cycle checkout options if the distributor has some that are shared with other distributors 2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
464a9b95a4 On order cycle checkout options shipping methods shared between distributors should be checked by default too 2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
472bd150bb For consistency with other '<em>' don't strip whitespace.
Although both '%em' and '%em>' are rendering the same markup, perhaps because the tag is on it's own new line.

Co-authored-by: Maikel <maikel@email.org.au>
2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
6453bbcc1c Fix :selected_shipping_method_ids param for shared shipping methods. 2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
564e4d802c Don't use :html_safe with payment method name in checkout options in case it contains something malicious
Co-authored-by: Maikel <maikel@email.org.au>
2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
7bd56007bd Don't use :html_safe in case shipping method name contains something malicious in app/views/admin/order_cycles/checkout_options.html.haml
Co-authored-by: Maikel <maikel@email.org.au>
2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
d9de35799d Array difference operator is neater than reject in app/views/admin/order_cycles/checkout_options.html.haml
Co-authored-by: Maikel <maikel@email.org.au>
2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
67d4c38550 Rename :preferred_shipping_methods to :selected_shipping_methods on OrderCycle
It's a clearer name because 'preferred' implies there could be other unpreferred shipping methods available as well.

Co-authored-by: Maikel <maikel@email.org.au>
2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
fc4f951a1a Only require OrderCycleShippingMethod records if people want to override the default shipping methods
It makes things much simpler if we return all shipping methods by default without needing OrderCycleShippingMethod records to be added to the database.

Co-authored-by: Maikel <maikel@email.org.au>
2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
855ec1a708 Add new 'Checkout options' step to the edit order cycle form so people can attach shipping methods 2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
9b5f743fa5 Extract out a OrderCycle#simple? method so it can be used in models 2022-09-30 13:13:39 +01:00
Jean-Baptiste Bellet
6f303a5244 Add tags interface for a producer only order cycle
Add tags for first (and unique) outgoing exchange for a simple OC

Order Cycle can have tags
2022-06-28 15:05:11 +02:00
kvaithin
ad0effc565 spacing between co ordinator dropdown and continue btn 2022-05-28 11:13:16 +01:00
Cillian O'Ruanaidh
1c80e88758 Fix order cycle advanced settings close button so it uses new remote toggle StimulusJs controller instead of old toggleSettings method
Closes #9012
2022-03-17 16:30:26 +00:00
Cillian O'Ruanaidh
b43a68d717 Merge branch 'master' into remove-inline-advanced-settings-toggle-js 2022-02-04 12:24:17 +00:00
Cillian O'Ruanaidh
05756616dd Add a remote-toggle controller that can toggle elements outside of its scope
This is instead of adding the :data-controller attribute to the div#wrapper because that will wrap pretty much all content on the admin pages.

Co-authored-by: Matt-Yorkley <9029026+Matt-Yorkley@users.noreply.github.com>
2022-02-04 12:23:24 +00:00
Cillian O'Ruanaidh
d03b52a163 Revert "Replace inline JS for toggling order cycle advanced settings with StimulusJs controller"
This reverts commit 67ae2e72f3.
2022-02-04 11:47:38 +00:00
Filipe
998f7afdc4 Merge pull request #8523 from seballot/progress-for-ajax-request
Improve loading spinner display
2022-02-01 10:03:04 +00:00
Cillian O'Ruanaidh
67ae2e72f3 Replace inline JS for toggling order cycle advanced settings with StimulusJs controller
Partially addresses #8699.

This adjusts the Stimulus toggle controller so you can toggle content in both directions via a single element. This is in addition to the previous behaviour for toggling via multiple elements like radio buttons when each element always toggles in one direction only.

If a toggle element contains a chevron icon this will automatically toggle the direction of that icon too.

Note, in order to not have to re-implement the animation provided by the slideToggle() function in standard JavaScript, this just switches the style :display between 'none' and 'block' so it is not as smooth. Perhaps it could be made more smooth later with a CSS transition.
2022-01-28 16:19:36 +00:00
Deepak Chauhan
7adc1186c6 removed transaltion or between buttons from multiple views 2022-01-19 03:16:55 +05:30
Deepak Chauhan
1ed5b3a3f6 removed translation or between buttons 2022-01-19 02:01:29 +05:30