[Koha-patches] [PATCH] bug_8083: parameters subpermissions: manage_circ_rules and parameters_remaining_permissions

Srdjan srdjan at catalyst.net.nz
Tue May 22 07:58:18 CEST 2012


---
 admin/admin-home.pl                                |    2 +-
 admin/auth_subfields_structure.pl                  |    2 +-
 admin/auth_tag_structure.pl                        |    2 +-
 admin/authorised_values.pl                         |    2 +-
 admin/authtypes.pl                                 |    2 +-
 admin/biblio_framework.pl                          |    2 +-
 admin/branches.pl                                  |    2 +-
 admin/categorie.pl                                 |    2 +-
 admin/checkmarc.pl                                 |    2 +-
 admin/cities.pl                                    |    2 +-
 admin/classsources.pl                              |    2 +-
 admin/clone-rules.pl                               |    2 +-
 admin/currency.pl                                  |    2 +-
 admin/env_tz_test.pl                               |    2 +-
 admin/fieldmapping.pl                              |    2 +-
 admin/item_circulation_alerts.pl                   |    2 +-
 admin/itemtypes.pl                                 |    2 +-
 admin/koha2marclinks.pl                            |    2 +-
 admin/marc_subfields_structure.pl                  |    2 +-
 admin/marctagstructure.pl                          |    2 +-
 admin/matching-rules.pl                            |    2 +-
 admin/oai_set_mappings.pl                          |    2 +-
 admin/oai_sets.pl                                  |    2 +-
 admin/patron-attr-types.pl                         |    2 +-
 admin/preferences.pl                               |    2 +-
 admin/printers.pl                                  |    2 +-
 admin/roadtype.pl                                  |    2 +-
 admin/smart-rules.pl                               |    2 +-
 admin/stopwords.pl                                 |    2 +-
 admin/systempreferences.pl                         |    2 +-
 admin/z3950servers.pl                              |    2 +-
 .../data/mysql/de-DE/mandatory/userpermissions.sql |    2 ++
 .../data/mysql/en/mandatory/userpermissions.sql    |    2 ++
 .../data/mysql/es-ES/mandatory/userpermissions.sql |    2 ++
 .../mysql/fr-FR/1-Obligatoire/userpermissions.sql  |    2 ++
 .../data/mysql/it-IT/necessari/userpermissions.sql |    2 ++
 .../mysql/nb-NO/1-Obligatorisk/userpermissions.sql |    2 ++
 .../data/mysql/pl-PL/mandatory/userpermissions.sql |    2 ++
 .../ru-RU/mandatory/permissions_and_user_flags.sql |    2 ++
 .../uk-UA/mandatory/permissions_and_user_flags.sql |    2 ++
 installer/data/mysql/updatedatabase.pl             |   18 ++++++++++++++++++
 .../prog/en/modules/admin/admin-home.tt            |    2 ++
 42 files changed, 69 insertions(+), 31 deletions(-)

diff --git a/admin/admin-home.pl b/admin/admin-home.pl
index ad7a897..2d60b0a 100755
--- a/admin/admin-home.pl
+++ b/admin/admin-home.pl
@@ -30,7 +30,7 @@ my ($template, $loggedinuser, $cookie)
 			     query => $query,
 			     type => "intranet",
 			     authnotrequired => 0,
-			     flagsrequired => {parameters => 1},
+			     flagsrequired => {parameters => '*'},
 			     debug => 1,
 			     });
 
diff --git a/admin/auth_subfields_structure.pl b/admin/auth_subfields_structure.pl
index 432d496..537f0ea 100755
--- a/admin/auth_subfields_structure.pl
+++ b/admin/auth_subfields_structure.pl
@@ -57,7 +57,7 @@ my ($template, $borrowernumber, $cookie) = get_template_and_user(
         query           => $input,
         type            => "intranet",
         authnotrequired => 0,
-        flagsrequired   => { parameters => 1 },
+        flagsrequired   => { parameters => 'parameters_remaining_permissions' },
         debug           => 1,
     }
 );
