Bug 40395: Preparation: DRY cancel_hold_modal

Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 6d2f885190)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
This commit is contained in:
Pedro Amorim 2025-07-15 12:37:53 +00:00 committed by Paul Derscheid
parent 2124549447
commit 31bcbcf77e
No known key found for this signature in database
GPG Key ID: C25F9FD44CED595B
2 changed files with 46 additions and 38 deletions

View File

@ -0,0 +1,44 @@
[% BLOCK 'cancel-hold-modal' %]
<div id="cancelModal" class="modal" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h1 class="modal-title">Confirm deletion</h1>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<form id="cancel_modal_form" method="post" action="[% form_action | html %]">
[% INCLUDE 'csrf-token.inc' %]
[% IF (from_param) %]
<input type="hidden" name="from" value="[% patronpage | html %]" />
[% END %]
<div id="inputs">
<input type="hidden" name="op" value="cud-cancel" />
</div>
<div class="modal-body">
<p>Are you sure you want to cancel this hold?</p>
<div id="cancel_hold_alert" class="alert alert-danger" style="display:none;"></div>
<fieldset class="action">
[% SET hold_cancellation = AuthorisedValues.GetAuthValueDropbox('HOLD_CANCELLATION') %]
[% IF hold_cancellation.count %]
<label for="modal-cancellation-reason">Cancellation reason: </label>
<select class="cancellation-reason" name="cancellation-reason" id="modal-cancellation-reason">
<option value="">No reason given</option>
[% FOREACH reason IN hold_cancellation %]
<option value="[% reason.authorised_value | html %]">[% reason.lib | html %]</option>
[% END %]
</select>
[% END %]
</fieldset>
</div>
<div class="modal-footer">
<button id="cancelModalConfirmBtn" type="submit" class="btn btn-danger">Confirm cancellation</button>
<button type="button" class="btn btn-default" data-bs-dismiss="modal">Cancel</button>
</div>
</form>
</div>
</div>
</div>
[% END %]

View File

@ -22,6 +22,7 @@
[% SET categories = Categories.all.unblessed %]
[% SET columns = ['name', 'cardnumber', 'dateofbirth', 'category', 'branch', 'address', 'phone'] %]
[% PROCESS "patron-search.inc" %]
[% PROCESS 'modals/holds_table_modals.inc' %]
<title
>[% FILTER collapse %]
[% UNLESS ( multi_hold ) %]
@ -1385,45 +1386,8 @@
[% END # UNLESS patron %]
[% END %]
<div id="cancelModal" class="modal" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h1 class="modal-title">Confirm deletion</h1>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
[% PROCESS 'cancel-hold-modal' form_action = 'request.pl' %]
<form id="cancel_modal_form" method="post" action="request.pl">
[% INCLUDE 'csrf-token.inc' %]
<div id="inputs">
<input type="hidden" name="op" value="cud-cancel" />
</div>
<div class="modal-body">
<p>Are you sure you want to cancel this hold?</p>
<div id="cancel_hold_alert" class="alert alert-danger" style="display:none;"></div>
<fieldset class="action">
[% SET hold_cancellation = AuthorisedValues.GetAuthValueDropbox('HOLD_CANCELLATION') %]
[% IF hold_cancellation.count %]
<label for="modal-cancellation-reason">Cancellation reason: </label>
<select class="cancellation-reason" name="cancellation-reason" id="modal-cancellation-reason">
<option value="">No reason given</option>
[% FOREACH reason IN hold_cancellation %]
<option value="[% reason.authorised_value | html %]">[% reason.lib | html %]</option>
[% END %]
</select>
[% END %]
</fieldset>
</div>
<div class="modal-footer">
<button id="cancelModalConfirmBtn" type="submit" class="btn btn-danger">Confirm cancellation</button>
<button type="button" class="btn btn-default" data-bs-dismiss="modal">Cancel</button>
</div>
</form>
</div>
</div>
</div>
<div id="hold-actions">
<form id="hold-actions-form"> [% INCLUDE 'csrf-token.inc' %] </form>
</div>