Auftrags-Controller: Vor dem Aufruf des E-Mail-Dialogs speichern
authorBernd Bleßmann <bernd@kivitendo-premium.de>
Tue, 22 Sep 2020 14:14:58 +0000 (16:14 +0200)
committerBernd Bleßmann <bernd@kivitendo-premium.de>
Tue, 22 Sep 2020 15:41:30 +0000 (17:41 +0200)
Das geschieht zwar auch beim Verschicken der Mail wenn man den Dialog bestätigt,
aber beim Speichern wird die Belegnummer generiert, die sonst bei
ungespeicherten Belegen im Dialog selbst (für den Betreff) nicht zur Verfügung
steht.

SL/Controller/Order.pm

index 56733d9..4f2abe5 100644 (file)
@@ -353,6 +353,13 @@ sub action_print {
 sub action_show_email_dialog {
   my ($self) = @_;
 
+  my $errors = $self->save();
+
+  if (scalar @{ $errors }) {
+    $self->js->flash('error', $_) foreach @{ $errors };
+    return $self->js->render();
+  }
+
   my $cv_method = $self->cv;
 
   if (!$self->order->$cv_method) {