diff --git a/admin/auth_tag_structure.pl b/admin/auth_tag_structure.pl
index bd3dc93..587b27f 100755
--- a/admin/auth_tag_structure.pl
+++ b/admin/auth_tag_structure.pl
@@ -50,7 +50,7 @@ my ($template, $loggedinuser, $cookie)
 			     query => $input,
 			     type => "intranet",
 			     authnotrequired => 0,
-			     flagsrequired => {parameters => 1},
+			     flagsrequired => {parameters => 'parameters_remaining_permissions'},
 			     debug => 1,
 			     });
 
diff --git a/admin/authorised_values.pl b/admin/authorised_values.pl
index 1545f0e..949e488 100755
--- a/admin/authorised_values.pl
+++ b/admin/authorised_values.pl
@@ -55,7 +55,7 @@ our $dbh = C4::Context->dbh;
 our ($template, $borrowernumber, $cookie)= get_template_and_user({
     template_name => "admin/authorised_values.tmpl",
     authnotrequired => 0,
-    flagsrequired => {parameters => 1},
+    flagsrequired => {parameters => 'parameters_remaining_permissions'},
     query => $input,
     type => "intranet",
     debug => 1,
diff --git a/admin/authtypes.pl b/admin/authtypes.pl
index 250a89c..9869372 100755
--- a/admin/authtypes.pl
+++ b/admin/authtypes.pl
@@ -45,7 +45,7 @@ my ($template, $borrowernumber, $cookie)
                 query => $input,
                 type => "intranet",
                 authnotrequired => 0,
-                flagsrequired => {parameters => 1},
+                flagsrequired => {parameters => 'parameters_remaining_permissions'},
                 debug => 1,
                 });
 
diff --git a/admin/biblio_framework.pl b/admin/biblio_framework.pl
index f2c147e..e2130cf 100755
--- a/admin/biblio_framework.pl
+++ b/admin/biblio_framework.pl
@@ -47,7 +47,7 @@ my ($template, $borrowernumber, $cookie)
 			     query => $input,
 			     type => "intranet",
 			     authnotrequired => 0,
-			     flagsrequired => {parameters => 1},
+			     flagsrequired => {parameters => 'parameters_remaining_permissions'},
 			     debug => 1,
 			     });
 
diff --git a/admin/branches.pl b/admin/branches.pl
index c12762d..d172ea6 100755
--- a/admin/branches.pl
+++ b/admin/branches.pl
@@ -63,7 +63,7 @@ my ( $template, $borrowernumber, $cookie ) = get_template_and_user(
         query           => $input,
         type            => "intranet",
         authnotrequired => 0,
-        flagsrequired   => { parameters => 1},
+        flagsrequired   => { parameters => 'parameters_remaining_permissions'},
         debug           => 1,
     }
 );
diff --git a/admin/categorie.pl b/admin/categorie.pl
index 521346b..51e736a 100755
--- a/admin/categorie.pl
+++ b/admin/categorie.pl
@@ -73,7 +73,7 @@ my ($template, $loggedinuser, $cookie)
 			     query => $input,
 			     type => "intranet",
 			     authnotrequired => 0,
-			     flagsrequired => {parameters => 1},
+			     flagsrequired => {parameters => 'parameters_remaining_permissions'},
 			     debug => 1,
 			     });
 
diff --git a/admin/checkmarc.pl b/admin/checkmarc.pl
index e08796f..8523b02 100755
--- a/admin/checkmarc.pl
+++ b/admin/checkmarc.pl
@@ -34,7 +34,7 @@ my ($template, $borrowernumber, $cookie)
 			     query => $input,
 			     type => "intranet",
 			     authnotrequired => 0,
-			     flagsrequired => {parameters => 1},
+			     flagsrequired => {parameters => 'parameters_remaining_permissions'},
 			     debug => 1,
 			     });
 
diff --git a/admin/cities.pl b/admin/cities.pl
index 0303a48..378ceda 100755
--- a/admin/cities.pl
+++ b/admin/cities.pl
@@ -41,7 +41,7 @@ my ($template, $loggedinuser, $cookie)
 			     query => $input,
 			     type => "intranet",
 			     authnotrequired => 0,
