X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/55e3ae55736fffbff86b07f3d27e382170798177..41ec1a254c67a6bbd3ce97b91fb9521876a2e91b:/SL/Controller/BankTransaction.pm diff --git a/SL/Controller/BankTransaction.pm b/SL/Controller/BankTransaction.pm index e632631ca..d154667d5 100644 --- a/SL/Controller/BankTransaction.pm +++ b/SL/Controller/BankTransaction.pm @@ -48,6 +48,7 @@ sub action_search { my $bank_accounts = SL::DB::Manager::BankAccount->get_all_sorted( query => [ obsolete => 0 ] ); + $self->setup_search_action_bar; $self->render('bank_transactions/search', BANK_ACCOUNTS => $bank_accounts); } @@ -58,6 +59,7 @@ sub action_list_all { $self->make_filter_summary; $self->prepare_report; + $self->setup_list_all_action_bar; $self->report_generator_list_objects(report => $self->{report}, objects => $self->models->get); } @@ -599,7 +601,7 @@ sub save_single_bank_transaction { if ( $payment_sent && any { ( $_->is_sales && ($_->amount > 0)) - || (!$_->is_sales && ($_->amount < 0)) + || (!$_->is_sales && ($_->amount < 0) && ($_->invoice_type eq 'purchase_invoice')) } @{ $data{invoices} }) { return { %data, @@ -662,7 +664,8 @@ sub save_single_bank_transaction { source => $source, memo => $memo, transdate => $bank_transaction->transdate->to_kivitendo); - } elsif ( $invoice->is_sales && $invoice->invoice_type eq 'credit_note' ) { + } elsif (( $invoice->is_sales && $invoice->invoice_type eq 'credit_note' ) || + (!$invoice->is_sales && $invoice->invoice_type eq 'ap_transaction' )) { # no check for overpayment/multiple payments $invoice->pay_invoice(chart_id => $bank_transaction->local_bank_account->chart_id, trans_id => $invoice->id, @@ -892,6 +895,34 @@ sub load_ap_record_template_url { ); } +sub setup_search_action_bar { + my ($self, %params) = @_; + + for my $bar ($::request->layout->get('actionbar')) { + $bar->add( + action => [ + t8('Filter'), + submit => [ '#search_form', { action => 'BankTransaction/list' } ], + accesskey => 'enter', + ], + ); + } +} + +sub setup_list_all_action_bar { + my ($self, %params) = @_; + + for my $bar ($::request->layout->get('actionbar')) { + $bar->add( + action => [ + t8('Filter'), + submit => [ '#filter_form', { action => 'BankTransaction/list_all' } ], + accesskey => 'enter', + ], + ); + } +} + 1; __END__