X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=admin%2Fbackground_jobs.pl;h=cccb3bba57b03ac53a019bf23b9b60d56aff6318;hb=af965277f819b758437fd3540569d185284e4315;hp=a4b7b90c0a8f3ac218ff838fec45f4dadd1336f1;hpb=931f4bd79776215b8cb1e656d58abf80b7aad8db;p=koha-ffzg.git diff --git a/admin/background_jobs.pl b/admin/background_jobs.pl index a4b7b90c0a..cccb3bba57 100755 --- a/admin/background_jobs.pl +++ b/admin/background_jobs.pl @@ -19,6 +19,7 @@ use Modern::Perl; use CGI qw ( -utf8 ); use C4::Context; +use Koha::DateUtils qw( dt_from_string ); use C4::Auth qw( get_template_and_user ); use C4::Output qw( output_html_with_http_headers ); @@ -78,15 +79,35 @@ if ( $op eq 'cancel' ) { if ( $op eq 'list' ) { - my $jobs = + my $queued_jobs = $can_manage_background_jobs - ? Koha::BackgroundJobs->search( {}, + ? Koha::BackgroundJobs->search( { ended_on => undef }, { order_by => { -desc => 'enqueued_on' } } ) : Koha::BackgroundJobs->search( - { borrowernumber => $logged_in_user->borrowernumber }, + { borrowernumber => $logged_in_user->borrowernumber, ended_on => undef }, { order_by => { -desc => 'enqueued_on' } } ); - $template->param( jobs => $jobs ); + $template->param( queued => $queued_jobs ); + + my $ended_since = dt_from_string->subtract( minutes => '60' ); + my $dtf = Koha::Database->new->schema->storage->datetime_parser; + + my $complete_jobs = + $can_manage_background_jobs + ? Koha::BackgroundJobs->search( + { + ended_on => { '>=' => $dtf->format_date($ended_since) } + }, + { order_by => { -desc => 'enqueued_on' } } + ) + : Koha::BackgroundJobs->search( + { + borrowernumber => $logged_in_user->borrowernumber, + ended_on => { '>=' => $dtf->format_date($ended_since) } + }, + { order_by => { -desc => 'enqueued_on' } } + ); + $template->param( complete => $complete_jobs ); } $template->param(