X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/ec3a4636c1d58339915614120cd82759150d7641..ad9b15c2da87c6ee98f0990b49c8dff0f09cf581:/SL/Controller/DeliveryPlan.pm diff --git a/SL/Controller/DeliveryPlan.pm b/SL/Controller/DeliveryPlan.pm index 7d394bebf..ee4a29265 100644 --- a/SL/Controller/DeliveryPlan.pm +++ b/SL/Controller/DeliveryPlan.pm @@ -16,32 +16,6 @@ use Rose::Object::MakeMethods::Generic ( __PACKAGE__->run_before(sub { $::auth->assert('sales_order_edit'); }); -#__PACKAGE__->make_filtered( -# MODEL => 'OrderItem', -# LAUNDER_TO => 'filter' -#); -#__PACKAGE__->make_paginated( -# MODEL => 'OrderItem', -# ONLY => [ qw(list) ], -#); -# -#__PACKAGE__->make_sorted( -# MODEL => 'OrderItem', -# ONLY => [ qw(list) ], -# -# DEFAULT_BY => 'reqdate', -# DEFAULT_DIR => 1, -# -# reqdate => t8('Reqdate'), -# description => t8('Description'), -# partnumber => t8('Part Number'), -# qty => t8('Qty'), -# shipped_qty => t8('shipped'), -# not_shipped_qty => t8('not shipped'), -# ordnumber => t8('Order'), -# customer => t8('Customer'), -#); - my %sort_columns = ( reqdate => t8('Reqdate'), description => t8('Description'), @@ -129,10 +103,10 @@ sub action_list { my ($self) = @_; $self->make_filter_summary; + $self->prepare_report; my $orderitems = $self->models->get; - $self->prepare_report; $self->report_generator_list_objects(report => $self->{report}, objects => $orderitems); } @@ -158,7 +132,7 @@ sub prepare_report { not_shipped_qty => { sub => sub { $::form->format_amount(\%::myconfig, $_[0]->qty - $_[0]->shipped_qty, 2) . ' ' . $_[0]->unit } }, ordnumber => { sub => sub { $_[0]->order->ordnumber }, obj_link => sub { $self->link_to($_[0]->order) } }, - customer => { sub => sub { return ''; $_[0]->order->customer->name }, + customer => { sub => sub { $_[0]->order->customer->name }, obj_link => sub { $self->link_to($_[0]->order->customer) } }, ); @@ -169,8 +143,6 @@ sub prepare_report { controller_class => 'DeliveryPlan', output_format => 'HTML', top_info_text => $::locale->text('Delivery Plan for currently outstanding sales orders'), - raw_top_info_text => $self->render('delivery_plan/report_top', { output => 0 }), - raw_bottom_info_text => $self->render('delivery_plan/report_bottom', { output => 0 }, models => $self->models), title => $::locale->text('Delivery Plan'), allow_pdf_export => 1, allow_csv_export => 1, @@ -179,9 +151,13 @@ sub prepare_report { $report->set_column_order(@columns); $report->set_export_options(qw(list filter)); $report->set_options_from_form; - $self->models->sorted->set_report_generator_sort_options(report => $report, sortable_columns => \@sortable); - - $self->models->paginated->disable_pagination if $report->{options}{output_format} =~ /^(pdf|csv)$/i; + $self->models->disable_plugin('paginated') if $report->{options}{output_format} =~ /^(pdf|csv)$/i; + $self->models->finalize; # for filter laundering + $self->models->set_report_generator_sort_options(report => $report, sortable_columns => \@sortable); + $report->set_options( + raw_top_info_text => $self->render('delivery_plan/report_top', { output => 0 }), + raw_bottom_info_text => $self->render('delivery_plan/report_bottom', { output => 0 }, models => $self->models), + ); } sub make_filter_summary { @@ -222,19 +198,16 @@ sub init_models { my ($self) = @_; SL::Controller::Helper::GetModels->new( - controller => $self, - model => 'OrderItem', # defaults to controller - filtered => { - launder_to => 'filter', - }, - sorted => { - _default => { - by => 'reqdate', - dir => 1, + controller => $self, + model => 'OrderItem', + sorted => { + _default => { + by => 'reqdate', + dir => 1, }, %sort_columns, }, - query => $delivery_plan_query, + query => $delivery_plan_query, with_objects => [ 'order', 'order.customer', 'part' ], ); }