From 8b9ff24f216af51fdddc6e2f811b8337453e4878 Mon Sep 17 00:00:00 2001
From: Katrin Fischer <katrin.fischer.83@web.de>
Date: Thu, 9 Aug 2018 21:28:30 +0000
Subject: [PATCH] Bug 20450: Add collection to item table when placing a hold
 on a specific copy (Intranet)

This patch adds a new collection column to the item table when selecting
a specific item for a hold. The column will only appear if at least
one item has a collection set.

To test, in staff:
- Place a specific hold on
  - a record with one or more items with collections
  - a record with one or more items without collections
- Verify the collections display correctly when they exist
- Verify the table still works as expected
---
 koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt | 9 +++++++++
 reserve/request.pl                                         | 6 ++++++
 2 files changed, 15 insertions(+)

diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt
index bf6220d..28a14d5 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt
@@ -5,6 +5,7 @@
 [% USE Branches %]
 [% USE Categories %]
 [% USE ItemTypes %]
+[% USE AuthorisedValues %]
 [% SET footerjs = 1 %]
 [% INCLUDE 'doc-head-open.inc' %]
 [% UNLESS ( multi_hold ) %]
@@ -292,6 +293,9 @@
                     <th>Barcode</th>
                     <th>Home library</th>
                     <th>Last location</th>
+                [% IF itemdata_ccode %]
+                    <th>Collection</th>
+                [% END %]
                     <th>Call no.</th>
                     <th>Copy number</th>
                 [% IF itemdata_enumchron %]
@@ -359,6 +363,11 @@
                     <td>
                         [% Branches.GetName( itemloo.holdingbranch ) | html %]
                     </td>
+                [% IF itemdata_ccode %]
+                    <td>
+                        [% IF ( itemloo.ccode ) %][% AuthorisedValues.GetByCode( 'CCODE', itemloo.ccode ) %][% END %]
+                    </td>
+                [% END %]
                     <td>
                         [% itemloo.itemcallnumber | html %]
                     </td>
diff --git a/reserve/request.pl b/reserve/request.pl
index 3ebd873..10b1679 100755
--- a/reserve/request.pl
+++ b/reserve/request.pl
@@ -203,6 +203,7 @@ my $patron = Koha::Patrons->find( $borrowernumber_hold );
 my $logged_in_patron = Koha::Patrons->find( $borrowernumber );
 
 my $itemdata_enumchron = 0;
+my $itemdata_ccode = 0;
 my @biblioloop = ();
 foreach my $biblionumber (@biblionumbers) {
     next unless $biblionumber =~ m|^\d+$|;
@@ -497,6 +498,10 @@ foreach my $biblionumber (@biblionumbers) {
                 if ($item->{enumchron}) {
                     $itemdata_enumchron = 1;
                 }
+                # Show collection when needed
+                if ($item->{ccode}) {
+                    $itemdata_ccode = 1;
+                }
             }
 
             push @{ $biblioitem->{itemloop} }, $item;
@@ -608,6 +613,7 @@ foreach my $biblionumber (@biblionumbers) {
                      optionloop        => \@optionloop,
                      bibitemloop       => \@bibitemloop,
                      itemdata_enumchron => $itemdata_enumchron,
+                     itemdata_ccode    => $itemdata_ccode,
                      date              => $date,
                      biblionumber      => $biblionumber,
                      findborrower      => $findborrower,
-- 
2.1.4