From c1ce610f9b22d4afa313f2bc824a4b27d3c902cc Mon Sep 17 00:00:00 2001 From: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com> Date: Tue, 18 Mar 2025 10:53:18 +0100 Subject: [PATCH] Bug 34756: (follow-up) Rework the transfer cancellation modal --- .../prog/en/includes/holds_table.inc | 14 +++++++++++++- .../prog/en/modules/reserve/request.tt | 18 ++++++++++++++---- reserve/request.pl | 12 +++++++++--- 3 files changed, 36 insertions(+), 8 deletions(-) diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/holds_table.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/holds_table.inc index c671eb1e..f1f492c6 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/holds_table.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/holds_table.inc @@ -186,6 +186,7 @@ [%- IF ( hold.atdestination ) -%] Item waiting at <strong> [% hold.wbrname | html %]</strong>[% IF hold.desk_name %], [% hold.desk_name | html %],[% END %] since [% hold.waiting_date | $KohaDates %] [%- ELSIF (hold.intransit) -%] + <input type="hidden" name="transfer-destination" value="[% hold.wbrname | html %]" /> Item being transferred to <strong> [% hold.wbrname | html %]</strong> [%- ELSIF (hold.inprocessing) -%] Item being processed at <strong> [% hold.wbrname | html %]</strong> @@ -299,7 +300,18 @@ [%- END -%] [%- END -%] <td> - <a class="cancel-hold" title="Cancel hold" data-borrowernumber="[% hold.borrowernumber | html %]" data-biblionumber="[% hold.biblionumber | html %]" data-id="[% hold.reserve_id | html %]" data-transfer="[% hold.transfer | html %]" href="#"> + <a + class="cancel-hold" + title="Cancel hold" + data-borrowernumber="[% hold.borrowernumber | html %]" + data-biblionumber="[% hold.biblionumber | html %]" + data-id="[% hold.reserve_id | html %]" + data-transfer="[% hold.transfer | html %]" + data-transfer-date="[% hold.transferdate %]" + data-transfer-from="[% Branches.GetName( hold.transferfrom) %]" + data-transfer-to="[% Branches.GetName(hold.transferto) %]" + href="#" + > <i class="fa fa-trash" aria-label="Cancel hold"></i> </a> </td> 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 f54b32da..fa3731d4 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt @@ -1406,7 +1406,8 @@ </select> [% END %] </fieldset> - <div id=transfer-cancellation></div> + <br /> + <div id="transfer-cancellation"></div> </div> <div class="modal-footer"> @@ -1796,13 +1797,22 @@ let reserve_id = cancel_link.data('id'); let biblionumber = cancel_link.data('biblionumber'); let transfer = cancel_link.data('transfer'); + let transferTo = cancel_link.data('transfer-to'); + let transferFrom = cancel_link.data('transfer-from'); + let transferDate = cancel_link.data('transfer-date'); $("#cancel_modal_form #inputs").append('<input type="hidden" name="reserve_id" value="' + reserve_id + '">'); $("#cancel_modal_form #inputs").append('<input type="hidden" name="biblionumber" value="' + biblionumber + '">'); $("#cancel_modal_form #inputs").append('<input type="hidden" name="op" value="cud-cancel">'); if(transfer){ - $("#transfer-cancellation").empty() - $("#transfer-cancellation").append('<label for="transfer-cancel">A transfer related to this hold has been detected, do you want to cancel it ?</label>'); - $("#transfer-cancellation").append('<input type="checkbox" id="transfer-cancel" name="transfer-cancel"> </input>'); + let transferElement = $("#transfer-cancellation"); + transferElement.empty(); + transferElement[0].classList.add("alert", "alert-warning", "audio-alert-warning"); + transferElement.append('<h3>A transfer related to this hold has been detected</h3>'); + transferElement.append('<b> Date: </b>' + transferDate + '<br />'); + transferElement.append('<b>From: </b>' + transferFrom + '<br />'); + transferElement.append('<b>To: </b>' + transferTo + '<br />'); + transferElement.append('<label for="transfer-cancel"><b>Delete this transfer: </b></label>'); + transferElement.append('<input type="checkbox" id="transfer-cancel" name="transfer-cancel"> </input>'); } $('#cancelModal').modal('show'); return false; diff --git a/reserve/request.pl b/reserve/request.pl index 158e4c94..1fc19b03 100755 --- a/reserve/request.pl +++ b/reserve/request.pl @@ -112,11 +112,10 @@ if ( $op eq 'cud-move' ) { } elsif ( $op eq 'cud-cancel' ) { my $reserve_id = $input->param('reserve_id'); my $cancellation_reason = $input->param("cancellation-reason"); - my $transfer = $input->param("transfer-cancel") ? "1" : "0"; + my $transfer = $input->param("transfer-cancel") ? "1" : "0"; my $hold = Koha::Holds->find($reserve_id); - if( $transfer ) { - warn($hold->item()->get_transfer); + if ($transfer) { $hold->item()->get_transfer->cancel( { reason => 'Manual', 'force' => '1' } ); } $hold->cancel( { cancellation_reason => $cancellation_reason } ) if $hold; @@ -648,6 +647,13 @@ if ( ( $findborrower && $borrowernumber_hold || $findclub && $club_hold ) $reserve{'inprocessing'} = $res->is_in_processing(); $reserve{'intransit'} = $res->is_in_transit(); $reserve{'transfer'} = $res->item()->get_transfer() ? '1' : '0'; + my $transfer = $res->item()->get_transfer(); + + if ($transfer) { + $reserve{'transferdate'} = $transfer->datesent; + $reserve{'transferfrom'} = $transfer->frombranch; + $reserve{'transferto'} = $transfer->tobranch; + } } elsif ( $res->priority() > 0 ) { if ( my $item = $res->item() ) { $reserve{'itemnumber'} = $item->id(); -- 2.30.2