@@ -, +, @@
---
.../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
--- a/installer/data/mysql/atomicupdate/bug_17268_add_macros_table.perl
+++ a/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";
+}
--- a/installer/data/mysql/kohastructure.sql
+++ a/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 */;
--- a/installer/data/mysql/userpermissions.sql
+++ a/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'),
--- a/koha-tmpl/intranet-tmpl/prog/en/includes/permissions.inc
+++ a/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
--