1 [% USE HTML %][% USE L %][% USE LxERP %]
3 <h1>[% FORM.title %]</h1>
5 [%- INCLUDE 'common/flash.html' %]
7 [%- PROCESS 'background_job_history/_filter.html' filter=SELF.models.filtered.laundered %]
11 [%- LxERP.t8('There are no entries in the background job history.') %]
15 <table id="background_job_history_list" class="background_job_list" width="100%">
17 <tr class="listheading">
18 <th>[% L.sortable_table_header('package_name') %]</th>
19 <th>[% L.sortable_table_header('run_at') %]</th>
20 <th>[% L.sortable_table_header('status') %]</th>
21 <th>[% L.sortable_table_header('result') %]</th>
22 <th>[% L.sortable_table_header('error') %]</th>
27 [%- FOREACH entry = ENTRIES %]
28 <tr class="listrow[% loop.count % 2 %]" id="background_job_history_id_[% entry.id %]">
30 <a href="[% SELF.url_for(action => 'show', id => entry.id, back_to => SELF.models.get_callback) %]">
31 [%- HTML.escape(entry.package_name) %]
34 <td>[%- HTML.escape(entry.run_at.to_lxoffice('precision' => 'second')) %]</td>
36 [%- IF entry.status == 'success' %]
37 [%- LxERP.t8('succeeded') %]
38 [%- ELSIF entry.status == 'failure' %]
39 [%- LxERP.t8('failed') %]
41 [%- HTML.escape(entry.status) %]
44 <td>[%- HTML.escape(entry.result) %]</td>
45 <td>[% IF entry.error_col %]<pre>[%- HTML.escape(L.truncate(entry.error_col)) %]</pre>[%- END %]</td>
52 [% L.paginate_controls %]
57 <a href="[% SELF.url_for(controller => 'BackgroundJob', action => 'list') %]">[%- LxERP.t8('View background jobs') %]</a>
59 <a href="[% SELF.url_for(controller => 'TaskServer', action => 'show') %]">[%- LxERP.t8('Task server control') %]</a>