Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 6f205006

Von Moritz Bunkus vor etwa 17 Jahren hinzugefügt

  • ID 6f2050063ffa5417ab4495af84625385c766bc2d
  • Vorgänger ddf6b218
  • Nachfolger 861b9e38

Übergabe des Templates an den ReportGenerator nicht über $form, sondern über ReportGenerator::set_options().

Unterschiede anzeigen:

SL/ReportGenerator.pm
use SL::Form;
# Cause locales.pl to parse these files:
# parse_html_template('report_generator/html_report')
# parse_html_template('report_generator/pdf_report')
sub new {
my $type = shift;
......
'output_format' => 'HTML',
'allow_pdf_export' => 1,
'allow_csv_export' => 1,
'html_template' => 'report_generator/html_report',
'pdf_template' => 'report_generator/pdf_report',
'pdf_export' => {
'paper_size' => 'A4',
'orientation' => 'landscape',
......
sub generate_html_content {
my $self = shift;
my $variables = $self->prepare_html_content();
my $report_template = $self->{form}->{report_template} ? $self->{form}->{report_template} : 'report_generator/html_report';
# $form->parse_html_template('report_generator/html_report', $variables));
return $self->{form}->parse_html_template($report_template, $variables);
return $self->{form}->parse_html_template($self->{options}->{html_template}, $variables);
}
sub verify_paper_size {
......
my $form = $self->{form};
my $myconfig = $self->{myconfig};
my $opt = $self->{options}->{pdf_export};
my $report_template = $form->{report_template} ? $form->{report_template} : 'report_generator/pdf_report';
my $opt_number = $opt->{number} ? 'number : 1' : '';
my $opt_landscape = $opt->{orientation} eq 'landscape' ? 'landscape : 1' : '';
......
unlink $cfg_file_name;
$form->error($locale->text('Could not write the temporary HTML file.'));
}
# $form->parse_html_template('report_generator/pdf_report', $variables));
$html_file->print($form->parse_html_template($report_template, $variables));
$html_file->print($form->parse_html_template($self->{options}->{pdf_template}, $variables));
$html_file->close();
my $cmdline =
bin/mozilla/rp.pl
# $locale->text('Non-taxable Sales')
# $locale->text('Non-taxable Purchases')
# $form->parse_html_template('rp/html_report_susa')
my $rp_access_map = {
'projects' => 'report',
'ar_aging' => 'general_ledger',
......
$report->set_options('output_format' => 'HTML',
'title' => $form->{title},
'attachment_basename' => $attachment_basename . strftime('_%Y%m%d', localtime time),
'html_template' => 'report_generator/html_report_susa',
'pdf_template' => 'report_generator/html_report_susa',
);
$report->set_options_from_form();
# $form->parse_html_template('report_generator/html_report_susa', $variables));
$form->{report_template} = 'report_generator/html_report_susa';
# add sort and escape callback, this one we use for the add sub
$form->{callback} = $href .= "&sort=$form->{sort}";
locale/de/all
'Advance turnover tax return' => 'Umsatzsteuervoranmeldung',
'Aktion' => 'Aktion',
'All' => 'Alle',
'All Accounts' => '',
'All Accounts' => 'Alle Konten',
'All Datasets up to date!' => 'Alle Datenbanken sind auf aktuellem Stand.',
'All changes in that file have been reverted.' => 'Alle Änderungen in dieser Datei wurden rückgängig gemacht.',
'All database upgrades have been applied.' => 'Alle Datenbankupdates wurden eingespielt.',
......
'No backup file has been uploaded.' => 'Es wurde keine Sicherungsdatei hochgeladen.',
'No bins have been added to this warehouse yet.' => 'Es wurden zu diesem Lager noch keine Lagerplätze angelegt.',
'No customer has been selected yet.' => 'Es wurde noch kein Kunde ausgew?hlt.',
'No data was found.' => 'Keine Daten gefunden',
'No data was found.' => 'Es wurden keine Daten gefunden.',
'No databases have been found on this server.' => 'Auf diesem Server wurden keine Datenbanken gefunden.',
'No datasets have been selected.' => 'Es wurden keine Datenbanken ausgewählt.',
'No dunnings have been selected for printing.' => 'Es wurden keine Mahnungen zum Drucken ausgewählt.',
locale/de/rp
'Accrual' => 'Bilanzierung',
'Address' => 'Adresse',
'Advance turnover tax return' => 'Umsatzsteuervoranmeldung',
'All Accounts' => 'All Accounts',
'All Accounts' => 'Alle Konten',
'All reports' => 'Alle Berichte (Kontenübersicht, Summen- u. Saldenliste, GuV, BWA, Bilanz, Projektbuchungen)',
'Amount' => 'Betrag',
'Apr' => 'Apr',
templates/webpages/report_generator/html_report_susa_de.html
[% USE HTML %]<body>
<script type="text/javascript">
<!--
function submit_report_generator_form(nextsub) {
document.report_generator_form.report_generator_dispatch_to.value = nextsub;
document.report_generator_form.submit();
}
-->
</script>
<style type="text/css">
<!--
.top_border {
border-top: solid black;
border-width: 4px;
}
.bottom_border {
border-bottom: solid black;
border-width: 4px;
}
-->
</style>
[% IF MESSAGE %]
<p>[% MESSAGE %]</p>
[% END %]
<div class="listtop" width="100%">Summen- und Saldenliste [% template_fromto %]</div>
[% IF TOP_INFO_TEXT %]
<p>[% TOP_INFO_TEXT %]</p>
[% END %]
[% RAW_TOP_INFO_TEXT %]
[% IF DATA_PRESENT %]
<p>
<table width="100%">
<tr>
<th class="listheading" rowspan=2>Kontonummer</th>
<th class="listheading" rowspan=2>Beschreibung</th>
<th class="listheading" rowspan=2>Letzte Buchung</th>
<th class="listheading" colspan=2>Er?ffnungsbilanzwerte</th>
<th class="listheading" colspan=2>Summe f?r [% template_fromto %]</th>
<th class="listheading" colspan=2>Summe per [% template_to %]</th>
<th class="listheading" colspan=2>Saldo per [% template_to %]</th>
</tr>
<tr>
<th class="listheading">Aktiva</th>
<th class="listheading">Passiva</th>
<th class="listheading">Soll</th>
<th class="listheading">Haben</th>
<th class="listheading">Soll</th>
<th class="listheading">Haben</th>
<th class="listheading">Soll</th>
<th class="listheading">Haben</th>
[% FOREACH row = ROWS %]
[% IF row.IS_CONTROL %]
[% IF row.IS_COLSPAN_DATA %]<tr><td colspan="[% row.NUM_COLUMNS %]">[% row.data %]</td></tr>[% END %]
[% ELSE %]
<tr class="listrow[% row.outer_idx_odd %]">
[%- FOREACH col = row.COLUMNS %]
<td[% IF col.align %] align="[% col.align %]"[% END %]
[%- IF col.valign %] valign="[% col.valign %]"[%- END %]
[%- SET tdclass = '' %]
[%- IF row.BORDER_TOP %][%- SET tdclass = "$tdclass top_border" %][%- END %]
[%- IF row.BORDER_BOTTOM %][%- SET tdclass = "$tdclass bottom_border" %][%- END %]
[%- IF col.class %][%- SET tdclass = "$tdclass $col.class" %][%- END %]
[%- IF tdclass %] class="[% tdclass %]"[%- END %]>
[%- IF col.raw_data %][%- col.raw_data %][%- END %]
[%- USE iterator(col.CELL_ROWS) %][%- FOREACH cell_row = iterator %]
[%- IF cell_row.data != '' %]
[%- IF cell_row.link %]<a href="[% cell_row.link %]">[%- END %]
[%- cell_row.data %]
[%- IF cell_row.link %]</a>[%- END %]
[%- END %]
[%- UNLESS iterator.last %]<br>[%- END %]
[%- END %]
</td>
[%- END %]
</tr>
[% END %]
[% END %]
<tr><td colspan="[% NUM_COLUMNS %]"><hr size="3" noshade></td></tr>
</table>
</p>
[% ELSE %]
<p>Keine Daten gefunden</p>
[% END %]
[% RAW_BOTTOM_INFO_TEXT %]
[% IF BOTTOM_INFO_TEXT %]
<p>[% BOTTOM_INFO_TEXT %]</p>
[% END %]
[% IF SHOW_EXPORT_BUTTONS %]
<form action="[% HTML.escape(script) %]" name="report_generator_form" method="post">
[% FOREACH var = EXPORT_VARIABLES %]<input type="hidden" name="report_generator_hidden_[% var.key %]" value="[% HTML.escape(var.value) %]">
[% END %]
<input type="hidden" name="report_generator_nextsub" value="[% HTML.escape(EXPORT_NEXTSUB) %]">
<input type="hidden" name="report_generator_variable_list" value="[% HTML.escape(EXPORT_VARIABLE_LIST) %]">
<input type="hidden" name="report_generator_dispatch_to" value="">
<input type="hidden" name="action" value="report_generator_dispatcher">
<p>
Listenexport<br>
[% IF ALLOW_PDF_EXPORT %]<button type="button" class="submit" onclick="submit_report_generator_form('report_generator_export_as_pdf')">Als PDF exportieren</button>[% END %]
[% IF ALLOW_CSV_EXPORT %]<button type="button" class="submit" onclick="submit_report_generator_form('report_generator_export_as_csv')">Als CSV exportieren</button>[% END %]
</p>
</form>
[% END %]
</body>
templates/webpages/report_generator/html_report_susa_master.html
[% USE HTML %]<body>
<script type="text/javascript">
<!--
function submit_report_generator_form(nextsub) {
document.report_generator_form.report_generator_dispatch_to.value = nextsub;
document.report_generator_form.submit();
}
-->
</script>
<style type="text/css">
<!--
.top_border {
border-top: solid black;
border-width: 4px;
}
.bottom_border {
border-bottom: solid black;
border-width: 4px;
}
-->
</style>
[% IF MESSAGE %]
<p>[% MESSAGE %]</p>
[% END %]
<div class="listtop" width="100%"><translate>Summen- und Saldenliste</translate> [% template_fromto %]</div>
[% IF TOP_INFO_TEXT %]
<p>[% TOP_INFO_TEXT %]</p>
[% END %]
[% RAW_TOP_INFO_TEXT %]
[% IF DATA_PRESENT %]
<p>
<table width="100%">
<tr>
<th class="listheading" rowspan=2><translate>Account Number</translate></th>
<th class="listheading" rowspan=2><translate>Description</translate></th>
<th class="listheading" rowspan=2><translate>Last Transaction</translate></th>
<th class="listheading" colspan=2><translate>Starting Balance</translate></th>
<th class="listheading" colspan=2><translate>Sum for</translate> [% template_fromto %]</th>
<th class="listheading" colspan=2><translate>Sum per</translate> [% template_to %]</th>
<th class="listheading" colspan=2><translate>Saldo per</translate> [% template_to %]</th>
</tr>
<tr>
<th class="listheading"><translate>Assets</translate></th>
<th class="listheading"><translate>Equity</translate></th>
<th class="listheading"><translate>Debit</translate></th>
<th class="listheading"><translate>Credit</translate></th>
<th class="listheading"><translate>Debit</translate></th>
<th class="listheading"><translate>Credit</translate></th>
<th class="listheading"><translate>Debit</translate></th>
<th class="listheading"><translate>Credit</translate></th>
[% FOREACH row = ROWS %]
[% IF row.IS_CONTROL %]
[% IF row.IS_COLSPAN_DATA %]<tr><td colspan="[% row.NUM_COLUMNS %]">[% row.data %]</td></tr>[% END %]
[% ELSE %]
<tr class="listrow[% row.outer_idx_odd %]">
[%- FOREACH col = row.COLUMNS %]
<td[% IF col.align %] align="[% col.align %]"[% END %]
[%- IF col.valign %] valign="[% col.valign %]"[%- END %]
[%- SET tdclass = '' %]
[%- IF row.BORDER_TOP %][%- SET tdclass = "$tdclass top_border" %][%- END %]
[%- IF row.BORDER_BOTTOM %][%- SET tdclass = "$tdclass bottom_border" %][%- END %]
[%- IF col.class %][%- SET tdclass = "$tdclass $col.class" %][%- END %]
[%- IF tdclass %] class="[% tdclass %]"[%- END %]>
[%- IF col.raw_data %][%- col.raw_data %][%- END %]
[%- USE iterator(col.CELL_ROWS) %][%- FOREACH cell_row = iterator %]
[%- IF cell_row.data != '' %]
[%- IF cell_row.link %]<a href="[% cell_row.link %]">[%- END %]
[%- cell_row.data %]
[%- IF cell_row.link %]</a>[%- END %]
[%- END %]
[%- UNLESS iterator.last %]<br>[%- END %]
[%- END %]
</td>
[%- END %]
</tr>
[% END %]
[% END %]
<tr><td colspan="[% NUM_COLUMNS %]"><hr size="3" noshade></td></tr>
</table>
</p>
[% ELSE %]
<p><translate>No data was found.</translate></p>
[% END %]
[% RAW_BOTTOM_INFO_TEXT %]
[% IF BOTTOM_INFO_TEXT %]
<p>[% BOTTOM_INFO_TEXT %]</p>
[% END %]
[% IF SHOW_EXPORT_BUTTONS %]
<form action="[% HTML.escape(script) %]" name="report_generator_form" method="post">
[% FOREACH var = EXPORT_VARIABLES %]<input type="hidden" name="report_generator_hidden_[% var.key %]" value="[% HTML.escape(var.value) %]">
[% END %]
<input type="hidden" name="report_generator_nextsub" value="[% HTML.escape(EXPORT_NEXTSUB) %]">
<input type="hidden" name="report_generator_variable_list" value="[% HTML.escape(EXPORT_VARIABLE_LIST) %]">
<input type="hidden" name="report_generator_dispatch_to" value="">
<input type="hidden" name="action" value="report_generator_dispatcher">
<p>
Listenexport<br>
[% IF ALLOW_PDF_EXPORT %]<button type="button" class="submit" onclick="submit_report_generator_form('report_generator_export_as_pdf')">Als PDF exportieren</button>[% END %]
[% IF ALLOW_CSV_EXPORT %]<button type="button" class="submit" onclick="submit_report_generator_form('report_generator_export_as_csv')">Als CSV exportieren</button>[% END %]
</p>
</form>
[% END %]
</body>
templates/webpages/rp/html_report_susa_de.html
[% USE HTML %]<body>
<script type="text/javascript">
<!--
function submit_report_generator_form(nextsub) {
document.report_generator_form.report_generator_dispatch_to.value = nextsub;
document.report_generator_form.submit();
}
-->
</script>
<style type="text/css">
<!--
.top_border {
border-top: solid black;
border-width: 4px;
}
.bottom_border {
border-bottom: solid black;
border-width: 4px;
}
-->
</style>
[% IF MESSAGE %]
<p>[% MESSAGE %]</p>
[% END %]
<div class="listtop" width="100%">Summen- und Saldenliste [% template_fromto %]</div>
[% IF TOP_INFO_TEXT %]
<p>[% TOP_INFO_TEXT %]</p>
[% END %]
[% RAW_TOP_INFO_TEXT %]
[% IF DATA_PRESENT %]
<p>
<table width="100%">
<tr>
<th class="listheading" rowspan=2>Kontonummer</th>
<th class="listheading" rowspan=2>Beschreibung</th>
<th class="listheading" rowspan=2>Letzte Buchung</th>
<th class="listheading" colspan=2>Er?ffnungsbilanzwerte</th>
<th class="listheading" colspan=2>Summe f?r [% template_fromto %]</th>
<th class="listheading" colspan=2>Summe per [% template_to %]</th>
<th class="listheading" colspan=2>Saldo per [% template_to %]</th>
</tr>
<tr>
<th class="listheading">Aktiva</th>
<th class="listheading">Passiva</th>
<th class="listheading">Soll</th>
<th class="listheading">Haben</th>
<th class="listheading">Soll</th>
<th class="listheading">Haben</th>
<th class="listheading">Soll</th>
<th class="listheading">Haben</th>
[% FOREACH row = ROWS %]
[% IF row.IS_CONTROL %]
[% IF row.IS_COLSPAN_DATA %]<tr><td colspan="[% row.NUM_COLUMNS %]">[% row.data %]</td></tr>[% END %]
[% ELSE %]
<tr class="listrow[% row.outer_idx_odd %]">
[%- FOREACH col = row.COLUMNS %]
<td[% IF col.align %] align="[% col.align %]"[% END %]
[%- IF col.valign %] valign="[% col.valign %]"[%- END %]
[%- SET tdclass = '' %]
[%- IF row.BORDER_TOP %][%- SET tdclass = "$tdclass top_border" %][%- END %]
[%- IF row.BORDER_BOTTOM %][%- SET tdclass = "$tdclass bottom_border" %][%- END %]
[%- IF col.class %][%- SET tdclass = "$tdclass $col.class" %][%- END %]
[%- IF tdclass %] class="[% tdclass %]"[%- END %]>
[%- IF col.raw_data %][%- col.raw_data %][%- END %]
[%- USE iterator(col.CELL_ROWS) %][%- FOREACH cell_row = iterator %]
[%- IF cell_row.data != '' %]
[%- IF cell_row.link %]<a href="[% cell_row.link %]">[%- END %]
[%- cell_row.data %]
[%- IF cell_row.link %]</a>[%- END %]
[%- END %]
[%- UNLESS iterator.last %]<br>[%- END %]
[%- END %]
</td>
[%- END %]
</tr>
[% END %]
[% END %]
<tr><td colspan="[% NUM_COLUMNS %]"><hr size="3" noshade></td></tr>
</table>
</p>
[% ELSE %]
<p>Es wurden keine Daten gefunden.</p>
[% END %]
[% RAW_BOTTOM_INFO_TEXT %]
[% IF BOTTOM_INFO_TEXT %]
<p>[% BOTTOM_INFO_TEXT %]</p>
[% END %]
[% IF SHOW_EXPORT_BUTTONS %]
<form action="[% HTML.escape(script) %]" name="report_generator_form" method="post">
[% FOREACH var = EXPORT_VARIABLES %]<input type="hidden" name="report_generator_hidden_[% var.key %]" value="[% HTML.escape(var.value) %]">
[% END %]
<input type="hidden" name="report_generator_nextsub" value="[% HTML.escape(EXPORT_NEXTSUB) %]">
<input type="hidden" name="report_generator_variable_list" value="[% HTML.escape(EXPORT_VARIABLE_LIST) %]">
<input type="hidden" name="report_generator_dispatch_to" value="">
<input type="hidden" name="action" value="report_generator_dispatcher">
<p>
Listenexport<br>
[% IF ALLOW_PDF_EXPORT %]<button type="button" class="submit" onclick="submit_report_generator_form('report_generator_export_as_pdf')">Als PDF exportieren</button>[% END %]
[% IF ALLOW_CSV_EXPORT %]<button type="button" class="submit" onclick="submit_report_generator_form('report_generator_export_as_csv')">Als CSV exportieren</button>[% END %]
</p>
</form>
[% END %]
</body>
templates/webpages/rp/html_report_susa_master.html
[% USE HTML %]<body>
<script type="text/javascript">
<!--
function submit_report_generator_form(nextsub) {
document.report_generator_form.report_generator_dispatch_to.value = nextsub;
document.report_generator_form.submit();
}
-->
</script>
<style type="text/css">
<!--
.top_border {
border-top: solid black;
border-width: 4px;
}
.bottom_border {
border-bottom: solid black;
border-width: 4px;
}
-->
</style>
[% IF MESSAGE %]
<p>[% MESSAGE %]</p>
[% END %]
<div class="listtop" width="100%"><translate>Summen- und Saldenliste</translate> [% template_fromto %]</div>
[% IF TOP_INFO_TEXT %]
<p>[% TOP_INFO_TEXT %]</p>
[% END %]
[% RAW_TOP_INFO_TEXT %]
[% IF DATA_PRESENT %]
<p>
<table width="100%">
<tr>
<th class="listheading" rowspan=2><translate>Account Number</translate></th>
<th class="listheading" rowspan=2><translate>Description</translate></th>
<th class="listheading" rowspan=2><translate>Last Transaction</translate></th>
<th class="listheading" colspan=2><translate>Starting Balance</translate></th>
<th class="listheading" colspan=2><translate>Sum for</translate> [% template_fromto %]</th>
<th class="listheading" colspan=2><translate>Sum per</translate> [% template_to %]</th>
<th class="listheading" colspan=2><translate>Saldo per</translate> [% template_to %]</th>
</tr>
<tr>
<th class="listheading"><translate>Assets</translate></th>
<th class="listheading"><translate>Equity</translate></th>
<th class="listheading"><translate>Debit</translate></th>
<th class="listheading"><translate>Credit</translate></th>
<th class="listheading"><translate>Debit</translate></th>
<th class="listheading"><translate>Credit</translate></th>
<th class="listheading"><translate>Debit</translate></th>
<th class="listheading"><translate>Credit</translate></th>
[% FOREACH row = ROWS %]
[% IF row.IS_CONTROL %]
[% IF row.IS_COLSPAN_DATA %]<tr><td colspan="[% row.NUM_COLUMNS %]">[% row.data %]</td></tr>[% END %]
[% ELSE %]
<tr class="listrow[% row.outer_idx_odd %]">
[%- FOREACH col = row.COLUMNS %]
<td[% IF col.align %] align="[% col.align %]"[% END %]
[%- IF col.valign %] valign="[% col.valign %]"[%- END %]
[%- SET tdclass = '' %]
[%- IF row.BORDER_TOP %][%- SET tdclass = "$tdclass top_border" %][%- END %]
[%- IF row.BORDER_BOTTOM %][%- SET tdclass = "$tdclass bottom_border" %][%- END %]
[%- IF col.class %][%- SET tdclass = "$tdclass $col.class" %][%- END %]
[%- IF tdclass %] class="[% tdclass %]"[%- END %]>
[%- IF col.raw_data %][%- col.raw_data %][%- END %]
[%- USE iterator(col.CELL_ROWS) %][%- FOREACH cell_row = iterator %]
[%- IF cell_row.data != '' %]
[%- IF cell_row.link %]<a href="[% cell_row.link %]">[%- END %]
[%- cell_row.data %]
[%- IF cell_row.link %]</a>[%- END %]
[%- END %]
[%- UNLESS iterator.last %]<br>[%- END %]
[%- END %]
</td>
[%- END %]
</tr>
[% END %]
[% END %]
<tr><td colspan="[% NUM_COLUMNS %]"><hr size="3" noshade></td></tr>
</table>
</p>
[% ELSE %]
<p><translate>No data was found.</translate></p>
[% END %]
[% RAW_BOTTOM_INFO_TEXT %]
[% IF BOTTOM_INFO_TEXT %]
<p>[% BOTTOM_INFO_TEXT %]</p>
[% END %]
[% IF SHOW_EXPORT_BUTTONS %]
<form action="[% HTML.escape(script) %]" name="report_generator_form" method="post">
[% FOREACH var = EXPORT_VARIABLES %]<input type="hidden" name="report_generator_hidden_[% var.key %]" value="[% HTML.escape(var.value) %]">
[% END %]
<input type="hidden" name="report_generator_nextsub" value="[% HTML.escape(EXPORT_NEXTSUB) %]">
<input type="hidden" name="report_generator_variable_list" value="[% HTML.escape(EXPORT_VARIABLE_LIST) %]">
<input type="hidden" name="report_generator_dispatch_to" value="">
<input type="hidden" name="action" value="report_generator_dispatcher">
<p>
Listenexport<br>
[% IF ALLOW_PDF_EXPORT %]<button type="button" class="submit" onclick="submit_report_generator_form('report_generator_export_as_pdf')">Als PDF exportieren</button>[% END %]
[% IF ALLOW_CSV_EXPORT %]<button type="button" class="submit" onclick="submit_report_generator_form('report_generator_export_as_csv')">Als CSV exportieren</button>[% END %]
</p>
</form>
[% END %]
</body>

Auch abrufbar als: Unified diff