Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 2707d93c

Von Hans Peter Schlaepfer vor fast 6 Jahren hinzugefügt

  • ID 2707d93c5a94b2f3f837303f9a210cad92c66689
  • Vorgänger 9ebc730e
  • Nachfolger a3bdaf9d

Neues kivitendo Design restliche Aenderungen in templates/webpages/b*

Dateien in background_job/* bankimport/* bp/* und buchungsgruppen/*

Unterschiede anzeigen:

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