From ac8c84054927335487f5bd326fccede5a2eb59a6 Mon Sep 17 00:00:00 2001 From: Pedro Amorim Date: Wed, 1 Mar 2023 11:57:11 +0000 Subject: [PATCH] Bug 32968: ERM granular permissions - DB specific Signed-off-by: Jonathan Field --- .../data/mysql/atomicupdate/bug_32968.pl | 27 +++++++++++++++++++ .../data/mysql/mandatory/userpermissions.sql | 7 ++++- 2 files changed, 33 insertions(+), 1 deletion(-) create mode 100755 installer/data/mysql/atomicupdate/bug_32968.pl diff --git a/installer/data/mysql/atomicupdate/bug_32968.pl b/installer/data/mysql/atomicupdate/bug_32968.pl new file mode 100755 index 00000000000..a19d3afcf34 --- /dev/null +++ b/installer/data/mysql/atomicupdate/bug_32968.pl @@ -0,0 +1,27 @@ +use Modern::Perl; + +return { + bug_number => "32968", + description => "Create granular permissions for ERM", + up => sub { + my ($args) = @_; + my ($dbh, $out) = @$args{qw(dbh out)}; + + + $dbh->do(q{ INSERT IGNORE INTO permissions (module_bit, code, description) VALUES (28, 'erm_admin', 'Create, edit and delete all ERM related content') }); + say $out "Added new permission 'erm_admin'"; + + $dbh->do(q{ INSERT IGNORE INTO permissions (module_bit, code, description) VALUES (28, 'erm_show', 'Read-only permission for all ERM related content') }); + say $out "Added new permission 'erm_show'"; + + $dbh->do(q{ INSERT IGNORE INTO permissions (module_bit, code, description) VALUES (28, 'erm_licensing', 'Create, edit and delete licenses') }); + say $out "Added new permission 'erm_licensing'"; + + $dbh->do(q{ INSERT IGNORE INTO permissions (module_bit, code, description) VALUES (28, 'erm_agreement', 'Create, edit and delete agreements. Grants read-only access to licenses and eHoldings') }); + say $out "Added new permission 'erm_agreement'"; + + $dbh->do(q{ INSERT IGNORE INTO permissions (module_bit, code, description) VALUES (28, 'erm_eholdings', 'Create, edit and delete EHoldings local titles and local packages. Grants read-only access to agreements') }); + say $out "Added new permission 'erm_eholdings'"; + + }, +}; \ No newline at end of file diff --git a/installer/data/mysql/mandatory/userpermissions.sql b/installer/data/mysql/mandatory/userpermissions.sql index 7b6955de442..2f52e0da593 100644 --- a/installer/data/mysql/mandatory/userpermissions.sql +++ b/installer/data/mysql/mandatory/userpermissions.sql @@ -148,5 +148,10 @@ INSERT INTO permissions (module_bit, code, description) VALUES (25, 'cashup', 'Perform cash register cashup action'), (25, 'takepayment', 'Access the point of sale page and take payments'), (26, 'manage_problem_reports', 'Manage OPAC problem reports'), - (27, 'manage_recalls', 'Manage recalls for patrons') + (27, 'manage_recalls', 'Manage recalls for patrons'), + (28, 'erm_admin', 'Create, edit and delete all ERM related content'), + (28, 'erm_show', 'Read-only permission for all ERM related content'), + (28, 'erm_licensing', 'Create, edit and delete licenses'), + (28, 'erm_agreement', 'Create, edit and delete agreements. Grants read-only access to licenses and eHoldings'), + (28, 'erm_eholdings', 'Create, edit and delete EHoldings local titles and local packages. Grants read-only access to agreements') ; -- 2.30.2