Revision 6ed4a18f
Von Cem Aydin vor etwa 1 Jahr hinzugefügt
- ID 6ed4a18f9f7e211112a7ddd27fb865eb24f15fde
- Vorgänger 64ed077b
| SL/Controller/ListTransactions.pm | ||
|---|---|---|
|
$self->report->generate_with_headers;
|
||
|
}
|
||
|
|
||
|
sub action_csv_options_export_all_charts {
|
||
|
sub action_export_options_all_charts {
|
||
|
my ($self) = @_;
|
||
|
|
||
|
$self->set_dates;
|
||
| ... | ... | |
|
{ key => $_, value => $self->defaults->{$_} }
|
||
|
} keys %{ $self->defaults };
|
||
|
|
||
|
$self->setup_csv_options_action_bar;
|
||
|
$self->render('report_generator/csv_export_options',
|
||
|
title => t8('CSV export -- options'),
|
||
|
HIDDEN => \@hidden,
|
||
|
);
|
||
|
if ($::form->{output_format} eq 'PDF') {
|
||
|
$self->setup_export_options_action_bar(output_format => 'PDF');
|
||
|
$self->render('report_generator/pdf_export_options',
|
||
|
title => t8('PDF export -- options'),
|
||
|
HIDDEN => \@hidden,
|
||
|
);
|
||
|
} else {
|
||
|
$self->setup_export_options_action_bar(output_format => 'CSV');
|
||
|
$self->render('report_generator/csv_export_options',
|
||
|
title => t8('CSV export -- options'),
|
||
|
HIDDEN => \@hidden,
|
||
|
);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
sub action_export_all_charts {
|
||
|
my ($self) = @_;
|
||
|
|
||
|
my $output_format = $::form->{output_format} // 'CSV';
|
||
|
|
||
|
my $zip = Archive::Zip->new();
|
||
|
|
||
|
for my $account (@{ $self->accounts_list }) {
|
||
| ... | ... | |
|
my $sfile = SL::SessionFile::Random->new(mode => "w");
|
||
|
|
||
|
$self->set_title;
|
||
|
$self->report_type('CSV');
|
||
|
$self->report_type($output_format);
|
||
|
|
||
|
$self->prepare_report;
|
||
|
$self->set_report_data;
|
||
|
$self->report->_generate_csv_content($sfile->fh);
|
||
|
if ($output_format eq 'PDF') {
|
||
|
my $output = $self->report->generate_pdf_content(want_binary_pdf => 1);
|
||
|
$sfile->fh->print($output);
|
||
|
} else {
|
||
|
$self->report->_generate_csv_content($sfile->fh);
|
||
|
}
|
||
|
$sfile->fh->close;
|
||
|
|
||
|
$zip->addFile(
|
||
|
$sfile->{file_name},
|
||
|
t8('list_of_transactions') . "_" . t8('account') . "_" . $account->{accno} . ".csv"
|
||
|
t8('list_of_transactions') . "_" . t8('account') . "_" . $account->{accno} . ($output_format eq 'PDF' ? '.pdf' : '.csv')
|
||
|
);
|
||
|
}
|
||
|
|
||
| ... | ... | |
|
],
|
||
|
action => [
|
||
|
t8('Export all accounts to CSV (ZIP file)'),
|
||
|
submit => [ '#report_settings', { action => 'ListTransactions/csv_options_export_all_charts' } ],
|
||
|
submit => [ '#report_settings', {
|
||
|
action => 'ListTransactions/export_options_all_charts',
|
||
|
output_format => 'CSV',
|
||
|
} ],
|
||
|
],
|
||
|
action => [
|
||
|
t8('Export all accounts to PDF (ZIP file)'),
|
||
|
submit => [ '#report_settings', {
|
||
|
action => 'ListTransactions/export_options_all_charts',
|
||
|
output_format => 'PDF',
|
||
|
} ],
|
||
|
],
|
||
|
], # end of combobox "Export"
|
||
|
);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
sub setup_csv_options_action_bar {
|
||
|
sub setup_export_options_action_bar {
|
||
|
my ($self, %params) = @_;
|
||
|
for my $bar ($::request->layout->get('actionbar')) {
|
||
|
$bar->add(
|
||
|
action => [
|
||
|
t8('Export'),
|
||
|
submit => [ '#report_generator_form', { action => 'ListTransactions/export_all_charts' } ],
|
||
|
submit => [ '#report_generator_form', {
|
||
|
action => 'ListTransactions/export_all_charts',
|
||
|
output_format => $params{output_format},
|
||
|
} ],
|
||
|
accesskey => 'enter',
|
||
|
],
|
||
|
action => [
|
||
| ... | ... | |
|
if ($::form->{projectnumber}) {
|
||
|
push @text, $::locale->text('Project Number') . " : $::form->{projectnumber}<br>";
|
||
|
}
|
||
|
push @text, join " ", t8('Period:'), $self->from_date, "-", $self->to_date;
|
||
|
push @text, join " ", t8('Period:'), $::form->{fromdate}, t8('to'), $::form->{todate};
|
||
|
push @text, join " ", t8('Report date:'), $::locale->format_date_object(DateTime->now_local);
|
||
|
push @text, join " ", t8('Company:'), $::instance_conf->get_company;
|
||
|
join "\n", @text;
|
||
| ... | ... | |
|
options and the sorting of the report.
|
||
|
|
||
|
At this point, exporting all accounts is possible via Export -> Export all
|
||
|
accounts to CSV (ZIP file).
|
||
|
accounts to CSV / PDF (ZIP file).
|
||
|
|
||
|
This will export all accounts for the selected time period and options,
|
||
|
and offer the resulting file for download.
|
||
| ... | ... | |
|
The database queries in SL::CA are quite sophisticated, therefore i'm still using
|
||
|
these for now.
|
||
|
|
||
|
TODO: Exporting all accounts to PDF (ZIP file) should be added.
|
||
|
|
||
|
=head1 BUGS
|
||
|
|
||
|
None yet.
|
||
| doc/changelog | ||
|---|---|---|
|
|
||
|
Kleinere neue Features und Detailverbesserungen:
|
||
|
|
||
|
- Beim Export aller Kontenblätter (Berichte -> Buchungsliste) können nun auch PDFs
|
||
|
erzeugt werden
|
||
|
- Schweizer QR-Rechnungen: Bei der Erzeugung via OpenDocument, innerhalb des QR-Code
|
||
|
Adresstyp S anstatt K verwenden
|
||
|
- Bei den Bankkonten Auswahlmöglichkeit hinzugefügt, ob das Konto für den Bankimport
|
||
| locale/de/all | ||
|---|---|---|
|
'Export' => 'Export',
|
||
|
'Export Number' => 'Exportnummer',
|
||
|
'Export all accounts to CSV (ZIP file)' => 'Alle Konten als CSV exportieren (ZIP-Datei)',
|
||
|
'Export all accounts to PDF (ZIP file)' => 'Alle Konten als PDF exportieren (ZIP-Datei)',
|
||
|
'Export as CSV' => 'Als CSV exportieren',
|
||
|
'Export as PDF' => 'Als PDF exportieren',
|
||
|
'Export date' => 'Exportdatum',
|
||
| locale/en/all | ||
|---|---|---|
|
'Export' => '',
|
||
|
'Export Number' => '',
|
||
|
'Export all accounts to CSV (ZIP file)' => '',
|
||
|
'Export all accounts to PDF (ZIP file)' => '',
|
||
|
'Export as CSV' => '',
|
||
|
'Export as PDF' => '',
|
||
|
'Export date' => '',
|
||
Auch abrufbar als: Unified diff
Berichte Buchungsliste Export aller Konten als PDF (ZIP) ermöglichen
Analog zum CSV export.
Changelog aktualisiert.