-			     flagsrequired => {parameters => 1},
+			     flagsrequired => {parameters => 'parameters_remaining_permissions'},
 			     debug => 1,
 			     });
 
diff --git a/admin/classsources.pl b/admin/classsources.pl
index 45183cd..e7f6c9a 100755
--- a/admin/classsources.pl
+++ b/admin/classsources.pl
@@ -40,7 +40,7 @@ my ($template, $loggedinuser, $cookie)
                  query => $input,
                  type => "intranet",
                  authnotrequired => 0,
-                 flagsrequired => {parameters => 1},
+                 flagsrequired => {parameters => 'parameters_remaining_permissions'},
                  debug => 1,
                  });
 
diff --git a/admin/clone-rules.pl b/admin/clone-rules.pl
index dcf4abe..c9e4665 100755
--- a/admin/clone-rules.pl
+++ b/admin/clone-rules.pl
@@ -43,7 +43,7 @@ my ($template, $loggedinuser, $cookie)
                             query => $input,
                             type => "intranet",
                             authnotrequired => 0,
-                            flagsrequired => {parameters => 1},
+                            flagsrequired => {parameters => 'parameters_remaining_permissions'},
                             debug => 1,
                             });
 
diff --git a/admin/currency.pl b/admin/currency.pl
index e24f6b6..aa878fd 100755
--- a/admin/currency.pl
+++ b/admin/currency.pl
@@ -57,7 +57,7 @@ our ($template, $loggedinuser, $cookie) = get_template_and_user({
     template_name => 'admin/currency.tmpl',
     query => $input,
     type => 'intranet',
-    flagsrequired => {parameters => 1},
+    flagsrequired => {parameters => 'parameters_remaining_permissions'},
     authnotrequired => 0,
 });
 
diff --git a/admin/env_tz_test.pl b/admin/env_tz_test.pl
index 5bd5cd7..876e546 100755
--- a/admin/env_tz_test.pl
+++ b/admin/env_tz_test.pl
@@ -14,7 +14,7 @@ my ($template, $loggedinuser, $cookie) = get_template_and_user({
 			   query => $q,
 			 	type => "intranet",
 	 authnotrequired => 0,
- 	   flagsrequired => {parameters => 1},
+ 	   flagsrequired => {parameters => 'parameters_remaining_permissions'},
 		       debug => 1,
 });
 
diff --git a/admin/fieldmapping.pl b/admin/fieldmapping.pl
index f7eca3c..2856e70 100755
--- a/admin/fieldmapping.pl
+++ b/admin/fieldmapping.pl
@@ -39,7 +39,7 @@ my ($template, $loggedinuser, $cookie)
 			     query => $query,
 			     type => "intranet",
 			     authnotrequired => 0,
-			     flagsrequired => {parameters => 1},
+			     flagsrequired => {parameters => 'parameters_remaining_permissions'},
 			     debug => 1,
 			     });
 
diff --git a/admin/item_circulation_alerts.pl b/admin/item_circulation_alerts.pl
index ee77ae8..2bfb496 100755
--- a/admin/item_circulation_alerts.pl
+++ b/admin/item_circulation_alerts.pl
@@ -65,7 +65,7 @@ sub show {
             query           => $input,
             type            => "intranet",
             authnotrequired => 0,
-            flagsrequired   => { parameters => 1 },
+            flagsrequired   => { parameters => 'parameters_remaining_permissions' },
             debug           => defined($input->param('debug')),
         }
     );
diff --git a/admin/itemtypes.pl b/admin/itemtypes.pl
index 3219da3..841672d 100755
--- a/admin/itemtypes.pl
+++ b/admin/itemtypes.pl
@@ -77,7 +77,7 @@ my ( $template, $borrowernumber, $cookie ) = get_template_and_user(
         query           => $input,
         type            => "intranet",
         authnotrequired => 0,
-        flagsrequired   => { parameters => 1 },
+        flagsrequired   => { parameters => 'parameters_remaining_permissions' },
         debug           => 1,
     }
 );
