Bug 6898 - circulation librarians can't run overdues without reports permissions...
authorFridolyn SOMERS <fridolyn.somers@biblibre.com>
Thu, 7 Mar 2013 17:17:33 +0000 (12:17 -0500)
committerJared Camins-Esakov <jcamins@cpbibliography.com>
Wed, 13 Mar 2013 12:14:18 +0000 (08:14 -0400)
Better update database.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
installer/data/mysql/updatedatabase.pl

index 90019ff..1779aa2 100755 (executable)
@@ -6488,7 +6488,19 @@ if ( CheckVersion($DBversion) ) {
 
 $DBversion = "3.11.00.XXX";
 if ( CheckVersion($DBversion) ) {
-    $dbh->do("INSERT INTO  permissions ( module_bit, code, description ) VALUES  ( '1',  'overdues_report',  'Execute overdue items report' )");
+    $dbh->do(q{
+        INSERT INTO permissions ( module_bit, code, description )
+        VALUES  ( '1', 'overdues_report', 'Execute overdue items report' )
+    });
+    # add new permission for users with all report permissions and circulation remaining permission
+    my $sth = $dbh->prepare(q{
+        INSERT INTO user_permissions (borrowernumber, module_bit, code)
+        SELECT user_permissions.borrowernumber, 1, 'overdues_report'
+        FROM user_permissions
+        LEFT JOIN borrowers USING(borrowernumber)
+        WHERE borrowers.flags & (1 << 16)
+        AND user_permissions.code = 'circulate_remaining_permissions'
+    });
     print "Upgrade to $DBversion done ( Add circ permission overdues_report )\n";
     SetVersion($DBversion);
 }