ARselected => $ARselected,
title_str => $title,
follow_up_trans_info => $follow_up_trans_info,
+ today => DateTime->today,
});
$main::lxdebug->leave_sub();
($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();
}
# 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
$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
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
$form->{ALL_EMPLOYEES} = SL::DB::Manager::Employee->get_all_sorted(query => [ deleted => 0 ]);
$form->{SHOW_BUSINESS_TYPES} = scalar @{ $form->{ALL_BUSINESS_TYPES} } > 0;
+ $form->{CT_CUSTOM_VARIABLES} = CVar->get_configs('module' => 'CT');
+ ($form->{CT_CUSTOM_VARIABLES_FILTER_CODE},
+ $form->{CT_CUSTOM_VARIABLES_INCLUSION_CODE}) = CVar->render_search_options('variables' => $form->{CT_CUSTOM_VARIABLES},
+ 'include_prefix' => 'l_',
+ 'include_value' => 'Y');
+
# constants and subs for template
$form->{vc_keys} = sub { "$_[0]->{name}--$_[0]->{id}" };
@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 };
+ my @ct_searchable_custom_variables = grep { $_->{searchable} } @{ $ct_cvar_configs };
+
+ my %column_defs_cvars = map { +"cvar_$_->{name}" => { 'text' => $_->{description} } } @ct_includeable_custom_variables;
+ 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);
'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";
}
$report->set_sort_indicator($form->{sort}, $form->{sortdir});
+ CVar->add_custom_variables_to_report('module' => 'CT',
+ 'trans_id_field' => 'customer_id',
+ 'configs' => $ct_cvar_configs,
+ 'column_defs' => \%column_defs,
+ 'data' => $form->{AR});
+
my @options;
if ($form->{customer}) {
push @options, $locale->text('Customer') . " : $form->{customer}";
$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) {
# saving the history
if(!exists $form->{addition} && $form->{id} ne "") {
- $form->{snumbers} = "ordnumber_$form->{ordnumber}";
- $form->{addition} = "STORNO";
+ $form->{snumbers} = qq|invnumber_| . $form->{invnumber};
+ $form->{addition} = "STORNO";
+ $form->{what_done} = "invoice";
$form->save_history;
}
# /saving the history