5 <h1>[% FORM.title %]</h1>
7 [% INCLUDE 'common/flash.html' %]
9 [% IF !BACKGROUND_JOBS.size %]
10 <p>[% LxERP.t8('No background job has been created yet.') %]</p>
13 <table id="background_job_list" class="tbl-list" width="100%">
16 <th>[% L.sortable_table_header('package_name') %]</th>
17 <th>[% L.sortable_table_header('description') %]</th>
18 <th>[% L.sortable_table_header('type') %]</th>
19 <th>[% L.sortable_table_header('active') %]</th>
20 <th>[% L.sortable_table_header('cron_spec') %]</th>
21 <th>[% L.sortable_table_header('last_run_at') %]</th>
22 <th>[% L.sortable_table_header('next_run_at') %]</th>
27 [% FOREACH background_job = BACKGROUND_JOBS %]
28 <tr class="listrow[% loop.count % 2 %]" id="background_job_id_[% background_job.id %]">
29 <td><a href="[% SELF.url_for(action => 'edit', id => background_job.id, back_to => SELF.get_callback) %]">[% HTML.escape(background_job.package_name) %]</a></td>
30 <td>[% HTML.escape(background_job.description) %]</td>
32 [% IF background_job.type == 'once' %]
33 [% LxERP.t8('one-time execution') %]
34 [% ELSIF background_job.type == 'interval' %]
35 [% LxERP.t8('repeated execution') %]
37 [% HTML.escape(background_job.type) %]
40 <td>[% IF background_job.active %][% LxERP.t8('yes') %][% ELSE %][% LxERP.t8('no') %][% END %]</td>
41 <td>[% HTML.escape(background_job.cron_spec) %]</td>
43 [% IF background_job.last_run_at %]
44 [% HTML.escape(background_job.last_run_at.to_lxoffice('precision' => 'second')) %]
46 [% LxERP.t8('never') %]
51 [% IF background_job.next_run_at %]
52 [% HTML.escape(background_job.next_run_at.to_lxoffice('precision' => 'second')) %]
54 [% LxERP.t8('not set') %]
63 [% L.paginate_controls %]