From 4983e552c708ecaf58e8087839501edf2d084a53 Mon Sep 17 00:00:00 2001 From: Fridolyn SOMERS Date: Fri, 18 Jan 2013 14:32:06 +0100 Subject: [PATCH] [SIGNED-OFF] Bug 9423: Add notforloan value to issue confirmation or blocking message Content-Type: text/plain; charset="utf-8" When trying to checkout an item that is not for loan (due to items.notforloan value or because itemtype is not for loan), you get a confirmation or blocking message (depending on AllowNotForLoanOverride syspref). This message tells "Item is normally not for loan". This patch adds some informations : if itemtype is not for loan, tells "Item type is normally not for loan". if item is not for loan due to items.notforloan value, adds notforloan description to message. Signed-off-by: Owen Leonard Works as advertised: Not for loan authorized value is correctly shown. --- C4/Circulation.pm | 12 +++++++++++- circ/circulation.pl | 6 ++++++ .../prog/en/modules/circ/circulation.tt | 20 ++++++++++++++++++-- 3 files changed, 35 insertions(+), 3 deletions(-) diff --git a/C4/Circulation.pm b/C4/Circulation.pm index 71fe20f..e0ed7cc 100644 --- a/C4/Circulation.pm +++ b/C4/Circulation.pm @@ -36,7 +36,11 @@ use C4::Message; use C4::Debug; use C4::Branch; # GetBranches use C4::Log; # logaction -use C4::Koha qw(GetAuthorisedValueByCode); +use C4::Koha qw( + GetAuthorisedValueByCode + GetAuthValCode + GetKohaAuthorisedValueLib +); use C4::Overdues qw(CalcFine UpdateFine); use Algorithm::CheckDigits; @@ -833,8 +837,10 @@ sub CanBookBeIssued { { if(!C4::Context->preference("AllowNotForLoanOverride")){ $issuingimpossible{NOT_FOR_LOAN} = 1; + $issuingimpossible{item_notforloan} = $item->{'notforloan'}; }else{ $needsconfirmation{NOT_FOR_LOAN_FORCING} = 1; + $needsconfirmation{item_notforloan} = $item->{'notforloan'}; } } elsif ( !$item->{'notforloan'} ){ @@ -848,16 +854,20 @@ sub CanBookBeIssued { if ($notforloan->{'notforloan'}) { if (!C4::Context->preference("AllowNotForLoanOverride")) { $issuingimpossible{NOT_FOR_LOAN} = 1; + $issuingimpossible{itemtype_notforloan} = $item->{'itype'}; } else { $needsconfirmation{NOT_FOR_LOAN_FORCING} = 1; + $needsconfirmation{itemtype_notforloan} = $item->{'itype'}; } } } elsif ($biblioitem->{'notforloan'} == 1){ if (!C4::Context->preference("AllowNotForLoanOverride")) { $issuingimpossible{NOT_FOR_LOAN} = 1; + $issuingimpossible{itemtype_notforloan} = $biblioitem->{'itemtype'}; } else { $needsconfirmation{NOT_FOR_LOAN_FORCING} = 1; + $needsconfirmation{itemtype_notforloan} = $biblioitem->{'itemtype'}; } } } diff --git a/circ/circulation.pl b/circ/circulation.pl index fe9ae60..d0275bf 100755 --- a/circ/circulation.pl +++ b/circ/circulation.pl @@ -287,6 +287,12 @@ if ($barcode) { $template->param( alert => $alerts ); + # Get the item title for more information + my $getmessageiteminfo = GetBiblioFromItemNumber(undef,$barcode); + $template->param( + authvalcode_notforloan => C4::Koha::GetAuthValCode('items.notforloan', $getmessageiteminfo->{'frameworkcode'}), + ); + delete $question->{'DEBT'} if ($debt_confirmed); foreach my $impossible ( keys %$error ) { $template->param( diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt index 9c045cd..53b214c 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt @@ -1,4 +1,5 @@ [% USE KohaDates %] +[% USE KohaAuthorisedValues %] [% INCLUDE 'doc-head-open.inc' %] [% SET destination = "circ" %] Koha › Circulation @@ -359,7 +360,15 @@ function validate1(date) { [% END %] [% IF ( NOT_FOR_LOAN_FORCING ) %] - <li>Item is normally not for loan. Check out anyway?</li> + <li> + [% IF ( itemtype_notforloan ) %] + Item type is normally not for loan. + [% ELSIF ( item_notforloan ) %] + [% item_notforloan_lib = KohaAuthorisedValues.GetByCode( authvalcode_notforloan, item_notforloan, 0 ) %] + Item is normally not for loan [% IF (item_notforloan_lib) %]([% item_notforloan_lib %])[% END %]. + [% END %] + Check out anyway? + </li> [% END %] [% IF ( USERBLOCKEDOVERDUE ) %] @@ -463,7 +472,14 @@ function validate1(date) { [% END %] [% IF ( NOT_FOR_LOAN ) %] - <li>Item not for loan</li> + <li> + [% IF ( itemtype_notforloan ) %] + Item type not for loan. + [% ELSIF ( item_notforloan ) %] + [% item_notforloan_lib = KohaAuthorisedValues.GetByCode( authvalcode_notforloan, item_notforloan, 0 ) %] + Item not for loan [% IF (item_notforloan_lib) %]([% item_notforloan_lib %])[% END %]. + [% END %] + </li> [% END %] [% IF ( WTHDRAWN ) %] -- 1.7.9.5