Revision 64084bfa
Von Sven Schöling vor fast 13 Jahren hinzugefügt
bin/mozilla/io.pl | ||
---|---|---|
46 | 46 |
use SL::IC; |
47 | 47 |
use SL::IO; |
48 | 48 |
|
49 |
use SL::DB::Language; |
|
50 |
use SL::DB::Printer; |
|
51 |
|
|
49 | 52 |
require "bin/mozilla/common.pl"; |
50 | 53 |
|
51 | 54 |
use strict; |
... | ... | |
1473 | 1476 |
$extension = 'xls'; |
1474 | 1477 |
} |
1475 | 1478 |
|
1476 |
my $email_extension = (($form->{media} eq 'email') && (-f "$myconfig{templates}/$form->{formname}_email$form->{language}${printer_code}.${extension}")) ? '_email' : ''; |
|
1479 |
# search for the template |
|
1480 |
my @template_files; |
|
1481 |
push @template_files, "$form->{formname}_email$form->{language}$printer_code.$extension" if $form->{media} eq 'email'; |
|
1482 |
push @template_files, "$form->{formname}$form->{language}$printer_code.$extension"; |
|
1483 |
push @template_files, "$form->{formname}.$extension"; |
|
1484 |
push @template_files, "default.$extension"; |
|
1477 | 1485 |
|
1478 |
$form->{IN} = "$form->{formname}${email_extension}$form->{language}${printer_code}.${extension}"; |
|
1486 |
$form->{IN} = undef; |
|
1487 |
for my $filename (@template_files) { |
|
1488 |
if (-f "$myconfig{templates}/$filename") { |
|
1489 |
$form->{IN} = $filename; |
|
1490 |
last; |
|
1491 |
} |
|
1492 |
} |
|
1493 |
|
|
1494 |
if (!defined $form->{IN}) { |
|
1495 |
$::form->error($::locale->text('Cannot find matching template for this print request. Please contact your template maintainer. I tried these: #1.', join ', ', map { "'$_'"} @template_files)); |
|
1496 |
} |
|
1479 | 1497 |
|
1480 | 1498 |
delete $form->{OUT}; |
1481 | 1499 |
|
... | ... | |
1540 | 1558 |
} |
1541 | 1559 |
# /saving the history |
1542 | 1560 |
|
1561 |
# prepare meta information for template introspection |
|
1562 |
$form->{template_meta} = { |
|
1563 |
formname => $form->{formname}, |
|
1564 |
language => SL::DB::Manager::Language->find_by_or_create(id => $form->{language_id}), |
|
1565 |
format => $form->{format}, |
|
1566 |
media => $form->{media}, |
|
1567 |
extension => $extension, |
|
1568 |
printer => SL::DB::Manager::Printer->find_by_or_create(id => $form->{printer_id}), |
|
1569 |
}; |
|
1570 |
|
|
1543 | 1571 |
$form->parse_template(\%myconfig); |
1544 | 1572 |
|
1545 | 1573 |
$form->{callback} = ""; |
doc/dokumentenvorlagen-und-variablen.html | ||
---|---|---|
331 | 331 |
</table> |
332 | 332 |
</p> |
333 | 333 |
|
334 |
<p>Zusätzlich werden angeforderte Sprache und Druckerkürzel in den Dateinamen mit eingearbeitet. So wird aus der Vorlage <code>sales_order.ext</code> bei Sprache <code>de</code> und Druckerkürzel <code>lpr2</code> der Vorlagenname <code>sales_order_de_lpr2.ext</code>. Zusätzlich können für E-Mails andere Vorlagen erstellt werden, diese bekommen dann noch das Kürzel <code>_email</code>, der vollständige Vorlagenname wäre dann <code>sales_order_email_de_lpr2.ext</code>. In allen Fällen kann eine Standarddatei <code>default.ext</code> hinterlegt werden. Diese wird verwendet, wenn keine der anderen Varianten gefunden wird.</p> |
|
335 |
|
|
336 |
<p>Die vollständige Suchreihenfolge für einen Verkaufsauftrag mit der Sprache "de" und dem Drucker "lpr2", der per E-Mail im Format PDF verschickt wird, ist:</p> |
|
337 |
<p> |
|
338 |
<table border='1'> |
|
339 |
<tr><th>Reihenfolge der möglichen Vorlagennamen</th></tr> |
|
340 |
<tr><td><code>sales_order_email_de_lpr2.tex</code></td></tr> |
|
341 |
<tr><td><code>sales_order_de_lpr2.tex</code></td></tr> |
|
342 |
<tr><td><code>sales_order.tex</code></td></tr> |
|
343 |
<tr><td><code>default.tex</code></td></tr> |
|
344 |
</table> |
|
345 |
</p> |
|
346 |
|
|
347 |
<p>Die kurzen Varianten dieser Vorlagentitel müssen dann entweder Standardwerte anzeigen, oder die angeforderten Werte selbst auswerten, siehe dazu <a href="#allgemein_meta">Metadaten in Vorlagen</a></p> |
|
348 |
|
|
334 | 349 |
<small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis"> |
335 | 350 |
zum Inhaltsverzeichnis</a></small><br> |
336 | 351 |
<hr> |
... | ... | |
338 | 353 |
<h2><a name="allgemeine_variablen"> |
339 | 354 |
Allgemeine Variablen, die in allen Vorlagen vorhanden sind</a></h2> |
340 | 355 |
|
356 |
<h3><a name="allgemein_meta"> |
|
357 |
Metainformationen zur angeforderten Vorlage:</a></h3> |
|
358 |
|
|
359 |
<p>Diese Variablen liefern Informationen darüber welche Variante einer Vorlage der Benutzer angefragt hat. Sie sind nützlich für Vorlagenautoren, die aus einer zentralen Layoutvorlage die einzelnen Formulare einbinden möchten.</p> |
|
360 |
|
|
361 |
<p> |
|
362 |
<table border="1"> |
|
363 |
<tr><th>Variablenname</th><th>Bedeutung</th></tr> |
|
364 |
<tr> |
|
365 |
<td><code>template_meta.formname</code></td> |
|
366 |
<td>Basisname der Vorlage. Identisch mit der <a href="#zuordnung_dateinamen">Zurordnung zu den Dateinamen</a> ohne die Erweiterung. Ein Verkaufsauftrag enthält hier <code>sales_order</code>.</td> |
|
367 |
</tr> |
|
368 |
<tr> |
|
369 |
<td><code>template_meta.language.description</code></td> |
|
370 |
<td>Beschreibung der verwendeten Sprache</td> |
|
371 |
</tr> |
|
372 |
<tr> |
|
373 |
<td><code>template_meta.language.template_code</code></td> |
|
374 |
<td>Vorlagenürzel der verwendeten Sprache, identisch mit dem Kürzel das im Dateinamen verwendetet wird.</td> |
|
375 |
</tr> |
|
376 |
<tr> |
|
377 |
<td><code>template_meta.language.output_numberformat</code></td> |
|
378 |
<td>Zahlenformat der verwendeten Sprache in der Form "1.000,00". <em>Experimentell!</em>. Nur interessant für Vorlagen die mit unformatierten Werten arbeiten.</td> |
|
379 |
</tr> |
|
380 |
<tr> |
|
381 |
<td><code>template_meta.language.output_dateformat</code></td> |
|
382 |
<td>Datumsformat der verwendeten Sprache in der Form "dd.mm.yyy". <em>Experimentell!</em>. Nur interessant für Vorlagen die mit unformatierten Werten arbeiten.</td> |
|
383 |
</tr> |
|
384 |
<tr> |
|
385 |
<td><code>template_meta.format</code></td> |
|
386 |
<td>Das angeforderte Format. Kann im Moment die Werte <code>pdf</code>, <code>postscript</code>, <code>html</code>, <code>opendocument</code>, <code>opendocument_pdf</code> und <code>excel</code> enthalten.</td> |
|
387 |
</tr> |
|
388 |
<tr> |
|
389 |
<td><code>template_meta.extension</code></td> |
|
390 |
<td>Dateierweiterung, wie im Dateinamen. Wird aus <code>format</code> entschieden.</td> |
|
391 |
</tr> |
|
392 |
<tr> |
|
393 |
<td><code>template_meta.media</code></td> |
|
394 |
<td>Ausgabemedium. Kann zur Zeit die Werte <code>screen</code> für Bildschirm, <code>printer</code> für Drucker, und <code>queue</code> für Warteschlange enthalten.</td> |
|
395 |
</tr> |
|
396 |
<tr> |
|
397 |
<td><code>template_meta.printer.description</code></td> |
|
398 |
<td>Beschreibung des ausgewählten Druckers</td> |
|
399 |
</tr> |
|
400 |
<tr> |
|
401 |
<td><code>template_meta.printer.template_code</code></td> |
|
402 |
<td>Vorlagenürzel des ausgewählten Druckers, identisch mit dem Kürzel das im Dateinamen verwendetet wird.</td> |
|
403 |
</tr> |
|
404 |
</table> |
|
405 |
</p> |
|
406 |
|
|
341 | 407 |
<h3><a name="allgemein_stammdaten"> |
342 | 408 |
Stammdaten von Kunden und Lieferanten:</a></h3> |
343 | 409 |
|
locale/de/all | ||
---|---|---|
347 | 347 |
'Cannot delete quotation!' => 'Angebot kann nicht gelöscht werden!', |
348 | 348 |
'Cannot delete transaction!' => 'Buchung kann nicht gelöscht werden!', |
349 | 349 |
'Cannot delete vendor!' => 'Lieferant kann nicht gelöscht werden!', |
350 |
'Cannot find matching template for this print request. Please contact your template maintainer. I tried these: #1.' => '', |
|
350 | 351 |
'Cannot have a value in both Debit and Credit!' => 'Es kann nicht gleichzeitig Soll und Haben gebucht werden!', |
351 | 352 |
'Cannot post Payment!' => 'Zahlung kann nicht gebucht werden!', |
352 | 353 |
'Cannot post Receipt!' => 'Beleg kann nicht gebucht werden!', |
... | ... | |
2197 | 2198 |
'month' => 'Monatliche Abgabe', |
2198 | 2199 |
'monthly' => 'monatlich', |
2199 | 2200 |
'new Window' => 'neues Fenster', |
2200 |
'next' => 'Nächste', |
|
2201 | 2201 |
'no' => 'nein', |
2202 | 2202 |
'no bestbefore' => 'keine Mindesthaltbarkeit', |
2203 | 2203 |
'no chargenumber' => 'keine Chargennummer', |
... | ... | |
2221 | 2221 |
'pos_eur' => 'E/ÜR', |
2222 | 2222 |
'pos_ustva' => 'UStVA', |
2223 | 2223 |
'posted!' => 'gebucht', |
2224 |
'prev' => 'Vorherige', |
|
2225 | 2224 |
'print' => 'drucken', |
2226 | 2225 |
'proforma' => 'Proforma', |
2227 | 2226 |
'project_list' => 'projektliste', |
Auch abrufbar als: Unified diff
Vorlagendefault und Vorlagenmetadaten. Siehe Dokumentation.