Array-ify next_status when sending back to client; Skip old-style status events when...
authorMike Rylander <mrylander@gmail.com>
Thu, 7 Apr 2016 18:50:23 +0000 (14:50 -0400)
committerGalen Charlton <gmc@equinoxinitiative.org>
Mon, 27 Mar 2017 20:17:09 +0000 (16:17 -0400)
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Circulate.pm

index 4f50ca1..d632774 100644 (file)
@@ -782,7 +782,8 @@ sub generate_system_copy_alerts {
 
     my @alerts;
     foreach my $t (@final_types) {
-        $t->next_status([$U->unique_unnested_numbers($t->next_status)]);
+        $t->next_status([$U->unique_unnested_numbers($t->next_status)])
+            if ($t->next_status);
 
         my $alert = new Fieldmapper::asset::copy_alert ();
         $alert->alert_type($t->id);
@@ -799,7 +800,7 @@ sub generate_system_copy_alerts {
 
         $alert->alert_type($t->clone);
 
-        push(@{$self->next_copy_status}, $t->next_status) if ($t->next_status);
+        push(@{$self->next_copy_status}, @{$t->next_status}) if ($t->next_status);
         push(@alerts, $alert) unless (grep {$_->alert_type == $t->id} @$suppressions);
     }
 
@@ -3753,7 +3754,8 @@ sub check_checkin_copy_status {
    my $status = $U->copy_status($copy->status)->id;
 
    return undef
-      if(   $status == OILS_COPY_STATUS_AVAILABLE   ||
+      if(   $self->new_copy_alerts ||
+            $status == OILS_COPY_STATUS_AVAILABLE   ||
             $status == OILS_COPY_STATUS_CHECKED_OUT ||
             $status == OILS_COPY_STATUS_IN_PROCESS  ||
             $status == OILS_COPY_STATUS_ON_HOLDS_SHELF  ||