Skip to content

Conversation

SebSept
Copy link
Contributor

@SebSept SebSept commented Oct 2, 2025

Checklist before requesting a review

Please delete options that are not relevant.

  • I have read the CONTRIBUTING document.
  • I have performed a self-review of my code.
  • I have added tests that prove my fix is effective or that my feature works.
  • This change requires a documentation update.

fix #21230

@SebSept SebSept changed the title Application of validation template applies all users Application of validation template applies all users - fix #21230 Oct 2, 2025
$("#dropdown_items_id_target{{ rand }}").val(data.items_id_target);
$("#dropdown_items_id_target{{ rand }}").trigger('change');
} else {
$("#dropdown_items_id_target{{ rand }}").trigger('setValue', data.items_id_target);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think setValue was added as an event for another reason besides just grouping .val() and .trigger('change') into a single call.

A better solution is fixing the handling of the event listener(s) for setValue in common.js or changing each call to trigger the event so the array is packed within another array or an object.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure that making setValue able to handle single values and also arrays is a good point.
Function able to do lots of things results in more complex code, hard to maintain. Maybe implementing a new method for array is a solution (it depends if there is more than a couple of candidates to use it).
I think this core change can be postponed.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It isn't a separate thing. It is setting a value and triggering the change event regardless of if it is one selection or multiple. The only part of setValue handling that seems different to me is one listener that triggers an AJAX call. I haven't looked too much at it to know what it is doing exactly.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

While I agree on the general principal that fixing/improving the js core is the best general bet, I think making a change that has possible impact on all glpi is not what we should target now. I guess you should open another issue for that point, for later.

@SebSept SebSept added this to the 11.0.1 milestone Oct 3, 2025
@cedric-anne cedric-anne added the bug label Oct 6, 2025
Copy link
Member

@cedric-anne cedric-anne left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As this issue may affect any dropdown, a global fix should be made to make the setValue handlers compatible with multiple values.

@cedric-anne cedric-anne modified the milestones: 11.0.1, 11.0.2 Oct 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Approval template doesn't add all users when using on a ticket
3 participants