From eca9def16d325960ed0a2e68e7bf60a4f5feed0b Mon Sep 17 00:00:00 2001 From: Fridolyn SOMERS Date: Fri, 18 Jan 2013 14:32:06 +0100 Subject: [PATCH] Bug 9423: Add notforloan value to issue confirmation or blocking message 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. Signed-off-by: Paul Poulain --- 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 abd4981..05b5b7e 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; @@ -835,8 +839,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'}; } } else { @@ -850,16 +856,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 3382066..24b1576 100755 --- a/circ/circulation.pl +++ b/circ/circulation.pl @@ -286,6 +286,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 39548f8..19b5bd7 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 @@ -350,7 +351,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 ) %] @@ -454,7 +463,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