Bug 23485: Show barcode in holds to pull
authorAndrew Fuerste-Henry <andrew@bywatersolutions.com>
Wed, 16 Sep 2020 11:18:49 +0000 (11:18 +0000)
committerJonathan Druart <jonathan.druart@bugs.koha-community.org>
Mon, 28 Sep 2020 14:09:10 +0000 (16:09 +0200)
Updated to only show one barcode number, with either an "only" or an "or any available" depending on whether it's an item or bib hold.
Also incorporating feedback to simplify the TT logic and remove list formatting.

To test:
1 - Place an item level hold on a bib with several items with the same callnumber
2 - View the holds to pull report
3 - Try to guess which one on the shelf is right?
4 - Apply patch
5 - See the barcode in holds to pull report
6 - You can now grab the correct item (but don't yet)
7 - Place a next available hold on the same title
8 - See the report now shows one possible valid barcode with the text "or any available."
9 - Check in a different item that fills the next available hold
10 - Now the report shows the single item for the borrower

Signed-off-by: Michal Denar <black23@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
circ/pendingreserves.pl
koha-tmpl/intranet-tmpl/prog/en/modules/circ/pendingreserves.tt

index cf75662..dd6ae76 100755 (executable)
@@ -200,6 +200,8 @@ my $strsth =
                     ORDER BY items.itemnumber SEPARATOR '|') l_enumchron,
             GROUP_CONCAT(DISTINCT items.copynumber
                     ORDER BY items.itemnumber SEPARATOR '|') l_copynumber,
+            GROUP_CONCAT(DISTINCT items.barcode
+                    ORDER BY items.itemnumber SEPARATOR '|') l_barcode,
             biblio.title,
             biblio.copyrightdate,
             biblioitems.publicationyear,
@@ -266,6 +268,7 @@ while ( my $data = $sth->fetchrow_hashref ) {
             itemcallnumber   => [split('\|', $data->{l_itemcallnumber})],
             enumchron        => [split('\|', $data->{l_enumchron})],
             copyno           => [split('\|', $data->{l_copynumber})],
+            barcode          => [split('\|', $data->{l_barcode})],
             count            => $data->{icount},
             rcount           => $data->{rcount},
             pullcount        => $data->{icount} <= $data->{rcount} ? $data->{icount} : $data->{rcount},
index 5b17b97..aa955e9 100644 (file)
@@ -57,6 +57,7 @@
         <th>First patron</th>
         <th class="anti-the">Title</th>
         <th class="string-sort">Libraries</th>
+        <th>Available barcodes</th>
         <th>Available call numbers</th>
         <th>Available copy numbers</th>
         <th>Available enumeration</th>
             [% END %]
         </td>
         <td>
+            [% IF ( reserveloo.barcode ) %]
+            [% IF ( reserveloo.itemnumber ) %]Only [% reserveloo.barcode.first | html %][% ELSE %][% reserveloo.barcode.first | html %] or any available.[% END %]
+            [% END %]
+        </td>
+        <td>
             [% IF ( reserveloo.itemcallnumber ) %]
                 <ul>
                     [% FOREACH itemcallnumber IN reserveloo.itemcallnumber  %]