X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FController%2FBackgroundJobHistory.pm;h=4fbd7ece0c3614725f58ae06848a73d3c9341714;hb=b775c378552e6b5bf59f98046cdf4e577cd351df;hp=5b0cd8fae37012c380bf6642ab0f30488662f323;hpb=6c5cdbebb76503232d7aabafd7c86e353ef2b73d;p=kivitendo-erp.git diff --git a/SL/Controller/BackgroundJobHistory.pm b/SL/Controller/BackgroundJobHistory.pm index 5b0cd8fae..4fbd7ece0 100644 --- a/SL/Controller/BackgroundJobHistory.pm +++ b/SL/Controller/BackgroundJobHistory.pm @@ -4,10 +4,7 @@ use strict; use parent qw(SL::Controller::Base); -use SL::Controller::Helper::Filtered; use SL::Controller::Helper::GetModels; -use SL::Controller::Helper::Paginated; -use SL::Controller::Helper::Sorted; use SL::DB::BackgroundJobHistory; use SL::Helper::Flash; use SL::Locale::String; @@ -15,30 +12,14 @@ use SL::System::TaskServer; use Rose::Object::MakeMethods::Generic ( - scalar => [ qw(history db_args flat_filter filter_summary) ], - 'scalar --get_set_init' => [ qw(task_server) ], + scalar => [ qw(history filter_summary) ], + 'scalar --get_set_init' => [ qw(task_server models) ], ); __PACKAGE__->run_before('check_auth'); __PACKAGE__->run_before('add_stylesheet'); __PACKAGE__->run_before('check_task_server'); -__PACKAGE__->make_filtered( - MODEL => 'BackgroundJobHistory', - LAUNDER_TO => 'filter' -); -__PACKAGE__->make_paginated(ONLY => [ qw(list) ]); - -__PACKAGE__->make_sorted( - ONLY => [ qw(list) ], - - package_name => t8('Package name'), - run_at => t8('Run at'), - status => t8('Execution status'), - result => t8('Result'), - error => t8('Error'), -); - # # actions # @@ -48,9 +29,11 @@ sub action_list { $self->make_filter_summary; + $self->setup_list_action_bar; $self->render('background_job_history/list', title => $::locale->text('Background job history'), - ENTRIES => $self->get_models); + ENTRIES => $self->models->get, + MODELS => $self->models); } sub action_show { @@ -59,6 +42,7 @@ sub action_show { my $back_to = $::form->{back_to} || $self->url_for(action => 'list'); $self->history(SL::DB::BackgroundJobHistory->new(id => $::form->{id})->load); + $self->setup_show_action_bar; $self->render('background_job_history/show', title => $::locale->text('View background job execution result'), back_to => $back_to); @@ -86,7 +70,7 @@ sub check_task_server { } sub add_stylesheet { - $::request->{layout}->use_stylesheet('lx-office-erp/background_jobs.css'); + $::request->{layout}->use_stylesheet('background_jobs.css'); } sub make_filter_summary { @@ -106,7 +90,7 @@ sub make_filter_summary { @filters; my %status = ( - failed => $::locale->text('failed'), + failure => $::locale->text('failed'), success => $::locale->text('succeeded'), ); push @filter_strings, $status{ $filter->{'status:eq_ignore_empty'} } if $filter->{'status:eq_ignore_empty'}; @@ -114,4 +98,49 @@ sub make_filter_summary { $self->filter_summary(join(', ', @filter_strings)); } +sub init_models { + my ($self) = @_; + + SL::Controller::Helper::GetModels->new( + controller => $self, + sorted => { + package_name => t8('Package name'), + run_at => t8('Run at'), + status => t8('Execution status'), + result => t8('Result'), + error => t8('Error'), + }, + ); +} + +sub setup_list_action_bar { + my ($self) = @_; + + for my $bar ($::request->layout->get('actionbar')) { + $bar->add( + link => [ + t8('Server control'), + link => $self->url_for(controller => 'TaskServer', action => 'show'), + ], + link => [ + t8('List of jobs'), + link => $self->url_for(controller => 'BackgroundJob', action => 'list'), + ], + ); + } +} + +sub setup_show_action_bar { + my ($self) = @_; + + for my $bar ($::request->layout->get('actionbar')) { + $bar->add( + link => [ + t8('Back'), + link => $self->url_for(action => 'list'), + ], + ); + } +} + 1;