[open-ils-commits] r17979 - branches/rel_2_0/Open-ILS/src/perlmods/OpenILS/Application (erickson)

svn at svn.open-ils.org svn at svn.open-ils.org
Fri Sep 24 18:24:54 EDT 2010


Author: erickson
Date: 2010-09-24 18:24:48 -0400 (Fri, 24 Sep 2010)
New Revision: 17979

Modified:
   branches/rel_2_0/Open-ILS/src/perlmods/OpenILS/Application/AppUtils.pm
Log:
clean up the fire_object_events cstore xact

Modified: branches/rel_2_0/Open-ILS/src/perlmods/OpenILS/Application/AppUtils.pm
===================================================================
--- branches/rel_2_0/Open-ILS/src/perlmods/OpenILS/Application/AppUtils.pm	2010-09-24 22:23:58 UTC (rev 17978)
+++ branches/rel_2_0/Open-ILS/src/perlmods/OpenILS/Application/AppUtils.pm	2010-09-24 22:24:48 UTC (rev 17979)
@@ -1634,7 +1634,7 @@
 
     if($event_def) {
         $def = $e->retrieve_action_trigger_event_definition($event_def)
-            or return $e->event;
+            or return $e->die_event;
 
         $auto_method .= '.include_inactive';
 
@@ -1642,9 +1642,11 @@
 
         # find the most appropriate event def depending on context org
         $def = $self->find_event_def_by_hook($hook, $context_org, $e) 
-            or return $e->event;
+            or return $e->die_event;
     }
 
+    my $final_resp;
+
     if($def->group_field) {
         # we have a list of objects
         $object = [$object] unless ref $object eq 'ARRAY';
@@ -1675,12 +1677,13 @@
             );
         }
 
-        return undef unless $resp and $resp->{events} and @{$resp->{events}};
+        if($resp and $resp->{events} and @{$resp->{events}}) {
 
-        return $e->retrieve_action_trigger_event([
-            $resp->{events}->[0]->id,
-            {flesh => 1, flesh_fields => {atev => ['template_output', 'error_output']}}
-        ]);
+            $final_resp = $e->retrieve_action_trigger_event([
+                $resp->{events}->[0]->id,
+                {flesh => 1, flesh_fields => {atev => ['template_output', 'error_output']}}
+            ]);
+        }
 
     } else {
 
@@ -1714,13 +1717,17 @@
                 $event_id
             );
         }
-        return undef unless $resp and $resp->{event};
+        
+        if($resp and $resp->{event}) {
+            $final_resp = $e->retrieve_action_trigger_event([
+                $resp->{event}->id,
+                {flesh => 1, flesh_fields => {atev => ['template_output', 'error_output']}}
+            ]);
+        }
+    }
 
-        return $e->retrieve_action_trigger_event([
-            $resp->{event}->id,
-            {flesh => 1, flesh_fields => {atev => ['template_output', 'error_output']}}
-        ]);
-    }
+    $e->rollback;
+    return $final_resp;
 }
 
 



More information about the open-ils-commits mailing list