Permalink
Browse files

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 <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
  • Loading branch information...
1 parent f7387f2 commit e05d53d50d84e28769cdd6e4a474245ea2ee34f0 Ian Walls committed with Sep 21, 2011
View
@@ -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
View
@@ -423,6 +423,9 @@ =head1 returns.pl
$err{notissued} = 1;
$err{msg} = $branches->{ $messages->{'IsPermanent'} }->{'branchname'};
}
+ elsif ( $code eq 'LocalUse' ) {
+ $err{localuse} = 1;
+ }
elsif ( $code eq 'WasLost' ) {
$err{waslost} = 1;
}
@@ -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
@@ -312,6 +312,9 @@ function Dopop(link) {
[% IF ( errmsgloo.notissued ) %]
<p class="problem">Not checked out.</p>
[% END %]
+ [% IF ( errmsgloo.localuse) %]
+ <p class="problem">Local Use recorded</p>
+ [% END %]
[% IF ( errmsgloo.waslost ) %]
<p class="problem">Item was lost, now found.</p>
[% END %]

0 comments on commit e05d53d

Please sign in to comment.