X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FController%2FDeliveryPlan.pm;h=4a458638a8c9f74b2580155b16c69d639f03a9cd;hb=a4c8924a3a105f8b4ba750a5911ed0099f9bb4bc;hp=2332462ac227db6dec0abfe578ec7ce66f63e3f6;hpb=ecb95993cd0a1635dc759e0733cac883be3fdc0c;p=kivitendo-erp.git diff --git a/SL/Controller/DeliveryPlan.pm b/SL/Controller/DeliveryPlan.pm index 2332462ac..4a458638a 100644 --- a/SL/Controller/DeliveryPlan.pm +++ b/SL/Controller/DeliveryPlan.pm @@ -15,8 +15,7 @@ use SL::DBUtils (); use Carp; use Rose::Object::MakeMethods::Generic ( - scalar => [ qw(db_args flat_filter) ], - 'scalar --get_set_init' => [ qw(models all_edit_right vc use_linked_items all_employees all_businesses) ], + 'scalar --get_set_init' => [ qw(models all_edit_right vc use_linked_items all_employees all_businesses all_departments) ], ); __PACKAGE__->run_before(sub { $::auth->assert('delivery_plan'); }); @@ -116,13 +115,14 @@ sub calc_qtys { sub make_filter_summary { my ($self) = @_; my $vc = $self->vc; - my ($business, $employee); + my ($business, $employee, $department); 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}; + $department = SL::DB::Department->new(id => $filter->{order}{department_id})->load->description if $filter->{order}{department_id}; my @filters = ( [ $filter->{order}{"ordnumber:substr::ilike"}, $::locale->text('Number') ], @@ -137,6 +137,7 @@ sub make_filter_summary { [ $filter->{order}{customer}{"name:substr::ilike"}, $::locale->text('Customer') ], [ $filter->{order}{customer}{"customernumber:substr::ilike"}, $::locale->text('Customer Number') ], [ $business, $::locale->text('Customer type') ], + [ $department, $::locale->text('Department') ], [ $employee, $::locale->text('Employee') ], ); @@ -337,7 +338,7 @@ sub init_models { } sub init_all_edit_right { - $::auth->assert('sales_all_edit', 1) + return $_[0]->vc eq 'customer' ? $::auth->assert('sales_all_edit', 1) : $::auth->assert('purchase_all_edit', 1); } sub init_vc { return $::form->{vc} if ($::form->{vc} eq 'customer' || $::form->{vc} eq 'vendor') || croak "self (DeliveryPlan) has no vc defined"; @@ -353,6 +354,9 @@ sub init_all_employees { sub init_all_businesses { return SL::DB::Manager::Business->get_all_sorted; } +sub init_all_departments { + return SL::DB::Manager::Department->get_all_sorted; +} sub link_to { my ($self, $object, %params) = @_; @@ -364,7 +368,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;