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

Henri-Damien LAURENT henridamien.laurent at biblibre.com
Thu May 27 22:03:36 CEST 2010


This patch adds a permission on edit_items
---
 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             |   10 ++++++++++
 .../prog/en/modules/catalogue/moredetail.tmpl      |    2 +-
 kohaversion.pl                                     |    2 +-
 7 files changed, 17 insertions(+), 4 deletions(-)

diff --git a/catalogue/updateitem.pl b/catalogue/updateitem.pl
index 3ec1fe7..01a1605 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 bd3876e..ea4daf9 100755
--- a/cataloguing/additem.pl
+++ b/cataloguing/additem.pl
@@ -81,11 +81,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 a392c14..287d9da 100644
--- a/installer/data/mysql/en/mandatory/userpermissions.sql
+++ b/installer/data/mysql/en/mandatory/userpermissions.sql
@@ -5,6 +5,7 @@ INSERT INTO permissions (module_bit, code, description) VALUES
    ( 6, 'modify_holds_priority', 'Modify holds priority'),
    ( 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 f00fa74..a300256 100644
--- a/installer/data/mysql/fr-FR/1-Obligatoire/userpermissions.sql
+++ b/installer/data/mysql/fr-FR/1-Obligatoire/userpermissions.sql
@@ -5,6 +5,7 @@ INSERT INTO permissions (module_bit, code, description) VALUES
    ( 6, 'modify_holds_priority', 'Modifier la priorité des réservations'),
    ( 9, 'edit_catalogue', 'Ajouter et modifier les notices du catalogue'),
    ( 9, 'fast_cataloging', 'Catalogage rapide'),
+   ( 9, 'edit_items', 'Modification des exemplaires'),
    (13, 'edit_news', 'Ecrire des nouvelles pour l''OPAC et l''interface professionnelle'),
    (13, 'label_creator', 'Créer des étiquettes à partir des données du catalogues et des adhérents'),
    (13, 'edit_calendar', 'Définir les jours de fermeture de la bibliothèque'),
diff --git a/installer/data/mysql/updatedatabase.pl b/installer/data/mysql/updatedatabase.pl
index 53fec36..79033a9 100755
--- a/installer/data/mysql/updatedatabase.pl
+++ b/installer/data/mysql/updatedatabase.pl
@@ -3605,6 +3605,16 @@ if (C4::Context->preference('Version') < TransformToNum($DBversion)){
     SetVersion ($DBversion);
 }
 
+$DBversion = '3.01.00.135';
+if (C4::Context->preference('Version') < TransformToNum($DBversion)){
+    $dbh->do(qq{
+INSERT INTO permissions (module_bit, code, description) VALUES
+   ( 9, 'edit_items', 'Edit Items');});
+    print "Upgrade to $DBversion done Adding a new permission to edit items";
+    SetVersion ($DBversion);
+}
+
+
 =item DropAllForeignKeys($table)
 
   Drop all foreign keys of the table $table
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 93a46a5..8577193 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/moredetail.tmpl
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/moredetail.tmpl
@@ -167,7 +167,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 473e669..7dd7766 100644
--- a/kohaversion.pl
+++ b/kohaversion.pl
@@ -10,7 +10,7 @@
 use strict;
 
 sub kohaversion {
-    our $VERSION = '3.01.00.134';
+    our $VERSION = '3.01.00.135';
     # version needs to be set this way
     # so that it can be picked up by Makefile.PL
     # during install
-- 
1.7.0.4



More information about the Koha-patches mailing list