diff --git a/admin/koha2marclinks.pl b/admin/koha2marclinks.pl
index a89681d..fc320ad 100755
--- a/admin/koha2marclinks.pl
+++ b/admin/koha2marclinks.pl
@@ -39,7 +39,7 @@ my ( $template, $borrowernumber, $cookie ) = get_template_and_user (
         query           => $input,
         type            => "intranet",
         authnotrequired => 0,
-        flagsrequired   => { parameters => 1 },
+        flagsrequired   => { parameters => 'parameters_remaining_permissions' },
         debug           => 1,
     }
 );
diff --git a/admin/marc_subfields_structure.pl b/admin/marc_subfields_structure.pl
index bc6636a..365a861 100755
--- a/admin/marc_subfields_structure.pl
+++ b/admin/marc_subfields_structure.pl
@@ -72,7 +72,7 @@ my ( $template, $borrowernumber, $cookie ) = get_template_and_user(
         query           => $input,
         type            => "intranet",
         authnotrequired => 0,
-        flagsrequired   => { parameters => 1 },
+        flagsrequired   => { parameters => 'parameters_remaining_permissions' },
         debug           => 1,
     }
 );
diff --git a/admin/marctagstructure.pl b/admin/marctagstructure.pl
index a86d788..2d7d913 100755
--- a/admin/marctagstructure.pl
+++ b/admin/marctagstructure.pl
@@ -52,7 +52,7 @@ my ($template, $loggedinuser, $cookie)
 			     query => $input,
 			     type => "intranet",
 			     authnotrequired => 0,
-			     flagsrequired => {parameters => 1},
+			     flagsrequired => {parameters => 'parameters_remaining_permissions'},
 			     debug => 1,
 			     });
 
diff --git a/admin/matching-rules.pl b/admin/matching-rules.pl
index b167026..2fa2ac6 100755
--- a/admin/matching-rules.pl
+++ b/admin/matching-rules.pl
@@ -39,7 +39,7 @@ my ($template, $loggedinuser, $cookie)
                  query => $input,
                  type => "intranet",
                  authnotrequired => 0,
-                 flagsrequired => {parameters => 1},
+                 flagsrequired => {parameters => 'parameters_remaining_permissions'},
                  debug => 1,
                  });
 
diff --git a/admin/oai_set_mappings.pl b/admin/oai_set_mappings.pl
index 4d570f9..1a9762c 100755
--- a/admin/oai_set_mappings.pl
+++ b/admin/oai_set_mappings.pl
@@ -45,7 +45,7 @@ my ($template, $loggedinuser, $cookie, $flags) = get_template_and_user( {
     query           => $input,
     type            => 'intranet',
     authnotrequired => 0,
-    flagsrequired   => { 'parameters' => '*' },
+    flagsrequired   => { 'parameters' => 'parameters_remaining_permissions' },
     debug           => 1,
 } );
 
diff --git a/admin/oai_sets.pl b/admin/oai_sets.pl
index a826107..c923e87 100755
--- a/admin/oai_sets.pl
+++ b/admin/oai_sets.pl
@@ -41,7 +41,7 @@ my ($template, $loggedinuser, $cookie, $flags) = get_template_and_user( {
     query           => $input,
     type            => 'intranet',
     authnotrequired => 0,
-    flagsrequired   => { 'parameters' => '*' },
+    flagsrequired   => { 'parameters' => 'parameters_remaining_permissions' },
     debug           => 1,
 } );
 
diff --git a/admin/patron-attr-types.pl b/admin/patron-attr-types.pl
index 638456e..c0ad1f7 100755
--- a/admin/patron-attr-types.pl
+++ b/admin/patron-attr-types.pl
@@ -42,7 +42,7 @@ our ($template, $loggedinuser, $cookie)
                  query => $input,
                  type => "intranet",
                  authnotrequired => 0,
-                 flagsrequired => {parameters => 1},
+                 flagsrequired => {parameters => 'parameters_remaining_permissions'},
                  debug => 1,
                  });
 
