--- /dev/null
+$DBversion = 'XXX'; # will be replaced by the RM
+if( CheckVersion( $DBversion ) ) {
+ $dbh->do(q|
+INSERT IGNORE INTO permissions (module_bit, code, description) VALUES
+ (13, 'upload_general_files', 'Upload any file'),
+ (13, 'upload_manage', 'Manage uploaded files');
+ |);
+
+# Update user_permissions for current users (check count in uploaded_files)
+# Note 9 == edit_catalogue and 13 == tools
+# We do not insert if someone is superlibrarian, does not have edit_catalogue,
+# or already has all tools
+ $dbh->do(q|
+INSERT IGNORE INTO user_permissions (borrowernumber, module_bit, code)
+ SELECT borrowernumber, 13, 'upload_general_files'
+ FROM borrowers bo
+ WHERE flags<>1 AND flags & POW(2,13) = 0 AND
+ ( flags & POW(2,9) > 0 OR (
+ SELECT COUNT(*) FROM user_permissions
+ WHERE borrowernumber=bo.borrowernumber AND module_bit=9 ) > 0 )
+ AND ( SELECT COUNT(*) FROM uploaded_files ) > 0;
+ |);
+
+ SetVersion( $DBversion );
+ print "Upgrade to $DBversion done (Bug 17663 - Forgotten userpermissions)\n";
+}
(13, 'records_batchmod', 'Perform batch modification of records (biblios or authorities)'),
(13, 'marc_modification_templates', 'Manage marc modification templates'),
(13, 'records_batchdel', 'Perform batch deletion of records (bibliographic or authority)'),
+ (13, 'upload_general_files', 'Upload any file'),
+ (13, 'upload_manage', 'Manage uploaded files'),
(15, 'check_expiration', 'Check the expiration of a serial'),
(15, 'claim_serials', 'Claim missing serials'),
(15, 'create_subscription', 'Create a new subscription'),