From 15f526d29871a8ae5193c07e6612a20d6bbaed9c Mon Sep 17 00:00:00 2001
From: Owen Leonard <oleonard@myacpl.org>
Date: Tue, 16 Jul 2019 18:05:23 +0000
Subject: [PATCH] Bug 23145: Confirming transfer during checkin clears the
 table of previously checked-in items

This patch corrects the checkin template so that checking in an item
with an existing transfer does not clear the page of previous checkouts.

To test, apply the patch and check in some items.

 - After each checkin the returned item should appear in the table of
   checkouts.
 - Check in an item which belongs to another branch. You will be asked
   to confirm that the items requires a transfer. When the page reloads
   you should see the same previous checkins in the table.
 - Check in that same item again. You will be again asked to confirm.

   Before this page, confirming the transfer would reload the page and
   clear the list of checkins. Now the page should reload and the table
   of checkins should still show the previously checked-in items.

Test all the actions when checking in an item which is already in
transit: OK, Print transfer slip, and Cancel transfer.

Signed-off-by: George Williams <george@nekls.org>
---
 .../intranet-tmpl/prog/en/modules/circ/returns.tt  | 63 ++++++++++++++--------
 1 file changed, 41 insertions(+), 22 deletions(-)

diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/returns.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/returns.tt
index f1a28a17e4..510d4b911a 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/returns.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/returns.tt
@@ -208,27 +208,51 @@
     <div id="wrong-transfer-modal" class="modal fade audio-alert-action">
         <div class="modal-dialog">
             <div class="modal-content">
-                <form method="post" action="returns.pl" name="mainform" id="mainform">
-                    <div class="modal-header">
-                        <h3>
-                            Please return item to: [% Branches.GetName( TransferWaitingAt ) | html %]
-                        </h3>
-                    </div>
-                    <div class="modal-body">
-                        <p>
-                            <a href="/cgi-bin/koha/catalogue/detail.pl?type=intra&amp;biblionumber=[% itembiblionumber | uri %]">
-                                [% itembarcode | html %]: [% title | html %]
-                            </a>
-                        </p>
-                    </div>
-                    <div class="modal-footer">
+                <div class="modal-header">
+                    <h3>
+                        Please return item to: [% Branches.GetName( TransferWaitingAt ) | html %]
+                    </h3>
+                </div>
+                <div class="modal-body">
+                    <p>
+                        <a href="/cgi-bin/koha/catalogue/detail.pl?type=intra&amp;biblionumber=[% itembiblionumber | uri %]">
+                            [% itembarcode | html %]: [% title | html %]
+                        </a>
+                    </p>
+                </div>
+                <div class="modal-footer">
+                    <!-- CONFIRM -->
+                    <form method="post" action="returns.pl" name="mainform">
                         <button type="submit" class="btn btn-default approve"><i class="fa fa-check"></i> OK</button>
+                        [% FOREACH inputloo IN inputloop %]
+                            <input type="hidden" name="ri-[% inputloo.counter | html %]" value="[% inputloo.barcode | html %]" />
+                            <input type="hidden" name="dd-[% inputloo.counter | html %]" value="[% inputloo.duedate | html %]" />
+                            <input type="hidden" name="bn-[% inputloo.counter | html %]" value="[% inputloo.borrowernumber | html %]" />
+                        [% END %]
+                    </form>
+                    <!-- PRINT SLIP -->
+                    <form method="post" action="returns.pl" name="mainform">
                         <button type="submit" class="btn btn-default print openWin" data-url="transfer-slip.pl?transferitem=[% itemnumber | html %]&amp;&amp;branchcode=[% TransferWaitingAt | html %]&amp;op=slip"><i class="fa fa-print"></i> Print transfer slip</button>
-                        <button class="btn btn-default deny cancel-transfer" type="submit"><i class="fa fa-times"></i> Cancel transfer</button>
+                        [% FOREACH inputloo IN inputloop %]
+                            <input type="hidden" name="ri-[% inputloo.counter | html %]" value="[% inputloo.barcode | html %]" />
+                            <input type="hidden" name="dd-[% inputloo.counter | html %]" value="[% inputloo.duedate | html %]" />
+                            <input type="hidden" name="bn-[% inputloo.counter | html %]" value="[% inputloo.borrowernumber | html %]" />
+                        [% END %]
+                    </form>
+                    <!-- CANCEL TRANSFER -->
+                    <form method="post" action="returns.pl" name="mainform">
+                        <button class="btn btn-default deny" type="submit"><i class="fa fa-times"></i> Cancel transfer</button>
                         <input type="hidden" name="return_date_override" value="[% return_date_override | html %]" />
                         <input type="hidden" name="return_date_override_remember" value="[% return_date_override_remember | html %]" />
-                    </div>
-                </form>
+                        <input type="hidden" name="itemnumber" value="[% itemnumber | html %]" />
+                        <input type="hidden" name="canceltransfer" value="1" />
+                        [% FOREACH inputloo IN inputloop %]
+                            <input type="hidden" name="ri-[% inputloo.counter | html %]" value="[% inputloo.barcode | html %]" />
+                            <input type="hidden" name="dd-[% inputloo.counter | html %]" value="[% inputloo.duedate | html %]" />
+                            <input type="hidden" name="bn-[% inputloo.counter | html %]" value="[% inputloo.borrowernumber | html %]" />
+                        [% END %]
+                    </form>
+                </div>
             </div>
         </div>
     </div>
@@ -993,11 +1017,6 @@
                 this.form.submit();
             });
 
-            $('.cancel-transfer').on("click",function(e){
-                e.preventDefault();
-                window.location.href='/cgi-bin/koha/circ/returns.pl?itemnumber=[% itemnumber | html %]&amp;canceltransfer=1'
-            });
-
             $('.action').on("click",function(e){
                 this.checked = false;
                 this.form.return_date_override.value = '';
-- 
2.11.0