From 9a4218b1588e250a145738267364537fb0b6d426 Mon Sep 17 00:00:00 2001 From: Ian Walls Date: Wed, 21 Sep 2011 14:35:12 -0400 Subject: [PATCH 1/2] 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. --- C4/Circulation.pm | 10 ++++++++-- circ/returns.pl | 3 +++ .../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 520c116..42a8b2d 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 6826d7c..afe574f 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 dc821a8..e8e1339 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 @@ -84,6 +84,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 4224ab1..1cddda0 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/returns.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/returns.tt @@ -298,6 +298,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 %] -- 1.7.4.1