[Koha-patches] [PATCH] MT2938 : Adds a permission for editing items

Henri-Damien LAURENT henridamien.laurent at biblibre.com
Tue Feb 16 22:05:15 CET 2010


This adds a granular permission : edit_items

Conflicts solved:

	cataloguing/additem.pl
	kohaversion.pl
---
 catalogue/updateitem.pl                            |    1 +
 cataloguing/additem.pl                             |    4 ++--
 .../data/mysql/en/mandatory/userpermissions.sql    |    1 +
 .../mysql/fr-FR/1-Obligatoire/userpermissions.sql  |    1 +
 installer/data/mysql/updatedatabase.pl             |    7 +++++++
 .../prog/en/modules/catalogue/moredetail.tmpl      |    2 +-
 kohaversion.pl                                     |    2 +-
 7 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/catalogue/updateitem.pl b/catalogue/updateitem.pl
index 7b0b673..f270ddf 100755
--- a/catalogue/updateitem.pl
+++ b/catalogue/updateitem.pl
@@ -57,6 +57,7 @@ for ($damaged,$itemlost,$wthdrawn) {
 # modify MARC item if input differs from items table.
 my $item_changes = {};
 if (defined $itemnotes) { # i.e., itemnotes parameter passed from form
+    my ($loggedinuser, $cookie, $sessionID) = checkauth($cgi, 0, {editcatalogue => 'edit_items'}, 'intranet');
     if ((not defined  $item_data_hashref->{'itemnotes'}) or $itemnotes ne $item_data_hashref->{'itemnotes'}) {
         $item_changes->{'itemnotes'} = $itemnotes;
     }
diff --git a/cataloguing/additem.pl b/cataloguing/additem.pl
index bf2deef..19962bf 100755
--- a/cataloguing/additem.pl
+++ b/cataloguing/additem.pl
@@ -80,11 +80,11 @@ my $frameworkcode = &GetFrameworkCode($biblionumber);
 # Defining which userflag is needing according to the framework currently used
 my $userflags;
 if (defined $input->param('frameworkcode')) {
-    $userflags = ($input->param('frameworkcode') eq 'FA') ? "fast_cataloging" : "edit_catalogue";
+    $userflags = ($input->param('frameworkcode') eq 'FA') ? "fast_cataloging" : "edit_items";
 }
 
 if (not defined $userflags) {
-    $userflags = ($frameworkcode eq 'FA') ? "fast_cataloging" : "edit_catalogue";
+    $userflags = ($frameworkcode eq 'FA') ? "fast_cataloging" : "edit_items";
 }
 
 my ($template, $loggedinuser, $cookie)
diff --git a/installer/data/mysql/en/mandatory/userpermissions.sql b/installer/data/mysql/en/mandatory/userpermissions.sql
index fc9f305..b07b0ad 100644
--- a/installer/data/mysql/en/mandatory/userpermissions.sql
+++ b/installer/data/mysql/en/mandatory/userpermissions.sql
@@ -3,6 +3,7 @@ INSERT INTO permissions (module_bit, code, description) VALUES
    ( 1, 'override_renewals', 'Override blocked renewals'),
    ( 9, 'edit_catalogue', 'Edit catalog (Modify bibliographic/holdings data)'),
    ( 9, 'fast_cataloging', 'Fast cataloging'),
+   ( 9, 'edit_items', 'Edit Items'),
    (11, 'vendors_manage', 'Manage vendors'),
    (11, 'contracts_manage', 'Manage contracts'),
    (11, 'period_manage', 'Manage periods'),
diff --git a/installer/data/mysql/fr-FR/1-Obligatoire/userpermissions.sql b/installer/data/mysql/fr-FR/1-Obligatoire/userpermissions.sql
index 4e1902d..3111d2d 100644
--- a/installer/data/mysql/fr-FR/1-Obligatoire/userpermissions.sql
+++ b/installer/data/mysql/fr-FR/1-Obligatoire/userpermissions.sql
@@ -2,6 +2,7 @@ INSERT INTO permissions (module_bit, code, description) VALUES
    ( 1, 'circulate_remaining_permissions', 'Remaining circulation permissions'),
    ( 1, 'override_renewals', 'Override blocked renewals'),
    ( 9, 'edit_catalogue', 'Editer le  catalogue'),
+   ( 9, 'edit_items', 'Editer les exemplaires'),
    ( 9, 'fast_cataloging', 'Catalogage rapide'),
    (13, 'edit_news', 'Write news for the OPAC and staff interfaces'),
    (13, 'label_creator', 'Create printable labels and barcodes from catalog and patron data'),
diff --git a/installer/data/mysql/updatedatabase.pl b/installer/data/mysql/updatedatabase.pl
index 52a341a..44fbe97 100755
--- a/installer/data/mysql/updatedatabase.pl
+++ b/installer/data/mysql/updatedatabase.pl
@@ -3445,6 +3445,13 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
     SetVersion ($DBversion);
 }
 
+$DBversion = '3.01.00.118';
+if (C4::Context->preference('Version') < TransformToNum($DBversion)){
+    $dbh->do("INSERT INTO `permissions` (`module_bit` , `code` , `description`) VALUES ('9', 'edit_items', 'Edit items');");
+    print "Upgrade to $DBversion done (Added 'Edit Items' permission)\n";
+    SetVersion ($DBversion);
+}
+
 $DBversion = '3.02.00.015';
 if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
     $dbh->do('ALTER TABLE `categories` ADD COLUMN `enrolmentperioddate` DATE NULL DEFAULT NULL AFTER `enrolmentperiod`');
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/moredetail.tmpl b/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/moredetail.tmpl
index 72c9b0b..7088203 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/moredetail.tmpl
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/moredetail.tmpl
@@ -163,7 +163,7 @@
 		<!-- TMPL_IF NAME="card2" --><li><span class="label">Previous Borrower:</span> <a href="/cgi-bin/koha/circ/circulation.pl?borrowernumber=<!-- TMPL_VAR NAME="borrower2" -->"><!-- TMPL_VAR NAME="card2" --></a>&nbsp;</li><!-- /TMPL_IF -->
                 <li><span class="label">Paid for?:</span> <!-- TMPL_VAR NAME="paidfor" -->&nbsp;</li>
             <li><span class="label">Public Note:</span>
-                <!-- TMPL_IF NAME="CAN_user_circulate" -->
+                <!-- TMPL_IF NAME="CAN_user_editcatalogue_edit_items" -->
               <form class="inline" action="updateitem.pl" method="post"><input type="hidden" name="biblionumber" value="<!-- TMPL_VAR Name="biblionumber" -->" />
                     <input type="hidden" name="biblioitemnumber" value="<!-- TMPL_VAR Name="biblioitemnumber" -->" /><input type="hidden" name="itemnumber" value="<!-- TMPL_VAR Name="itemnumber" -->" />
                     <textarea name="itemnotes" rows="2" cols="30"><!-- TMPL_VAR NAME="itemnotes" --></textarea><input type="submit" name="submit" class="submit" value="Update" />
diff --git a/kohaversion.pl b/kohaversion.pl
index 9fc1a85..0af7061 100644
--- a/kohaversion.pl
+++ b/kohaversion.pl
@@ -10,7 +10,7 @@
 use strict;
 
 sub kohaversion {
-    our $VERSION = '3.01.00.117';
+    our $VERSION = '3.01.00.118';
     # version needs to be set this way
     # so that it can be picked up by Makefile.PL
     # during install
-- 
1.6.3.3




More information about the Koha-patches mailing list