@@ -, +, @@
---
cataloguing/addbiblio.pl | 2 +-
cataloguing/editor.pl | 7 ++++++-
.../bug20128_add_permission_for_advanced_editor.perl | 16 ++++++++++++++++
koha-tmpl/intranet-tmpl/prog/en/includes/permissions.inc | 5 +++++
.../prog/en/modules/cataloguing/addbiblio.tt | 2 +-
.../prog/en/modules/cataloguing/addbooks.tt | 2 +-
6 files changed, 30 insertions(+), 4 deletions(-)
create mode 100644 installer/data/mysql/atomicupdate/bug20128_add_permission_for_advanced_editor.perl
--- a/cataloguing/addbiblio.pl
+++ a/cataloguing/addbiblio.pl
@@ -734,7 +734,7 @@ if ($frameworkcode eq 'FA'){
'stickyduedate' => $fa_stickyduedate,
'duedatespec' => $fa_duedatespec,
);
-} elsif ( $op ne "delete" && C4::Context->preference('EnableAdvancedCatalogingEditor') && $input->cookie( 'catalogue_editor_' . $loggedinuser ) eq 'advanced' && !$breedingid ) {
+} elsif ( $op ne "delete" && C4::Context->preference('EnableAdvancedCatalogingEditor') && C4::Auth::haspermission($loggedinuser,{'editcatalogue'=>'advanced_editor'}) && $input->cookie( 'catalogue_editor_' . $loggedinuser ) eq 'advanced' && !$breedingid ) {
# Only use the advanced editor for non-fast-cataloging.
# breedingid is not handled because those would only come off a Z39.50
# search initiated by the basic editor.
--- a/cataloguing/editor.pl
+++ a/cataloguing/editor.pl
@@ -40,7 +40,12 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
query => $input,
type => 'intranet',
authnotrequired => 0,
- flagsrequired => { editcatalogue => 'edit_catalogue' },
+ flagsrequired => {
+ editcatalogue => {
+ 'edit_catalogue' => 1,
+ 'advanced_editor' => 1
+ },
+ }
}
);
--- a/installer/data/mysql/atomicupdate/bug20128_add_permission_for_advanced_editor.perl
+++ a/installer/data/mysql/atomicupdate/bug20128_add_permission_for_advanced_editor.perl
@@ -0,0 +1,16 @@
+$DBversion = 'XXX';
+if( CheckVersion( $DBversion ) ) {
+ $dbh->do(q{
+ INSERT IGNORE permissions (module_bit, code, description)
+ VALUES
+ (9,'advanced_editor','Use the advanced cataloging editor')
+ });
+ if( C4::Context->preference('EnableAdvancedCatalogingEditor') ){
+ $dbh->do(q{
+ INSERT INTO user_permissions (borrowernumber, module_bit, code)
+ SELECT borrowernumber, 9, 'advanced_editor' FROM borrowers WHERE borrowernumber IN (SELECT DISTINCT borrowernumber FROM user_permissions WHERE code = 'edit_catalogue');
+ });
+ }
+ SetVersion( $DBversion );
+ print "Upgrade to $DBversion done (Bug 20128: Add permission for Advanced Cataloging Editor)\n";
+}
--- a/koha-tmpl/intranet-tmpl/prog/en/includes/permissions.inc
+++ a/koha-tmpl/intranet-tmpl/prog/en/includes/permissions.inc
@@ -271,6 +271,11 @@
Edit catalog (Modify bibliographic/holdings data)
([% name | html %])
+ [%- CASE 'advanced_editor' -%]
+
+ Use the advanced cataloging editor (requires edit_catalogue)
+
+ ([% name | html %])
[%- CASE 'edit_items' -%]
Edit items
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/addbiblio.tt
+++ a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/addbiblio.tt
@@ -511,7 +511,7 @@ function Changefwk() {