diff --git a/admin/preferences.pl b/admin/preferences.pl
index 0dcec19..b1ad005 100755
--- a/admin/preferences.pl
+++ b/admin/preferences.pl
@@ -261,7 +261,7 @@ my ( $template, $borrowernumber, $cookie ) = get_template_and_user(
         query           => $input,
         type            => "intranet",
         authnotrequired => 0,
-        flagsrequired   => { parameters => 1 },
+        flagsrequired   => { parameters => 'parameters_remaining_permissions' },
         debug           => 1,
     }
 );
diff --git a/admin/printers.pl b/admin/printers.pl
index c32b4e6..79c9949 100755
--- a/admin/printers.pl
+++ b/admin/printers.pl
@@ -72,7 +72,7 @@ my ($template, $loggedinuser, $cookie) = get_template_and_user({
 			   query => $input,
 			 	type => "intranet",
 	 authnotrequired => 0,
- 	   flagsrequired => {parameters => 1},
+ 	   flagsrequired => {parameters => 'parameters_remaining_permissions'},
 		       debug => 1,
 });
 
diff --git a/admin/roadtype.pl b/admin/roadtype.pl
index a756594..a75c0dc 100755
--- a/admin/roadtype.pl
+++ b/admin/roadtype.pl
@@ -43,7 +43,7 @@ my ($template, $loggedinuser, $cookie)
 			     query => $input,
 			     type => "intranet",
 			     authnotrequired => 0,
-			     flagsrequired => {parameters => 1},
+			     flagsrequired => {parameters => 'parameters_remaining_permissions'},
 			     debug => 1,
 			     });
 
diff --git a/admin/smart-rules.pl b/admin/smart-rules.pl
index 8e5a2d5..cb35214 100755
--- a/admin/smart-rules.pl
+++ b/admin/smart-rules.pl
@@ -38,7 +38,7 @@ my ($template, $loggedinuser, $cookie)
                             query => $input,
                             type => "intranet",
                             authnotrequired => 0,
-                            flagsrequired => {parameters => 1},
+                            flagsrequired => {parameters => 'manage_circ_rules'},
                             debug => 1,
                             });
 
diff --git a/admin/stopwords.pl b/admin/stopwords.pl
index 7a24af7..a64745f 100755
--- a/admin/stopwords.pl
+++ b/admin/stopwords.pl
@@ -48,7 +48,7 @@ my ($template, $loggedinuser, $cookie)
     = get_template_and_user({template_name => "admin/stopwords.tmpl",
     query => $input,
     type => "intranet",
-    flagsrequired => {parameters => 1},
+    flagsrequired => {parameters => 'parameters_remaining_permissions'},
     authnotrequired => 0,
     debug => 1,
     });
diff --git a/admin/systempreferences.pl b/admin/systempreferences.pl
index 5e3848d..078f5e8 100755
--- a/admin/systempreferences.pl
+++ b/admin/systempreferences.pl
@@ -592,7 +592,7 @@ my ( $template, $borrowernumber, $cookie ) = get_template_and_user(
         query           => $input,
         type            => "intranet",
         authnotrequired => 0,
-        flagsrequired   => { parameters => 1 },
+        flagsrequired   => { parameters => 'parameters_remaining_permissions' },
         debug           => 1,
     }
 );
diff --git a/admin/z3950servers.pl b/admin/z3950servers.pl
index 3bc0ef2..8d5ebdc 100755
--- a/admin/z3950servers.pl
+++ b/admin/z3950servers.pl
@@ -75,7 +75,7 @@ my ($template, $loggedinuser, $cookie)
 				query => $input,
 				type => "intranet",
 				authnotrequired => 0,
-				flagsrequired => {parameters => 1},
+				flagsrequired => {parameters => 'parameters_remaining_permissions'},
 				debug => 1,
 				});
 
diff --git a/installer/data/mysql/de-DE/mandatory/userpermissions.sql b/installer/data/mysql/de-DE/mandatory/userpermissions.sql
index 254e090..31bfc51 100644
--- a/installer/data/mysql/de-DE/mandatory/userpermissions.sql
+++ b/installer/data/mysql/de-DE/mandatory/userpermissions.sql
@@ -1,6 +1,8 @@
 INSERT INTO permissions (module_bit, code, description) VALUES
    ( 1, 'circulate_remaining_permissions', 'Übrige Ausleihberechtigungen'),
    ( 1, 'override_renewals', 'Gesperrte Verlängerungen überschreiben'),
