adding required update_process field; fleshing "quietly" updated objects (should...
authormiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Tue, 24 Feb 2009 21:29:45 +0000 (21:29 +0000)
committermiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Tue, 24 Feb 2009 21:29:45 +0000 (21:29 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@12286 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/examples/fm_IDL.xml
Open-ILS/src/perlmods/OpenILS/Application/Trigger/Event.pm

index 37285eb..a5b8c8c 100644 (file)
@@ -742,6 +742,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
                        <field reporter:label="State" name="state" oils_obj:array_position="11" oils_persist:virtual="false" reporter:datatype="text"/>
                        <field reporter:label="Template Output" name="template_output" oils_obj:array_position="12" oils_persist:virtual="false" reporter:datatype="text"/>
                        <field reporter:label="Error Output" name="error_output" oils_obj:array_position="13" oils_persist:virtual="false" reporter:datatype="text"/>
+                       <field reporter:label="Update Process" name="update_process" oils_obj:array_position="14" oils_persist:virtual="false" reporter:datatype="int"/>
                </fields>
                <links>
                        <link field="event_def" reltype="has_a" key="id" map="" class="atevdef"/>
index 2dc28f9..aee5cb3 100644 (file)
@@ -34,6 +34,11 @@ sub init {
     $self->id( $id ); 
     $self->environment( {} ); 
 
+    if (!$self->id) {
+        $log->error("No Event ID provided");
+        die "No Event ID provided";
+    }
+
     return $self if (!$self->id);
 
     $self->event(
@@ -293,6 +298,12 @@ sub update_state {
     }
 
     my $e = $self->editor->retrieve_action_trigger_event( $self->id );
+    if (!$e) {
+        $log->error( "Could not retrieve object ".$self->id." for update" ) if (!$e);
+        return undef;
+    }
+
+    $log->info( "Retrieved object ".$self->id." for update" );
     $e->start_time( 'now' ) unless $e->start_time;
     $e->update_time( 'now' );
     $e->update_process( $$ );
@@ -303,13 +314,20 @@ sub update_state {
     my $ok = $self->editor->update_action_trigger_event( $e );
     if (!$ok) {
         $self->editor->xact_rollback if ($self->standalone);
+        $log->error( "Update of event ".$self->id." failed" );
         return undef;
     } else {
+        $e = $self->editor->data;
+        $e = $self->editor->retrieve_action_trigger_event( $e ) if (!ref($e));
+        if (!$e) {
+            $log->error( "Update of event ".$self->id." did not return an object" );
+            return undef;
+        }
+        $log->info( "Update of event ".$e->id." suceeded" );
         $ok = $self->editor->xact_commit if ($self->standalone);
     }
 
     if ($ok) {
-        $e = $self->editor->data;
         $self->event->start_time( $e->start_time );
         $self->event->update_time( $e->update_time );
         $self->event->update_process( $e->update_process );