X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FController%2FBackgroundJob.pm;h=b688297971b088d392a8f0fb332c09bb545d4c5f;hb=17384c044b465c262772eb9737ea298069c4d826;hp=797797782fc421460e13d19b026ce29daa063ef9;hpb=8a40e3dd0f638557b8c666fe708ccbc1ac709c4e;p=kivitendo-erp.git diff --git a/SL/Controller/BackgroundJob.pm b/SL/Controller/BackgroundJob.pm index 797797782..b68829797 100644 --- a/SL/Controller/BackgroundJob.pm +++ b/SL/Controller/BackgroundJob.pm @@ -6,8 +6,6 @@ use parent qw(SL::Controller::Base); use SL::BackgroundJob::Base; use SL::Controller::Helper::GetModels; -use SL::Controller::Helper::Paginated; -use SL::Controller::Helper::Sorted; use SL::DB::BackgroundJob; use SL::Helper::Flash; use SL::Locale::String; @@ -16,26 +14,13 @@ use SL::System::TaskServer; use Rose::Object::MakeMethods::Generic ( scalar => [ qw(background_job) ], - 'scalar --get_set_init' => [ qw(task_server back_to) ], + 'scalar --get_set_init' => [ qw(task_server back_to models) ], ); __PACKAGE__->run_before('check_auth'); __PACKAGE__->run_before('check_task_server'); __PACKAGE__->run_before('load_background_job', only => [ qw(edit update destroy execute) ]); -__PACKAGE__->make_paginated(ONLY => [ qw(list) ]); - -__PACKAGE__->make_sorted( - ONLY => [ qw(list) ], - - package_name => t8('Package name'), - type => t8('Execution type'), - active => t8('Active'), - cron_spec => t8('Execution schedule'), - last_run_at => t8('Last run at'), - next_run_at => t8('Next run at'), -); - # # actions # @@ -45,7 +30,8 @@ sub action_list { $self->render('background_job/list', title => $::locale->text('Background jobs'), - BACKGROUND_JOBS => $self->get_models); + BACKGROUND_JOBS => $self->models->get, + MODELS => $self->models); } sub action_new { @@ -92,6 +78,7 @@ sub action_destroy { sub action_save_and_execute { my ($self) = @_; + $self->background_job(SL::DB::BackgroundJob->new) if !$self->background_job; return unless $self->create_or_update; $self->action_execute; } @@ -168,4 +155,22 @@ sub init_back_to { return $::form->{back_to} || $self->url_for(action => 'list'); } +sub init_models { + SL::Controller::Helper::GetModels->new( + controller => $_[0], + filtered => 0, + sorted => { + package_name => t8('Package name'), + type => t8('Execution type'), + active => t8('Active'), + cron_spec => t8('Execution schedule'), + last_run_at => t8('Last run at'), + next_run_at => t8('Next run at'), + }, + query => [ + package_name => [ SL::BackgroundJob::Base->get_known_job_classes ], + ], + ); +} + 1;