@@ -, +, @@ --- 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(-) --- a/admin/admin-home.pl +++ a/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, }); --- a/admin/auth_subfields_structure.pl +++ a/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, } ); --- a/admin/auth_tag_structure.pl +++ a/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, }); --- a/admin/authorised_values.pl +++ a/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, --- a/admin/authtypes.pl +++ a/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, }); --- a/admin/biblio_framework.pl +++ a/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, }); --- a/admin/branches.pl +++ a/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, } ); --- a/admin/categorie.pl +++ a/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, }); --- a/admin/checkmarc.pl +++ a/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, }); --- a/admin/cities.pl +++ a/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, }); --- a/admin/classsources.pl +++ a/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, }); --- a/admin/clone-rules.pl +++ a/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, }); --- a/admin/currency.pl +++ a/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, }); --- a/admin/env_tz_test.pl +++ a/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, }); --- a/admin/fieldmapping.pl +++ a/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, }); --- a/admin/item_circulation_alerts.pl +++ a/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')), } ); --- a/admin/itemtypes.pl +++ a/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, } ); --- a/admin/koha2marclinks.pl +++ a/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, } ); --- a/admin/marc_subfields_structure.pl +++ a/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, } ); --- a/admin/marctagstructure.pl +++ a/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, }); --- a/admin/matching-rules.pl +++ a/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, }); --- a/admin/oai_set_mappings.pl +++ a/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, } ); --- a/admin/oai_sets.pl +++ a/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, } ); --- a/admin/patron-attr-types.pl +++ a/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, }); --- a/admin/preferences.pl +++ a/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, } ); --- a/admin/printers.pl +++ a/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, }); --- a/admin/roadtype.pl +++ a/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, }); --- a/admin/smart-rules.pl +++ a/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, }); --- a/admin/stopwords.pl +++ a/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, }); --- a/admin/systempreferences.pl +++ a/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, } ); --- a/admin/z3950servers.pl +++ a/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, }); --- a/installer/data/mysql/de-DE/mandatory/userpermissions.sql +++ a/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)'), --- a/installer/data/mysql/en/mandatory/userpermissions.sql +++ a/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)'), --- a/installer/data/mysql/es-ES/mandatory/userpermissions.sql +++ a/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)'), --- a/installer/data/mysql/fr-FR/1-Obligatoire/userpermissions.sql +++ a/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'), --- a/installer/data/mysql/it-IT/necessari/userpermissions.sql +++ a/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)'), --- a/installer/data/mysql/nb-NO/1-Obligatorisk/userpermissions.sql +++ a/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)'), --- a/installer/data/mysql/pl-PL/mandatory/userpermissions.sql +++ a/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'), --- a/installer/data/mysql/ru-RU/mandatory/permissions_and_user_flags.sql +++ a/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)'), --- a/installer/data/mysql/uk-UA/mandatory/permissions_and_user_flags.sql +++ a/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)'), --- a/installer/data/mysql/updatedatabase.pl +++ a/installer/data/mysql/updatedatabase.pl @@ -5459,6 +5459,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) --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/admin-home.tt +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/admin-home.tt @@ -49,8 +49,10 @@
Define road types (street, avenue, way, etc.). Road types display as authorized values when adding/editing patrons and can be used in geographic statistics.
Patron attribute types
Define extended attributes (identifiers and statistical categories) for patron records
+[% IF CAN_user_parameters_manage_circ_rules %]
Circulation and fines rules
Define circulation and fines rules for combinations of libraries, patron categories, and item types
+[% END %]
Library transfer limits
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.
Item circulation alerts
--