Revision 2707d93c
Von Hans Peter Schlaepfer vor fast 6 Jahren hinzugefügt
templates/webpages/background_job/form.html | ||
---|---|---|
[% USE HTML %][% USE L %][% USE LxERP %]
|
||
[% USE HTML %]
|
||
[% USE L %]
|
||
[% USE LxERP %]
|
||
|
||
<h1>[% FORM.title %]</h1>
|
||
<h1>[% FORM.title %]</h1>
|
||
|
||
[%- INCLUDE 'common/flash.html' %]
|
||
[% INCLUDE 'common/flash.html' %]
|
||
|
||
<form method="post" action="controller.pl" id="form">
|
||
<form method="post" action="controller.pl" id="form">
|
||
[% L.hidden_tag("id", SELF.background_job.id) %]
|
||
[% L.hidden_tag("back_to", SELF.back_to) %]
|
||
|
||
<table>
|
||
<tr>
|
||
<th align="right">[%- LxERP.t8('Active') %]</th>
|
||
<td>[% L.yes_no_tag("background_job.active", SELF.background_job.active) %]</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<th align="right">[%- LxERP.t8('Execution type') %]</th>
|
||
<td>
|
||
[% L.select_tag('background_job.type', [
|
||
[ 'once', LxERP.t8('one-time execution') ],
|
||
[ 'interval', LxERP.t8('repeated execution') ]
|
||
],
|
||
'default' = SELF.background_job.type) %]
|
||
</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<th align="right">[%- LxERP.t8('Package name') %]</th>
|
||
<td>[% L.select_tag("background_job.package_name", JOB_CLASSES, 'default' => SELF.background_job.package_name) %]</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<th align="right">[%- LxERP.t8('Execution schedule') %]</th>
|
||
<td>[% L.input_tag("background_job.cron_spec", SELF.background_job.cron_spec, 'size' => 40) %]</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<th align="right" valign="top">[%- LxERP.t8('Data') %]</th>
|
||
<td valign="top">[% L.textarea_tag("background_job.data", SELF.background_job.data, 'cols' => 80, 'rows' => 10) %]</td>
|
||
</tr>
|
||
|
||
<tbody>
|
||
<tr>
|
||
<th>[% LxERP.t8('Active') %]</th>
|
||
<td>[% L.yes_no_tag("background_job.active", SELF.background_job.active) %]</td>
|
||
</tr>
|
||
<tr>
|
||
<th>[% LxERP.t8('Execution type') %]</th>
|
||
<td>[%
|
||
L.select_tag('background_job.type', [
|
||
[ 'once', LxERP.t8('one-time execution') ],
|
||
[ 'interval', LxERP.t8('repeated execution') ]
|
||
],
|
||
'default' = SELF.background_job.type)
|
||
%]</td>
|
||
</tr>
|
||
<tr>
|
||
<th>[% LxERP.t8('Package name') %]</th>
|
||
<td>[% L.select_tag("background_job.package_name", JOB_CLASSES, 'default' => SELF.background_job.package_name) %]</td>
|
||
</tr>
|
||
<tr>
|
||
<th>[% LxERP.t8('Execution schedule') %]</th>
|
||
<td>[% L.input_tag("background_job.cron_spec", SELF.background_job.cron_spec, 'size' => 40) %]</td>
|
||
</tr>
|
||
<tr>
|
||
<th>[% LxERP.t8('Data') %]</th>
|
||
<td>[% L.textarea_tag("background_job.data", SELF.background_job.data, 'cols' => 80, 'rows' => 10) %]</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</form>
|
||
|
||
</form>
|
templates/webpages/background_job/list.html | ||
---|---|---|
[% USE HTML %][% USE L %][% USE LxERP %]
|
||
[% USE HTML %]
|
||
[% USE L %]
|
||
[% USE LxERP %]
|
||
|
||
<h1>[% FORM.title %]</h1>
|
||
<h1>[% FORM.title %]</h1>
|
||
|
||
[%- INCLUDE 'common/flash.html' %]
|
||
[% INCLUDE 'common/flash.html' %]
|
||
|
||
[% IF !BACKGROUND_JOBS.size %]
|
||
<p>
|
||
[%- LxERP.t8('No background job has been created yet.') %]
|
||
</p>
|
||
[% IF !BACKGROUND_JOBS.size %]
|
||
<p>[% LxERP.t8('No background job has been created yet.') %]</p>
|
||
|
||
[%- ELSE %]
|
||
<table id="background_job_list" width="100%">
|
||
[% ELSE %]
|
||
<table id="background_job_list" width="100%">
|
||
<thead>
|
||
<tr class="listheading">
|
||
<th>[% L.sortable_table_header('package_name') %]</th>
|
||
<th>[% L.sortable_table_header('type') %]</th>
|
||
<th>[% L.sortable_table_header('active') %]</th>
|
||
<th>[% L.sortable_table_header('cron_spec') %]</th>
|
||
<th>[% L.sortable_table_header('last_run_at') %]</th>
|
||
<th>[% L.sortable_table_header('next_run_at') %]</th>
|
||
</tr>
|
||
<tr>
|
||
<th>[% L.sortable_table_header('package_name') %]</th>
|
||
<th>[% L.sortable_table_header('type') %]</th>
|
||
<th>[% L.sortable_table_header('active') %]</th>
|
||
<th>[% L.sortable_table_header('cron_spec') %]</th>
|
||
<th>[% L.sortable_table_header('last_run_at') %]</th>
|
||
<th>[% L.sortable_table_header('next_run_at') %]</th>
|
||
</tr>
|
||
</thead>
|
||
|
||
<tbody>
|
||
[%- FOREACH background_job = BACKGROUND_JOBS %]
|
||
<tr class="listrow[% loop.count % 2 %]" id="background_job_id_[% background_job.id %]">
|
||
<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>
|
||
<td>
|
||
[%- IF background_job.type == 'once' %]
|
||
[%- LxERP.t8('one-time execution') %]
|
||
[%- ELSIF background_job.type == 'interval' %]
|
||
[%- LxERP.t8('repeated execution') %]
|
||
[% ELSE %]
|
||
[%- HTML.escape(background_job.type) %]
|
||
[%- END %]
|
||
</td>
|
||
<td align="right">[% IF background_job.active %][%- LxERP.t8('yes') %][% ELSE %][%- LxERP.t8('no') %][%- END %]</td>
|
||
<td>[%- HTML.escape(background_job.cron_spec) %]</td>
|
||
<td>
|
||
[%- IF background_job.last_run_at %]
|
||
[%- HTML.escape(background_job.last_run_at.to_lxoffice('precision' => 'second')) %]
|
||
[%- ELSE %]
|
||
[%- LxERP.t8('never') %]
|
||
[%- END %]
|
||
</td>
|
||
[% FOREACH background_job = BACKGROUND_JOBS %]
|
||
<tr class="listrow[% loop.count % 2 %]" id="background_job_id_[% background_job.id %]">
|
||
<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>
|
||
<td>
|
||
[% IF background_job.type == 'once' %]
|
||
[% LxERP.t8('one-time execution') %]
|
||
[% ELSIF background_job.type == 'interval' %]
|
||
[% LxERP.t8('repeated execution') %]
|
||
[% ELSE %]
|
||
[% HTML.escape(background_job.type) %]
|
||
[% END %]
|
||
</td>
|
||
<td>[% IF background_job.active %][% LxERP.t8('yes') %][% ELSE %][% LxERP.t8('no') %][% END %]</td>
|
||
<td>[% HTML.escape(background_job.cron_spec) %]</td>
|
||
<td>
|
||
[% IF background_job.last_run_at %]
|
||
[% HTML.escape(background_job.last_run_at.to_lxoffice('precision' => 'second')) %]
|
||
[% ELSE %]
|
||
[% LxERP.t8('never') %]
|
||
[% END %]
|
||
</td>
|
||
|
||
<td>
|
||
[%- IF background_job.next_run_at %]
|
||
[%- HTML.escape(background_job.next_run_at.to_lxoffice('precision' => 'second')) %]
|
||
[%- ELSE %]
|
||
[%- LxERP.t8('not set') %]
|
||
[%- END %]
|
||
</td>
|
||
</tr>
|
||
[%- END %]
|
||
<td>
|
||
[% IF background_job.next_run_at %]
|
||
[% HTML.escape(background_job.next_run_at.to_lxoffice('precision' => 'second')) %]
|
||
[% ELSE %]
|
||
[% LxERP.t8('not set') %]
|
||
[% END %]
|
||
</td>
|
||
</tr>
|
||
[% END %]
|
||
</tbody>
|
||
</table>
|
||
[%- END %]
|
||
</table>
|
||
[% END %]
|
||
|
||
[% L.paginate_controls %]
|
||
[% L.paginate_controls %]
|
templates/webpages/background_job_history/_filter.html | ||
---|---|---|
[%- USE L %][%- USE LxERP %][%- USE HTML %]
|
||
[% USE L %]
|
||
[% USE LxERP %]
|
||
[% USE HTML %]
|
||
|
||
<form action="controller.pl" method="post" id="filter_form">
|
||
<div class="filter_toggle">
|
||
<a href="#" onClick="javascript:$('.filter_toggle').toggle()">[% LxERP.t8('Show Filter') %]</a>
|
||
[% IF SELF.filter_summary %]([% LxERP.t8("Current filter") %]: [% SELF.filter_summary %])[% END %]
|
||
</div>
|
||
|
||
<div class="filter_toggle" style="display:none">
|
||
<a href="#" onClick="javascript:$('.filter_toggle').toggle()">[% LxERP.t8('Hide Filter') %]</a>
|
||
<table id="filter_table">
|
||
<tr>
|
||
<th align="right">[% LxERP.t8('Package name') %]</th>
|
||
<td>[% L.input_tag('filter.package_name:substr::ilike', filter.package_name_substr__ilike, size = 20) %]</td>
|
||
</tr>
|
||
<tr>
|
||
<th align="right">[% LxERP.t8('Result') %]</th>
|
||
<td>[% L.input_tag('filter.result:substr::ilike', filter.result_substr__ilike, size = 20) %]</td>
|
||
</tr>
|
||
<tr>
|
||
<th align="right">[% LxERP.t8('Error') %]</th>
|
||
<td>[% L.input_tag('filter.error:substr::ilike', filter.error_substr__ilike, size = 20) %]</td>
|
||
</tr>
|
||
<tr>
|
||
<th align="right">[% LxERP.t8('Status') %]</th>
|
||
<td>[% L.select_tag('filter.status:eq_ignore_empty', [ [ '', '' ], [ 'failure', LxERP.t8('failed') ], [ 'success', LxERP.t8('succeeded') ] ], default=filter.status_eq_ignore_empty) %]</td>
|
||
</tr>
|
||
<tr>
|
||
<th align="right">[% LxERP.t8('Execution date from') %]</th>
|
||
<td>[% L.date_tag('filter.run_at:date::ge', filter.run_at_date__ge) %]</td>
|
||
</tr>
|
||
<tr>
|
||
<th align="right">[% LxERP.t8('Execution date to') %]</th>
|
||
<td>[% L.date_tag('filter.run_at:date::le', filter.run_at_date__le) %]</td>
|
||
</tr>
|
||
</table>
|
||
|
||
[% L.hidden_tag('action', 'BackgroundJobHistory/dispatch') %]
|
||
[% L.hidden_tag('sort_by', FORM.sort_by) %]
|
||
[% L.hidden_tag('sort_dir', FORM.sort_dir) %]
|
||
[% L.hidden_tag('page', FORM.page) %]
|
||
[% L.submit_tag('action_list', LxERP.t8('Continue'))%]
|
||
|
||
<div class="wrapper">
|
||
|
||
[% BLOCK filter_toggle_panel %]
|
||
<table id="filter_table" class="tbl-horizontal">
|
||
<tr>
|
||
<th>[% LxERP.t8('Package name') %]</th>
|
||
<td>[% L.input_tag('filter.package_name:substr::ilike', filter.package_name_substr__ilike, size = 10, class='wi-lightwide') %]</td>
|
||
</tr>
|
||
<tr>
|
||
<th>[% LxERP.t8('Result') %]</th>
|
||
<td>[% L.input_tag('filter.result:substr::ilike', filter.result_substr__ilike, size = 10, class='wi-lightwide') %]</td>
|
||
</tr>
|
||
<tr>
|
||
<th>[% LxERP.t8('Error') %]</th>
|
||
<td>[% L.input_tag('filter.error:substr::ilike', filter.error_substr__ilike, size = 10, class='wi-lightwide') %]</td>
|
||
</tr>
|
||
<tr>
|
||
<th>[% LxERP.t8('Status') %]</th>
|
||
<td>[% L.select_tag('filter.status:eq_ignore_empty', [ [ '', '' ], [ 'failure', LxERP.t8('failed') ], [ 'success', LxERP.t8('succeeded') ] ], default=filter.status_eq_ignore_empty, class='wi-lightwide') %]</td>
|
||
</tr>
|
||
<tr>
|
||
<th>[% LxERP.t8('Execution date from') %]</th>
|
||
<td>[% L.date_tag('filter.run_at:date::ge', filter.run_at_date__ge, class='wi-date') %]</td>
|
||
</tr>
|
||
<tr>
|
||
<th>[% LxERP.t8('Execution date to') %]</th>
|
||
<td>[% L.date_tag('filter.run_at:date::le', filter.run_at_date__le, class='wi-date') %]</td>
|
||
</tr>
|
||
</table>
|
||
|
||
|
||
[% L.hidden_tag('action', 'BackgroundJobHistory/dispatch') %]
|
||
[% L.hidden_tag('sort_by', FORM.sort_by) %]
|
||
[% L.hidden_tag('sort_dir', FORM.sort_dir) %]
|
||
[% L.hidden_tag('page', FORM.page) %]
|
||
<div class="buttons">
|
||
[% L.submit_tag('action_list', LxERP.t8('Continue'))%]
|
||
[% L.button_tag("\$('#filter_form').resetForm();", LxERP.t8('Reset')) %]
|
||
</div>
|
||
|
||
[% END # /BLOCK filter_toggle_panel %]
|
||
|
||
[% INCLUDE 'common/toggle_panel.html' %]
|
||
</div><!-- /.wrapper -->
|
||
|
||
</div>
|
||
|
||
</form>
|
templates/webpages/background_job_history/list.html | ||
---|---|---|
[% USE HTML %][% USE L %][% USE LxERP %]
|
||
[% USE HTML %]
|
||
[% USE L %]
|
||
[% USE LxERP %]
|
||
|
||
<h1>[% FORM.title %]</h1>
|
||
|
||
[%- INCLUDE 'common/flash.html' %]
|
||
[% INCLUDE 'common/flash.html' %]
|
||
|
||
[%- PROCESS 'background_job_history/_filter.html' filter=SELF.models.filtered.laundered %]
|
||
[% PROCESS 'background_job_history/_filter.html' filter=SELF.models.filtered.laundered %]
|
||
|
||
<div class="wrapper">
|
||
[% IF !ENTRIES.size %]
|
||
<p>
|
||
[%- LxERP.t8('There are no entries in the background job history.') %]
|
||
</p>
|
||
|
||
[%- ELSE %]
|
||
<table id="background_job_history_list" class="background_job_list" width="100%">
|
||
<thead>
|
||
<tr class="listheading">
|
||
<th>[% L.sortable_table_header('package_name') %]</th>
|
||
<th>[% L.sortable_table_header('run_at') %]</th>
|
||
<th>[% L.sortable_table_header('status') %]</th>
|
||
<th>[% L.sortable_table_header('result') %]</th>
|
||
<th>[% L.sortable_table_header('error') %]</th>
|
||
</tr>
|
||
</thead>
|
||
|
||
<tbody>
|
||
[%- FOREACH entry = ENTRIES %]
|
||
<tr class="listrow[% loop.count % 2 %]" id="background_job_history_id_[% entry.id %]">
|
||
<td>
|
||
<a href="[% SELF.url_for(action => 'show', id => entry.id, back_to => SELF.models.get_callback) %]">
|
||
[%- HTML.escape(entry.package_name) %]
|
||
</a>
|
||
</td>
|
||
<td>[%- HTML.escape(entry.run_at.to_lxoffice('precision' => 'second')) %]</td>
|
||
<td>
|
||
[%- IF entry.status == 'success' %]
|
||
[%- LxERP.t8('succeeded') %]
|
||
[%- ELSIF entry.status == 'failure' %]
|
||
[%- LxERP.t8('failed') %]
|
||
[%- ELSE %]
|
||
[%- HTML.escape(entry.status) %]
|
||
[%- END %]
|
||
</td>
|
||
<td>[%- HTML.escape(entry.result) %]</td>
|
||
<td>[% IF entry.error_col %]<pre>[%- HTML.escape(L.truncate(entry.error_col)) %]</pre>[%- END %]</td>
|
||
</tr>
|
||
[%- END %]
|
||
</tbody>
|
||
</table>
|
||
[%- END %]
|
||
<p>[% LxERP.t8('There are no entries in the background job history.') %]</p>
|
||
|
||
[% ELSE %]
|
||
<table id="background_job_history_list" class="background_job_list tbl-list wi-moderate">
|
||
<thead>
|
||
<tr>
|
||
<th>[% L.sortable_table_header('package_name') %]</th>
|
||
<th>[% L.sortable_table_header('run_at') %]</th>
|
||
<th>[% L.sortable_table_header('status') %]</th>
|
||
<th>[% L.sortable_table_header('result') %]</th>
|
||
<th>[% L.sortable_table_header('error') %]</th>
|
||
</tr>
|
||
</thead>
|
||
|
||
<tbody>
|
||
[% FOREACH entry = ENTRIES %]
|
||
<tr class="listrow[% loop.count % 2 %]" id="background_job_history_id_[% entry.id %]">
|
||
<td><a href="[% SELF.url_for(action => 'show', id => entry.id, back_to => SELF.models.get_callback) %]">[% HTML.escape(entry.package_name) %]</a></td>
|
||
<td>[% HTML.escape(entry.run_at.to_lxoffice('precision' => 'second')) %]</td>
|
||
<td>
|
||
[% IF entry.status == 'success' %]
|
||
[% LxERP.t8('succeeded') %]
|
||
[% ELSIF entry.status == 'failure' %]
|
||
[% LxERP.t8('failed') %]
|
||
[% ELSE %]
|
||
[% HTML.escape(entry.status) %]
|
||
[% END %]
|
||
</td>
|
||
<td>[% HTML.escape(entry.result) %]</td>
|
||
<td>[% IF entry.error_col %]<pre>[% HTML.escape(L.truncate(entry.error_col)) %]</pre>[% END %]</td>
|
||
</tr>
|
||
[% END %]
|
||
</tbody>
|
||
</table>
|
||
|
||
[% END %]
|
||
|
||
[% L.paginate_controls %]
|
||
</div><!-- /.wrapper -->
|
||
|
templates/webpages/background_job_history/show.html | ||
---|---|---|
[% USE HTML %][% USE L %][% USE LxERP %]
|
||
[% USE HTML %]
|
||
[% USE L %]
|
||
[% USE LxERP %]
|
||
|
||
<h1>[% FORM.title %]</h1>
|
||
<h1>[% FORM.title %]</h1>
|
||
|
||
[%- INCLUDE 'common/flash.html' %]
|
||
[% INCLUDE 'common/flash.html' %]
|
||
|
||
<table id="background_job_history_details" class="background_job_details">
|
||
<table id="background_job_history_details" class="background_job_details">
|
||
<tbody>
|
||
<tr class="listrow0">
|
||
<th>[%- LxERP.t8('Package name') %]</th>
|
||
<td>[%- HTML.escape(SELF.history.package_name) %]</td>
|
||
</tr>
|
||
|
||
<tr class="listrow1">
|
||
<th>[%- LxERP.t8('Run at') %]</th>
|
||
<td>[%- HTML.escape(SELF.history.run_at.to_lxoffice('precision' => 'second')) %]</td>
|
||
</tr>
|
||
|
||
<tr class="listrow0">
|
||
<th>[%- LxERP.t8('Execution status') %]</th>
|
||
<td>
|
||
[%- IF SELF.history.status == 'success' %]
|
||
[%- LxERP.t8('succeeded') %]
|
||
[%- ELSIF SELF.history.status == 'failed' %]
|
||
[%- LxERP.t8('failed') %]
|
||
[%- ELSE %]
|
||
[%- HTML.escape(SELF.history.status) %]
|
||
[%- END %]
|
||
</td>
|
||
</tr>
|
||
|
||
<tr class="listrow1">
|
||
<th>[%- LxERP.t8('Result') %]</th>
|
||
<td>[%- HTML.escape(SELF.history.result) %]</td>
|
||
</tr>
|
||
|
||
<tr class="listrow0">
|
||
<th>[%- LxERP.t8('Error') %]</th>
|
||
<td>[% IF SELF.history.error_col %]<pre>[%- HTML.escape(SELF.history.error_col) %]</pre>[%- END %]</td>
|
||
</tr>
|
||
|
||
<tr class="listrow1">
|
||
<th>[%- LxERP.t8('Data') %]</th>
|
||
<td>[% IF SELF.history.data %]<pre>[%- HTML.escape(SELF.history.data) %]</pre>[%- END %]</td>
|
||
</tr>
|
||
<tr>
|
||
<th>[% LxERP.t8('Package name') %]</th>
|
||
<td>[% HTML.escape(SELF.history.package_name) %]</td>
|
||
</tr>
|
||
<tr>
|
||
<th>[% LxERP.t8('Run at') %]</th>
|
||
<td>[% HTML.escape(SELF.history.run_at.to_lxoffice('precision' => 'second')) %]</td>
|
||
</tr>
|
||
<tr>
|
||
<th>[% LxERP.t8('Execution status') %]</th>
|
||
<td>
|
||
[% IF SELF.history.status == 'success' %]
|
||
[% LxERP.t8('succeeded') %]
|
||
[% ELSIF SELF.history.status == 'failed' %]
|
||
[% LxERP.t8('failed') %]
|
||
[% ELSE %]
|
||
[% HTML.escape(SELF.history.status) %]
|
||
[% END %]
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<th>[% LxERP.t8('Result') %]</th>
|
||
<td>[% HTML.escape(SELF.history.result) %]</td>
|
||
</tr>
|
||
<tr>
|
||
<th>[% LxERP.t8('Error') %]</th>
|
||
<td>[% IF SELF.history.error_col %]<pre>[% HTML.escape(SELF.history.error_col) %]
|
||
</pre>
|
||
[% END %]</td>
|
||
</tr>
|
||
<tr>
|
||
<th>[% LxERP.t8('Data') %]</th>
|
||
<td>[% IF SELF.history.data %]<pre>[% HTML.escape(SELF.history.data) %]
|
||
</pre>
|
||
[% END %]</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
templates/webpages/bankimport/form.html | ||
---|---|---|
[%- USE HTML %]
|
||
[%- USE LxERP %]
|
||
[%- USE L %]
|
||
[%- USE T8 %]
|
||
[% USE HTML %]
|
||
[% USE LxERP %]
|
||
[% USE L %]
|
||
[% USE T8 %]
|
||
|
||
<div class="listtop">[% FORM.title %]</div>
|
||
<h1>[% FORM.title %]</h1>
|
||
|
||
[% IF profile %]
|
||
<p>
|
||
[% "Import a MT940 file:" | $T8 %]
|
||
</p>
|
||
|
||
<form method="post" action="controller.pl" enctype="multipart/form-data" id="form">
|
||
<div class="wrapper">
|
||
[% IF profile %]
|
||
<h3 class="caption">[% "Import a MT940 file" | $T8 %]</h3>
|
||
<form method="post" action="controller.pl" enctype="multipart/form-data" id="form" class="box">
|
||
[% L.input_tag('file', '', type => 'file', accept => '*') %]
|
||
</form>
|
||
[% ELSE %]
|
||
<p>
|
||
[% "Please create a CSV import profile called \"MT940\" for the import type bank transactions:" | $T8 %] <a href="[% SELF.url_for(controller => 'CsvImport', action => 'new', 'profile.type' => 'bank_transactions' ) %]">CsvImport</a>
|
||
</p>
|
||
[% END %]
|
||
</form>
|
||
[% ELSE %]
|
||
<p>[% "Please create a CSV import profile called \"MT940\" for the import type bank transactions:" | $T8 %] <a href="[% SELF.url_for(controller => 'CsvImport', action => 'new', 'profile.type' => 'bank_transactions' ) %]">CsvImport</a></p>
|
||
[% END %]
|
||
</div>
|
templates/webpages/bp/list_spool.html | ||
---|---|---|
[%- USE L %]
|
||
[%- USE HTML %]
|
||
[%- USE LxERP %]
|
||
[%- USE T8 %]
|
||
[%- USE url %]
|
||
[%- SET list_spool__callback = href _ '&sort=' _ sort %]
|
||
[% USE L %]
|
||
[% USE HTML %]
|
||
[% USE LxERP %]
|
||
[% USE T8 %]
|
||
[% USE url %]
|
||
[% SET list_spool__callback = href _ '&sort=' _ sort %]
|
||
|
||
<h1>[% title | html %]</h1>
|
||
|
||
<form method="post" action="bp.pl" id="form">
|
||
|
||
<p>
|
||
[% LxERP.t8("Printer") %]: [% L.select_tag('printer', ALL_PRINTERS, title_key = 'printer_description') %]
|
||
</p>
|
||
|
||
<p>
|
||
[% FOREACH option IN options %]
|
||
[% option %]
|
||
[% ', ' UNLESS loop.last %]
|
||
[% END %]
|
||
</p>
|
||
|
||
<table width=100%>
|
||
<tr>
|
||
<td class="listheading">[% L.checkbox_tag('checkall_box', checkall='input.check_all') %]</td>
|
||
<td class="listheading">[% L.link(href _ '&sort=transdate', LxERP.t8('Date')) %]</td>
|
||
[%- IF is_invoice %]
|
||
<td class="listheading">[% L.link(href _ '&sort=invoice', LxERP.t8('Invoice')) %]</td>
|
||
[%- END %]
|
||
[%- IF is_order %]
|
||
<td class="listheading">[% L.link(href _ '&sort=ordnumber', LxERP.t8('Order')) %]</td>
|
||
[%- END %]
|
||
[%- IF is_quotation %]
|
||
<td class="listheading">[% L.link(href _ '&sort=quonumber', LxERP.t8('Quotation')) %]</td>
|
||
[%- END %]
|
||
<td class="listheading">[% L.link(href _ '&sort=name', vc == 'customer' ? LxERP.t8('Customer') : LxERP.t8('Vendor')) %]</td>
|
||
<td class="listheading">[% 'Spoolfile' | $T8 %]</td>
|
||
</tr>
|
||
[%- FOREACH row = SPOOL %]
|
||
<tr class="listrow[% loop.count %]">
|
||
<td>[% SET list_spool__checked='checked_' _ loop.count; L.checkbox_tag(list_spool__checked, checked=$list_spool__checked, class='check_all') IF row.new_file %]</td>
|
||
<td>[% row.transdate %]</td>
|
||
[%- IF is_invoice %]
|
||
<td>[% L.link(url(row.module _ '.pl', action='edit' ,type=type, callback=list_spool__callback, id=row.id), row.invnumber) %]</td>
|
||
[%- END %]
|
||
[%- IF is_order %]
|
||
<td>[% L.link(url(row.module _ '.pl', action='edit' ,type=type, callback=list_spool__callback, id=row.id), row.ordnumber) %]</td>
|
||
[%- END %]
|
||
[%- IF is_quotation %]
|
||
<td>[% L.link(url(row.module _ '.pl', action='edit' ,type=type, callback=list_spool__callback, id=row.id), row.quonumber) %]</td>
|
||
[%- END %]
|
||
<td>[% row.name | html %]</td>
|
||
<td>[% L.link(LXCONFIG.paths.spool _ '/' _ row.spoolfile, row.spoolfile) %][% L.hidden_tag('spoolfile_' _ loop.count, row.spoolfile) %]</td>
|
||
</tr>
|
||
[%- END %]
|
||
<div class="wrapper">
|
||
<table class="tbl-horizontal">
|
||
<tr>
|
||
<th>[% LxERP.t8("Printer") %]</th>
|
||
<td>[% L.select_tag('printer', ALL_PRINTERS, title_key = 'printer_description') %]</td>
|
||
</tr>
|
||
<tr>
|
||
<th>[% 'Options' | $T8 %]</th>
|
||
<td>[% FOREACH option IN options %][% option %][% ', ' UNLESS loop.last %][% END %]</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
|
||
[% L.hidden_tag('rowcount', SPOOL.size) %]
|
||
<div class="wrapper">
|
||
|
||
<table class="tbl-list">
|
||
<thead>
|
||
<tr>
|
||
<th>[% L.checkbox_tag('checkall_box', checkall='input.check_all') %]</td>
|
||
<th>[% L.link(href _ '&sort=transdate', LxERP.t8('Date')) %]</td>
|
||
[% IF is_invoice %]
|
||
<th>[% L.link(href _ '&sort=invoice', LxERP.t8('Invoice')) %]</td>
|
||
[% END %]
|
||
[% IF is_order %]
|
||
<th>[% L.link(href _ '&sort=ordnumber', LxERP.t8('Order')) %]</td>
|
||
[% END %]
|
||
[% IF is_quotation %]
|
||
<th>[% L.link(href _ '&sort=quonumber', LxERP.t8('Quotation')) %]</td>
|
||
[% END %]
|
||
<th>[% L.link(href _ '&sort=name', vc == 'customer' ? LxERP.t8('Customer') : LxERP.t8('Vendor')) %]</td>
|
||
<th>[% 'Spoolfile' | $T8 %]</td>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
[% FOREACH row = SPOOL %]
|
||
<tr>
|
||
<td>[% SET list_spool__checked='checked_' _ loop.count; L.checkbox_tag(list_spool__checked, checked=$list_spool__checked, class='check_all') IF row.new_file %]</td>
|
||
<td>[% row.transdate %]</td>
|
||
[% IF is_invoice %]
|
||
<td>[% L.link(url(row.module _ '.pl', action='edit' ,type=type, callback=list_spool__callback, id=row.id), row.invnumber) %]</td>
|
||
[% END %]
|
||
[% IF is_order %]
|
||
<td>[% L.link(url(row.module _ '.pl', action='edit' ,type=type, callback=list_spool__callback, id=row.id), row.ordnumber) %]</td>
|
||
[% END %]
|
||
[% IF is_quotation %]
|
||
<td>[% L.link(url(row.module _ '.pl', action='edit' ,type=type, callback=list_spool__callback, id=row.id), row.quonumber) %]</td>
|
||
[% END %]
|
||
<td>[% row.name | html %]</td>
|
||
<td>[% L.link(LXCONFIG.paths.spool _ '/' _ row.spoolfile, row.spoolfile) %][% L.hidden_tag('spoolfile_' _ loop.count, row.spoolfile) %]</td>
|
||
</tr>
|
||
[% END %]
|
||
</tbody>
|
||
</table>
|
||
[% L.hidden_tag('rowcount', SPOOL.size) %]
|
||
|
||
[% L.hidden_tag('callback', callback) %]
|
||
[% L.hidden_tag('title', title) %]
|
||
... | ... | |
[% L.hidden_tag('quonumber', quonumber) %]
|
||
[% L.hidden_tag('customer', customer) %]
|
||
[% L.hidden_tag('vendor', vendor) %]
|
||
|
||
</div><!-- /.wrapper -->
|
||
</form>
|
templates/webpages/bp/search.html | ||
---|---|---|
[%- USE L %]
|
||
[%- USE T8 %]
|
||
[%- USE LxERP %]
|
||
[%- USE HTML %]
|
||
[% USE L %]
|
||
[% USE T8 %]
|
||
[% USE LxERP %]
|
||
[% USE HTML %]
|
||
|
||
<h1>[% 'Print' | $T8 %] [% label.$type.title %]</h1>
|
||
|
||
<form method="post" action="bp.pl" id="form">
|
||
|
||
<h1>[% 'Print' | $T8 %] [% label.$type.title %]</h1>[% L.hidden_tag('title', LxERP.t8('Print') _ ' ' _ label.$type.title) %]
|
||
[% L.hidden_tag('title', LxERP.t8('Print') _ ' ' _ label.$type.title) %]
|
||
|
||
<table>
|
||
<tr>
|
||
<th align=right>[% 'Customer' | $T8 %]</th>
|
||
<td colspan=3>[% L.input_tag(vc, '', size=35) %]</td>
|
||
</tr>
|
||
[% IF show_accounts %]
|
||
<tr>
|
||
<th align=right>[% 'Account' | $T8 %]</th>
|
||
<td colspan=3>[% L.select_tag('account', accounts, value_title_sub=\account_sub) %]</td>
|
||
</tr>
|
||
[% END %]
|
||
[%- IF label.$type.invnumber %]
|
||
<tr>
|
||
<th align=right nowrap>[% 'Invoice Number' | $T8 %]</th>
|
||
<td colspan=3>[% L.input_tag('invnumber', '', size=20) %]</td>
|
||
</tr>
|
||
[%- END %]
|
||
[%- IF label.$type.ordnumber %]
|
||
<tr>
|
||
<th align=right nowrap>[% 'Order Number' | $T8 %]</th>
|
||
<td colspan=3>[% L.input_tag('ordnumber', '', size=20) %]</td>
|
||
</tr>
|
||
[%- END %]
|
||
[%- IF label.$type.quonumber %]
|
||
<tr>
|
||
<th align=right nowrap>[% 'Quotation Number' | $T8 %]</th>
|
||
<td colspan=3>[% L.input_tag('quonumber', '', size=20) %]</td>
|
||
</tr>
|
||
[%- END %]
|
||
[%- IF label.$type.donumber %]
|
||
<tr>
|
||
<th align=right nowrap>[% 'Delivery Order Number' | $T8 %]</th>
|
||
<td colspan=3>[% L.input_tag('donumber', '', size=20) %]</td>
|
||
</tr>
|
||
[%- END %]
|
||
[%- IF label.$type.chknumber %]
|
||
<tr>
|
||
<th align=right nowrap>[% 'Reference' | $T8 %]</th>
|
||
<td colspan=3>[% L.input_tag('chknumber', '', size=20) %]</td>
|
||
</tr>
|
||
[%- END %]
|
||
<tr>
|
||
<th align=right nowrap>[% 'From' | $T8 %]</th>
|
||
<td>[% L.date_tag('transdatefrom') %]</td>
|
||
<th align=right>[% 'Bis' | $T8 %]</th>
|
||
<td>[% L.date_tag('transdateto') %]</td>
|
||
</tr>
|
||
</table>
|
||
<div class="wrapper">
|
||
|
||
<table class="tbl-horizontal">
|
||
<colgroup><col class="wi-small"><col class="wi-verywide"></colgroup>
|
||
<tbody>
|
||
<tr>
|
||
<th>[% 'Customer' | $T8 %]</th>
|
||
<td>[% L.input_tag(vc, '', class='wi-normal') %]</td>
|
||
</tr>
|
||
[% IF show_accounts %]
|
||
<tr>
|
||
<th>[% 'Account' | $T8 %]</th>
|
||
<td>[% L.select_tag('account', accounts, value_title_sub=\account_sub, class='wi-verywide') %]</td>
|
||
</tr>
|
||
[% END %]
|
||
[% IF label.$type.invnumber %]
|
||
<tr>
|
||
<th>[% 'Invoice Number' | $T8 %]</th>
|
||
<td>[% L.input_tag('invnumber', '', class='wi-normal') %]</td>
|
||
</tr>
|
||
[% END %]
|
||
[% IF label.$type.ordnumber %]
|
||
<tr>
|
||
<th>[% 'Order Number' | $T8 %]</th>
|
||
<td>[% L.input_tag('ordnumber', '', class='wi-normal') %]</td>
|
||
</tr>
|
||
[% END %]
|
||
[% IF label.$type.quonumber %]
|
||
<tr>
|
||
<th>[% 'Quotation Number' | $T8 %]</th>
|
||
<td>[% L.input_tag('quonumber', '', class='wi-normal') %]</td>
|
||
</tr>
|
||
[% END %]
|
||
[% IF label.$type.donumber %]
|
||
<tr>
|
||
<th>[% 'Delivery Order Number' | $T8 %]</th>
|
||
<td>[% L.input_tag('donumber', '', class='wi-normal') %]</td>
|
||
</tr>
|
||
[% END %]
|
||
[% IF label.$type.chknumber %]
|
||
<tr>
|
||
<th>[% 'Reference' | $T8 %]</th>
|
||
<td>[% L.input_tag('chknumber', '', class='wi-normal') %]</td>
|
||
</tr>
|
||
[% END %]
|
||
<tr>
|
||
<th>[% 'Date' | $T8 %] [% 'from' | $T8 %] </th>
|
||
<td class="wi-date">[% L.date_tag('transdatefrom') %] [% 'Bis' | $T8 %] [% L.date_tag('transdateto') %]</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
[% L.hidden_tag('sort', 'transdate') %]
|
||
[% L.hidden_tag('vc', vc) %]
|
||
[% L.hidden_tag('type', type) %]
|
||
</div>
|
||
</form>
|
templates/webpages/buchungsgruppen/form.html | ||
---|---|---|
[%- USE HTML -%][%- USE LxERP -%][%- USE L -%][%- USE T8 -%][%- USE P -%]
|
||
[% USE HTML %]
|
||
[% USE LxERP %]
|
||
[% USE L %]
|
||
[% USE T8 %]
|
||
[% USE P %]
|
||
|
||
[% SET style="width: 400px" %]
|
||
|
||
<h1>[% HTML.escape(title) %]</h1>
|
||
|
||
<form action="controller.pl" method="post" id="form">
|
||
[%- L.hidden_tag("id", SELF.config.id) %]
|
||
[% L.hidden_tag("id", SELF.config.id) %]
|
||
|
||
<div class="wrapper">
|
||
|
||
<table class="tbl-horizontal">
|
||
<caption>[% 'Entry Group' | $T8 %]</caption>
|
||
<tbody>
|
||
<tr>
|
||
<th>[% 'Description' | $T8 %]</th>
|
||
<td>[% L.input_tag("config.description", SELF.config.description, "data-validate"="required", "data-title"=LxERP.t8("Description")) %]</td>
|
||
</tr>
|
||
<tr>
|
||
<th>[% 'Inventory Account' | $T8 %]</th>
|
||
[% IF NOT SELF.config.id %]
|
||
<td>[% P.chart.picker("config.inventory_accno_id", SELF.defaults.inventory_accno_id, choose=1, type='IC', style=style) %]</td>
|
||
[% ELSIF SELF.config.id AND SELF.config.orphaned %]
|
||
<td>[% P.chart.picker("config.inventory_accno_id", SELF.config.inventory_accno_id, choose=1, type='IC', style=style) %]</td>
|
||
[% ELSE %]
|
||
<td>[% CHARTLIST.inventory_accno_description %]</td>
|
||
[% END %]
|
||
</tr>
|
||
[% FOREACH tz = TAXZONES %]
|
||
<tr>
|
||
<th>[% 'Revenue' | $T8 %]</th><th>[% HTML.escape(tz.description) %]</th>
|
||
[% IF NOT SELF.config.id %]
|
||
<td>[% P.chart.picker('income_accno_id_' _ tz.id, SELF.defaults.income_accno_id, choose=1, type='IC_income,IC_sale', style=style) %]</td>
|
||
[% ELSIF SELF.config.id AND SELF.config.orphaned %]
|
||
<td>[% P.chart.picker('income_accno_id_' _ tz.id, CHARTLIST.${tz.id}.income_accno_id, choose=1, type='IC_income,IC_sale', style=style) %]</td>
|
||
[% ELSE %]
|
||
<td>[% CHARTLIST.${tz.id}.income_accno_description %]</td>
|
||
[% END %]
|
||
</tr>
|
||
<tr>
|
||
<th>[% 'Expense' | $T8 %]</th><th>[% HTML.escape(tz.description) %]</th>
|
||
[% IF NOT SELF.config.id %]
|
||
<td>[% P.chart.picker('expense_accno_id_' _ tz.id, SELF.defaults.expense_accno_id, choose=1, type='IC_expense,IC_cogs', style=style) %]</td>
|
||
[% ELSIF SELF.config.id AND SELF.config.orphaned %]
|
||
<td>[% P.chart.picker('expense_accno_id_' _ tz.id, CHARTLIST.${tz.id}.expense_accno_id, choose=1, type='IC_expense,IC_cogs', style=style) %]</td>
|
||
[% ELSE %]
|
||
<td>[% CHARTLIST.${tz.id}.expense_accno_description %]</td>
|
||
[% END %]
|
||
</tr>
|
||
[% END %]
|
||
<tbody>
|
||
</table>
|
||
|
||
</div><!-- /.wrapper -->
|
||
|
||
<table>
|
||
<tr>
|
||
<th align="right">[% 'Description' | $T8 %]</th>
|
||
<td>[%- L.input_tag("config.description", SELF.config.description, "data-validate"="required", "data-title"=LxERP.t8("Description")) %]</td>
|
||
</tr>
|
||
<tr>
|
||
<th align="right">[% 'Inventory Account' | $T8 %]</th>
|
||
[%- IF NOT SELF.config.id %]
|
||
<td>[% P.chart.picker("config.inventory_accno_id", SELF.defaults.inventory_accno_id, choose=1, type='IC', style=style) %]</td>
|
||
[%- ELSIF SELF.config.id AND SELF.config.orphaned %]
|
||
<td>[% P.chart.picker("config.inventory_accno_id", SELF.config.inventory_accno_id, choose=1, type='IC', style=style) %]</td>
|
||
[%- ELSE %]
|
||
<td>[%- CHARTLIST.inventory_accno_description %]</td>
|
||
[%- END %]
|
||
</tr>
|
||
[%- FOREACH tz = TAXZONES %]
|
||
<tr>
|
||
<th align="right">[% 'Revenue' | $T8 %] [% HTML.escape(tz.description) %]</th>
|
||
[%- IF NOT SELF.config.id %]
|
||
<td>[% P.chart.picker('income_accno_id_' _ tz.id, SELF.defaults.income_accno_id, choose=1, type='IC_income,IC_sale', style=style) %]</td>
|
||
[%- ELSIF SELF.config.id AND SELF.config.orphaned %]
|
||
<td>[% P.chart.picker('income_accno_id_' _ tz.id, CHARTLIST.${tz.id}.income_accno_id, choose=1, type='IC_income,IC_sale', style=style) %]</td>
|
||
[%- ELSE %]
|
||
<td>[% CHARTLIST.${tz.id}.income_accno_description %]</td>
|
||
[%- END %]
|
||
</tr>
|
||
<tr>
|
||
<th align="right">[% 'Expense' | $T8 %] [% HTML.escape(tz.description) %]</th>
|
||
[%- IF NOT SELF.config.id %]
|
||
<td>[% P.chart.picker('expense_accno_id_' _ tz.id, SELF.defaults.expense_accno_id, choose=1, type='IC_expense,IC_cogs', style=style) %]</td>
|
||
[%- ELSIF SELF.config.id AND SELF.config.orphaned %]
|
||
<td>[% P.chart.picker('expense_accno_id_' _ tz.id, CHARTLIST.${tz.id}.expense_accno_id, choose=1, type='IC_expense,IC_cogs', style=style) %]</td>
|
||
[%- ELSE %]
|
||
<td>[% CHARTLIST.${tz.id}.expense_accno_description %]</td>
|
||
[%- END %]
|
||
</tr>
|
||
[%- END %]
|
||
</table>
|
||
</form>
|
templates/webpages/buchungsgruppen/list.html | ||
---|---|---|
[%- USE HTML -%][%- USE LxERP -%][%- USE L -%][%- USE T8 -%][%- INCLUDE 'common/flash.html' %]
|
||
[% USE HTML %]
|
||
[% USE LxERP %]
|
||
[% USE L %]
|
||
[% USE T8 %]
|
||
[% INCLUDE 'common/flash.html' %]
|
||
|
||
<h1>[% title %]</h1>
|
||
|
||
<p>
|
||
<table width="100%" id="buchungsgruppen_list">
|
||
<table id="buchungsgruppen_list" class="tbl-list wi-moderate">
|
||
<thead>
|
||
<tr class="listheading">
|
||
<th align="center" width="1%"><img src="image/updown.png" alt="[%- LxERP.t8('reorder item') %]"></th>
|
||
<th width="20%">[% 'Description' | $T8 %]</th>
|
||
<th width="20%">[% 'Inventory Account' | $T8 %]</th>
|
||
[%- FOREACH tz = TAXZONES %]
|
||
<th width="20%">[% 'Revenue' | $T8 %] [% HTML.escape(tz.description) %]</th>
|
||
<th width="20%">[% 'Expense' | $T8 %] [% HTML.escape(tz.description) %]</th>
|
||
[%- END %]
|
||
</tr>
|
||
<tr>
|
||
<th><img src="image/updown.png" alt="[% LxERP.t8('reorder item') %]"></th>
|
||
<th>[% 'Description' | $T8 %]</th>
|
||
<th>[% 'Inventory Account' | $T8 %]</th>
|
||
[% FOREACH tz = TAXZONES %]
|
||
<th>[% 'Revenue' | $T8 %] [% HTML.escape(tz.description) %]</th>
|
||
<th>[% 'Expense' | $T8 %] [% HTML.escape(tz.description) %]</th>
|
||
[% END %]
|
||
</tr>
|
||
</thead>
|
||
|
||
<tbody>
|
||
[%- FOREACH bg = BUCHUNGSGRUPPEN %]
|
||
<tr class="listrow" id="bg_id_[% bg.id %]">
|
||
<td align="center" class="dragdrop"><img src="image/updown.png" alt="[%- LxERP.t8('reorder item') %]"></td>
|
||
<td><a href="[% SELF.url_for(action='edit', id=bg.id) %]">[% HTML.escape(bg.description) %]</a></td>
|
||
<td>[% HTML.escape(CHARTLIST.${bg.id}.inventory_accno) %]</td>
|
||
[%- FOREACH tz = TAXZONES %]
|
||
<td>[% HTML.escape(CHARTLIST.${bg.id}.${tz.id}.income_accno) %]</td>
|
||
<td>[% HTML.escape(CHARTLIST.${bg.id}.${tz.id}.expense_accno) %]</td>
|
||
[%- END %]
|
||
[%- END %]
|
||
[% FOREACH bg = BUCHUNGSGRUPPEN %]
|
||
<tr id="bg_id_[% bg.id %]">
|
||
<td class="center dragdrop"><img src="image/updown.png" alt="[% LxERP.t8('reorder item') %]"></td>
|
||
<td class="nowrap"><a href="[% SELF.url_for(action='edit', id=bg.id) %]">[% HTML.escape(bg.description) %]</a></td>
|
||
<td>[% HTML.escape(CHARTLIST.${bg.id}.inventory_accno) %]</td>
|
||
[% FOREACH tz = TAXZONES %]
|
||
<td>[% HTML.escape(CHARTLIST.${bg.id}.${tz.id}.income_accno) %]</td>
|
||
<td>[% HTML.escape(CHARTLIST.${bg.id}.${tz.id}.expense_accno) %]</td>
|
||
[% END %]
|
||
[% END %]
|
||
</tbody>
|
||
</table>
|
||
</p>
|
||
</table>
|
||
|
||
[% L.sortable_element('#buchungsgruppen_list tbody', url=SELF.url_for(action='reorder'), with='bg_id') %]
|
Auch abrufbar als: Unified diff
Neues kivitendo Design restliche Aenderungen in templates/webpages/b*
Dateien in background_job/* bankimport/* bp/* und buchungsgruppen/*