Skip fine generation when the fine interval is day-granular, meaning fines are handle...
authormiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Thu, 10 Mar 2011 15:43:55 +0000 (15:43 +0000)
committermiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Thu, 10 Mar 2011 15:43:55 +0000 (15:43 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_2_0@19679 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/src/perlmods/OpenILS/Application/Circ/Circulate.pm

index 07f6751..ccf2b3b 100644 (file)
@@ -2926,14 +2926,17 @@ sub generate_fines_start {
    my $self = shift;
    my $reservation = shift;
 
-   my $id = $reservation ? $self->reservation->id : $self->circ->id;
+   my $obj = $reservation ? $self->reservation: $self->circ;
+
+   # Don't generate fines on circs with a fine interval that's not day-granular
+   return undef if (OpenSRF::Utils->interval_to_seconds($obj->fine_interval) % 86400 == 0);
 
    if (!exists($self->{_gen_fines_req})) {
       $self->{_gen_fines_req} = OpenSRF::AppSession->create('open-ils.storage') 
           ->request(
              'open-ils.storage.action.circulation.overdue.generate_fines',
              undef,
-             $id
+             $obj->id
           );
    }
 
@@ -2944,6 +2947,8 @@ sub generate_fines_finish {
    my $self = shift;
    my $reservation = shift;
 
+   $self->{_gen_fines_req}->wait_complete if ($self->{_gen_fines_req});
+
    my $id = $reservation ? $self->reservation->id : $self->circ->id;
 
    $self->{_gen_fines_req}->wait_complete;