Commit Graph

35 Commits

Author SHA1 Message Date
Maikel
32eb9c5504 Merge pull request #12481 from mkllnk/connect-app-once
Avoid submitting duplicate Connected Apps
2024-05-23 08:50:34 +10:00
Maikel Linke
45c164d5ae Avoid submitting duplicate connected apps
Simple Rails forms prevent double-clicking on submit already. Converting
the StimulusReflex interaction to a simple form submit to a controller
solves the race condition.

The UX is slightly worse because the whole page is reloaded instead
rendering only the connected app panel. But we can solve that when we
add more apps and want to activate them independently. By then, we may
have good patterns for working with Turbo.

Technically, the new buttons are a form within a form which is invalid
HTML, but it works.
2024-05-15 17:14:52 +10:00
cyrillefr
6575ad738b Fix Ship Order Button: requested changes
- bypass rubocop class lines limit
2024-05-07 19:15:00 +02:00
cyrillefr
271d50e5ab Fix Ship Order Button: modal should close itself
- returns to the same processing for customer, invoices etc.
   that edit
 - need a bit of sleep in spec bc 2 tasks are asynchroneous
2024-05-07 19:15:00 +02:00
Maikel Linke
34fc6283b8 Remove unused code 2024-04-11 11:46:52 +10:00
Maikel Linke
b03bb30a8e Move ABN checks to the database 2024-04-10 17:02:18 +10:00
Maikel Linke
48b447500f Move selection of invoicable orders to database
It's more efficient and should allow for further optimisations.
2024-04-10 16:52:56 +10:00
Maikel Linke
16c877f7cb Fix: preserve order of invoices in bulk print 2024-04-10 14:51:55 +10:00
Feruz Oripov
9d919938f3 Group Order && OrderCycle related services and specs 2024-03-16 19:07:08 +05:00
Mohamed ABDELLANI
64b42b1284 improve all_distributors_can_invoice? 2024-02-19 11:00:41 +01:00
Mohamed ABDELLANI
6e9089ad47 check ABN before bulk printing 2024-02-19 09:13:58 +01:00
binarygit
5b99c2666a Use cable_ready.replace instead of morphing after order is captured 2024-01-14 15:06:02 +05:45
binarygit
aa7a4fb5a2 Send shipment email by default 2024-01-14 15:06:02 +05:45
binarygit
5e45d3b877 send shipment email optionally from orders#edit page 2024-01-14 15:06:02 +05:45
binarygit
95a51159d7 send-shipment-email-optionally 2024-01-14 15:05:59 +05:45
Maikel Linke
b33910d5b4 Disconnect Connected App as enterprise user
The app has to provide a webhook URL to be notified when the app is
disconnected. Once we have better token management, we would have a
unique token per app and could revoke it. But for now it's just a
request to disconnect the app.
2023-12-20 15:29:28 +11:00
Maikel Linke
35ca66cbb7 Respond fast by rendering only partial 2023-12-15 12:34:40 +11:00
Maikel Linke
1d7f96e965 Broadcast connected app to all user tabs 2023-12-15 12:34:40 +11:00
Maikel Linke
12e5a0d1e1 Query webhook to connect app 2023-12-15 11:50:04 +11:00
Maikel Linke
4eb273b06e Create ConnectedApp with a reflex
I would have like to use a standard form to submit to the reflex but the
whole enterprise settings tab is in a form already and HTML doesn't
allow nested forms. While it does still work in browsers, it would have
added much more HTML to set up a form with a hidden input field instead
of just one additional data attribute.

The whole page is rendered by the controller again but the reflex root
attribute ensures that only parts of this tab are replaced. Otherwise
unsaved data on other tabs could be replaced and the page actually
becomes blank because AngularJS doesn't play well with the morph.
2023-12-15 11:50:04 +11:00
David Cook
a0b64cb58a Remove unnecessary set_locale calls
The locale is now set in ApplicationReflex
2023-10-13 15:54:24 +02:00
Mohamed ABDELLANI
614c8a5060 update order mailer to check if invoices feature is enabled for the current user 2023-10-08 21:47:17 +02:00
Mohamed ABDELLANI
adecf64cf3 update bulk invoice job to check if the invoices feature is enabled for the current user 2023-10-08 21:47:17 +02:00
Neal Chambers
ed06edda3f Fix Style/HashSyntax 2023-09-13 16:45:00 +09:00
Mohamed ABDELLANI
7daa4d3a63 simplify filtering condition to select only invoiceable orders on OrdersReflex 2023-08-03 14:52:45 +01:00
Jean-Baptiste Bellet
5aebbe4102 use beforeFetch and afterFetch lifecycle methods
+ Move outside `Admin` module the reflex

Therefore, this reflex should be _equivalent_ to its javascript controller: `ProductsV3` (relation is made through names)

Remove unwanted line

Actually call StimulusJS controller instead of calling the reflex itself

In order to have this "showLoading", "hideLoading" behavior.

It seems to be possible to directly use the Reflex itself (use `data-reflex` instead of `data-action`) but I can't make it work: the `stimulus-controller:after` event is never broadcasted/catched (but `stimulus-controller:before` yes...)

Documentation:
https://docs.stimulusreflex.com/guide/reflexes.html#understanding-stimulusreflex-controllers
https://docs.stimulusreflex.com/guide/lifecycle.html#generic-life-cycle-methods

Maybe @dacook if you want to have a look...
2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
47f21cb59e Add pagination with pagy
For `admin_style_v3` use `<` and `>` for next and previous link

instead of `next` and `previous` string

Extract a mixin for a default box-shadow

Maybe this needs to be redefined. Let's see how next things goes.

When a table is followed by a pagination, remove its margin-bottom + border

Finally, design the pagination component

Add sorting/pagination module, on top of table

We use `cablea_ready.replace`, so need to add `#products-content` id

Use a `pagy` partial with reflex action, instead of the legacy one

- revert the legacy one to its previous state
 - in reflex, fetch product with page attribute, 1 by default

Move `pagy` into `admin/shared/v3/` to be reusable

+ use fontawesome icons for next and previous page

Remove useless line
2023-07-19 14:58:39 +02:00
David Cook
6a2025b271 Add products table
With ellipsis clipping for long lines.
2023-06-28 09:59:57 +10:00
David Cook
809c15b197 Load products page with reflex
We will add the products in the next commit.
2023-06-28 09:59:57 +10:00
Maikel Linke
15ef826ac1 Style Style/ClassAndModuleChildren 2023-05-26 13:27:34 +10:00
Matt-Yorkley
95f1643cec Combine related reflex actions 2023-05-21 00:15:32 +01:00
Matt-Yorkley
5930d0c1f5 Make bulk actions more generic 2023-05-21 00:15:32 +01:00
Matt-Yorkley
134f1ab151 Replace angular bulkInvoiceCtrl 2023-05-21 00:15:32 +01:00
Matt-Yorkley
25aecfa5b9 Add reflex for shipping orders 2023-05-21 00:15:32 +01:00
Matt-Yorkley
e58a37f65b Add reflex for capturing orders 2023-05-21 00:15:32 +01:00