X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FController%2FBankTransaction.pm;h=d154667d5b82fc862bc0520e28b101e9f429fe12;hb=4fef059183b047e18d8fee7b4b75195b83d6ef23;hp=00b4ff65f4e7cd6ee8aded88529714e340145b1d;hpb=0f2a7ae0c71f82f5945aac10100e0d6e866f90a3;p=kivitendo-erp.git diff --git a/SL/Controller/BankTransaction.pm b/SL/Controller/BankTransaction.pm index 00b4ff65f..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); } @@ -511,6 +513,9 @@ sub save_invoices { $count += scalar( @{$invoice_ids} ); } } + foreach (@{ $self->problems }) { + $count-- if $_->{result} eq 'error'; + } return $count; } @@ -596,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, @@ -659,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, @@ -730,7 +736,8 @@ sub save_single_bank_transaction { }; }; - die if $error; + # Rollback Fehler nicht weiterreichen + # die if $error; }); return grep { $_ } ($error, @warnings); @@ -888,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__