X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FController%2FOrder.pm;h=faf2ffaac94fbded3ad3d97dd4198b2a3a35afba;hb=fc9829b3ee7076be97b2b9511994d18b0c6d4b84;hp=a37df9e2389373593c00e6d07e94b2d20f23d251;hpb=332b5ec73395d63e194dd5719c77053cb3d1acb5;p=kivitendo-erp.git diff --git a/SL/Controller/Order.pm b/SL/Controller/Order.pm index a37df9e23..faf2ffaac 100644 --- a/SL/Controller/Order.pm +++ b/SL/Controller/Order.pm @@ -291,6 +291,12 @@ sub action_print { $self->js_reset_order_and_item_ids_after_save; + my $redirect_url = $self->url_for( + action => 'edit', + type => $self->type, + id => $self->order->id, + ); + my $format = $::form->{print_options}->{format}; my $media = $::form->{print_options}->{media}; my $formname = $::form->{print_options}->{formname}; @@ -300,12 +306,14 @@ sub action_print { # only PDF, OpenDocument & HTML for now if (none { $format eq $_ } qw(pdf opendocument opendocument_pdf html)) { - return $self->js->flash('error', t8('Format \'#1\' is not supported yet/anymore.', $format))->render; + flash_later('error', t8('Format \'#1\' is not supported yet/anymore.', $format)); + return $self->js->redirect_to($redirect_url)->render; } # only screen or printer by now if (none { $media eq $_ } qw(screen printer)) { - return $self->js->flash('error', t8('Media \'#1\' is not supported yet/anymore.', $media))->render; + flash_later('error', t8('Media \'#1\' is not supported yet/anymore.', $media)); + return $self->js->redirect_to($redirect_url)->render; } # create a form for generate_attachment_filename @@ -325,12 +333,13 @@ sub action_print { printer_id => $printer_id, groupitems => $groupitems }); if (scalar @errors) { - return $self->js->flash('error', t8('Generating the document failed: #1', $errors[0]))->render; + flash_later('error', t8('Generating the document failed: #1', $errors[0])); + return $self->js->redirect_to($redirect_url)->render; } if ($media eq 'screen') { # screen/download - $self->js->flash('info', t8('The document has been created.')); + flash_later('info', t8('The document has been created.')); $self->send_file( \$doc, type => SL::MIME->mime_type_from_ext($doc_filename), @@ -346,20 +355,19 @@ sub action_print { content => $doc, ); - $self->js->flash('info', t8('The document has been printed.')); + flash_later('info', t8('The document has been printed.')); } my @warnings = $self->store_doc_to_webdav_and_filemanagement($doc, $doc_filename, $formname); if (scalar @warnings) { - $self->js->flash('warning', $_) for @warnings; + flash_later('warning', $_) for @warnings; } $self->save_history('PRINTED'); - $self->js - ->run('kivi.ActionBar.setEnabled', '#save_and_email_action') - ->render; + $self->js->redirect_to($redirect_url)->render; } + sub action_preview_pdf { my ($self) = @_; @@ -371,6 +379,12 @@ sub action_preview_pdf { $self->js_reset_order_and_item_ids_after_save; + my $redirect_url = $self->url_for( + action => 'edit', + type => $self->type, + id => $self->order->id, + ); + my $format = 'pdf'; my $media = 'screen'; my $formname = $self->type; @@ -392,17 +406,23 @@ sub action_preview_pdf { language => $self->order->language, }); if (scalar @errors) { - return $self->js->flash('error', t8('Conversion to PDF failed: #1', $errors[0]))->render; + flash_later('error', t8('Conversion to PDF failed: #1', $errors[0])); + return $self->js->redirect_to($redirect_url)->render; } + $self->save_history('PREVIEWED'); - $self->js->flash('info', t8('The PDF has been previewed')); + + flash_later('info', t8('The PDF has been previewed')); + # screen/download $self->send_file( \$pdf, type => SL::MIME->mime_type_from_ext($pdf_filename), name => $pdf_filename, - js_no_render => 0, + js_no_render => 1, ); + + $self->js->redirect_to($redirect_url)->render; } # open the email dialog @@ -416,6 +436,8 @@ sub action_save_and_show_email_dialog { return $self->js->render(); } + $self->js_reset_order_and_item_ids_after_save; + my $cv_method = $self->cv; if (!$self->order->$cv_method) { @@ -1859,7 +1881,6 @@ sub save { if ($::form->{phone_note}->{subject} || $::form->{phone_note}->{body}) { if (!$::form->{phone_note}->{subject} || !$::form->{phone_note}->{body}) { return [t8('Phone note needs a subject and a body.')]; - die; } my $phone_note;