]> wagnertech.de Git - kivitendo-erp.git/blobdiff - SL/Controller/BankTransaction.pm
BankTransaction: weniger im Controller rechnen -> ausgelagert in Objekt
[kivitendo-erp.git] / SL / Controller / BankTransaction.pm
index 2ec9563c228ba1d932a3bd6cc931a8d0703197d0..7c94f3c0dfc5c2afe0bd38189331de744afa3a81 100644 (file)
@@ -563,13 +563,10 @@ sub save_single_bank_transaction {
   my $worker = sub {
     my $bt_id                 = $data{bank_transaction_id};
     my $sign                  = $bank_transaction->amount < 0 ? -1 : 1;
-    my $amount_of_transaction = $sign * $bank_transaction->amount;
-    my $assigned_amount       = $sign * $bank_transaction->invoice_amount;
-    my $not_assigned_amount   = $amount_of_transaction - $assigned_amount;
+    my $not_assigned_amount   = $bank_transaction->not_assigned_amount;
     my $payment_received      = $bank_transaction->amount > 0;
     my $payment_sent          = $bank_transaction->amount < 0;
 
-    croak("No amount left to assign") if ($not_assigned_amount <= 0);
 
     foreach my $invoice_id (@{ $params{invoice_ids} }) {
       my $invoice = SL::DB::Manager::Invoice->find_by(id => $invoice_id) || SL::DB::Manager::PurchaseInvoice->find_by(id => $invoice_id);
@@ -615,7 +612,7 @@ sub save_single_bank_transaction {
       $n_invoices++ ;
 
 
-      if (!$amount_of_transaction && $invoice->open_amount) {
+      if (!$not_assigned_amount && $invoice->open_amount) {
         return {
           %data,
           result  => 'error',
@@ -860,7 +857,7 @@ sub load_gl_record_template_url {
     controller                           => 'gl.pl',
     action                               => 'load_record_template',
     id                                   => $template->id,
-    'form_defaults.amount_1'             => abs($self->transaction->amount), # always positive
+    'form_defaults.amount_1'             => abs($self->transaction->not_assigned_amount), # always positive
     'form_defaults.transdate'            => $self->transaction->transdate_as_date,
     'form_defaults.callback'             => $self->callback,
     'form_defaults.bt_id'                => $self->transaction->id,