+   ( 3, 'parameters_remaining_permissions', 'Remaining system parameters permissions'),
+   ( 3, 'manage_circ_rules', 'manage circulation rules'),
    ( 6, 'place_holds', 'Vormerkungen für Benutzer setzen'),
    ( 6, 'modify_holds_priority', 'Vormerkungspriorität verändern'),
    ( 9, 'edit_catalogue', 'Katalogdaten bearbeiten (Titel- und Exemplardaten ändern)'),
diff --git a/installer/data/mysql/en/mandatory/userpermissions.sql b/installer/data/mysql/en/mandatory/userpermissions.sql
index da61f69..e6845e8 100644
--- a/installer/data/mysql/en/mandatory/userpermissions.sql
+++ b/installer/data/mysql/en/mandatory/userpermissions.sql
@@ -1,6 +1,8 @@
 INSERT INTO permissions (module_bit, code, description) VALUES
    ( 1, 'circulate_remaining_permissions', 'Remaining circulation permissions'),
    ( 1, 'override_renewals', 'Override blocked renewals'),
+   ( 3, 'parameters_remaining_permissions', 'Remaining system parameters permissions'),
+   ( 3, 'manage_circ_rules', 'manage circulation rules'),
    ( 6, 'place_holds', 'Place holds for patrons'),
    ( 6, 'modify_holds_priority', 'Modify holds priority'),
    ( 9, 'edit_catalogue', 'Edit catalog (Modify bibliographic/holdings data)'),
diff --git a/installer/data/mysql/es-ES/mandatory/userpermissions.sql b/installer/data/mysql/es-ES/mandatory/userpermissions.sql
index da61f69..e6845e8 100644
--- a/installer/data/mysql/es-ES/mandatory/userpermissions.sql
+++ b/installer/data/mysql/es-ES/mandatory/userpermissions.sql
@@ -1,6 +1,8 @@
 INSERT INTO permissions (module_bit, code, description) VALUES
    ( 1, 'circulate_remaining_permissions', 'Remaining circulation permissions'),
    ( 1, 'override_renewals', 'Override blocked renewals'),
+   ( 3, 'parameters_remaining_permissions', 'Remaining system parameters permissions'),
+   ( 3, 'manage_circ_rules', 'manage circulation rules'),
    ( 6, 'place_holds', 'Place holds for patrons'),
    ( 6, 'modify_holds_priority', 'Modify holds priority'),
    ( 9, 'edit_catalogue', 'Edit catalog (Modify bibliographic/holdings data)'),
diff --git a/installer/data/mysql/fr-FR/1-Obligatoire/userpermissions.sql b/installer/data/mysql/fr-FR/1-Obligatoire/userpermissions.sql
index 7a30f82..af84897 100644
--- a/installer/data/mysql/fr-FR/1-Obligatoire/userpermissions.sql
+++ b/installer/data/mysql/fr-FR/1-Obligatoire/userpermissions.sql
@@ -1,6 +1,8 @@
 INSERT INTO permissions (module_bit, code, description) VALUES
    ( 1, 'circulate_remaining_permissions', 'Fonctions de circulation restantes'),
    ( 1, 'override_renewals', 'Outrepasser les limites de renouvellement'),
+   ( 3, 'parameters_remaining_permissions', 'Remaining system parameters permissions'),
+   ( 3, 'manage_circ_rules', 'manage circulation rules'),
    ( 6, 'place_holds', 'Réserver pour des adhérents'),
    ( 6, 'modify_holds_priority', 'Modifier la priorité des réservations'),
    ( 9, 'edit_catalogue', 'Ajouter et modifier des notices au catalogue'),
