Commit Graph

33246 Commits

Author SHA1 Message Date
Maikel
5bef8b7dde Merge pull request #13178 from cyrillefr/FixRubocopLintIssuesI
Fixes some rubocop linting offenses
2025-02-28 10:40:56 +11:00
filipefurtad0
ce7d4dca40 Update all locales with the latest Transifex translations v5.0.17 2025-02-27 16:59:48 -06:00
Filipe
feccef0b36 Merge pull request #13157 from drummer83/email_styled_password
Create styled email for reset password instructions
2025-02-27 16:53:04 -06:00
Filipe
cf3213cf96 Merge pull request #13168 from dacook/dfc-product-import-select-all-12301
[DFC Orders] Select/deselect all on DFC Product Import
2025-02-27 16:43:37 -06:00
Filipe
9a0bcac3c2 Merge pull request #13156 from drummer83/orders_input_align
Align inputs on orders list and adjust position of checkboxes for reports
2025-02-27 16:04:16 -06:00
cyrillefr
027d4ccbad Fixes some rubocop linting offenses - part I
- Lint/RedundantSafeNavigation
- Lint/SelfAssignment
- Lint/UselessMethodDefinition
2025-02-27 16:28:00 +01:00
David Cook
5a1d6b749e Fix spec
The label got changed in a separate PR that was merged around the same time.
It's my fault for changing the label.
2025-02-26 15:57:12 +11:00
Maikel Linke
6a0144f171 Update all locales with the latest Transifex translations v5.0.16 2025-02-24 15:50:39 +11:00
Maikel
ff8fe58268 Merge pull request #13151 from mkllnk/dfc-stock-limit
Fix reset stock when importing DFC products
2025-02-24 15:47:12 +11:00
Maikel
462886447a Merge pull request #13126 from mkllnk/oidc-error
Direct people to refresh OIDC connection when needed
2025-02-24 15:45:48 +11:00
Filipe
bd893eb3d5 Merge pull request #13139 from drummer83/reply-to-email-address
Add a 'reply to' email address where it makes sense and has been missing
2025-02-21 13:09:42 -06:00
Konrad
7cd3c32787 Merge pull request #13164 from rioug/fix-user-controlled-method-execution
Fix user controlled method execution
2025-02-21 12:59:40 +01:00
Filipe
9baed8536c Merge pull request #13121 from rioug/13054-out-of-stock-autoremove
Autoremove/update item from the cart if stock changed during checkout
2025-02-20 22:35:40 -06:00
Filipe
f715c366ea Merge pull request #13160 from chahmedejaz/task/13097-add-columns-in-packing-reports
Add shipping method and shipment state to packing reports
2025-02-20 19:49:03 -06:00
Filipe
f7b471da08 Merge pull request #13148 from mkllnk/dfc-variants
Add DFC product groups with variants
2025-02-20 18:53:00 -06:00
Konrad
48688311d1 Merge pull request #13165 from chahmedejaz/bugfix/unable-to-view-images-in-dev-env
Fix base urls for assets in development
2025-02-20 07:56:09 +01:00
David Cook
7444ddccd1 Wait, There's A Lifecycle Callback For That 2025-02-20 12:52:27 +11:00
David Cook
7acc78b6d8 Revert "Delegate events to the parent element"
This reverts commit e31c16df43.
2025-02-20 12:49:25 +11:00
David Cook
e31c16df43 Delegate events to the parent element
Ok so I wasn't as smart as I thought I was. The stimulus controller knows when its element is added/removed from the DOM (and calls connect/disconnect appropriately). But if any child elements are added, they don't automatically have my new event handlers.

So I borrowed jQuery's event delegation concept, and listen for any events that 'bubble' up to the controller element, and delegate them as needed.

Alternatively, maybe I could have used a Mutation Observer, but I think it's best to avoid where possible.

Or of course, we could just revert my change and keep the 'data-action's in the HTML. I'm curious to hear opinions on this.."
2025-02-20 12:46:27 +11:00
David Cook
4cb1b0a48e Add total count of selected items
I noticed there's a controller for that too, so might as well make use of it. The orders page has it at the top, because that's where the bulk action menu is. But on this page, the action is the import button so I put it there.
2025-02-20 12:15:53 +11:00
David Cook
6e7766a2c2 Increase font size 2025-02-20 12:15:53 +11:00
David Cook
57fb855147 Ensure label reaches to edge of table cell
Best viewed with whitespace ignored
2025-02-20 12:15:49 +11:00
David Cook
b370b207b5 Automatically bind toggleCheckbox action 2025-02-20 12:14:49 +11:00
David Cook
b92c046119 Automatically bind toggleAll action
We are already specifying the element's role ('all') in the HTML. Its behaviour should be predefined; there's no need to also specify in the HTML.

