JBAS-224 add date limit support to user event log UI
authorBill Erickson <berickxx@gmail.com>
Thu, 16 Oct 2014 22:23:14 +0000 (18:23 -0400)
committerBill Erickson <berickxx@gmail.com>
Thu, 21 Mar 2019 19:46:23 +0000 (15:46 -0400)
Backporting support for the library setting
'circ.staff.max_visible_event_age' to limit the number of events
displayed in the patron event log interface by date.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Open-ILS/src/perlmods/lib/OpenILS/Application/Actor.pm

index d4faa2c..cbf50a2 100644 (file)
@@ -3562,6 +3562,20 @@ sub user_events {
         return $e->event unless $e->allowed('VIEW_USER', $user->home_ou);
     }
 
+    my $max_age = $U->ou_ancestor_setting_value(
+        $user->home_ou, 'circ.staff.max_visible_event_age');
+
+    if ($max_age) {
+        my $date = DateTime->now->subtract(seconds => 
+            interval_to_seconds($max_age))->strftime('%F %T%z');
+
+        if ($filters->{event}) {
+            $filters->{event}->{add_time} = {'>=' => $date};
+        } else {
+            $filters->{event} = {add_time => {'>=' => $date}};
+        }
+    }
+
     my $ses = OpenSRF::AppSession->create('open-ils.trigger');
     my $req = $ses->request('open-ils.trigger.events_by_target',
         $obj_type, $filters, {atevdef => ['reactor', 'validator']}, 2);