From ba773f76d881d3fb1d3f1f91c0c20af8b42b2d8a Mon Sep 17 00:00:00 2001 From: John Beppu Date: Mon, 22 Dec 2008 11:07:53 -0600 Subject: [PATCH] bug 2874 [1/3]: schema changes for overriding blocked renewals Two new subpermissions of circulate were added: - circulate_remaining_permissions - override_renewals Also, the following schema alterations were made - permissions.code : varchar(30) => varchar(64) - user_permissions.code : varchar(30) => varchar(64) (The reason for this was because "circulate_remaining_permissions" was greater than 30 characters long and wouldn't fit.) Signed-off-by: Galen Charlton --- .../mysql/en/mandatory/userpermissions.sql | 2 ++ .../fr-FR/1-Obligatoire/userpermissions.sql | 2 ++ installer/data/mysql/kohastructure.sql | 4 +-- installer/data/mysql/updatedatabase.pl | 29 +++++++++++++++++++ kohaversion.pl | 2 +- 5 files changed, 36 insertions(+), 3 deletions(-) diff --git a/installer/data/mysql/en/mandatory/userpermissions.sql b/installer/data/mysql/en/mandatory/userpermissions.sql index 8f7e1c391f..29b3b0526c 100644 --- a/installer/data/mysql/en/mandatory/userpermissions.sql +++ b/installer/data/mysql/en/mandatory/userpermissions.sql @@ -1,4 +1,6 @@ INSERT INTO permissions (module_bit, code, description) VALUES + ( 1, 'circulate_remaining_permissions', 'Remaining circulation permissions'), + ( 1, 'override_renewals', 'Override blocked renewals'), (13, 'edit_news', 'Write news for the OPAC and staff interfaces'), (13, 'label_creator', 'Create printable labels and barcodes from catalog and patron data'), (13, 'edit_calendar', 'Define days when the library is closed'), diff --git a/installer/data/mysql/fr-FR/1-Obligatoire/userpermissions.sql b/installer/data/mysql/fr-FR/1-Obligatoire/userpermissions.sql index 8f7e1c391f..29b3b0526c 100644 --- a/installer/data/mysql/fr-FR/1-Obligatoire/userpermissions.sql +++ b/installer/data/mysql/fr-FR/1-Obligatoire/userpermissions.sql @@ -1,4 +1,6 @@ INSERT INTO permissions (module_bit, code, description) VALUES + ( 1, 'circulate_remaining_permissions', 'Remaining circulation permissions'), + ( 1, 'override_renewals', 'Override blocked renewals'), (13, 'edit_news', 'Write news for the OPAC and staff interfaces'), (13, 'label_creator', 'Create printable labels and barcodes from catalog and patron data'), (13, 'edit_calendar', 'Define days when the library is closed'), diff --git a/installer/data/mysql/kohastructure.sql b/installer/data/mysql/kohastructure.sql index ee820c4d6e..5d88d05e78 100644 --- a/installer/data/mysql/kohastructure.sql +++ b/installer/data/mysql/kohastructure.sql @@ -2156,7 +2156,7 @@ CREATE TABLE language_script_mapping ( DROP TABLE IF EXISTS `permissions`; CREATE TABLE `permissions` ( `module_bit` int(11) NOT NULL DEFAULT 0, - `code` varchar(30) DEFAULT NULL, + `code` varchar(64) DEFAULT NULL, `description` varchar(255) DEFAULT NULL, PRIMARY KEY (`module_bit`, `code`), CONSTRAINT `permissions_ibfk_1` FOREIGN KEY (`module_bit`) REFERENCES `userflags` (`bit`) @@ -2176,7 +2176,7 @@ DROP TABLE IF EXISTS `user_permissions`; CREATE TABLE `user_permissions` ( `borrowernumber` int(11) NOT NULL DEFAULT 0, `module_bit` int(11) NOT NULL DEFAULT 0, - `code` varchar(30) DEFAULT NULL, + `code` varchar(64) DEFAULT NULL, CONSTRAINT `user_permissions_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `user_permissions_ibfk_2` FOREIGN KEY (`module_bit`, `code`) REFERENCES `permissions` (`module_bit`, `code`) diff --git a/installer/data/mysql/updatedatabase.pl b/installer/data/mysql/updatedatabase.pl index 00ae29b4b7..5f61244e00 100755 --- a/installer/data/mysql/updatedatabase.pl +++ b/installer/data/mysql/updatedatabase.pl @@ -2097,6 +2097,35 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { SetVersion ($DBversion); } + +$DBversion = '3.00.04.008'; +if (C4::Context->preference("Version") < TransformToNum($DBversion)) { + + $dbh->do("CREATE TABLE branch_transfer_limits ( + limitId int(8) NOT NULL auto_increment, + toBranch varchar(4) NOT NULL, + fromBranch varchar(4) NOT NULL, + itemtype varchar(4) NOT NULL, + PRIMARY KEY (limitId) + ) ENGINE=InnoDB DEFAULT CHARSET=utf8" + ); + + $dbh->do("INSERT INTO `systempreferences` ( `variable` , `value` , `options` , `explanation` , `type` ) VALUES ( 'UseBranchTransferLimits', '0', '', 'If ON, Koha will will use the rules defined in branch_transfer_limits to decide if an item transfer should be allowed.', 'YesNo')"); + + print "Upgrade to $DBversion done (added branch_transfer_limits table and UseBranchTransferLimits system preference)\n"; + SetVersion ($DBversion); +} + +$DBversion = "3.01.00.009"; +if (C4::Context->preference("Version") < TransformToNum($DBversion)) { + $dbh->do("ALTER TABLE permissions MODIFY `code` varchar(64) DEFAULT NULL"); + $dbh->do("ALTER TABLE user_permissions MODIFY `code` varchar(64) DEFAULT NULL"); + $dbh->do("INSERT INTO permissions (module_bit, code, description) VALUES ( 1, 'circulate_remaining_permissions', 'Remaining circulation permissions')"); + $dbh->do("INSERT INTO permissions (module_bit, code, description) VALUES ( 1, 'override_renewals', 'Override blocked renewals')"); + print "Upgrade to $DBversion done (added subpermissions for circulate permission)\n"; + SetVersion ($DBversion); +} + =item DropAllForeignKeys($table) Drop all foreign keys of the table $table diff --git a/kohaversion.pl b/kohaversion.pl index d79d6f1125..1e3aa318a8 100644 --- a/kohaversion.pl +++ b/kohaversion.pl @@ -10,7 +10,7 @@ use strict; sub kohaversion { - our $VERSION = '3.00.04.007'; + our $VERSION = '3.00.04.009'; # version needs to be set this way # so that it can be picked up by Makefile.PL # during install -- 2.39.5