Merge branch 'master' of github.com:kivitendo/kivitendo-erp
[kivitendo-erp.git] / SL / Controller / BackgroundJob.pm
index f0a1722..3e89ecc 100644 (file)
@@ -19,7 +19,7 @@ use Rose::Object::MakeMethods::Generic
 
 __PACKAGE__->run_before('check_auth');
 __PACKAGE__->run_before('check_task_server');
-__PACKAGE__->run_before('load_background_job', only => [ qw(edit update destroy execute) ]);
+__PACKAGE__->run_before('load_background_job', only => [ qw(edit update destroy execute show) ]);
 
 #
 # actions
@@ -51,6 +51,16 @@ sub action_edit {
                 JOB_CLASSES => [ SL::BackgroundJob::Base->get_known_job_classes ]);
 }
 
+sub action_show {
+  my ($self) = @_;
+
+  if ($::request->type eq 'json') {
+    $self->render(\ SL::JSON::to_json($self->background_job->as_tree), { type => 'json' });
+  } else {
+    $self->action_edit;
+  }
+}
+
 sub action_create {
   my ($self) = @_;
 
@@ -158,7 +168,6 @@ sub init_back_to {
 sub init_models {
   SL::Controller::Helper::GetModels->new(
     controller => $_[0],
-    model  => 'BackgroundJob',
     filtered => 0,
     sorted => {
       package_name => t8('Package name'),
@@ -168,6 +177,9 @@ sub init_models {
       last_run_at  => t8('Last run at'),
       next_run_at  => t8('Next run at'),
     },
+    query => [
+      package_name => [ SL::BackgroundJob::Base->get_known_job_classes ],
+    ],
   );
 }