ReportGenerator-Helper: (wiederholten) Export bei "Zurück" verhindern.
authorBernd Bleßmann <bernd@kivitendo-premium.de>
Fri, 26 Feb 2016 10:59:03 +0000 (11:59 +0100)
committerBernd Bleßmann <bernd@kivitendo-premium.de>
Fri, 26 Feb 2016 11:00:32 +0000 (12:00 +0100)
Dazu export-actions nach Aufruf aus form löschen. Da die form-Variablen als
hidden in die Options-Maske übergeben werden, war auch immer die
export-action dabei. Drückte man "Zurück", dann waren beiden actions (für export
und für back) in form und es passierte manchmal, dass der Export (download)
erneut ausgeführt wurde.

Zum Nachstellen: Bei einem Controller mit Export-Möglichkeit den Export aufrufen
und "Zurück" drücken (evtl. wiederholen). Irgenwann wird statt zurückzugehen
doch exportiert.

SL/Controller/Helper/ReportGenerator.pm

index 5faa541..13f4798 100644 (file)
@@ -19,6 +19,9 @@ our @EXPORT = qw(
 
 sub action_report_generator_export_as_pdf {
   my ($self) = @_;
+
+  delete $::form->{action_report_generator_export_as_pdf};
+
   if ($::form->{report_generator_pdf_options_set}) {
     my $saved_form = save_form();
 
@@ -48,6 +51,9 @@ sub action_report_generator_export_as_pdf {
 
 sub action_report_generator_export_as_csv {
   my ($self) = @_;
+
+  delete $::form->{action_report_generator_export_as_csv};
+
   if ($::form->{report_generator_csv_options_set}) {
     $self->report_generator_do('CSV');
     return;