X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/614c48e031ff86a158dfea7eeb2bc255d806c972..d2ed673eafba1bbfeeca578dc19cc630523ba0cf:/bin/mozilla/ar.pl diff --git a/bin/mozilla/ar.pl b/bin/mozilla/ar.pl index 19f0058d1..ba70adb1d 100644 --- a/bin/mozilla/ar.pl +++ b/bin/mozilla/ar.pl @@ -41,6 +41,7 @@ use SL::Controller::Base; use SL::FU; use SL::GL; use SL::IS; +use SL::DB::BankTransactionAccTrans; use SL::DB::Business; use SL::DB::Chart; use SL::DB::Currency; @@ -377,9 +378,6 @@ sub form_header { $form->{forex} = $form->check_exchangerate( \%myconfig, $form->{currency}, $form->{transdate}, 'buy'); $form->{exchangerate} = $form->{forex} if $form->{forex}; - # format exchangerate - $form->{exchangerate} = $form->{exchangerate} ? $form->format_amount(\%myconfig, $form->{exchangerate}) : ''; - $rows = max 2, $form->numtextrows($form->{notes}, 50); my @old_project_ids = grep { $_ } map { $form->{"project_id_$_"} } 1..$form->{rowcount}; @@ -389,8 +387,7 @@ sub form_header { "old_id" => \@old_project_ids }, "charts" => { "key" => "ALL_CHARTS", "transdate" => $form->{transdate} }, - "taxcharts" => { "key" => "ALL_TAXCHARTS", - "module" => "AR" },); + ); $form->{ALL_DEPARTMENTS} = SL::DB::Manager::Department->get_all_sorted; @@ -430,14 +427,18 @@ sub form_header { my (%taxchart_labels, @taxchart_values, $default_taxchart, $taxchart_to_use); my $amount_chart_id = $form->{"AR_amount_chart_id_$i"} // $default_ar_amount_chart_id; - foreach my $item ( GL->get_active_taxes_for_chart($amount_chart_id, $transdate) ) { + my $used_tax_id; + if ( $form->{"taxchart_$i"} ) { + ($used_tax_id) = split(/--/, $form->{"taxchart_$i"}); + } + foreach my $item ( GL->get_active_taxes_for_chart($amount_chart_id, $transdate, $used_tax_id) ) { my $key = $item->id . "--" . $item->rate; $first_taxchart //= $item; $default_taxchart = $item if $item->{is_default}; $taxchart_to_use = $item if $key eq $form->{"taxchart_$i"}; push(@taxchart_values, $key); - $taxchart_labels{$key} = $item->taxdescription . " " . $item->rate * 100 . ' %'; + $taxchart_labels{$key} = $item->taxkey . " - " . $item->taxdescription . " " . $item->rate * 100 . ' %'; } $taxchart_to_use //= $default_taxchart // $first_taxchart; @@ -1063,7 +1064,7 @@ sub ar_transactions { %column_defs_cvars, ); - foreach my $name (qw(id transdate duedate invnumber ordnumber cusordnumber name datepaid employee shippingpoint shipvia transaction_description direct_debit)) { + foreach my $name (qw(id transdate duedate invnumber ordnumber cusordnumber name datepaid employee shippingpoint shipvia transaction_description direct_debit department)) { my $sortdir = $form->{sort} eq $name ? 1 - $form->{sortdir} : $form->{sortdir}; $column_defs{$name}->{link} = $href . "&sort=$name&sortdir=$sortdir"; } @@ -1276,6 +1277,13 @@ sub setup_ar_form_header_action_bar { my $has_storno = IS->has_storno(\%::myconfig, $::form, 'ar'); my $may_edit_create = $::auth->assert('ar_transactions', 1); + my $is_linked_bank_transaction; + if ($::form->{id} + && SL::DB::Default->get->payments_changeable != 0 + && SL::DB::Manager::BankTransactionAccTrans->find_by(ar_id => $::form->{id})) { + + $is_linked_bank_transaction = 1; + } for my $bar ($::request->layout->get('actionbar')) { $bar->add( action => [ @@ -1297,14 +1305,16 @@ sub setup_ar_form_header_action_bar { : $is_storno ? t8('A canceled invoice cannot be posted.') : ($::form->{id} && $change_never) ? t8('Changing invoices has been disabled in the configuration.') : ($::form->{id} && $change_on_same_day_only) ? t8('Invoices can only be changed on the day they are posted.') + : $is_linked_bank_transaction ? t8('This transaction is linked with a bank transaction. Please undo and redo the bank transaction booking if needed.') : undef, ], action => [ t8('Post Payment'), submit => [ '#form', { action => "post_payment" } ], - disabled => !$may_edit_create ? t8('You must not change this AR transaction.') - : !$::form->{id} ? t8('This invoice has not been posted yet.') - : undef, + disabled => !$may_edit_create ? t8('You must not change this AR transaction.') + : !$::form->{id} ? t8('This invoice has not been posted yet.') + : $is_linked_bank_transaction ? t8('This transaction is linked with a bank transaction. Please undo and redo the bank transaction booking if needed.') + : undef, ], action => [ t8('Mark as paid'), submit => [ '#form', { action => "mark_as_paid" } ],