]> wagnertech.de Git - mfinanz.git/blobdiff - SL/Controller/BackgroundJob.pm
Merge branch 'master' of http://wagnertech.de/git/mfinanz
[mfinanz.git] / SL / Controller / BackgroundJob.pm
index e97b369705cf77e580f27892f3b10e3944595295..8941bb69493971aeee4d5c8d3021c2fb8a5a2994 100644 (file)
@@ -99,7 +99,7 @@ sub action_save_and_execute {
   my ($self) = @_;
 
   $self->background_job(SL::DB::BackgroundJob->new) if !$self->background_job;
-  return unless $self->create_or_update;
+  return unless $self->create_or_update(1);
   $self->action_execute;
 }
 
@@ -131,7 +131,9 @@ sub action_execute_class {
     my $package = "SL::BackgroundJob::" . $::form->{class};
 
     eval "require $package" or die $@;
-    $result = $package->new->run(SL::DB::BackgroundJob->new);
+    my $job = SL::DB::BackgroundJob->new(data => $::form->{data});
+    $job->data(decode_json($::form->{json_data})) if $::form->{json_data};
+    $result = $package->new->run($job);
 
     1;
   };
@@ -168,6 +170,7 @@ sub create_or_update {
 
   if (@errors) {
     flash('error', @errors);
+    $self->setup_form_action_bar;
     $self->render('background_job/form', title => $is_new ? $::locale->text('Create a new background job') : $::locale->text('Edit background job'));
     return;
   }
@@ -176,7 +179,7 @@ sub create_or_update {
   $self->background_job->save;
 
   flash_later('info', $is_new ? $::locale->text('The background job has been created.') : $::locale->text('The background job has been saved.'));
-  return if $return;
+  return if $return;
 
   $self->redirect_to($self->back_to);
 }
@@ -205,6 +208,7 @@ sub init_models {
     filtered => 0,
     sorted => {
       package_name => t8('Package name'),
+      description  => t8('Description'),
       type         => t8('Execution type'),
       active       => t8('Active'),
       cron_spec    => t8('Execution schedule'),