From 6759902aeb338d4f5efe8cadadf4103c2bf35849 Mon Sep 17 00:00:00 2001 From: Moritz Bunkus Date: Mon, 7 Mar 2011 13:21:52 +0100 Subject: [PATCH] Beispieldatei bei CSV-Import herunterladen --- SL/Controller/CsvImport.pm | 20 ++++++++++++++++++++ locale/de/all | 1 + templates/webpages/csv_import/form.html | 4 ++++ 3 files changed, 25 insertions(+) diff --git a/SL/Controller/CsvImport.pm b/SL/Controller/CsvImport.pm index c0967ac0c..c30634b96 100644 --- a/SL/Controller/CsvImport.pm +++ b/SL/Controller/CsvImport.pm @@ -67,6 +67,26 @@ sub action_destroy { $self->redirect_to(action => 'new', 'profile.type' => $self->type); } +sub action_download_sample { + my $self = shift; + + $self->profile_from_form; + $self->setup_help; + + my $file_name = 'csv_import_sample_' . $self->type . '.csv'; + my $file = SL::SessionFile->new($file_name, mode => '>', encoding => $self->profile->get('charset')); + my $csv = Text::CSV_XS->new({ binary => 1, map { ( $_ => $self->profile->get($_) ) } qw(sep_char escape_char quote_char),}); + + $csv->print($file->fh, [ map { $_->{name} } @{ $self->displayable_columns } ]); + $file->fh->print("\r\n"); + $csv->print($file->fh, [ map { $_->{description} } @{ $self->displayable_columns } ]); + $file->fh->print("\r\n"); + + $file->fh->close; + + $self->send_file($file->file_name); +} + # # filters # diff --git a/locale/de/all b/locale/de/all index 0c238bfd5..7647d94bf 100644 --- a/locale/de/all +++ b/locale/de/all @@ -614,6 +614,7 @@ $self->{texts} = { 'Documents in the WebDAV repository' => 'Dokumente im WebDAV-Repository', 'Done' => 'Fertig', 'Download SEPA XML export file' => 'SEPA-XML-Exportdatei herunterladen', + 'Download sample file' => 'Beispieldatei herunterladen', 'Download the backup' => 'Die Sicherungsdatei herunterladen', 'Draft saved.' => 'Entwurf gespeichert.', 'Drawing' => 'Zeichnung', diff --git a/templates/webpages/csv_import/form.html b/templates/webpages/csv_import/form.html index c9c9133c9..b146465a8 100644 --- a/templates/webpages/csv_import/form.html +++ b/templates/webpages/csv_import/form.html @@ -85,6 +85,10 @@

[%- END %] +

+ [%- L.submit_tag('action_download_sample', LxERP.t8('Download sample file')) %] +

+
-- 2.20.1