X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;ds=sidebyside;f=SL%2FController%2FCustomerVendor.pm;h=c8fd5fd9c2e482a50cf8dfab94a961637bde6328;hb=55a74ec99d06cf44900f4b9dfba86a8525ed48b9;hp=373f713607ab1766e5d3e58ce18ea97991f06830;hpb=9508e215c78bc172721e14d41d21858abb23672e;p=kivitendo-erp.git diff --git a/SL/Controller/CustomerVendor.pm b/SL/Controller/CustomerVendor.pm index 373f71360..c8fd5fd9c 100644 --- a/SL/Controller/CustomerVendor.pm +++ b/SL/Controller/CustomerVendor.pm @@ -28,6 +28,8 @@ use SL::DB::FollowUpLink; use SL::DB::History; use SL::DB::Currency; use SL::DB::Invoice; +use SL::DB::PurchaseInvoice; +use SL::DB::Order; use Data::Dumper; @@ -39,7 +41,8 @@ use Rose::Object::MakeMethods::Generic ( __PACKAGE__->run_before( sub { $::auth->assert('customer_vendor_edit'); - } + }, + except => [ qw(ajaj_autocomplete) ], ); __PACKAGE__->run_before( '_instantiate_args', @@ -279,7 +282,7 @@ sub _transaction { my $db = $self->is_vendor() ? 'vendor' : 'customer'; my $action = 'add'; - if ($::instance_conf->get_feature_experimental && 'oe.pl' eq $script) { + if ($::instance_conf->get_feature_experimental_order && 'oe.pl' eq $script) { $script = 'controller.pl'; $action = 'Order/' . $action; } @@ -583,13 +586,17 @@ sub action_ajaj_get_contact { } qw( id gender abteilung title position givenname name email phone1 phone2 fax mobile1 mobile2 - satphone satfax project street zipcode city privatphone privatemail birthday + satphone satfax project street zipcode city privatphone privatemail birthday main ) ) }; $data->{contact_cvars} = $self->_prepare_cvar_configs_for_ajaj($self->{contact}->cvars_by_config); + # avoid two or more main_cp + my $has_main_cp = grep { $_->cp_main == 1 } @{ $self->{cv}->contacts }; + $data->{contact}->{disable_cp_main} = 1 if ($has_main_cp && !$data->{contact}->{cp_main}); + $self->render(\SL::JSON::to_json($data), { type => 'json', process => 0 }); } @@ -945,18 +952,43 @@ sub _pre_render { ], with_objects => ['follow_up'], ); - - $self->{open_items} = SL::DB::Manager::Invoice->get_all_count( - query => [ - customer_id => $self->{cv}->id, - paid => {lt_sql => 'amount'}, - ], - ); - + + if ( $self->is_vendor()) { + $self->{open_items} = SL::DB::Manager::PurchaseInvoice->get_all_count( + query => [ + vendor_id => $self->{cv}->id, + paid => {lt_sql => 'amount'}, + ], + ); + } else { + $self->{open_items} = SL::DB::Manager::Invoice->get_all_count( + query => [ + customer_id => $self->{cv}->id, + paid => {lt_sql => 'amount'}, + ], + ); + } + + if ( $self->is_vendor() ) { + $self->{open_orders} = SL::DB::Manager::Order->get_all_count( + query => [ + vendor_id => $self->{cv}->id, + closed => 'F', + ], + ); + } else { + $self->{open_orders} = SL::DB::Manager::Order->get_all_count( + query => [ + customer_id => $self->{cv}->id, + closed => 'F', + ], + ); + } $self->{template_args} ||= {}; $::request->{layout}->add_javascripts('kivi.CustomerVendor.js'); $::request->{layout}->add_javascripts('kivi.File.js'); + $::request->{layout}->add_javascripts('kivi.CustomerVendorTurnover.js'); $self->_setup_form_action_bar; }