X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FController%2FSellPriceInformation.pm;h=ccb0d5fcce07a51fdab110f557d82be41da2734f;hb=5474d397bbc42ffaea0b51ebb4bb9a4c7afaa881;hp=d82f6670775fd7efc4bef652265e0ff5d3e62356;hpb=217751aba9f1e746f67914e83bb669fc784d6eac;p=kivitendo-erp.git diff --git a/SL/Controller/SellPriceInformation.pm b/SL/Controller/SellPriceInformation.pm index d82f66707..ccb0d5fcc 100644 --- a/SL/Controller/SellPriceInformation.pm +++ b/SL/Controller/SellPriceInformation.pm @@ -20,7 +20,7 @@ sub action_list { ); my $db_args = $self->setup_for_list(%list_params); - $self->{pages} = SL::DB::Manager::OrderItem->paginate(%list_params, args => $db_args, per_page => 10); + $self->{pages} = SL::DB::Manager::OrderItem->paginate(%list_params, args => $db_args, per_page => 5); my $bottom = $::form->parse_html_template('price_information/report_bottom', { SELF => $self }); @@ -32,9 +32,9 @@ sub action_list { db_args => $db_args, ); - $self->{orderitems} = SL::DB::Manager::OrderItem->get_all(%$db_args); + my $orderitems = SL::DB::Manager::OrderItem->get_all(%$db_args); - $self->list_objects; + $self->report_generator_list_objects(report => $self->{report}, objects => $orderitems, layout => 0, header => 0); } # private functions @@ -68,7 +68,7 @@ sub column_defs { transdate => { text => $::locale->text('Date'), sub => sub { $_[0]->order->transdate_as_date }}, ordnumber => { text => $::locale->text('Number'), - sub => sub { $_[0]->order->ordnumber }, + sub => sub { $_[0]->order->number }, obj_link => sub { $self->link_to($_[0]->order) }}, customer => { text => $::locale->text('Customer'), sub => sub { $_[0]->order->customer->name }, @@ -96,6 +96,9 @@ sub prepare_report { my $report = SL::ReportGenerator->new(\%::myconfig, $::form); $self->{report} = $report; + my $title = $::locale->text('Sales Price information'); + $title .= ': ' . $::locale->text($::form->{filter}->{order}{type}) if $::form->{filter}->{order}{type}; + my @columns = qw(transdate ordnumber customer ship qty sellprice discount amount); my @visible = qw(transdate ordnumber customer ship qty sellprice discount amount); my @sortable = qw(transdate ordnumber customer sellprice discount ); @@ -115,41 +118,15 @@ sub prepare_report { $report->set_columns(%$column_defs); $report->set_column_order(@columns); $report->set_options(allow_pdf_export => 0, allow_csv_export => 0); - $report->set_sort_indicator(%params); + $report->set_sort_indicator($self->{sort_by}, $self->{sort_dir}); $report->set_export_options(@{ $params{report_generator_export_options} || [] }); $report->set_options( %{ $params{report_generator_options} || {} }, output_format => 'HTML', top_info_text => $self->displayable_filter($::form->{filter}), - title => $::locale->text('Sales Price information'), + title => $title, ); $report->set_options_from_form; - - $self->{report_data} = { - column_defs => $column_defs, - columns => \@columns, - visible => \@visible, - sortable => \@sortable, - }; -} - -sub list_objects { - my ($self) = @_; - my $column_defs = $self->{report_data}{column_defs}; - for my $obj (@{ $self->{orderitems} || [] }) { - $self->{report}->add_data({ - map { - $_ => { - data => $column_defs->{$_}{sub} ? $column_defs->{$_}{sub}->($obj) - : $obj->can($_) ? $obj->$_ - : $obj->{$_}, - link => $column_defs->{$_}{obj_link} ? $column_defs->{$_}{obj_link}->($obj) : '', - }, - } @{ $self->{report_data}{columns} || {} } - }); - } - - return $self->{report}->generate_with_headers; } sub link_to { @@ -163,11 +140,15 @@ sub link_to { my $vc = $object->is_sales ? 'customer' : 'vendor'; my $id = $object->id; - return "oe.pl?action=$action&type=$type&vc=$vc&id=$id"; + if ($::instance_conf->get_feature_experimental_order) { + return "controller.pl?action=Order/$action&type=$type&id=$id"; + } else { + return "oe.pl?action=$action&type=$type&vc=$vc&id=$id"; + } } if ($object->isa('SL::DB::Customer')) { my $id = $object->id; - return "ct.pl?action=$action&id=$id&db=customer"; + return "controller.pl?action=CustomerVendor/$action&id=$id&db=customer"; } } @@ -188,9 +169,8 @@ sub displayable_filter { my $column_defs = $self->column_defs; my @texts; - push @texts, [ $::locale->text('Type'), $::locale->text($filter->{order}{type}) ] if $filter->{order}{type}; push @texts, [ $::locale->text('Sort By'), $column_defs->{$self->{sort_by}}{text} ] if $column_defs->{$self->{sort_by}}{text}; - push @texts, [ $::locale->text('Page'), $::locale->text($self->{pages}{cur}) ] if $self->{pages}{cur} != 1; + push @texts, [ $::locale->text('Page'), $::locale->text($self->{pages}{cur}) ] if $self->{pages}{cur} > 1; return join '; ', map { "$_->[0]: $_->[1]" } @texts; }