X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FController%2FDeliveryValueReport.pm;h=ae2032fccb4d9e160057b744a99401fe72908671;hb=53593baa211863fbf66540cf1bcc36c8fb37257f;hp=f6bc617d1b536d972de5c13265e1e174c62c7410;hpb=33e8932ce36d4fbe58a9649b1a233c54f6400d6d;p=kivitendo-erp.git diff --git a/SL/Controller/DeliveryValueReport.pm b/SL/Controller/DeliveryValueReport.pm index f6bc617d1..ae2032fcc 100644 --- a/SL/Controller/DeliveryValueReport.pm +++ b/SL/Controller/DeliveryValueReport.pm @@ -17,8 +17,7 @@ use Carp; use Data::Dumper; use Rose::Object::MakeMethods::Generic ( - scalar => [ qw(db_args flat_filter) ], - 'scalar --get_set_init' => [ qw(models vc all_employees all_businesses) ], + 'scalar --get_set_init' => [ qw(models vc all_employees all_businesses all_partsgroups) ], ); __PACKAGE__->run_before(sub { $::auth->assert('delivery_value_report'); }); @@ -142,13 +141,14 @@ sub prepare_report { sub make_filter_summary { my ($self) = @_; my $vc = $self->vc; - my ($business, $employee); + my ($business, $employee, $partsgroup); my $filter = $::form->{filter} || {}; my @filter_strings; - $business = SL::DB::Business->new(id => $filter->{order}{customer}{"business_id"})->load->description if $filter->{order}{customer}{"business_id"}; - $employee = SL::DB::Employee->new(id => $filter->{order}{employee_id})->load->name if $filter->{order}{employee_id}; + $business = SL::DB::Business->new(id => $filter->{order}{customer}{"business_id"})->load->description if $filter->{order}{customer}{"business_id"}; + $employee = SL::DB::Employee->new(id => $filter->{order}{employee_id})->load->name if $filter->{order}{employee_id}; + $partsgroup = SL::DB::PartsGroup->new(id => $filter->{part}{partsgroup_id})->load->partsgroup if $filter->{part}{partsgroup_id}; my @filters = ( [ $filter->{order}{"ordnumber:substr::ilike"}, $::locale->text('Number') ], @@ -164,6 +164,7 @@ sub make_filter_summary { [ $filter->{order}{customer}{"customernumber:substr::ilike"}, $::locale->text('Customer Number') ], [ $business, $::locale->text('Customer type') ], [ $employee, $::locale->text('Employee') ], + [ $partsgroup, $::locale->text('Partsgroup') ], ); # flags for with_object 'part' @@ -218,6 +219,9 @@ sub init_all_employees { sub init_all_businesses { return SL::DB::Manager::Business->get_all_sorted; } +sub init_all_partsgroups { + return SL::DB::Manager::PartsGroup->get_all_sorted; +} sub link_to { @@ -231,7 +235,11 @@ 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::Part')) { my $id = $object->id; @@ -284,7 +292,7 @@ sub calc_qtys_price { my %oi_by_id = map { $_->id => $_ } @$orderitems; my $query = sprintf <<'', join ', ', ("?")x@all_doi_ids; SELECT DISTINCT doi.id, closed FROM delivery_orders - LEFT JOIN delivery_order_items doi ON (doi.delivery_order_id = delivery_order.id) + LEFT JOIN delivery_order_items doi ON (doi.delivery_order_id = delivery_orders.id) WHERE doi.id IN (%s) my %doi_is_closed = selectall_as_map($::form, SL::DB->client->dbh, $query, (id => 'closed'), @all_doi_ids);