From 5be585d1151e2a92655cc2220d0d51947be686e1 Mon Sep 17 00:00:00 2001 From: Moritz Bunkus Date: Fri, 31 Aug 2012 17:10:37 +0200 Subject: [PATCH] Sortierung im BackgroundJob-Controller --- SL/Controller/BackgroundJob.pm | 26 +++++++++++++++++---- templates/webpages/background_job/form.html | 1 + templates/webpages/background_job/list.html | 16 ++++++------- 3 files changed, 31 insertions(+), 12 deletions(-) diff --git a/SL/Controller/BackgroundJob.pm b/SL/Controller/BackgroundJob.pm index 57ec5c377..dc97e1861 100644 --- a/SL/Controller/BackgroundJob.pm +++ b/SL/Controller/BackgroundJob.pm @@ -4,6 +4,8 @@ use strict; use parent qw(SL::Controller::Base); +use SL::Controller::Helper::GetModels; +use SL::Controller::Helper::Sorted; use SL::DB::BackgroundJob; use SL::Helper::Flash; use SL::System::TaskServer; @@ -11,13 +13,24 @@ 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_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 +40,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 +76,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 { @@ -123,7 +136,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 { @@ -140,4 +153,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; diff --git a/templates/webpages/background_job/form.html b/templates/webpages/background_job/form.html index a4753bb41..e7e364010 100644 --- a/templates/webpages/background_job/form.html +++ b/templates/webpages/background_job/form.html @@ -37,6 +37,7 @@

[% L.hidden_tag("id", SELF.background_job.id) %] + [% L.hidden_tag("back_to", SELF.back_to) %] [% L.hidden_tag("action", "BackgroundJob/dispatch") %] [% L.submit_tag("action_" _ (SELF.background_job.id ? "update" : "create"), LxERP.t8('Save')) %] [%- IF SELF.background_job.id %] diff --git a/templates/webpages/background_job/list.html b/templates/webpages/background_job/list.html index 6ccef1c20..060c35d43 100644 --- a/templates/webpages/background_job/list.html +++ b/templates/webpages/background_job/list.html @@ -15,12 +15,12 @@ - - - - - - + + + + + + @@ -28,7 +28,7 @@ [%- FOREACH background_job = BACKGROUND_JOBS %] @@ -67,7 +67,7 @@

- [%- LxERP.t8('Create new background job') %] + [%- LxERP.t8('Create new background job') %] | [%- LxERP.t8('View background job history') %] | -- 2.20.1

[%- LxERP.t8('Package name') %][%- LxERP.t8('Execution type') %][%- LxERP.t8('Active') %][%- LxERP.t8('Execution schedule') %][%- LxERP.t8('Last run at') %][%- LxERP.t8('Next run at') %][% L.sortable_table_header('package_name') %][% L.sortable_table_header('type') %][% L.sortable_table_header('active') %][% L.sortable_table_header('cron_spec') %][% L.sortable_table_header('last_run_at') %][% L.sortable_table_header('next_run_at') %]
- + [%- HTML.escape(background_job.package_name) %]