X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/f25e6eaa202ee67e5e367d23b90d6aa8d7275a4e..fea94894ccc1fd4ee626f686ade761b83a1e4ebb:/SL/Controller/Order.pm?ds=sidebyside diff --git a/SL/Controller/Order.pm b/SL/Controller/Order.pm index 17e1d7d31..8c3ca5427 100644 --- a/SL/Controller/Order.pm +++ b/SL/Controller/Order.pm @@ -36,7 +36,7 @@ use Rose::Object::MakeMethods::Generic __PACKAGE__->run_before('_check_auth'); __PACKAGE__->run_before('_recalc', - only => [ qw(edit update save create_pdf send_email) ]); + only => [ qw(edit update save save_and_delivery_order create_pdf send_email) ]); # @@ -212,6 +212,29 @@ sub action_send_email { ->render($self); } +sub action_save_and_delivery_order { + my ($self) = @_; + + my $errors = $self->_save(); + + if (scalar @{ $errors }) { + $self->js->flash('error', $_) foreach @{ $errors }; + return $self->js->render($self); + } + + my $delivery_order = $self->order->convert_to_delivery_order($self->order); + + flash_later('info', $::locale->text('The order has been saved')); + my @redirect_params = ( + controller => 'do.pl', + action => 'edit', + type => $delivery_order->type, + id => $delivery_order->id, + vc => $delivery_order->is_sales ? 'customer' : 'vendor', + ); + + $self->redirect_to(@redirect_params); +} sub action_customer_vendor_changed { my ($self) = @_;