X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FController%2FBankTransaction.pm;h=9d432d5561cb4a16f5a5871cfcf87a5238636644;hb=af0847405bd1a45eda7897a8bbfcb5b73a032580;hp=48f35ed04e6b80b86ffbd285d8b28786c9f077af;hpb=a9d9ca02abd3a0ff1e43f23888142266174bec55;p=kivitendo-erp.git diff --git a/SL/Controller/BankTransaction.pm b/SL/Controller/BankTransaction.pm index 48f35ed04..9d432d556 100644 --- a/SL/Controller/BankTransaction.pm +++ b/SL/Controller/BankTransaction.pm @@ -299,14 +299,21 @@ sub action_create_invoice { 'filter.fromdate' => $::form->{filter}->{fromdate}, )); - $self->render( - 'bank_transactions/create_invoice', - { layout => 0 }, - title => t8('Create invoice'), - TEMPLATES_GL => $use_vendor_filter && @{ $templates_ap } ? undef : $templates_gl, - TEMPLATES_AP => $templates_ap, - vendor_name => $use_vendor_filter && @{ $templates_ap } ? $vendor_of_transaction->name : undef, - ); + # if we have exactly one ap match, use this directly + if (1 == scalar @{ $templates_ap }) { + $self->redirect_to($self->load_ap_record_template_url($templates_ap->[0])); + + } else { + my $dialog_html = $self->render( + 'bank_transactions/create_invoice', + { layout => 0, output => 0 }, + title => t8('Create invoice'), + TEMPLATES_GL => $use_vendor_filter && @{ $templates_ap } ? undef : $templates_gl, + TEMPLATES_AP => $templates_ap, + vendor_name => $use_vendor_filter && @{ $templates_ap } ? $vendor_of_transaction->name : undef, + ); + $self->js->run('kivi.BankTransaction.show_create_invoice_dialog', $dialog_html)->render; + } } sub action_ajax_payment_suggestion { @@ -976,6 +983,7 @@ sub load_ap_record_template_url { 'form_defaults.paid_1_suggestion' => $::form->format_amount(\%::myconfig, -1 * $self->transaction->amount, 2), 'form_defaults.AP_paid_1_suggestion' => $self->transaction->local_bank_account->chart->accno, 'form_defaults.callback' => $self->callback, + 'form_defaults.notes' => $self->convert_purpose_for_template($template, $self->transaction->purpose), ); } @@ -991,10 +999,18 @@ sub load_gl_record_template_url { 'form_defaults.callback' => $self->callback, 'form_defaults.bt_id' => $self->transaction->id, 'form_defaults.bt_chart_id' => $self->transaction->local_bank_account->chart->id, - 'form_defaults.description' => $self->transaction->purpose, + 'form_defaults.description' => $self->convert_purpose_for_template($template, $self->transaction->purpose), ); } +sub convert_purpose_for_template { + my ($self, $template, $purpose) = @_; + + # enter custom code here + + return $purpose; +} + sub setup_search_action_bar { my ($self, %params) = @_; @@ -1112,6 +1128,13 @@ GL-records will be deleted completely if a bank transaction was the source. TODO: we still rely on linked_records for the check boxes +=item C + +This method can be used to parse, filter and convert the bank transaction's +purpose string before it will be assigned to the description field of a +gl transaction or to the notes field of an ap transaction. +You have to write your own custom code. + =back =head1 AUTHOR