From f1fe73cb15837ae3e9193254ab85f82f84422293 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 --- 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 de5286ead3..021f1fc78f 100755 --- a/installer/data/mysql/updatedatabase.pl +++ b/installer/data/mysql/updatedatabase.pl @@ -20719,6 +20719,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.20.1