X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FController%2FCustomerVendor.pm;h=2d373c1d059eff25a49608569500f70b97c0dc74;hb=b058e195e82aa1f6b7614b8f83be6122ec3d3dca;hp=98b668e3ec7951b1c4477b8295f6b427880d9c7c;hpb=cf7153b003703765e4ca7f634952e18a6bcc89cb;p=kivitendo-erp.git diff --git a/SL/Controller/CustomerVendor.pm b/SL/Controller/CustomerVendor.pm index 98b668e3e..2d373c1d0 100644 --- a/SL/Controller/CustomerVendor.pm +++ b/SL/Controller/CustomerVendor.pm @@ -10,6 +10,8 @@ use SL::DBUtils; use SL::Helper::Flash; use SL::Locale::String; use SL::Controller::Helper::GetModels; +use SL::Controller::Helper::ReportGenerator; +use SL::Controller::Helper::ParseFilter; use SL::DB::Customer; use SL::DB::Vendor; @@ -25,6 +27,11 @@ use SL::DB::FollowUp; 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; use Rose::Object::MakeMethods::Generic ( 'scalar --get_set_init' => [ qw(customer_models vendor_models) ], @@ -272,10 +279,16 @@ sub _transaction { my $name = $::form->escape($self->{cv}->name, 1); my $db = $self->is_vendor() ? 'vendor' : 'customer'; + my $action = 'add'; + + if ($::instance_conf->get_feature_experimental && 'oe.pl' eq $script) { + $script = 'controller.pl'; + $action = 'Order/' . $action; + } my $url = $self->url_for( controller => $script, - action => 'add', + action => $action, vc => $db, $db .'_id' => $self->{cv}->id, $db => $name, @@ -460,7 +473,6 @@ sub action_search_contact { print $::form->redirect_header($url); } - sub action_get_delivery { my ($self) = @_; @@ -640,7 +652,6 @@ sub action_ajaj_autocomplete { } sub action_test_page { - $::request->{layout}->add_javascripts('autocomplete_customer.js'); $_[0]->render('customer_vendor/test_page'); } @@ -937,11 +948,42 @@ sub _pre_render { with_objects => ['follow_up'], ); + 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('autocomplete_customer.js'); $::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; } @@ -954,12 +996,13 @@ sub _setup_form_action_bar { combobox => [ action => [ t8('Save'), - submit => [ '#form', { action_save => 1 } ], - checks => [ 'check_taxzone_and_ustid' ], + submit => [ '#form', { action => "CustomerVendor/save" } ], + checks => [ 'check_taxzone_and_ustid' ], + accesskey => 'enter', ], action => [ t8('Save and Close'), - submit => [ '#form', { action_save_and_close => 1 } ], + submit => [ '#form', { action => "CustomerVendor/save_and_close" } ], checks => [ 'check_taxzone_and_ustid' ], ], ], # end of combobox "Save" @@ -968,39 +1011,39 @@ sub _setup_form_action_bar { action => [ t8('Workflow') ], (action => [ t8('Save and AP Transaction'), - submit => [ '#form', { action_save_and_ap_transaction => 1 } ], + submit => [ '#form', { action => "CustomerVendor/save_and_ap_transaction" } ], checks => [ 'check_taxzone_and_ustid' ], ]) x !!$self->is_vendor, (action => [ t8('Save and AR Transaction'), - submit => [ '#form', { action_save_and_ar_transaction => 1 } ], + submit => [ '#form', { action => "CustomerVendor/save_and_ar_transaction" } ], checks => [ 'check_taxzone_and_ustid' ], ]) x !$self->is_vendor, action => [ t8('Save and Invoice'), - submit => [ '#form', { action_save_and_invoice => 1 } ], + submit => [ '#form', { action => "CustomerVendor/save_and_invoice" } ], checks => [ 'check_taxzone_and_ustid' ], ], action => [ t8('Save and Order'), - submit => [ '#form', { action_save_and_order => 1 } ], + submit => [ '#form', { action => "CustomerVendor/save_and_order" } ], checks => [ 'check_taxzone_and_ustid' ], ], (action => [ t8('Save and RFQ'), - submit => [ '#form', { action_save_and_rfq => 1 } ], + submit => [ '#form', { action => "CustomerVendor/save_and_rfq" } ], checks => [ 'check_taxzone_and_ustid' ], ]) x !!$self->is_vendor, (action => [ t8('Save and Quotation'), - submit => [ '#form', { action_save_and_quotation => 1 } ], + submit => [ '#form', { action => "CustomerVendor/save_and_quotation" } ], checks => [ 'check_taxzone_and_ustid' ], ]) x !$self->is_vendor, ], # end of combobox "Workflow" action => [ t8('Delete'), - submit => [ '#form', { action_delete => 1 } ], + submit => [ '#form', { action => "CustomerVendor/delete" } ], confirm => t8('Do you really want to delete this object?'), disabled => !$self->{cv}->id ? t8('This object has not been saved yet.') : !$self->is_orphaned ? t8('This object has already been used.')