From d0d0c6e7c4f872a8d64283ed08513d3adbfbc4ae Mon Sep 17 00:00:00 2001 From: Nick Date: Wed, 2 Oct 2019 13:28:39 +0000 Subject: [PATCH] Bug 17268: Add macros table and permissions --- .../atomicupdate/bug_17268_add_macros_table.perl | 27 ++++++++++++++++++++++ installer/data/mysql/kohastructure.sql | 15 ++++++++++++ installer/data/mysql/userpermissions.sql | 2 ++ .../intranet-tmpl/prog/en/includes/permissions.inc | 10 ++++++++ 4 files changed, 54 insertions(+) create mode 100644 installer/data/mysql/atomicupdate/bug_17268_add_macros_table.perl diff --git a/installer/data/mysql/atomicupdate/bug_17268_add_macros_table.perl b/installer/data/mysql/atomicupdate/bug_17268_add_macros_table.perl new file mode 100644 index 0000000000..a090600c5a --- /dev/null +++ b/installer/data/mysql/atomicupdate/bug_17268_add_macros_table.perl @@ -0,0 +1,27 @@ +$DBversion = 'XXX'; # will be replaced by the RM +if( CheckVersion( $DBversion ) ) { + unless ( TableExists('advanced_editor_macros') ) { + $dbh->do(q| + CREATE TABLE advanced_editor_macros ( + id INT(11) NOT NULL AUTO_INCREMENT, + name varchar(80) NOT NULL, + macro longtext NULL, + borrowernumber INT(11) default NULL, + public TINYINT(1) default 0, + PRIMARY KEY (id), + CONSTRAINT borrower_macro_fk FOREIGN KEY ( borrowernumber ) REFERENCES borrowers ( borrowernumber ) ON UPDATE CASCADE ON DELETE CASCADE + ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;| + ); + } + $dbh->do(q| + INSERT IGNORE INTO permissions (module_bit, code, description) + VALUES (9, 'create_public_macros', 'Create public macros') + |); + $dbh->do(q| + INSERT IGNORE INTO permissions (module_bit, code, description) + VALUES (9, 'delete_public_macros', 'Delete public macros') + |); + + SetVersion( $DBversion ); + print "Upgrade to $DBversion done (Bug 17682 - Add macros db table and permissions)\n"; +} diff --git a/installer/data/mysql/kohastructure.sql b/installer/data/mysql/kohastructure.sql index 67495ab962..28e8bbc8ad 100644 --- a/installer/data/mysql/kohastructure.sql +++ b/installer/data/mysql/kohastructure.sql @@ -4446,6 +4446,21 @@ CREATE TABLE return_claims ( CONSTRAINT `rc_resolved_by_ibfk` FOREIGN KEY (`resolved_by`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +-- +-- Table structure for table advanced_editor_macros +-- + +DROP TABLE IF EXISTS advanced_editor_macros; +CREATE TABLE advanced_editor_macros ( + id INT(11) NOT NULL AUTO_INCREMENT, -- Unique ID of the macro + name varchar(80) NOT NULL, -- Name of the macro + macro longtext NULL, -- The macro code itself + borrowernumber INT(11) default NULL, -- ID of the borrower who created this macro + public TINYINT(1) default 0, -- Bit to define if public or private macro + PRIMARY KEY (id), + CONSTRAINT borrower_macro_fk FOREIGN KEY ( borrowernumber ) REFERENCES borrowers ( borrowernumber ) ON UPDATE CASCADE ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; diff --git a/installer/data/mysql/userpermissions.sql b/installer/data/mysql/userpermissions.sql index 085024e78c..77bcccfd39 100644 --- a/installer/data/mysql/userpermissions.sql +++ b/installer/data/mysql/userpermissions.sql @@ -40,6 +40,8 @@ INSERT INTO permissions (module_bit, code, description) VALUES ( 9, 'edit_catalogue', 'Edit catalog (Modify bibliographic/holdings data)'), ( 9, 'fast_cataloging', 'Fast cataloging'), ( 9, 'advanced_editor', 'Use the advanced cataloging editor (requires edit_catalogue)'), + ( 9, 'create_public_macros', 'Create public macros'), + ( 9, 'delete_public_macros', 'Delete public macros'), ( 9, 'edit_items', 'Edit items'), ( 9, 'edit_items_restricted', 'Limit item modification to subfields defined in the SubfieldsToAllowForRestrictedEditing preference (please note that edit_item is still required)'), ( 9, 'delete_all_items', 'Delete all items at once'), diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/permissions.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/permissions.inc index 1c0b981c98..ea5ba30f15 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/permissions.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/permissions.inc @@ -284,6 +284,16 @@ Use the advanced cataloging editor (requires edit_catalogue) ([% name | html %]) + [%- CASE 'create_public_macros' -%] + + Create public macros (requires advanced_editor) + + ([% name | html %]) + [%- CASE 'delete_public_macros' -%] + + Delete public macros (requires advanced_editor) + + ([% name | html %]) [%- CASE 'edit_items' -%] Edit items -- 2.11.0