Bug 25261: (QA follow-up) Capitalize return of needsconfirm

This patch capitalizes the 'ADDITIONAL_MATERIALS' key in the
needsconfirm hash return value for CanBookBeIssued to restore
consistency with previous code and ensure SIP Checkout works as
expected.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
This commit is contained in:
Martin Renvoize 2020-09-02 12:00:07 +01:00 committed by Jonathan Druart
parent 978daf8412
commit be379b664c
7 changed files with 11 additions and 11 deletions

View File

@ -901,7 +901,7 @@ sub CanBookBeIssued {
if ( C4::Context->preference("CircConfirmItemParts")
&& $item_object->materials )
{
$needsconfirmation{additional_materials} = $item_object->materials;
$needsconfirmation{ADDITIONAL_MATERIALS} = $item_object->materials;
}
#

View File

@ -96,7 +96,7 @@ sub do_checkout {
} elsif ($confirmation eq 'PREVISSUE') {
$self->screen_msg("This item was previously checked out by you");
last;
} elsif ( $confirmation eq 'additional_materials' ) {
} elsif ( $confirmation eq 'ADDITIONAL_MATERIALS' ) {
$self->screen_msg('Item must be issued at a circulation desk');
$noerror = 0;
last;

View File

@ -395,7 +395,7 @@ if (@$barcodes) {
my $materials = $item->materials;
my $descriptions = Koha::AuthorisedValues->get_description_by_koha_field({ frameworkcode => $biblio->frameworkcode, kohafield => 'items.materials', authorised_value => $materials });
$materials = $descriptions->{lib} // $materials;
$template_params->{additional_materials} = $materials;
$template_params->{ADDITIONAL_MATERIALS} = $materials;
$template_params->{itemhomebranch} = $item->homebranch;
# pass needsconfirmation to template if issuing is possible and user hasn't yet confirmed.

View File

@ -54,9 +54,9 @@
<div id="autoswitched" class="dialog message">Patron was automatically switched by reading the patron card during checking out. Ensure you are working with the right patron.</div>
[% END %]
[% IF additional_materials %]
[% IF ADDITIONAL_MATERIALS %]
<div id="materials" class="dialog message">Note about the accompanying materials: <br />
[% additional_materials | html %]
[% ADDITIONAL_MATERIALS | html %]
</div>
[% END %]
@ -82,7 +82,7 @@
[% IF ( NEEDSCONFIRMATION ) %]
<div id="circ_needsconfirmation" class="dialog alert audio-alert-action">
[% IF CAN_user_circulate_force_checkout or additional_materials %]
[% IF CAN_user_circulate_force_checkout or ADDITIONAL_MATERIALS %]
<h3>Please confirm checkout</h3>
[% ELSE %]
<h3>Cannot check out</h3>
@ -198,9 +198,9 @@
</li>
[% END %]
[% IF additional_materials %]
[% IF ADDITIONAL_MATERIALS %]
<li>
Please confirm that the accompanying materials are present: [% additional_materials | html %]
Please confirm that the accompanying materials are present: [% ADDITIONAL_MATERIALS | html %]
</li>
[% END %]
</ul>

View File

@ -83,7 +83,7 @@
Your contact information seems to be incomplete.
[% ELSIF ( circ_error_INVALID_DATE ) %]
Due date is not valid.
[% ELSIF ( circ_error_additional_materials ) %]
[% ELSIF ( circ_error_ADDITIONAL_MATERIALS ) %]
Item must be issued at a circulation desk.
[% END %]
Please see a member of the library staff.

View File

@ -150,7 +150,7 @@ elsif ( $patron && ( $op eq 'checkout' ) ) {
);
my $issue_error;
if ( $confirm_required = scalar keys %$needconfirm ) {
for my $error ( qw( UNKNOWN_BARCODE max_loans_allowed ISSUED_TO_ANOTHER NO_MORE_RENEWALS NOT_FOR_LOAN DEBT WTHDRAWN RESTRICTED RESERVED ITEMNOTSAMEBRANCH EXPIRED DEBARRED CARD_LOST GNA INVALID_DATE UNKNOWN_BARCODE TOO_MANY DEBT_GUARANTEES USERBLOCKEDOVERDUE PATRON_CANT PREVISSUE NOT_FOR_LOAN_FORCING ITEM_LOST additional_materials ) ) {
for my $error ( qw( UNKNOWN_BARCODE max_loans_allowed ISSUED_TO_ANOTHER NO_MORE_RENEWALS NOT_FOR_LOAN DEBT WTHDRAWN RESTRICTED RESERVED ITEMNOTSAMEBRANCH EXPIRED DEBARRED CARD_LOST GNA INVALID_DATE UNKNOWN_BARCODE TOO_MANY DEBT_GUARANTEES USERBLOCKEDOVERDUE PATRON_CANT PREVISSUE NOT_FOR_LOAN_FORCING ITEM_LOST ADDITIONAL_MATERIALS ) ) {
if ( $needconfirm->{$error} ) {
$issue_error = $error;
$confirmed = 0;

View File

@ -3565,7 +3565,7 @@ subtest 'CanBookBeIssued & CircConfirmItemParts' => sub {
my $dt_due = dt_from_string->add( days => 3 );
my ( $issuingimpossible, $needsconfirmation ) = CanBookBeIssued( $patron, $item->barcode, $dt_due, undef, undef, undef );
is_deeply( $needsconfirmation, { additional_materials => 'includes DVD' }, 'Item needs confirmation of additional parts' );
is_deeply( $needsconfirmation, { ADDITIONAL_MATERIALS => 'includes DVD' }, 'Item needs confirmation of additional parts' );
};
subtest 'Do not return on renewal (LOST charge)' => sub {