The eventhandler doesn't need to be cleand up on disconnect, because they are removed along with the DOM object.
2025-02-20 11:24:21 +11:00
David Cook
c2e54104d0 Add select/deselect all checkbox
There's A Controller For That.
(But I think it makes the HTML ugly..)
2025-02-20 10:56:53 +11:00
David Cook
859a20b7a7 Ensure both email formats contain url 2025-02-19 14:20:28 +11:00
Maikel Linke
691e988fbb Fix Roadie dev config to inline CSS in emails
Roadie doesn't work with asset host:

* https://github.com/Mange/roadie-rails?tab=readme-ov-file#known-issues

And we don't need it.
2025-02-19 13:29:34 +11:00
Ahmed Ejaz
216348d361 fix base urls for assets in development 2025-02-19 05:09:19 +05:00
David Cook
96b8a4c068 Merge pull request #13134 from dacook/fix-locale-12301
Update label and change default dev locale
2025-02-19 09:38:14 +11:00
Ahmed Ejaz
d0650fdab0 Fix ABC size rubocop issue 2025-02-19 02:20:33 +05:00
Konrad
29c3ef3f5e Merge pull request #13154 from mkllnk/flaky-line-items
Fix order of line item based report rows
2025-02-18 15:28:02 +01:00
Ahmed Ejaz
1611b2a31f Add shipping method and shipment state to packing reports 2025-02-18 12:42:34 +05:00
Maikel Linke
699db02098 Remove enterprise id from DFC product group URL
A Spree::Product represented as product group is not directly associated
to an enterprise. In theory, it could have multiple enterprises through
its variants. So we better don't include the id in the URL.

```
-http://test.host/api/dfc/enterprises/10000/product_groups/90000
+http://test.host/api/dfc/product_groups/90000
```

This makes it simpler as well.
2025-02-18 16:19:27 +11:00
David Cook
664119ddcf Update test for multi-part email
Now that it's a multi-part email, we have to select the html part for the test.
Another option is to simply check mail.to_s, but this also includes mail headers so doesn't specifically test the body.
2025-02-18 16:15:04 +11:00
David Cook
c9f5dd2d0b Refactor: rename subject to be consistent
Hmm, in different specs it gets called 'mail', 'email', 'message'. The object is a Mail::Message object. The method to generate the object is called `mail`, so I went with that.
2025-02-18 16:07:22 +11:00
Gaetan Craig-Riou
0ae855047d Fix User controlled method execution
Add white list for the fire endpoint to limit which action can be taken.
Add specs for fire endpoint
2025-02-18 14:42:26 +11:00
Gaetan Craig-Riou
e386640b57 Add missing translation 2025-02-18 14:41:43 +11:00
Maikel Linke
5d495b94b3 Use product group attributes for Spree::Product updates 2025-02-18 13:08:49 +11:00
Maikel Linke
11a1d4e09e Reduce complexity of controller 2025-02-18 13:08:49 +11:00
Maikel Linke
3d435ae781 Include product group objects in our catalog response
And when we import a catalog, we don't try to import those product
groups as Spree::Variant. We just see them as reference to
Spree::Product.
2025-02-18 13:08:49 +11:00
Maikel Linke
fba7c24ebd Product group can be present or just linked 2025-02-18 13:08:49 +11:00
Maikel Linke
516759062f Import variants for the same product group
When importing another catalog, it's probably referring to external
product groups. Storing the external link allows us to group several
variants and replicate the same structure within OFN.
2025-02-18 13:08:48 +11:00
Maikel Linke
c1e0c6ed34 Import variants for existing products via new DFC attribute 2025-02-18 13:08:48 +11:00
Maikel Linke
fbdc6c9bd0 Split growing supplied product builder 2025-02-18 13:08:46 +11:00
Maikel Linke
2043d1f8df Remove custom syntactical sugar
It just makes Rswag specs look more different to other request specs and
I found that discouraging. It's good to know that the parameter is just
specified with `let` and that it works exactly in the same way as `let`
in other specs.

The downside is maybe that it's not obvious that those `let` statements
have to correspond with the parameters for the request but error
messages will tell you if you got it wrong. And there's also the
`parameter` declaration to make that clear.
2025-02-18 12:58:10 +11:00
Maikel Linke
6707516203 Automatically document responses for DFC API w/o tag 2025-02-18 12:58:10 +11:00
Maikel Linke
42b6ecbf31 Move rswag specifc config to rswag helper 2025-02-18 12:58:09 +11:00
Maikel Linke
d39da6d0da Provide endpoint to show a product group
Our Spree::Product corresponds to a DFC SuppliedProduct with variants.
2025-02-18 12:58:09 +11:00
Maikel Linke
35d7bf7a3b Add dfc-b:isVariantOf to supplied products 2025-02-18 12:58:09 +11:00
Maikel Linke
61b54e922a Remove impossible error rescue
This block got duplicated in a previous PR.
2025-02-18 12:20:01 +11:00