From ed0538c79247825549832cff5e22e6759df10bc5 Mon Sep 17 00:00:00 2001 From: Alex Buckley Date: Wed, 17 Aug 2022 20:41:52 +1200 Subject: [PATCH] Bug 30418: Database changes Sponsored-by: Catalyst IT, New Zealand --- installer/data/mysql/atomicupdate/bug_30418.pl | 16 ++++++++++++++++ installer/data/mysql/kohastructure.sql | 1 + .../data/mysql/mandatory/userpermissions.sql | 1 + 3 files changed, 18 insertions(+) create mode 100755 installer/data/mysql/atomicupdate/bug_30418.pl diff --git a/installer/data/mysql/atomicupdate/bug_30418.pl b/installer/data/mysql/atomicupdate/bug_30418.pl new file mode 100755 index 00000000000..f4c425a08cc --- /dev/null +++ b/installer/data/mysql/atomicupdate/bug_30418.pl @@ -0,0 +1,16 @@ +use Modern::Perl; + +return { + bug_number => "30418", + description => "Add new list permission and new column to virtualshelves", + up => sub { + my ($args) = @_; + my ($dbh, $out) = @$args{qw(dbh out)}; + + if( !column_exists( 'virtualshelves', 'allow_change_from_permitted_staff' ) ) { + $dbh->do(q{ALTER TABLE virtualshelves ADD COLUMN `allow_change_from_permitted_staff` tinyint(1) DEFAULT '0' COMMENT 'can staff with edit_public_list_contents permission change contents?'}); + } + + $dbh->do(q{ INSERT IGNORE INTO permissions (module_bit, code, description) VALUES (20, 'edit_public_list_contents', 'Edit public list contents') }); + }, +}; diff --git a/installer/data/mysql/kohastructure.sql b/installer/data/mysql/kohastructure.sql index df66cee1750..d9c40050042 100644 --- a/installer/data/mysql/kohastructure.sql +++ b/installer/data/mysql/kohastructure.sql @@ -5940,6 +5940,7 @@ CREATE TABLE `virtualshelves` ( `allow_change_from_owner` tinyint(1) DEFAULT 1 COMMENT 'can owner change contents?', `allow_change_from_others` tinyint(1) DEFAULT 0 COMMENT 'can others change contents?', `allow_change_from_staff` tinyint(1) DEFAULT 0 COMMENT 'can staff change contents?', + `allow_change_from_permitted_staff` tinyint(1) DEFAULT 0 COMMENT 'can staff with edit_public_list_contents permission change contents?', PRIMARY KEY (`shelfnumber`), KEY `virtualshelves_ibfk_1` (`owner`), CONSTRAINT `virtualshelves_ibfk_1` FOREIGN KEY (`owner`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE SET NULL diff --git a/installer/data/mysql/mandatory/userpermissions.sql b/installer/data/mysql/mandatory/userpermissions.sql index 7b6955de442..9e5057c6356 100644 --- a/installer/data/mysql/mandatory/userpermissions.sql +++ b/installer/data/mysql/mandatory/userpermissions.sql @@ -137,6 +137,7 @@ INSERT INTO permissions (module_bit, code, description) VALUES (19, 'configure', 'Configure plugins'), (20, 'delete_public_lists', 'Delete public lists'), (20, 'edit_public_lists', 'Edit public lists'), + (20, 'edit_public_list_contents', 'Edit public list contents'), (21, 'edit_templates', 'Create and update club templates'), (21, 'edit_clubs', 'Create and update clubs'), (21, 'enroll', 'Enroll patrons in clubs'), -- 2.30.2