diff --git a/installer/data/mysql/it-IT/necessari/userpermissions.sql b/installer/data/mysql/it-IT/necessari/userpermissions.sql
index 0e12644..99929be 100644
--- a/installer/data/mysql/it-IT/necessari/userpermissions.sql
+++ b/installer/data/mysql/it-IT/necessari/userpermissions.sql
@@ -3,6 +3,8 @@ SET FOREIGN_KEY_CHECKS=0;
 INSERT INTO permissions (module_bit, code, description) VALUES
    ( 1, 'circulate_remaining_permissions', 'Permessi rimanenti per la circolazione'),
    ( 1, 'override_renewals', 'Sblocca i rinnovi bloccati'),
+   ( 3, 'parameters_remaining_permissions', 'Remaining system parameters permissions'),
+   ( 3, 'manage_circ_rules', 'manage circulation rules'),
    ( 6, 'place_holds', 'Fai prenotazioni per gli utenti'),
    ( 6, 'modify_holds_priority', 'Modifica priorità prenotazioni'),
    ( 9, 'edit_catalogue', 'Cataloga (crea/modifica dati bibliografici e di copia)'),
diff --git a/installer/data/mysql/nb-NO/1-Obligatorisk/userpermissions.sql b/installer/data/mysql/nb-NO/1-Obligatorisk/userpermissions.sql
index f10af31..c43ddc9 100644
--- a/installer/data/mysql/nb-NO/1-Obligatorisk/userpermissions.sql
+++ b/installer/data/mysql/nb-NO/1-Obligatorisk/userpermissions.sql
@@ -22,6 +22,8 @@
 INSERT INTO permissions (module_bit, code, description) VALUES
    ( 1, 'circulate_remaining_permissions', 'Øvrige rettigheter for sirkulasjon'),
    ( 1, 'override_renewals', 'Overstyre blokkerte fornyinger'),
+   ( 3, 'parameters_remaining_permissions', 'Remaining system parameters permissions'),
+   ( 3, 'manage_circ_rules', 'manage circulation rules'),
    ( 6, 'place_holds', 'Foreta reservering for lånere'),
    ( 6, 'modify_holds_priority', 'Endre rekkefølge på reserveringer'),
    ( 9, 'edit_catalogue', 'Endre katalogen (Endre bibliografiske poster og eksemplaropplysninger)'),
diff --git a/installer/data/mysql/pl-PL/mandatory/userpermissions.sql b/installer/data/mysql/pl-PL/mandatory/userpermissions.sql
index a46ddfe..f123edd 100644
--- a/installer/data/mysql/pl-PL/mandatory/userpermissions.sql
+++ b/installer/data/mysql/pl-PL/mandatory/userpermissions.sql
@@ -1,6 +1,8 @@
 INSERT INTO permissions (module_bit, code, description) VALUES
    ( 1, 'circulate_remaining_permissions', 'Remaining circulation permissions'),
    ( 1, 'override_renewals', 'Override blocked renewals'),
+   ( 3, 'parameters_remaining_permissions', 'Remaining system parameters permissions'),
+   ( 3, 'manage_circ_rules', 'manage circulation rules'),
    ( 6, 'place_holds', 'Place holds for patrons'),
    ( 6, 'modify_holds_priority', 'Modify holds priority'),
    ( 9, 'edit_catalogue', 'Edit catalogue'),
diff --git a/installer/data/mysql/ru-RU/mandatory/permissions_and_user_flags.sql b/installer/data/mysql/ru-RU/mandatory/permissions_and_user_flags.sql
index d948863..c2af6e8 100644
--- a/installer/data/mysql/ru-RU/mandatory/permissions_and_user_flags.sql
+++ b/installer/data/mysql/ru-RU/mandatory/permissions_and_user_flags.sql
@@ -25,6 +25,8 @@ TRUNCATE permissions;
 INSERT INTO permissions (module_bit, code, description) VALUES
    ( 1, 'circulate_remaining_permissions', 'Remaining circulation permissions'),
    ( 1, 'override_renewals', 'Override blocked renewals'),
