__PACKAGE__->run_before('_check_auth');
__PACKAGE__->run_before('_recalc',
- only => [ qw(update save save_and_delivery_order print create_pdf send_email) ]);
+ only => [ qw(save save_and_delivery_order print create_pdf send_email) ]);
__PACKAGE__->run_before('_get_unalterable_data',
only => [ qw(save save_and_delivery_order print create_pdf send_email) ]);
);
}
-sub action_update {
- my ($self) = @_;
-
- $self->_pre_render();
- $self->render(
- 'order/form',
- title => $self->type eq _sales_order_type() ? $::locale->text('Edit Sales Order')
- : $self->type eq _purchase_order_type() ? $::locale->text('Edit Purchase Order')
- : '',
- %{$self->{template_args}}
- );
-}
-
sub action_delete {
my ($self) = @_;
} elsif ($media eq 'printer') {
# printer
my $printer_id = $::form->{print_options}->{printer_id};
- my $printer;
- $printer = SL::DB::Printer->new(id => $printer_id)->load if $printer_id;
- if (!$printer) {
- return $self->js->flash('error', t8('Printer not found.'))->render;
- }
-
- my $command = SL::Template::create(type => 'ShellCommand', form => Form->new(''))->parse($printer->printer_command);
-
- for my $i (1 .. $copies) {
- open my $out, '|-', $command or die $!;
- binmode $out;
- print $out $pdf;
- close $out;
- }
+ SL::DB::Printer->new(id => $printer_id)->load->print_document(
+ copies => $copies,
+ content => $pdf,
+ );
$self->js->flash('info', t8('The PDF has been printed'));
}
}
1;
+
+__END__
+
+=encoding utf-8
+
+=head1 NAME
+
+SL::Controller::Order - controller for orders
+
+=head1 TODO
+
+=over 2
+
+=item *
+
+testing
+
+
+=item *
+
+currency
+
+
+=item *
+
+customer/vendor details ('D'-button)
+
+
+=item *
+
+credit limit
+
+
+=item *
+
+more workflows (save as new / invoice)
+
+
+=item *
+
+price sources: little symbols showing better price / better discount
+
+
+=item *
+
+custom shipto address
+
+
+=item *
+
+periodic invoices
+
+
+=item *
+
+more details on second row (marge, ...)
+
+
+=item *
+
+language / part translations
+
+
+=item *
+
+access rights
+
+
+=item *
+
+preset salesman from customer
+
+
+=item *
+
+display weights
+
+
+=item *
+
+force project if enabled in client config
+
+
+=back
+
+=head1 AUTHOR
+
+Bernd Bleßmann E<lt>bernd@kivitendo-premium.deE<gt>
+
+=cut