X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FController%2FBackgroundJob.pm;h=f80f57a1c0b200e6b6b917f9bccef4d6a168aa5b;hb=0499c65ed3ba3c3ac87b5aab9a60c3cc33be0796;hp=3176eb66d5692ea5fc31d6b01dc8686deeaf601d;hpb=4e4bd8f9d9b5c89d42829011786d3766a0b926bf;p=kivitendo-erp.git diff --git a/SL/Controller/BackgroundJob.pm b/SL/Controller/BackgroundJob.pm index 3176eb66d..f80f57a1c 100644 --- a/SL/Controller/BackgroundJob.pm +++ b/SL/Controller/BackgroundJob.pm @@ -4,6 +4,9 @@ use strict; use parent qw(SL::Controller::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::System::TaskServer; @@ -11,13 +14,26 @@ use SL::System::TaskServer; use Rose::Object::MakeMethods::Generic ( scalar => [ qw(background_job) ], - 'scalar --get_set_init' => [ qw(task_server) ], + 'scalar --get_set_init' => [ qw(task_server back_to) ], ); __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 => $::locale->text('Package name'), + type => $::locale->text('Execution type'), + active => $::locale->text('Active'), + cron_spec => $::locale->text('Execution schedule'), + last_run_at => $::locale->text('Last run at'), + next_run_at => $::locale->text('Next run at'), +); + # # actions # @@ -27,7 +43,7 @@ sub action_list { $self->render('background_job/list', title => $::locale->text('Background jobs'), - BACKGROUND_JOBS => SL::DB::Manager::BackgroundJob->get_all_sorted); + BACKGROUND_JOBS => $self->get_models); } sub action_new { @@ -63,7 +79,7 @@ sub action_destroy { flash_later('error', $::locale->text('The background job could not be destroyed.')); } - $self->redirect_to(action => 'list'); + $self->redirect_to($self->back_to); } sub action_save_and_execute { @@ -83,7 +99,10 @@ sub action_execute { flash_later('error', $::locale->text('There was an error executing the background job.')); } - $self->redirect_to(controller => 'BackgroundJobHistory', action => 'show', id => $history->id); + $self->redirect_to(controller => 'BackgroundJobHistory', + action => 'show', + id => $history->id, + back_to => $self->url_for(action => 'edit', id => $self->background_job->id)); } # @@ -120,7 +139,7 @@ sub create_or_update { flash_later('info', $is_new ? $::locale->text('The background job has been created.') : $::locale->text('The background job has been saved.')); return if $return; - $self->redirect_to(action => 'list'); + $self->redirect_to($self->back_to); } sub load_background_job { @@ -137,4 +156,9 @@ sub check_task_server { flash('warning', $::locale->text('The task server does not appear to be running.')) if !$self->task_server->is_running; } +sub init_back_to { + my ($self) = @_; + return $::form->{back_to} || $self->url_for(action => 'list'); +} + 1;