1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-11-05 18:52:44 +01:00

Working on credit payments

This commit is contained in:
David Bomba 2020-07-22 21:35:44 +10:00
parent 62f084b2aa
commit 059f1a3fea
2 changed files with 21 additions and 1 deletions

View File

@ -83,6 +83,24 @@ class ValidCreditsRules implements Rule
return false;
}
if(count($this->input['credits']) >=1){
$total_payments = $this->input['amount'] + array_sum(array_column($this->input['credits'], 'amount'));
info(print_r($this->input,1));
info("total payments = {$total_payments}");
info("total credits available = " . array_sum(array_column($this->input['credits'], 'amount')));
info("total invoices payable = " . array_sum(array_column($this->input['invoices'], 'amount')));
if($total_payments > array_sum(array_column($this->input['invoices'], 'amount'))){
$this->error_msg = "Sum of total payments and credits is greater than the total of invoices";
return false;
}
}
return true;
}

View File

@ -82,13 +82,15 @@ class PaymentRepository extends BaseRepository
$data['amount'] = array_sum(array_column($data['invoices'], 'amount'));
$client = Client::find($data['client_id']);
info("updating client balance from {$client->balance} by this much ".$data['amount']);
//info("updating client balance from {$client->balance} by this much ".$data['amount']);
$client->service()->updatePaidToDate($data['amount'])->save();
}
}
//info(print_r($data,1));
/*Fill the payment*/
$payment->fill($data);
$payment->status_id = Payment::STATUS_COMPLETED;