Commit Graph

1460 Commits

Author SHA1 Message Date
David Cook
9a9be8dacd Validate length of variant fields 2023-10-06 14:15:07 +02:00
David Cook
fee126d6e1 Style form error messages
With an icon, and sentence case (upcase_first is similar to humanize, but simpler (https://dev.to/junko911/rails-helper-methods-to-change-the-form-of-strings-1h9c#upcase-first))
2023-10-06 14:15:07 +02:00
David Cook
3b19a19776 Show inline errors for product fields
The form helper () doesn't work for this case, but it seems we can call it directly like this instead. I'd like to fix the helper, but got stuck this time.
2023-10-06 14:15:07 +02:00
David Cook
5e478b8a76 Vertically align non-input content in table rows 2023-10-06 14:15:07 +02:00
David Cook
cd63ab63d8 Refactor form code
Co-authored-by: Maikel <maikel@email.org.au>
2023-10-04 13:40:36 +02:00
Jean-Baptiste Bellet
c134de850c Add filter on completed_at of an order 2023-09-22 16:44:33 +01:00
Jean-Baptiste Bellet
4f332504af Add new line at the end of file 2023-09-22 16:44:33 +01:00
Jean-Baptiste Bellet
9e295146cb Remove supplier filter 2023-09-22 16:44:33 +01:00
Jean-Baptiste Bellet
baff4b5399 Rename 'distributor' to 'hub' 2023-09-22 16:44:33 +01:00
Rachel Arnould
a3ca7e9032 Merge pull request #11568 from jibees/11069-buu-fully-update-the-details-of-my-products-and-variants-1
🚧 [BUU] Add `Edit` link into a small menu on the last Actions column to the right of the table
2023-09-22 10:30:01 +02:00
Konrad
a55797d727 Merge pull request #11510 from rioug/11421-deactivate-voucher
[Vouchers] add activate/deactivate feature
2023-09-21 15:03:47 +02:00
Rachel Arnould
15137caed2 Merge pull request #11509 from dacook/buu-editing-part3-11059
[BUU] Bulk form editing features
2023-09-20 19:27:05 +02:00
Jean-Baptiste Bellet
2a98789571 Add vertical-ellipsis-menu as product/variant actions menu in products table
+ add specs
2023-09-19 16:08:27 +02:00
Jean-Baptiste Bellet
2c478f1d8e Link to product/variant edit page 2023-09-19 14:26:14 +02:00
Jean-Baptiste Bellet
0847f6b0f6 Create a new column actions for each rows (product+variant) 2023-09-19 14:25:55 +02:00
Jean-Baptiste Bellet
5df211137e Tweak stimulus pagination (used on orders) to be up to date 2023-09-15 10:47:43 +02:00
David Cook
99ac48a258 Discarding changes reloads from DB
But it also clears any search filters. To confirm exactly what behaviour is desired before fixing...
2023-09-15 15:46:02 +10:00
David Cook
8ff67aca41 Disable filters and sorting when form is modified
Stimulus controllers aren't supposed to reach outside their own element (so we can't do this with targets). Perhaps the controller should be bigger to encompass more, but I wanted to see if I could avoid making a mega component that does everything. For now it seems appropriate just to pass a selector in.
Another option is to publish events on other controllers using Outlets, but I don't know if we need to go there just yet.
2023-09-15 15:45:48 +10:00
David Cook
e047f49998 Make form actions float over sort controls. 2023-09-15 15:45:48 +10:00
David Cook
15f7a8299b Show form actions only when modified 2023-09-15 15:45:48 +10:00
David Cook
daefada5a9 Show summary of modified records
I found myself trying to write Ruby in Javascript, and it's not nearly as pretty..
Javascript now has more advanced data structures like Map, but it's rather useless because it doesn't have the usual iterator methods (such as filter, map, reduce etc).

Also for the spec I wasn't sure of the best approach, so will gladly recieve feedback.
2023-09-15 15:45:48 +10:00
David Cook
18e40bebd0 Mark modified fields 2023-09-15 15:45:45 +10:00
Mohamed ABDELLANI
ee7668e713 implement enterprise fee report filters
squash Reformat/Refactor spec
2023-09-13 19:09:55 +02:00
Gaetan Craig-Riou
48956b9bd1 As per review comment, simplify voucher view a little 2023-09-11 11:59:34 +02:00
Konrad
3b9ebf4e07 Merge pull request #11396 from abdellani/fix-if-tos-is-not-set
fix If ToS file is not set, customer needs to accept Terms on each checkout
2023-09-06 16:56:21 +02:00
Gaetan Craig-Riou
d1b5dcab88 Add ability to activate deactivate a voucher
Plus controller specs
2023-09-05 15:48:59 +02:00
Konrad
fd6f2338e5 Merge pull request #11450 from mkllnk/feature-toggle-enterprise
Activate vouchers feature per user or enterprise
2023-09-04 21:30:41 +02:00
Gaetan Craig-Riou
50693dd5d2 Merge pull request #11468 from dacook/buu-editing-part2-11059
[BUU] Editing - part 2 (product and variant text fields) 🚧
2023-09-04 23:41:44 +10:00
Neal Chambers
4feb8f922e Fix Rails/HelperInstanceVariable in injection_helper.rb 2023-09-01 11:03:26 +09:00
David Cook
63383e8ea1 Enable editing of variant price
Formatting of the price was copied from the existing bulk product screen.
2023-08-31 16:41:41 +10:00
David Cook
b955cd8fee Enable editing of variant SKU
I'm not sure what the point of the product SKU was to be honest.. it will probably be removed in the product refactor.
2023-08-31 16:41:41 +10:00
David Cook
f69fc67d5e Refactor: using Rails form magic
Now we don't have to specify the field names on products, yay!

I tried desparately to get it working for the nested variant forms too, but sadly the form builder refuses to acknowledge the relationship. The form builder simply doesn't support a collection of objects in this way.

We could try creating a fake model similar to ProductSet that accepts_nested_attributes_for :products. But it woudl be better to create a custom form builder to do it.

Or, just manually specify field names for now!
2023-08-31 16:41:41 +10:00
David Cook
7f05a4913c Remove explicit index numbers from form names
I have to admit I don't fully understand why, but it seems to work, even though the rails guide says "only one level of arrayness is allowed (https://guides.rubyonrails.org/form_helpers.html#combining-them). Maybe it's ok here because it's not an array of arrays.

(I think this format is what the reflex spec was already testing).
2023-08-31 16:41:41 +10:00
David Cook
e17d16cb52 Enable editing of variant display_name
Best viewed with whitespace ignored.
Using Rails' nested attributes feature, which ModelSet already supports.
2023-08-31 16:41:41 +10:00
David Cook
5356e42efc Enable editing of product SKU 2023-08-31 16:41:41 +10:00
David Cook
9fe9d8557c Remove line-clamp for inputs
It doesn't work and we don't currently have a better solution for that.
2023-08-31 16:41:41 +10:00
David Cook
aff33b79ae Simplify form code
The form elements shouldn't need an `id` attribute.
2023-08-31 16:41:36 +10:00
David Cook
451513ad04 Markup labels as.. labels
This means you can click on the label name to select the field, and accessibility software can read the label name.  I was motivated to do this so that we could update the spec to use label text rather than IDs. But it seems we can't do that with tom-select.

I've updated the styles for all form labels (in admin_style_v3 toggle) to match the design.
2023-08-25 17:19:46 +10:00
Maikel Linke
e12cf2aa4c Simplify feature check for multiple actors at once
I think that it's a valid case to check a feature toggle against the
user and an enterprise. You may want to check with only one user first,
then activate it for a whole enterprise and lastly activate the feature
globally.
2023-08-25 10:19:17 +10:00
Maikel Linke
0cc450e815 Allow Vouchers feature per enterprise
I also kept the per-user check to be backwards-compatible. Some
instances have that enabled already. And for early testing, you may want
to test with only one user first before all customer see it.
2023-08-25 10:19:17 +10:00
Filipe
cc3b7c68ae Merge pull request #11208 from dacook/buu-editing-11059
[BUU] Change name of my products 🚧
2023-08-24 21:19:52 +01:00
Konrad
6ec022b731 Merge pull request #11391 from rioug/11362-fix-error-creating-percentage-voucher
[Vouchers] fix error when creating a percentage voucher
2023-08-24 09:09:30 +02:00
Mohamed ABDELLANI
423163c4e9 hide agree to the ToS when not ToS file is set 2023-08-22 10:22:26 +01:00
David Cook
b0e77df226 Style form actions area 2023-08-22 11:51:05 +10:00
David Cook
37d1113e4c Align row headers with input contents
Inputs add extra padding, so we add the same padding to the header. Using an opt-in class, because I think we won't want this on all columns.
2023-08-22 11:40:58 +10:00
David Cook
a70f392654 Show error messages
It's kinda hard to test reflexes..
2023-08-22 11:40:58 +10:00
David Cook
71c36585bc Retain order when saving.
Perhaps this should be tested in the system spec too ("I can rename a product and still see it after saving"). But I'd like to find the compromise to avoid bulking up system specs too much. I think it's covered well enough by the reflex spec?
2023-08-22 11:40:58 +10:00
David Cook
ae3cd6f7e0 Add bulk_update product form for product name
(For now at least,) we use one big standard Rails form, and ModelSet to update each record.
Submitting with Reflex allows us to manage the loading state along with the rest of the page (although I would rather use the built in HTTP POST standard).

Aria-label makes it a bit easier for testing (and accessibility software of course!). Technically it should have been aria-labelledby="id_of_column_header" but that would have resulted in more HTML and processing, which seemed silly.

Best viewed with whitespace ignored.
2023-08-22 11:40:58 +10:00
David Cook
e37a499125 Merge pull request #11383 from jibees/11274-buu-as-a-single-producer-i-should-not-be-able-to-see-the-producer-dropdown
🚧 Products V3: Do not display "Producers" selector if only one is possible
2023-08-22 11:33:12 +10:00
Maikel Linke
31d87ca087 Show producer filter only when multiple options
Also introducing a view spec here because the code was incorrectly
refactored before. The execution of the view spec takes only 100ms
which is much faster than a system spec.
2023-08-22 10:00:06 +10:00