X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/0e4da157188830a45e606285bca5d0ea668bbcf5..0d37f1e8:/bin/mozilla/ar.pl diff --git a/bin/mozilla/ar.pl b/bin/mozilla/ar.pl index 6a024a3cf..b1421d6ad 100644 --- a/bin/mozilla/ar.pl +++ b/bin/mozilla/ar.pl @@ -33,6 +33,7 @@ use POSIX qw(strftime); use List::Util qw(sum first max); +use List::UtilsBy qw(sort_by); use SL::AR; use SL::FU; @@ -409,8 +410,8 @@ sub form_header { gldate => $form->{"gldate_$i"}, }; - # default account for current assets (i.e. 1801 - SKR04) if no account is selected - $form->{accno_arap} = IS->get_standard_accno_current_assets(\%myconfig, \%$form); + # default account for current assets (i.e. 1801 - SKR04) if no account is selected + $form->{accno_arap} = IS->get_standard_accno_current_assets(\%myconfig, \%$form); $payment->{selectAR_paid} = NTI($cgi->popup_menu('-name' => "AR_paid_$i", @@ -429,6 +430,12 @@ sub form_header { push @payments, $payment; } + my @empty = grep { $_->{paid} eq '' } @payments; + @payments = ( + (sort_by { DateTime->from_kivitendo($_->{datepaid}) } grep { $_->{paid} ne '' } @payments), + @empty, + ); + $form->{totalpaid} = sum map { $_->{paid} } @payments; $form->header; @@ -442,6 +449,7 @@ sub form_header { ARselected => $ARselected, title_str => $title, follow_up_trans_info => $follow_up_trans_info, + today => DateTime->today, }); $main::lxdebug->leave_sub(); @@ -620,8 +628,15 @@ sub post_payment { ($form->{AR}) = split /--/, $form->{AR}; ($form->{AR_paid}) = split /--/, $form->{AR_paid}; - $form->redirect($locale->text('Payment posted!')) if (AR->post_payment(\%myconfig, \%$form)); - $form->error($locale->text('Cannot post payment!')); + if (AR->post_payment(\%myconfig, \%$form)) { + $form->{snumbers} = qq|invnumber_| . $form->{invnumber}; + $form->{what_done} = 'invoice'; + $form->{addition} = "PAYMENT POSTED"; + $form->save_history; + $form->redirect($locale->text('Payment posted!')) + } else { + $form->error($locale->text('Cannot post payment!')); + }; $main::lxdebug->leave_sub(); } @@ -706,8 +721,9 @@ sub post { # saving the history if(!exists $form->{addition} && $form->{id} ne "") { - $form->{snumbers} = "invnumber_$form->{invnumber}"; - $form->{addition} = "POSTED"; + $form->{snumbers} = "invnumber_$form->{invnumber}"; + $form->{what_done} = "invoice"; + $form->{addition} = "POSTED"; $form->save_history; } # /saving the history @@ -729,8 +745,9 @@ sub post_as_new { $form->{postasnew} = 1; # saving the history if(!exists $form->{addition} && $form->{id} ne "") { - $form->{snumbers} = qq|invnumber_| . $form->{invnumber}; - $form->{addition} = "POSTED AS NEW"; + $form->{snumbers} = qq|invnumber_| . $form->{invnumber}; + $form->{what_done} = "invoice"; + $form->{addition} = "POSTED AS NEW"; $form->save_history; } # /saving the history @@ -807,8 +824,9 @@ sub yes { if (AR->delete_transaction(\%myconfig, \%$form)) { # saving the history if(!exists $form->{addition}) { - $form->{snumbers} = qq|invnumber_| . $form->{invnumber}; - $form->{addition} = "DELETED"; + $form->{snumbers} = qq|invnumber_| . $form->{invnumber}; + $form->{what_done} = "invoice"; + $form->{addition} = "DELETED"; $form->save_history; } # /saving the history @@ -902,7 +920,7 @@ sub ar_transactions { @columns = qw(transdate id type invnumber ordnumber cusordnumber name netamount tax amount paid datepaid due duedate transaction_description notes salesman employee shippingpoint shipvia - marge_total marge_percent globalprojectnumber customernumber country ustid taxzone payment_terms charts customertype); + marge_total marge_percent globalprojectnumber customernumber country ustid taxzone payment_terms charts customertype direct_debit); my $ct_cvar_configs = CVar->get_configs('module' => 'CT'); my @ct_includeable_custom_variables = grep { $_->{includeable} } @{ $ct_cvar_configs }; @@ -912,7 +930,7 @@ sub ar_transactions { push @columns, map { "cvar_$_->{name}" } @ct_includeable_custom_variables; my @hidden_variables = map { "l_${_}" } @columns; - push @hidden_variables, "l_subtotal", qw(open closed customer invnumber ordnumber cusordnumber transaction_description notes project_id transdatefrom transdateto employee_id salesman_id business_id); + push @hidden_variables, "l_subtotal", qw(open closed customer invnumber ordnumber cusordnumber transaction_description notes project_id transdatefrom transdateto duedatefrom duedateto employee_id salesman_id business_id); push @hidden_variables, map { "cvar_$_->{name}" } @ct_searchable_custom_variables; $href = build_std_url('action=ar_transactions', grep { $form->{$_} } @hidden_variables); @@ -948,10 +966,11 @@ sub ar_transactions { 'payment_terms' => { 'text' => $locale->text('Payment Terms'), }, 'charts' => { 'text' => $locale->text('Buchungskonto'), }, 'customertype' => { 'text' => $locale->text('Customer type'), }, + 'direct_debit' => { 'text' => $locale->text('direct debit'), }, %column_defs_cvars, ); - foreach my $name (qw(id transdate duedate invnumber ordnumber cusordnumber name datepaid employee shippingpoint shipvia transaction_description)) { + foreach my $name (qw(id transdate duedate invnumber ordnumber cusordnumber name datepaid employee shippingpoint shipvia transaction_description direct_debit)) { my $sortdir = $form->{sort} eq $name ? 1 - $form->{sortdir} : $form->{sortdir}; $column_defs{$name}->{link} = $href . "&sort=$name&sortdir=$sortdir"; } @@ -1068,6 +1087,8 @@ sub ar_transactions { $ar->{invoice} ? $locale->text("Invoice (one letter abbreviation)") : $locale->text("AR Transaction (abbreviation)"); + $ar->{direct_debit} = $ar->{direct_debit} ? $::locale->text('yes') : $::locale->text('no'); + my $row = { }; foreach my $column (@columns) { @@ -1120,8 +1141,9 @@ sub storno { # saving the history if(!exists $form->{addition} && $form->{id} ne "") { - $form->{snumbers} = qq|invnumber_| . $form->{invnumber}; - $form->{addition} = "STORNO"; + $form->{snumbers} = qq|invnumber_| . $form->{invnumber}; + $form->{addition} = "STORNO"; + $form->{what_done} = "invoice"; $form->save_history; } # /saving the history