X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/8e99e751c3617f03dbbca3210b1bf127aceabb40..0b26e5752e295:/SL/Controller/CustomerVendorTurnover.pm diff --git a/SL/Controller/CustomerVendorTurnover.pm b/SL/Controller/CustomerVendorTurnover.pm index e705a0868..f81d0a2f2 100644 --- a/SL/Controller/CustomerVendorTurnover.pm +++ b/SL/Controller/CustomerVendorTurnover.pm @@ -5,9 +5,10 @@ use SL::DBUtils; use SL::DB::AccTransaction; use SL::DB::Invoice; use SL::DB::Order; +use SL::DB::EmailJournal; +use SL::DB::Letter; use SL::DB; -__PACKAGE__->run_before('check_auth'); sub action_list_turnover { my ($self) = @_; @@ -75,6 +76,7 @@ sub action_count_open_items_by_year { $self->{dun_statistic} = selectall_hashref_query($::form, $dbh, $query); $self->render('customer_vendor_turnover/count_open_items_by_year', { layout => 0 }); } + sub action_count_open_items_by_month { my ($self) = @_; @@ -99,6 +101,7 @@ sub action_count_open_items_by_month { $self->{dun_statistic} = selectall_hashref_query($::form, $dbh, $query); $self->render('customer_vendor_turnover/count_open_items_by_year', { layout => 0 }); } + sub action_turnover_by_month { my ($self) = @_; @@ -128,6 +131,7 @@ SQL $self->{turnover_statistic} = selectall_hashref_query($::form, $dbh, $query); $self->render('customer_vendor_turnover/count_turnover', { layout => 0 }); } + sub action_turnover_by_year { my ($self) = @_; @@ -233,11 +237,240 @@ sub _get_open_orders { return $self->render('customer_vendor_turnover/_list_open_orders', { output => 0 }, orders => $open_orders, title => $::locale->text('Open Orders') ); } -sub _list_articles_by_invoice { -} -sub _list_count_articles_by_year { +sub action_get_mails { + my ( $self ) = @_; + + my $dbh = SL::DB->client->dbh; + my $query; + my $cv = $::form->{id}; + + if ( $::form->{db} eq 'customer') { + $query = <render('customer_vendor_turnover/email_statistic', { layout => 0 }, emails => $emails); } -sub check_auth { - $::auth->assert('general_ledger'); + +sub action_get_letters { + my ($self) = @_; + + return $self->render('generic/error', { layout => 0 }, label_error => "list_transactions needs a trans_id") unless $::form->{id}; + + my $cv = $::form->{id} || {}; + my $letters; + my $type = $::form->{type}; + if ( $::form->{db} eq 'customer' ) { + $letters = SL::DB::Manager::Letter->get_all( + query => [ customer_id => $cv, ], + sort_by => 'date DESC', + ); + } else { + $letters = SL::DB::Manager::Letter->get_all( + query => [ vendor_id => $cv, ], + sort_by => 'date DESC', + ); + } + $self->render('customer_vendor_turnover/letter_statistic', { layout => 0 }, letters => $letters); } + 1; + +__END__ + +=encoding utf-8 + +=head1 NAME + +SL::Controller::CustomerVendorTurnover + +=head1 DESCRIPTION + +Gets all kinds of records like orders, request orders, quotations, invoices, emails, letters + +wich belong to customer/vendor and displays them in an extra tab "Records". + +=back + +=head1 URL ACTIONS + +=over 4 + +=item C + +Basic action wich displays open invoices and open orders if there are any and shows the tab menu for the other actions + +=item C + +gets and shows a dunning statistic of the customer by month + +=item C + +gets and shows a dunning statistic of the customer by year + +=item C + +gets and shows an invoice statistic of customer/vendor by month + +=item C + +gets and shows an invoice statistic of customer/vendor by year + +=item C + +get and shows all invoices from the customer/vendor in an extra tab + +=item C + +get and shows all orders from the customer/vendor in an extra tab + +=item C + +get and shows all letters from the customer/vendor in an extra tab + +=item C + +get and shows all mails from the customer/vendor in an extra tab + +=back + +=head1 Functions + +=over 4 + +=item C<_get_open_orders> + +retrieves the open orders for customer/vendor to display them + +=item C<_list_open_items> + +retrieves open invoices with their dunnings to display them + +=back + +=head1 BUGS + +None yet. :) + +=head1 AUTHOR + +W. Hahn Ewh@futureworldsearch.netE + +=back