Form->redirect: übergebene Nachricht mittels »flash_later« anzeigen lassen
authorMoritz Bunkus <m.bunkus@linet-services.de>
Wed, 18 Jan 2017 09:37:32 +0000 (10:37 +0100)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Wed, 18 Jan 2017 09:41:15 +0000 (10:41 +0100)
Der Funktion $::form->redirect kann eine Nachricht übergeben
werden. Diese wird bisher nur dann angezeigt, wenn es keinen
aufzurufenden Callback gibt. Gibt es einen Callback, verschwindet die
Nachricht bisher im Nirvana.

Mit dieser Änderung wird die Nachricht im Flash gespeichert. Damit
besteht zumindest eine Chance, dass die nachfolgend angezeigte Maske die
Nachricht auch anzeigt, sofern sie den Flash einbindet. Da das
langfristig eh alle Masken machen sollen, ergibt diese Übergabe auch
jetzt schon Sinn.

SL/Form.pm

index f737a58..78eac8a 100644 (file)
@@ -63,6 +63,7 @@ use SL::DB::Default;
 use SL::DB::PaymentTerm;
 use SL::DB::Vendor;
 use SL::DO;
+use SL::Helper::Flash qw();
 use SL::IC;
 use SL::IS;
 use SL::Layout::Dispatcher;
@@ -732,6 +733,7 @@ sub redirect {
     $self->info($msg);
 
   } else {
+    SL::Helper::Flash::flash_later('info', $msg);
     $self->_store_redirect_info_in_session;
     print $::form->redirect_header($self->{callback});
   }