Fix(Core): prevent twice 'date_mod' updates #18130
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Checklist before requesting a review
Please delete options that are not relevant.
Description
Bug found with
fields
plugin (but all plugins could be impacted when)The
fields
plugin (after managing additional fields) adds adate_mod
in the mainitem's input to update only last modification date.when the update occurs
glpi
checks ifdate_mod
exists in$this->fields
, and if so, adds it to$this->updates
(which already containsdate_mode
-> because offields
plugin)When glpihandle locked fields, this
doesn't work perfectly because the
date_mod
value exists twice andarray_search
returns only the first occurrence found.So we need to check if
date_mod
alrady exist in$this->updates
To sum up, it is currently impossible to update only
date_mod
without causing a lock on this field (for dynamic item).Set
is_dynamic
tofalse
is not a good solution either, as it removes the link between themainitem
and relatedagent
.Screenshots (if appropriate):