From 0df9395dd0614e841656dcf5e62dee44fd3cdc4c Mon Sep 17 00:00:00 2001
From: Jonathan Druart <jonathan.druart@biblibre.com>
Date: Thu, 23 Aug 2012 13:53:21 +0200
Subject: [PATCH] Bug 8438: Users can only claim for serials related to their
 branch.

Only superlibrarian users and users with superserials permission
can override this limitation.
The original author of this patch is Julian Maurice.
---
 koha-tmpl/intranet-tmpl/prog/en/modules/serials/claims.tt |    2 ++
 serials/claims.pl                                         |   12 +++++++++++-
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/claims.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/serials/claims.tt
index 407482a..fc8543d 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/claims.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/serials/claims.tt
@@ -272,7 +272,9 @@
                 <tbody>[% FOREACH missingissue IN missingissues %]
                     <tr>
                         <td>
+                          [% UNLESS missingissue.cannot_claim %]
                             <input type="checkbox" name="serialid" value="[% missingissue.serialid %]" />
+                          [% END %]
                         </td>
                         <td>
                         [% missingissue.name %]
diff --git a/serials/claims.pl b/serials/claims.pl
index c826804..e234041 100755
--- a/serials/claims.pl
+++ b/serials/claims.pl
@@ -40,7 +40,7 @@ my $suppliername = $input->param('suppliername');
 my $order = $input->param('order');
 
 # open template first (security & userenv set here)
-my ($template, $loggedinuser, $cookie)
+my ($template, $loggedinuser, $cookie, $flags)
 = get_template_and_user({template_name => 'serials/claims.tmpl',
             query => $input,
             type => 'intranet',
@@ -72,6 +72,16 @@ if ($supplierid) {
     @supplierinfo=GetBookSeller($supplierid);
 }
 
+unless( $flags->{superlibrarian} == 1
+ || $template->{param_map}->{CAN_user_serials_superserials} ){
+    foreach (@missingissues) {
+        if( $_->{branchcode}
+          and $_->{branchcode} ne C4::Context->userenv->{'branch'} ) {
+            $_->{cannot_claim} = 1;
+        }
+    }
+}
+
 my $branchloop = GetBranchesLoop();
 
 my $preview=0;
-- 
1.7.10.4