---
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/en/mandatory/userpermissions.sql | 2 ++
installer/data/mysql/updatedatabase.pl | 18 ++++++++++++++++++
.../prog/en/modules/admin/admin-home.tt | 2 ++
34 files changed, 53 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/en/mandatory/userpermissions.sql
b/installer/data/mysql/en/mandatory/userpermissions.sql
index 873089a..4f05b15 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/updatedatabase.pl
b/installer/data/mysql/updatedatabase.pl
index 035e1e6..a251847 100755
--- a/installer/data/mysql/updatedatabase.pl
+++ b/installer/data/mysql/updatedatabase.pl
@@ -5239,6 +5239,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
_______________________________________________
Koha-patches mailing list
[email protected]
http://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-patches
website : http://www.koha-community.org/
git : http://git.koha-community.org/
bugs : http://bugs.koha-community.org/