X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/98a59d3e5f8bcb062e1a442f4cb1fbb5d0cca793..c457ce5e4ddb2267c9a7924fcdc754df4516a8e4:/SL/Controller/BankTransaction.pm diff --git a/SL/Controller/BankTransaction.pm b/SL/Controller/BankTransaction.pm index d83039f39..5821d3eb8 100644 --- a/SL/Controller/BankTransaction.pm +++ b/SL/Controller/BankTransaction.pm @@ -178,6 +178,8 @@ sub action_create_invoice { $self->{transaction} = SL::DB::Manager::BankTransaction->find_by(id => $::form->{bt_id}); my $vendor_of_transaction = SL::DB::Manager::Vendor->find_by(account_number => $self->{transaction}->{remote_account_number}); + my $use_vendor_filter = $self->{transaction}->{remote_account_number} && $vendor_of_transaction; + my $drafts = SL::DB::Manager::Draft->get_all(where => [ module => 'ap'] , with_objects => 'employee'); my @filtered_drafts; @@ -191,15 +193,15 @@ sub action_create_invoice { } #Filter drafts - @filtered_drafts = grep { $_->{vendor_id} == $vendor_of_transaction->id } @filtered_drafts if $vendor_of_transaction; + @filtered_drafts = grep { $_->{vendor_id} == $vendor_of_transaction->id } @filtered_drafts if $use_vendor_filter; my $all_vendors = SL::DB::Manager::Vendor->get_all(); $self->render('bank_transactions/create_invoice', { layout => 0 }, title => t8('Create invoice'), DRAFTS => \@filtered_drafts, - vendor_id => $vendor_of_transaction ? $vendor_of_transaction->id : undef, - vendor_name => $vendor_of_transaction ? $vendor_of_transaction->name : undef, + vendor_id => $use_vendor_filter ? $vendor_of_transaction->id : undef, + vendor_name => $use_vendor_filter ? $vendor_of_transaction->name : undef, ALL_VENDORS => $all_vendors, limit => $myconfig{vclimit}, callback => $self->url_for(action => 'list', @@ -250,6 +252,7 @@ sub action_filter_drafts { foreach my $draft ( @{ $drafts } ) { my $draft_as_object = YAML::Load($draft->form); + next unless $draft_as_object->{vendor_id}; # we cannot filter for vendor name, if this is a gl draft my $vendor = SL::DB::Manager::Vendor->find_by(id => $draft_as_object->{vendor_id}); $draft->{vendor} = $vendor->name; $draft->{vendor_id} = $vendor->id;