David Rodríguez
6901323827
Fix success message taking 5 seconds to show up
...
This is pretty black magic to me, but my understanding is that:
* When submitting customer forms, we use `$q.all()` on the result of
submitting each form asynchronously in order to decide whether to
display a success message (no errors) or a failure message.
* The value returned for each particular form submission was the return
value of either `change.scope.success()` or `change.scope.error()`.
These use the `switchClass` factory, which changes a particular DOM
element's class to the proper pending/success/error class, but in the
success case, it also sets a timeout to remove the class using
`$timeout()`, which is a promise, and that was its return value.
* Because of the above, `$q.all()` was actually waiting for the
`$timeout()` promise to be fulfilled before proceeding.
The fix is to not return a `$timeout()` promise from the `switchClass`
factory when a timeout is passed, but instead set a timeout on the
element, but return the element itself regardless.
2025-11-13 08:37:52 +01:00
David Rodríguez
186fe0503f
Show orange border when input has changes
...
Even if it's on focus.
2025-11-13 08:37:52 +01:00
David Rodríguez
e990e5ffd5
Don't show flash messages in customer edition form
...
They don't actually show up when the customer is saved, but the next
time the page is reloaded. We already have the save bar for the same
purpose so it's not necessary.
2025-11-13 08:37:52 +01:00
David Rodríguez
3d7207d8c5
Properly track changes in code attribute
...
If the code was initially nil, some value is added, and then removed, we
would not detect that the code has not actually changed.
2025-11-13 08:37:52 +01:00
David Rodríguez
278a8b1ec2
Let save-bar properly track form state
...
* Keep save bar visible as long as there's a customer form displayed.
* Only display "You have unsaved changes" when there's any difference
from the original values. If form changes are reverted, hide that
note.
* Similarly, only let the button be enabled if there are any actual
changes to be saved.
2025-11-13 08:37:51 +01:00
Gaetan Craig-Riou
4e62e20fa8
Fix test to work with new jsdom restriction
...
since jsdom 21, it's no longer possible to mock window.location
See : https://github.com/jsdom/jsdom/issues/3492
2025-11-11 14:58:48 +11:00
Gaetan Craig-Riou
460d109bd2
Update product ability
...
A user has product permission if it is a supplier of at least one of the
product's variants
2025-11-11 11:35:19 +11:00
David Rodríguez
9645660d87
Fix tag rule visibility select box options hidden by save bar
2025-11-10 17:32:11 +01:00
Gaetan Craig-Riou
e8b81c1ff6
Fix variant filtering
...
We don't want to filter out variant missing producer, so that the user
can address the problem.
2025-11-10 16:29:27 +11:00
Gaetan Craig-Riou
ab443fa50f
Refactor the clone template to use local variable
...
and add define locals on the template
2025-11-10 16:29:27 +11:00
Gaetan Craig-Riou
25d55fec24
Filter out variant the user is not allowed to update
...
With a product with mutiple variant, we can end in a scenario where a
user sees variant associated to producer it doesn't have permission for.
This prevents the user from updating any variant. This fix filter out
variant a user shoudn't be seeing
2025-11-10 16:29:27 +11:00
Gaetan Craig-Riou
61f8b5c7f4
Add strict locals for some products V3 templates
...
Rails now allows you to define which local a template is expecting:
https://edgeguides.rubyonrails.org/7_1_release_notes.html#allow-templates-to-set-strict-locals
2025-11-10 16:29:27 +11:00
Maikel
587f76415b
Merge pull request #13656 from pacodelaluna/replace-alias-attribute-with-alias-method
...
Replace alias_attribute with alias_method
2025-11-10 11:50:33 +11:00
Gaetan Craig-Riou
0745028c06
Fix checking if variant tag is enabled
...
variant_tag feature check should happen per enterprise basis, but we
still want super admin to so see variant tag. To do so we check if the
user is amdin or if any of the current user enterprise has variant tag
enable.
2025-11-10 11:14:56 +11:00
Rachel Arnould
94bda6d0f8
Merge pull request #13592 from rioug/13266-tag-variant-tag-rule
...
[Variant tags] Add tag rules for variant
2025-11-07 14:14:50 +01:00
Filipe
95ad87d840
Merge pull request #13666 from chahmedejaz/bugfix/13519-order-disappear-from-orders-page
...
Order lines are deleted when one tries to capture a payment after order cycle is closed
2025-11-06 13:07:36 +00:00
Konrad
7357419f6f
Merge pull request #13652 from navaneethkp36/13651-fix-button-size-order-confirmation
...
Make the width of "Back to Store" and "Back to Website" buttons consistent with other buttons in order confirmation page
2025-11-05 19:29:42 +01:00
David Cook
8e5fac9fb3
Merge pull request #13632 from rioug/security-247-code-injection
...
[security] Fix potential code injection
2025-11-05 16:34:37 +11:00
Ahmed Ejaz
913dded766
Refactor order cycle handling to simplify closed cycle checks and improve redirection messaging
2025-11-05 02:50:01 +05:00
François Turbelin
b2d7d797d9
Use wrap_parameters to handle address params on Customer v1 API
2025-11-03 11:35:39 +01:00
François Turbelin
e385b9f708
Revert "Use customer-nested params for Customer v1 API writing operations"
...
This reverts commit cf4cd311b3 .
2025-11-03 10:32:26 +01:00
Gaetan Craig-Riou
bd0db57768
Per review, more concise code
2025-11-03 15:58:27 +11:00
Gaetan Craig-Riou
bb8ecccc31
Fix variant tag rules endpoint
...
It now returns tag rules filtered on the preferred variant tags and not
the prefered customer tags
2025-11-03 15:50:12 +11:00
Gaetan Craig-Riou
1a68236c3c
Add variant_tag_rule ability
...
It's needed to allow enterprise user to get a tag autocomplete. Classic
mistake of not testing with a non superadmin user.
2025-11-03 14:25:48 +11:00
Gaetan Craig-Riou
c057bab493
Use route helpers for autocomplete url
...
Co-authored-by: Maikel <maikel@email.org.au >
2025-11-03 14:25:48 +11:00
Gaetan Craig-Riou
59340c7cff
Per review, remove unnecessary new translation
2025-11-03 14:25:48 +11:00
Gaetan Craig-Riou
ce60335a60
Per review, fix leftover comment
2025-11-03 14:25:48 +11:00
Gaetan Craig-Riou
07a3e83dc6
Fix enterprise specs
...
Plus small refactor
2025-11-03 14:25:48 +11:00
Gaetan Craig-Riou
38f58b168a
Fix tag rules spec
...
Make sure the autocomplete dropdown list is hidden by default
2025-11-03 14:25:48 +11:00
Gaetan Craig-Riou
ab194a0e80
Add styling for the dropdown
...
It's mostly the same styling as the AngularJs version but with updated
colors
2025-11-03 14:25:05 +11:00
Gaetan Craig-Riou
749944fc25
Rework TagListInputComponent to integrate autocomplete
...
The component now will try to load a list of existing tag if you give an
`autocomplete_url`. I tried to keep the tag input and the autocomplete
functionality decoupled but is wasn't really possible. Instead I opted
to sub class the Autocomplete stimulus controller, but it only gets
initialised if we pass an `autocomplete_url`.
2025-11-03 14:25:05 +11:00
Gaetan Craig-Riou
3cffc5538a
Add tag filtering for tag autocomplete
2025-11-03 14:25:05 +11:00
Gaetan Craig-Riou
6d7908e1f8
Style formatting
2025-11-03 14:25:05 +11:00
Gaetan Craig-Riou
965b34318f
Add new component to provide tag autocomplete for variant tag
...
It uses composition and inject the TagListInputComponent as a depency,
which should be more flexible that creating a sub class. This new
component could potentially be made more generic if needed
2025-11-03 14:25:05 +11:00
Gaetan Craig-Riou
3bb9eb9765
Add endpoint to provide autocomplete tag for variant
...
It return a list of available tags and number of related rules, based on
the given enterprise and a partial match on the given tag
2025-11-03 14:25:05 +11:00
Gaetan Craig-Riou
bd39595917
Add ability to pass option to the tag input field
...
And also render any content given to the component via block
2025-11-03 14:25:05 +11:00
Gaetan Craig-Riou
81e16a9cdf
Add stimulus-autocomplete package
...
https://github.com/afcapel/stimulus-autocomplete/tree/main
2025-11-03 14:25:05 +11:00
Gaetan Craig-Riou
c38c8bcff2
Pass the variant_tag_enbabled options to relevant services
...
Plus add integration testing for variant tag rule filtering.
2025-11-03 14:25:05 +11:00
Gaetan Craig-Riou
7633af8ff2
Call VariantTagRulesFilterer when variant_tag feature is enabled
...
We only support either inventory or variant_tag feature, with the later
taking precedence if both are turned on.
2025-11-03 14:25:05 +11:00
Gaetan Craig-Riou
94c0ebd897
Fix error in the muliple tag rules spec
2025-11-03 14:25:05 +11:00
Gaetan Craig-Riou
7b3db4bae4
Add VariantTagRuleFilterer to filter variants by tag rule
2025-11-03 14:25:05 +11:00
Gaetan Craig-Riou
b1d95cac7f
Display filter by variant tag rule
...
We only support one of filter by inventory variants or filter by variants
at any given time, based on enabled feature. If both features inventory
and variant tag are enabled, variant tag takes precedence.
2025-11-03 14:25:05 +11:00
Gaetan Craig-Riou
3f297a8afa
Add tag rule to filter by variant
2025-11-03 14:25:05 +11:00
Gaetan Craig-Riou
96f715b62b
Merge pull request #13661 from deivid-rodriguez/ruby-3.2
...
Bump Ruby from 3.1.7 to 3.2.9
2025-11-03 13:29:40 +11:00
François Turbelin
cf4cd311b3
Use customer-nested params for Customer v1 API writing operations
2025-10-31 14:39:55 +01:00
François Turbelin
275326eaa6
Replace alias_attribute with alias_method
2025-10-31 14:26:33 +01:00
David Rodríguez
05b3e97a0e
Bump Ruby from 3.1.7 to 3.2.9
...
Release announcements:
* https://www.ruby-lang.org/en/news/2025/07/24/ruby-3-2-9-released/
* https://www.ruby-lang.org/en/news/2025/03/26/ruby-3-2-8-released/
* https://www.ruby-lang.org/en/news/2025/02/04/ruby-3-2-7-released/
* https://www.ruby-lang.org/en/news/2024/10/30/ruby-3-2-6-released/
* https://www.ruby-lang.org/en/news/2024/07/26/ruby-3-2-5-released/
* https://www.ruby-lang.org/en/news/2024/04/23/ruby-3-2-4-released/
* https://www.ruby-lang.org/en/news/2024/01/18/ruby-3-2-3-released/
* https://www.ruby-lang.org/en/news/2023/03/30/ruby-3-2-2-released/
* https://www.ruby-lang.org/en/news/2023/02/08/ruby-3-2-1-released/
* https://www.ruby-lang.org/en/news/2022/12/25/ruby-3-2-0-released/
Also autocorrect new offenses.
2025-10-31 09:18:11 +01:00
David Rodríguez
201461918d
Fix prettier offense
...
I accidentally introduced this, not sure how, when correcting all
prettier issues.
2025-10-29 11:55:03 +01:00
Maikel
ff16b575c4
Merge pull request #13653 from deivid-rodriguez/bump-rubocop
...
Bump rubocop to 1.86.6
2025-10-29 12:00:31 +11:00
Maikel
44cca40db6
Merge pull request #13643 from deivid-rodriguez/fix-prettier-issues
...
Fix all existing prettier issues
2025-10-29 11:36:54 +11:00