Bug 25851: (bug 18928 follow-up) Remove holdallowed rule is value is an empty string
authorJonathan Druart <jonathan.druart@bugs.koha-community.org>
Wed, 24 Jun 2020 06:37:18 +0000 (08:37 +0200)
committerJonathan Druart <jonathan.druart@bugs.koha-community.org>
Thu, 9 Jul 2020 09:42:24 +0000 (11:42 +0200)
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 <martin.renvoize@ptfs-europe.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>

installer/data/mysql/atomicupdate/bug_25851.perl [new file with mode: 0644]
installer/data/mysql/updatedatabase.pl

diff --git a/installer/data/mysql/atomicupdate/bug_25851.perl b/installer/data/mysql/atomicupdate/bug_25851.perl
new file mode 100644 (file)
index 0000000..a0aeec0
--- /dev/null
@@ -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");
+}
index 7e87c8c..8b6f3e9 100755 (executable)
@@ -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");
     }