Revision c9860c6f
Von Moritz Bunkus vor mehr als 16 Jahren hinzugefügt
SL/OE.pm | ||
---|---|---|
|
||
$query =
|
||
qq|SELECT oe.id, oe.transdate, oe.reqdate, oe.quonumber, oe.transaction_description, oe.amount,
|
||
CASE WHEN (COALESCE(0, oe.customer_id) = 0) THEN 'vendor' ELSE 'customer' END AS vc,
|
||
c.name AS customer,
|
||
v.name AS vendor,
|
||
e.name AS employee
|
||
FROM oe
|
||
LEFT JOIN customer c ON (oe.customer_id = c.id)
|
||
LEFT JOIN vendor v ON (oe.vendor_id = v.id)
|
||
LEFT JOIN employee e ON (oe.employee_id = e.id)
|
||
WHERE (COALESCE(quotation, FALSE) = TRUE)
|
||
AND (COALESCE(closed, FALSE) = FALSE)
|
bin/mozilla/oe.pl | ||
---|---|---|
my $content;
|
||
|
||
if (@{ $quotations }) {
|
||
my $edit_url = build_std_url('script=oe.pl', 'action=edit', 'type=sales_quotation', 'vc=customer');
|
||
my $edit_url = build_std_url('script=oe.pl', 'action=edit');
|
||
|
||
$content = $form->parse_html_template('oe/report_for_todo_list', { 'QUOTATIONS' => $quotations,
|
||
'edit_url' => $edit_url });
|
locale/de/all | ||
---|---|---|
'Out of balance!' => 'Summen stimmen nicht berein!',
|
||
'Output Number Format' => 'Zahlenformat (Ausgabe)',
|
||
'Outputformat' => 'Ausgabeformat',
|
||
'Overdue sales quotations' => 'Überfällige Angebote',
|
||
'Overdue sales quotations and requests for quotations' => '?berf?llige Angebote und Preisanfragen',
|
||
'Own Product' => 'eigenes Produkt',
|
||
'PAYMENT POSTED' => 'Rechung gebucht',
|
||
'PDF' => 'PDF',
|
||
... | ... | |
'Show details' => 'Details anzeigen',
|
||
'Show follow ups...' => 'Zeige Wiedervorlagen...',
|
||
'Show old dunnings' => 'Alte Mahnungen anzeigen',
|
||
'Show overdue sales quotations...' => 'Zeige überfällige Angebote...',
|
||
'Show overdue sales quotations and requests for quotations...' => '?berf?llige Angebote und Preisanfragen anzeigen...',
|
||
'Show your TODO list after loggin in' => 'Aufgabenliste nach dem Anmelden anzeigen',
|
||
'Signature' => 'Unterschrift',
|
||
'Since bin is not enforced in the parts data, please specify a bin where goods without a specified bin will be put.' => 'Da Lagerplätze kein Pflichtfeld sind, geben Sie bitte einen Lagerplatz an, in dem Waren ohne spezifizierten Lagerplatz eingelagert werden sollen.',
|
templates/webpages/am/config_de.html | ||
---|---|---|
|
||
[%- IF AUTH_RIGHTS_SALES_QUOTATION_EDIT %]
|
||
<tr>
|
||
<th align="right">Zeige überfällige Angebote...</th>
|
||
<th align="right">?berf?llige Angebote und Preisanfragen anzeigen...</th>
|
||
<td>
|
||
<input type="checkbox" name="todo_cfg.show_overdue_sales_quotations" id="todo_cfg_show_overdue_sales_quotations" value="1"[% IF todo_cfg.show_overdue_sales_quotations %] checked[% END %]>
|
||
<label for="todo_cfg_show_overdue_sales_quotations">...auf der Aufgabenliste</label>
|
templates/webpages/am/config_master.html | ||
---|---|---|
|
||
[%- IF AUTH_RIGHTS_SALES_QUOTATION_EDIT %]
|
||
<tr>
|
||
<th align="right"><translate>Show overdue sales quotations...</translate></th>
|
||
<th align="right"><translate>Show overdue sales quotations and requests for quotations...</translate></th>
|
||
<td>
|
||
<input type="checkbox" name="todo_cfg.show_overdue_sales_quotations" id="todo_cfg_show_overdue_sales_quotations" value="1"[% IF todo_cfg.show_overdue_sales_quotations %] checked[% END %]>
|
||
<label for="todo_cfg_show_overdue_sales_quotations"><translate>...on the TODO list</translate></label>
|
templates/webpages/oe/report_for_todo_list_de.html | ||
---|---|---|
[% USE HTML %][% USE LxERP %]
|
||
|
||
<div class="listtop">Überfällige Angebote</div>
|
||
<div class="listtop">?berf?llige Angebote und Preisanfragen</div>
|
||
|
||
<p>
|
||
<table width="100%">
|
||
<tr>
|
||
<td class="listheading">Datum</td>
|
||
<td class="listheading">g?ltig bis</td>
|
||
<td class="listheading">Auftrag</td>
|
||
<td class="listheading">Kunde</td>
|
||
<td class="listheading">Angebot / Preisanfrage</td>
|
||
<td class="listheading">Kunde / Lieferant</td>
|
||
<td class="listheading">Vorgangsbezeichnung</td>
|
||
<td class="listheading">Betrag</td>
|
||
<td class="listheading">Bearbeiter</td>
|
||
... | ... | |
<tr class="listrow[% loop.count % 2 %]">
|
||
<td>[% HTML.escape(row.transdate) %]</td>
|
||
<td>[% HTML.escape(row.reqdate) %]</td>
|
||
<td><a href="[% edit_url %]&id=[% HTML.url(row.id) %]">[% HTML.escape(row.quonumber) %]</a></td>
|
||
<td>[% HTML.escape(row.customer) %]</td>
|
||
<td>
|
||
<a href="[% edit_url %]&vc=[% HTML.url(row.vc) %]&type=[% IF row.vc == 'customer' %]sales_quotation[% ELSE %]request_quotation[% END %]&id=[% HTML.url(row.id) %]">
|
||
[% IF row.vc == 'customer' %]
|
||
Angebot
|
||
[% ELSE %]
|
||
Preisanfrage
|
||
[% END %]
|
||
[% HTML.escape(row.quonumber) %]
|
||
</a>
|
||
</td>
|
||
<td>
|
||
[% IF row.vc == 'customer' %]
|
||
[% HTML.escape(row.customer) %]
|
||
[% ELSE %]
|
||
[% HTML.escape(row.vendor) %]
|
||
[% END %]
|
||
</td>
|
||
<td>[% HTML.escape(row.transaction_description) %]</td>
|
||
<td>[% HTML.escape(LxERP.format_amount(row.amount, 2)) %]</td>
|
||
<td>[% HTML.escape(row.employee) %]</td>
|
templates/webpages/oe/report_for_todo_list_master.html | ||
---|---|---|
[% USE HTML %][% USE LxERP %]
|
||
|
||
<div class="listtop"><translate>Overdue sales quotations</translate></div>
|
||
<div class="listtop"><translate>Overdue sales quotations and requests for quotations</translate></div>
|
||
|
||
<p>
|
||
<table width="100%">
|
||
<tr>
|
||
<td class="listheading"><translate>Date</translate></td>
|
||
<td class="listheading"><translate>Valid until</translate></td>
|
||
<td class="listheading"><translate>Order</translate></td>
|
||
<td class="listheading"><translate>Customer</translate></td>
|
||
<td class="listheading"><translate>Sales quotation</translate> / <translate>Request quotation</translate></td>
|
||
<td class="listheading"><translate>Customer</translate> / <translate>Vendor</translate></td>
|
||
<td class="listheading"><translate>Transaction description</translate></td>
|
||
<td class="listheading"><translate>Amount</translate></td>
|
||
<td class="listheading"><translate>Employee</translate></td>
|
||
... | ... | |
<tr class="listrow[% loop.count % 2 %]">
|
||
<td>[% HTML.escape(row.transdate) %]</td>
|
||
<td>[% HTML.escape(row.reqdate) %]</td>
|
||
<td><a href="[% edit_url %]&id=[% HTML.url(row.id) %]">[% HTML.escape(row.quonumber) %]</a></td>
|
||
<td>[% HTML.escape(row.customer) %]</td>
|
||
<td>
|
||
<a href="[% edit_url %]&vc=[% HTML.url(row.vc) %]&type=[% IF row.vc == 'customer' %]sales_quotation[% ELSE %]request_quotation[% END %]&id=[% HTML.url(row.id) %]">
|
||
[% IF row.vc == 'customer' %]
|
||
<translate>Sales quotation</translate>
|
||
[% ELSE %]
|
||
<translate>Request quotation</translate>
|
||
[% END %]
|
||
[% HTML.escape(row.quonumber) %]
|
||
</a>
|
||
</td>
|
||
<td>
|
||
[% IF row.vc == 'customer' %]
|
||
[% HTML.escape(row.customer) %]
|
||
[% ELSE %]
|
||
[% HTML.escape(row.vendor) %]
|
||
[% END %]
|
||
</td>
|
||
<td>[% HTML.escape(row.transaction_description) %]</td>
|
||
<td>[% HTML.escape(LxERP.format_amount(row.amount, 2)) %]</td>
|
||
<td>[% HTML.escape(row.employee) %]</td>
|
Auch abrufbar als: Unified diff
TODO-Liste: Preisanfragen und Angebote richtig anzeigen.