From: Ian Walls <[email protected]>

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 <[email protected]>
---
 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 f6324e3..f4946b5 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 2a9b47e..65df373 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 ) %]
                         <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 %]
-- 
1.7.2.3

_______________________________________________
Koha-patches mailing list
[email protected]
http://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-patches
website : http://www.koha-community.org/
git : http://git.koha-community.org/
bugs : http://bugs.koha-community.org/

Reply via email to