]> wagnertech.de Git - kivitendo-erp.git/blobdiff - SL/Controller/BankTransaction.pm
BankTransaction vendor_of_transaction wurde nie in filter_drafts benutzt
[kivitendo-erp.git] / SL / Controller / BankTransaction.pm
index c36d93079ed9148ad463fbb7dbaa99517b25c431..9ea3f22bac3a9daa6a442796fd64f955a916624c 100644 (file)
@@ -127,13 +127,13 @@ sub action_list {
     $open_invoice->{skonto_type} = 'without_skonto';
     foreach ( @{$all_open_sepa_export_items}) {
       if ( $_->ap_id == $open_invoice->id ||  $_->ar_id == $open_invoice->id ) {
-        my $factor = ($_->ar_id == $open_invoice->id?1:-1);
+        my $factor                   = ($_->ar_id == $open_invoice->id ? 1 : -1);
         #$main::lxdebug->message(LXDebug->DEBUG2(),"sepa_exitem=".$_->id." for invoice ".$open_invoice->id." factor=".$factor);
         $open_invoice->{realamount}  = $::form->format_amount(\%::myconfig,$open_invoice->amount*$factor,2);
-        push @{$open_invoice->{sepa_export_item}} , $_ ;
+        push @{$open_invoice->{sepa_export_item}}, $_;
         $open_invoice->{skonto_type} = $_->payment_type;
         $sepa_exports{$_->sepa_export_id} ||= { count => 0, is_ar => 0, amount => 0, proposed => 0, invoices => [], item => $_ };
-        $sepa_exports{$_->sepa_export_id}->{count}++ ;
+        $sepa_exports{$_->sepa_export_id}->{count}++;
         $sepa_exports{$_->sepa_export_id}->{is_ar}++ if  $_->ar_id == $open_invoice->id;
         $sepa_exports{$_->sepa_export_id}->{amount} += $_->amount * $factor;
         push @{ $sepa_exports{$_->sepa_export_id}->{invoices} }, $open_invoice;
@@ -254,7 +254,13 @@ 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});
+  # This was dead code: We compared vendor.account_name with bank_transaction.iban.
+  # This did never match (Kontonummer != IBAN). It's kivis 09/02 (2013) day
+  # If refactored/improved, also consider that vendor.iban should be normalized
+  # user may like to input strings like: 'AT 3333 3333 2222 1111' -> can be checked strictly
+  # at Vendor code because we need the correct data for all sepa exports.
+
+  my $vendor_of_transaction = SL::DB::Manager::Vendor->find_by(iban => $self->transaction->{remote_account_number});
   my $use_vendor_filter     = $self->transaction->{remote_account_number} && $vendor_of_transaction;
 
   my $templates             = SL::DB::Manager::RecordTemplate->get_all(
@@ -277,7 +283,6 @@ sub action_create_invoice {
     { layout => 0 },
     title       => t8('Create invoice'),
     TEMPLATES   => $templates,
-    vendor_id   => $use_vendor_filter ? $vendor_of_transaction->id   : undef,
     vendor_name => $use_vendor_filter ? $vendor_of_transaction->name : undef,
   );
 }
@@ -312,10 +317,8 @@ sub action_filter_templates {
   my ($self) = @_;
 
   $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 @filter;
-  push @filter, ('vendor.id'   => $::form->{vendor_id})                       if $::form->{vendor_id};
   push @filter, ('vendor.name' => { ilike => '%' . $::form->{vendor} . '%' }) if $::form->{vendor};
 
   my $templates = SL::DB::Manager::RecordTemplate->get_all(