+   ( 3, 'parameters_remaining_permissions', 'Remaining system parameters permissions'),
+   ( 3, 'manage_circ_rules', 'manage circulation rules'),
    ( 6, 'place_holds', 'Place holds for patrons'),
    ( 6, 'modify_holds_priority', 'Modify holds priority'),
    ( 9, 'edit_catalogue', 'Edit catalog (Modify bibliographic/holdings data)'),
diff --git a/installer/data/mysql/uk-UA/mandatory/permissions_and_user_flags.sql b/installer/data/mysql/uk-UA/mandatory/permissions_and_user_flags.sql
index 53368b6..5dad109 100644
--- a/installer/data/mysql/uk-UA/mandatory/permissions_and_user_flags.sql
+++ b/installer/data/mysql/uk-UA/mandatory/permissions_and_user_flags.sql
@@ -25,6 +25,8 @@ TRUNCATE permissions;
 INSERT INTO permissions (module_bit, code, description) VALUES
    ( 1, 'circulate_remaining_permissions', 'Remaining circulation permissions'),
    ( 1, 'override_renewals', 'Override blocked renewals'),
+   ( 3, 'parameters_remaining_permissions', 'Remaining system parameters permissions'),
+   ( 3, 'manage_circ_rules', 'manage circulation rules'),
    ( 6, 'place_holds', 'Place holds for patrons'),
    ( 6, 'modify_holds_priority', 'Modify holds priority'),
    ( 9, 'edit_catalogue', 'Edit catalog (Modify bibliographic/holdings data)'),
diff --git a/installer/data/mysql/updatedatabase.pl b/installer/data/mysql/updatedatabase.pl
index 38aa70c..b611f88 100755
--- a/installer/data/mysql/updatedatabase.pl
+++ b/installer/data/mysql/updatedatabase.pl
@@ -5246,6 +5246,24 @@ if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
     SetVersion($DBversion);
 }
 
+
+
+
+$DBversion = "3.09.00.XXX";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+    $dbh->do("INSERT INTO permissions (module_bit, code, description) VALUES
+        ( 3, 'parameters_remaining_permissions', 'Remaining system parameters permissions'),
+        ( 3, 'manage_circ_rules', 'manage circulation rules')");
+    $dbh->do("INSERT INTO user_permissions (borrowernumber, module_bit, code)
+        SELECT borrowernumber, 3, 'parameters_remaining_permissions'
+        FROM borrowers WHERE flags & (1 << 3)");
+    $dbh->do("INSERT INTO user_permissions (borrowernumber, module_bit, code)
+        SELECT borrowernumber, 3, 'manage_circ_rules'
+        FROM borrowers WHERE flags & (1 << 3)");
+    print "Upgrade to $DBversion done (Added parameters subpermissions)\n";
+    SetVersion($DBversion);
+}
+
 =head1 FUNCTIONS
 
 =head2 TableExists($table)
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/admin-home.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/admin-home.tt
index ef46ede..1d08028 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/admin-home.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/admin-home.tt
@@ -49,8 +49,10 @@
 	<dd>Define road types (street, avenue, way, etc.). Road types display as authorized values when adding/editing patrons and can be used in geographic statistics.</dd>
 	<dt><a href="/cgi-bin/koha/admin/patron-attr-types.pl">Patron attribute types</a></dt>
 	<dd>Define extended attributes (identifiers and statistical categories) for patron records</dd>
+[% IF CAN_user_parameters_manage_circ_rules %]
 	<dt><a href="/cgi-bin/koha/admin/smart-rules.pl">Circulation and fines rules</a></dt>
 	<dd>Define circulation and fines rules for combinations of libraries, patron categories, and item types</dd>
+[% END %]
     <dt><a href="/cgi-bin/koha/admin/branch_transfer_limits.pl">Library transfer limits</a></dt>
 	<dd>Limit the ability to transfer items between libraries based on the library sending, the library receiving, and the item type involved. These rules only go into effect if the preference UseBranchTransferLimits is set to ON.</dd>
     <dt><a href="/cgi-bin/koha/admin/item_circulation_alerts.pl">Item circulation alerts</a></dt>
-- 
1.7.9.5



More information about the Koha-patches mailing list