long-overdue : ML; checkin
authorBill Erickson <berick@esilibrary.com>
Mon, 22 Apr 2013 17:05:14 +0000 (13:05 -0400)
committerBill Erickson <berick@esilibrary.com>
Mon, 22 Apr 2013 17:05:14 +0000 (13:05 -0400)
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Circulate.pm

index 273978e..f3d2f6c 100644 (file)
@@ -536,6 +536,7 @@ my @AUTOLOAD_FIELDS = qw/
     skip_rental_fee
     use_booking
     generate_lost_overdue
+    generate_longoverdue_overdue
     clear_expired
     retarget_mode
     hold_as_transit
@@ -3425,13 +3426,41 @@ sub checkin_handle_circ {
     return undef;
 }
 
-
 # ------------------------------------------------------------------
-# See if we need to void billings for lost checkin
+# See if we need to void billings, etc. for lost checkin
 # ------------------------------------------------------------------
 sub checkin_handle_lost {
     my $self = shift;
     my $circ_lib = shift;
+
+    my $max_return = $U->ou_ancestor_setting_value($circ_lib, 
+        OILS_SETTING_MAX_ACCEPT_RETURN_OF_LOST, $self->editor) || 0;
+
+    return $self->checkin_handle_lost_or_longoverdue(
+        circ_lib => $circ_lib,
+        max_return => $max_return,
+    );
+}
+
+# ------------------------------------------------------------------
+# See if we need to void billings, etc. for long-overdue checkin
+# ------------------------------------------------------------------
+sub checkin_handle_long_overdue {
+    my $self = shift;
+    my $circ_lib = shift;
+
+    my $max_return = $U->ou_ancestor_setting_value($circ_lib, 
+        'circ.max_accept_return_of_longoverdue', $self->editor) || 0;
+
+    return $self->checkin_handle_lost_or_longoverdue(
+        circ_lib => $circ_lib,
+        max_return => $max_return,
+    )
+}
+
+sub checkin_handle_lost_or_longoverdue {
+    my $self = shift;
+    my $circ_lib = shift;
     my $circ = $self->circ;
 
     my $max_return = $U->ou_ancestor_setting_value(