From e05d53d50d84e28769cdd6e4a474245ea2ee34f0 Mon Sep 17 00:00:00 2001 From: Ian Walls Date: Wed, 21 Sep 2011 14:35:12 -0400 Subject: [PATCH] Enh 6403: Record local use stats when checking in unissued materials Adds a new system preference, RecordLocalUseOnReturn, which when active will change the statistical entry type from "return" to "localuse" in AddReturn() if the material was not on loan when returned. The intended use-case here is for libraries with 'open' book drops, in which patrons can put locally used (but unissued) materials. Adds a small message to the user interface to confirm that Local Use was recorded. This change opens up the possibility to record more types of statistics on return; one would just need to update the $stat_type variable accordingly. Signed-off-by: Nicole C. Engard Signed-off-by: Chris Cormack --- C4/Circulation.pm | 10 ++++++++-- circ/returns.pl | 3 +++ .../prog/en/modules/admin/preferences/circulation.pref | 6 ++++++ .../intranet-tmpl/prog/en/modules/circ/returns.tt | 3 +++ 4 files changed, 20 insertions(+), 2 deletions(-) diff --git a/C4/Circulation.pm b/C4/Circulation.pm index 520c1162cd..42a8b2d151 100644 --- a/C4/Circulation.pm +++ b/C4/Circulation.pm @@ -1515,7 +1515,8 @@ sub AddReturn { my $biblio; my $doreturn = 1; my $validTransfert = 0; - + my $stat_type = 'return'; + # get information on item my $itemnumber = GetItemnumberFromBarcode( $barcode ); unless ($itemnumber) { @@ -1532,6 +1533,11 @@ sub AddReturn { # even though item is not on loan, it may still be transferred; therefore, get current branch info $doreturn = 0; # No issue, no borrowernumber. ONLY if $doreturn, *might* you have a $borrower later. + # Record this as a local use, instead of a return, if the RecordLocalUseOnReturn is on + if (C4::Context->preference("RecordLocalUseOnReturn")) { + $messages->{'LocalUse'} = 1; + $stat_type = 'localuse'; + } } my $item = GetItem($itemnumber) or die "GetItem($itemnumber) failed"; @@ -1639,7 +1645,7 @@ sub AddReturn { # update stats? # Record the fact that this book was returned. UpdateStats( - $branch, 'return', '0', '', + $branch, $stat_type, '0', '', $item->{'itemnumber'}, $biblio->{'itemtype'}, $borrowernumber diff --git a/circ/returns.pl b/circ/returns.pl index 6826d7c923..afe574f7a1 100755 --- a/circ/returns.pl +++ b/circ/returns.pl @@ -423,6 +423,9 @@ foreach my $code ( keys %$messages ) { $err{notissued} = 1; $err{msg} = $branches->{ $messages->{'IsPermanent'} }->{'branchname'}; } + elsif ( $code eq 'LocalUse' ) { + $err{localuse} = 1; + } elsif ( $code eq 'WasLost' ) { $err{waslost} = 1; } diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref index f6324e3696..f4946b5ab8 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref @@ -85,6 +85,12 @@ Circulation: yes: Show no: "Don't show" - a button to clear the current patron from the screen on the circulation screen. + - + - pref: RecordLocalUseOnReturn + choices: + yes: Record + no: "Don't record" + - local use when an unissued item is checked in. Checkout Policy: - - pref: AllowNotForLoanOverride diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/returns.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/returns.tt index 2a9b47e819..65df373777 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/returns.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/returns.tt @@ -312,6 +312,9 @@ function Dopop(link) { [% IF ( errmsgloo.notissued ) %]

Not checked out.

[% END %] + [% IF ( errmsgloo.localuse) %] +

Local Use recorded

+ [% END %] [% IF ( errmsgloo.waslost ) %]

Item was lost, now found.

[% END %] -- 2.39.5