You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We ran into a strange bug concerning the preItemAdd hook in the geninventory plugin, so I thought I'd post it here.
We add new items into GLPI using the template feature (this means the insert form URL looks like /front/computer.form.php?id=123&withtemplate=2). Now when inventory number generation is deactivated for the item type that is inserted, the function preItemAdd performs an update on a DB entry before the insert. This happens in the else clause of the following code part:
However, this update uses the ID of the template, not the ID of the new item (which, as far as I understand, is not yet in the database at this point). The problem with this is that it sets is_template to false. This means that the template is transformed into a normal item. So in the end, I have two new items instead of one. And, of course, the template is gone.
I was able to fix this by removing the update call in the else clause, but I don't know if that is a good fix. I am not sure why this update is needed in the first place (maybe someone can explain it to me?).
Regards,
mgurm
The text was updated successfully, but these errors were encountered:
Hello
We ran into a strange bug concerning the
preItemAdd
hook in the geninventory plugin, so I thought I'd post it here.We add new items into GLPI using the template feature (this means the insert form URL looks like
/front/computer.form.php?id=123&withtemplate=2
). Now when inventory number generation is deactivated for the item type that is inserted, the functionpreItemAdd
performs an update on a DB entry before the insert. This happens in the else clause of the following code part:However, this update uses the ID of the template, not the ID of the new item (which, as far as I understand, is not yet in the database at this point). The problem with this is that it sets
is_template
tofalse
. This means that the template is transformed into a normal item. So in the end, I have two new items instead of one. And, of course, the template is gone.I was able to fix this by removing the update call in the else clause, but I don't know if that is a good fix. I am not sure why this update is needed in the first place (maybe someone can explain it to me?).
Regards,
mgurm
The text was updated successfully, but these errors were encountered: