Bug 38174: Fix self checkout alerts for non batch checkouts

This patch adds a check for batch_checkouts_allowed to SCO.

If not using batch checkout, only the most recent chekout should be
rendered as an alert, instead of all the new issues for the session.

This makes the input box consitently render in the same position.

To replicate:
1. Login as self_checkout to localhost:8080/cgi-bin/koha/sco/sco-main.pl
2. Login as a patron to make self checkouts
3. Check many items out and notice an additional alert is rendered
    for each checkout, eventually pushing the barcode input off screen.

To test:
1. Apply patch and restart_alll
2. Login as a patron to make self checkouts
3. Check many items out
4. Notice only the most recent checkout is rendered as an info alert
5. Confirm the Checkouts table below still loads all checkouts
6. In Admin set BatchCheckouts to 'Allow'
7. Set SCOBatchCheckoutsValidCategories to 'Select all'
8. Login to sco as a patron and enter a newline delimited list of barcodes
9. Confirm that an alert is rendered for each checkout in the batch

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit db120bb6e5)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
This commit is contained in:
Brendan Lawlor 2024-10-15 12:39:47 +00:00 committed by Paul Derscheid
parent 0896db1dc2
commit 9285dddcef
No known key found for this signature in database
GPG Key ID: C25F9FD44CED595B
1 changed files with 12 additions and 5 deletions

View File

@ -214,11 +214,18 @@
[% END %]
[% IF ( issued ) %]
[% FOREACH barcode IN newissues.split(',') %]
<span class="sco-alert-success issue"></span>
<div class="alert alert-info">
<p>Item checked out <i>([% barcode | html %])</i></p>
</div>
[% IF batch_checkouts_allowed %]
[% FOREACH barcode IN newissues.split(',') %]
<span class="sco-alert-success issue"></span>
<div class="alert alert-info">
<p>Item checked out <i>([% barcode | html %])</i></p>
</div>
[% END %]
[% ELSE %]
<span class="sco-alert-success issue"></span>
<div class="alert alert-info">
<p>Item checked out <i>([% newissues.split(',').last | html %])</i></p>
</div>
[% END %]
[% ELSIF ( renewed ) %]
<span class="sco-alert-success renew"></span>