X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/5fdf8353c8ea2f04a5bfe6e49bb1cb7776ff7186..3d4d1eee53465ad4cc4895944e27b1b056f816e7:/SL/Controller/CustomerVendor.pm diff --git a/SL/Controller/CustomerVendor.pm b/SL/Controller/CustomerVendor.pm index e22677556..79379494a 100644 --- a/SL/Controller/CustomerVendor.pm +++ b/SL/Controller/CustomerVendor.pm @@ -170,14 +170,15 @@ sub _transaction { my $name = $::form->escape($self->{cv}->name, 1); my $db = $self->is_vendor() ? 'vendor' : 'customer'; - my $url = - $script .'?'. - 'action=add&'. - 'vc='. $db .'&'. - $db .'_id=' . $self->{cv}->id .'&'. - $db .'='. $name .'&'. - 'type='. $::form->{type} .'&'. - 'callback='. $callback; + my $url = $self->url_for( + controller => $script, + action => 'add', + vc => $db, + $db .'_id' => $self->{cv}->id, + $db => $name, + type => $::form->{type}, + callback => $callback, + ); print $::form->redirect_header($url); } @@ -680,13 +681,15 @@ sub _create_customer_vendor { sub _pre_render { my ($self) = @_; + $self->{template_args}->{conf_vertreter} = $::instance_conf->get_vertreter(); + my $dbh = $::form->get_standard_dbh(); my $query; $self->{all_business} = SL::DB::Manager::Business->get_all(); - $self->{all_employees} = SL::DB::Manager::Employee->get_all(); + $self->{all_employees} = SL::DB::Manager::Employee->get_all(query => [ deleted => 0 ]); $query = 'SELECT DISTINCT(greeting) @@ -722,9 +725,26 @@ sub _pre_render { $self->{all_taxzones} = SL::DB::Manager::TaxZone->get_all(); - #Employee: - #TODO: ALL_SALESMAN - #TODO: ALL_SALESMAN_CUSTOMERS + if ( $::instance_conf->get_vertreter() ) { + $query = + 'SELECT id + FROM business + WHERE salesman'; + my $business_ids = [ + map( + { $_->{id} } + selectall_hashref_query($::form, $dbh, $query) + ) + ]; + + if ( $business_ids->[0] ) { + $self->{all_salesman_customers} = SL::DB::Manager::Customer->get_all(query => [business_id => $business_ids]); + } else { + $self->{all_salesman_customers} = []; + } + } else { + $self->{all_salesmen} = SL::DB::Manager::Employee->get_all(query => [ or => [ id => $self->{cv}->salesman_id, deleted => 0 ] ]); + } $self->{all_payment_terms} = SL::DB::Manager::PaymentTerm->get_all(); @@ -748,7 +768,7 @@ sub _pre_render { $self->{shiptos} = $self->{cv}->shipto; $self->{shiptos} ||= []; - $self->{template_args} = {}; + $self->{template_args} ||= {}; $::request->{layout}->add_javascripts('autocomplete_customer.js'); }