From 266d7de35a9f271403318eae1c55f46077865a6e Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Wed, 24 Jun 2020 08:37:18 +0200 Subject: [PATCH] Bug 25851: (bug 18928 follow-up) Remove holdallowed rule is value is an empty string On the interface, if "Hold policy" is "Not set", the rule does not exist in the table. We should reflect that during the update DB process. Test plan: 1. Set "Hold policy" to "Not set" 2. Confirm that you can place holds 3. Confirm that the rule does not exist in the DB table 4. Set the value to an empty string (manually) 5. Confirm that you cannot longer place holds 6. Go to the circulation rules page and confirm that the value of "Hold policy" is "Not set" 7. Execute the update DB entry 8. Confirm that you can place holds 9. Confirm that the rule does not exist in the DB table Signed-off-by: Martin Renvoize Signed-off-by: Kyle M Hall Signed-off-by: Jonathan Druart (cherry picked from commit c1e1c233ca69fe9f73efb1c939148f8c7afcf11e) Signed-off-by: Lucas Gass --- installer/data/mysql/atomicupdate/bug_25851.perl | 7 +++++++ installer/data/mysql/updatedatabase.pl | 3 +++ 2 files changed, 10 insertions(+) create mode 100644 installer/data/mysql/atomicupdate/bug_25851.perl diff --git a/installer/data/mysql/atomicupdate/bug_25851.perl b/installer/data/mysql/atomicupdate/bug_25851.perl new file mode 100644 index 0000000000..a0aeec0814 --- /dev/null +++ b/installer/data/mysql/atomicupdate/bug_25851.perl @@ -0,0 +1,7 @@ +$DBversion = 'XXX'; # will be replaced by the RM +if( CheckVersion( $DBversion ) ) { + $dbh->do(" + DELETE FROM circulation_rules WHERE rule_name='holdallowed' AND rule_value=''; + "); + NewVersion( $DBversion, 25851, "Remove holdallowed rule if value is an empty string"); +} diff --git a/installer/data/mysql/updatedatabase.pl b/installer/data/mysql/updatedatabase.pl index 5918652203..e7bf75de53 100755 --- a/installer/data/mysql/updatedatabase.pl +++ b/installer/data/mysql/updatedatabase.pl @@ -20715,6 +20715,9 @@ if( CheckVersion( $DBversion ) ) { FROM issuingrules "); } + $dbh->do(" + DELETE FROM circulation_rules WHERE rule_name='holdallowed' AND rule_value=''; + "); $dbh->do("DROP TABLE issuingrules"); } -- 2.39.5