Bug 21975: Avoid unnecessary substitutions in automatic item modification by age
authorFridolin Somers <fridolin.somers@biblibre.com>
Fri, 7 Dec 2018 15:05:52 +0000 (16:05 +0100)
committerMartin Renvoize <martin.renvoize@ptfs-europe.com>
Thu, 25 Apr 2019 14:18:23 +0000 (15:18 +0100)
commitfb73c4a3470b37058c41f216fbc95df60e3c9621
treef4eb1983d720ee9a518f826a0365a296e7929954
parentcf76b870033fcf709941d048e3fdbac7b7123e5e
Bug 21975: Avoid unnecessary substitutions in automatic item modification by age

Automatic item modification by age cronjob is based on rules with conditions and substitutions.
When substitution value is equal to actual item value, the code should not call C4::Items::ModItem. It adds unnecessary action log and entry in zebraqueue.
With a rule than can impact all catalogue you can explode your database with action logs.

Test plan :
1) Run prove t/db_dependent/Items/AutomaticItemModificationByAge.t
2) Define a item modification by age with no condition
3) Run several times misc/cronjobs/automatic_item_modification_by_age.pl
4) Check it creates only one entry in action_logs and zebraqueue

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 3a3ffbc54b8dec8ee63332417fe2732ee93f3034)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
C4/Items.pm