Commit Graph

14850 Commits

Author SHA1 Message Date
Jean-Baptiste Bellet
f58cf2d3b2 Can filter by producer
Not sur the request nor the `producers` in the reflex should be like this. This is a proof of concept, and should probably be reviewed

Fix linter issues
2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
ddfc60c85e Don't use events, but call the loading controller itself 2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
762b777995 Design of the search button 2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
38d0af8ec0 Simplify: don't need to pass through the js controller
Use the reflex itself

+ Don't need to create a method that will be called only in the connect

+ Simply code by adding only two lifecycle methods

Actually it seems that all reflex related to products controller should show/hide loading
2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
9d52f0b20a Loading spinner should be above content (filters, sort, ...) 2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
643897abb2 Add search functionnality 2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
c786f300ca Have a tiny url state management by using replace_state of cable_ready 2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
0fd4d892d9 This is now unused: through the js controller only at startup 2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
3da6e02192 Call pagination via perPage param: no state to manage, use param 2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
61d1f30e04 Rename productsV3 to products: avoid upper|lower case issues
This is causing some issues, misunderstandings around case.

Therefore, directly use the Reflex, and lifecycle methods `beforeFetch` and `afterFetch` are called, even if we use the Reflex (and not the js controller methods). This is pretty handy.

+ adds some id to pagination element (https://docs.stimulusreflex.com/guide/reflexes.html#declaring-a-reflex-in-html-with-data-attributes)

Global documentation: https://docs.stimulusreflex.com/guide/reflexes.html
2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
574adb88d2 Add a per page component
This is still a WIP.
2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
0b83dc088d Separation of concerns: use a loading controller
Two different events can be used: `show-loading` and `hide-loading`.

I'm not 100% sure this is the right way to go, but let's try!
2023-07-19 14:58:39 +02: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
3b61508652 Be more specific to only apply to the first container, ie. the root one
+ Override default position (relative) in order to have loading above
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
Jean-Baptiste Bellet
69cff85577 Change color to EFF1F2 2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
9b92c25879 Add a section for specific rules for both admin-menu and sub-menu
+ change height for border bottom on selected/hovered menu
2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
9762819aa8 Use the right color 2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
1f3d41972f Add same padding than #admin-menu,#sub-menu li a in order to align
content (header, navigation, content) on both left and right
2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
2892301336 Factorize menu and submenu into same definition
as they are the same, expect the font-size
2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
24c045a09c Reduce padding 2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
a8088ae231 Create a pseudo element to add a line under the menu item
- Increase top menu underline height to 3px
 - reduce underline width to same width of label
2023-07-19 14:58:39 +02:00
Filipe
91e2e447c0 Merge pull request #11175 from jibees/11171-checkout-step-3-delivery-details-are-showing-bill-address-instead-of-delivery-address
Checkout, Summary step: Display the ship/delivery address (instead of the billing one)
2023-07-19 11:36:19 +01:00
Filipe
843bcaa500 Merge pull request #11184 from rioug/11183-fix-delete-voucher-tax-excl-price
[vouchers] fix delete voucher when tax excluded from price
2023-07-19 11:24:25 +01:00
Filipe
40db81f056 Merge pull request #11150 from macanudo527/fix_admin_class_size
Fix Metrics/ClassSize
2023-07-18 19:10:03 +01:00
Filipe
15282f9738 Merge pull request #11115 from abdellani/fix-enterprise-users-should-have-access-to-invoices
authorize enterprise users to access invoices page
2023-07-18 16:42:00 +01:00
Neal Chambers
8fc0a20249 Add Additional Test for Model Creation 2023-07-18 08:17:34 +09:00
Neal Chambers
186d7a2f54 Move and Rename BulkUpdateForm 2023-07-18 08:17:34 +09:00
David Cook
9b16c1171f Remove redundant returns
The return value of active record validations doesn't actually do anything. A record is 'valid?' if @errors is empty.
2023-07-18 08:17:34 +09:00
Neal Chambers
521af70959 Add Strong Params to Enterprise Fees Form 2023-07-18 08:17:34 +09:00
Neal Chambers
fb1ae855c2 Fix Metrics/ClassLength 2023-07-18 08:17:34 +09:00
Jean-Baptiste Bellet
776b9adc72 Display shipping address in summary step, instead of the billing one
+ update specs accordingly
2023-07-17 09:37:05 +02:00
Gaetan Craig-Riou
dc711bde78 Fix voucher adjustment delete
When using a voucher with tax not incluced in price, we need to delete
both the voucher adjustment and the tax adjustment
2023-07-14 13:37:45 +10:00
Filipe
308ce9263d Merge pull request #11170 from jibees/11160-bulk-actions-function-not-working-on-safari-mac-browser
Admin, Orders: Make bulk actions dropdown re-enabled for Safari browser
2023-07-13 17:17:18 +01:00
Filipe
2f8a056bee Merge pull request #11187 from jibees/10975-white-label-remember-custom-tab-activation-after-error-message
Admin, White Label: check the custom tab checkbox if any errors on custom tab (ie. title is blank)
2023-07-13 16:43:18 +01:00
Filipe
448d5ea017 Merge pull request #11135 from Matt-Yorkley/vouchers
Vouchers part 2
2023-07-13 12:50:32 +01:00
David Cook
d03b88cf83 Rename variables
To make it clear they are arrays
2023-07-11 10:48:52 +02:00
Jean-Baptiste Bellet
0fdf7876a6 Instanciate instance variable + use spread operator to be more concise
and efficient ;)
2023-07-11 10:48:52 +02:00
Jean-Baptiste Bellet
6143f4ce6f Use dropdown controller to manager actions dropdown in orders page 2023-07-11 10:48:52 +02:00
Jean-Baptiste Bellet
7084c53f38 Do not display menu is the dropdown is 'disabled'
ie. classList contains `disabled`
2023-07-11 10:48:52 +02:00
Jean-Baptiste Bellet
02aea989be Add on_click_outside behavior on dropdown_controller
"It's a Surprise Tool That Will Help Us Later"
2023-07-11 10:48:52 +02:00
Jean-Baptiste Bellet
d78af187e0 Allow dropdown controller to toggle more than one class
"It's a Surprise Tool That Will Help Us Later"
2023-07-11 10:48:51 +02:00
Jean-Baptiste Bellet
a8b9d9d8af Check the custom tab checkbox if any errors (ie. title is blank) 2023-07-10 16:31:33 +02:00
Filipe
f0bcb79c09 Merge pull request #11169 from openfoodfoundation/11164-admin-orders-actions-dropdown-is-not-well-placed
Fix container issues introduced by #11123
2023-07-07 11:15:14 +01:00
Mohamed ABDELLANI
f68064480a authorize distributor manager to generate invoices 2023-07-06 17:36:13 +01:00
Maikel Linke
11a4cd8613 Protect invoicing against unauthorized use
This could be optimised for performance but this was the simplest way
and we can work on it if performance becomes a problem.
2023-07-06 17:36:13 +01:00
Maikel Linke
15c30246a5 Allow to see only invoices of managed enterprises 2023-07-06 17:36:13 +01:00
Mohamed ABDELLANI
3a9a023dea authorize enterprise users to access invoices page 2023-07-06 17:36:13 +01:00
Matt-Yorkley
42a3087cdb Remove :available_on attribute from Product class 2023-07-06 14:36:35 +01:00
Jean-Baptiste Bellet
6ee388fe51 Fix container issues 2023-07-06 11:41:54 +02:00