Refactor validation method.

This commit is contained in:
James Cole
2020-03-21 05:56:27 +01:00
parent affc198b03
commit 11e3834235
4 changed files with 93 additions and 24 deletions

View File

@@ -381,7 +381,7 @@ trait TransactionValidation
*
* @return array
*/
private function getTransactionsArray(Validator $validator): array
protected function getTransactionsArray(Validator $validator): array
{
$data = $validator->getData();
$transactions = $data['transactions'] ?? [];
@@ -524,26 +524,4 @@ trait TransactionValidation
break;
}
}
/**
* @param Validator $validator
* @param TransactionGroup $transactionGroup
*/
private function validateJournalIds(Validator $validator, TransactionGroup $transactionGroup): void
{
Log::debug('Now in validateJournalIds()');
$transactions = $this->getTransactionsArray($validator);
if (count($transactions) < 2) {
return;
}
foreach ($transactions as $index => $transaction) {
$journalId = $transaction['transaction_journal_id'] ?? null;
$journalId = null === $journalId ? null : (int)$journalId;
$count = $transactionGroup->transactionJournals()->where('id', $journalId)->count();
if (null === $journalId || (null !== $journalId && 0 !== $journalId && 0 === $count)) {
$validator->errors()->add(sprintf('transactions.%d.source_name', $index), (string)trans('validation.need_id_in_edit'));
}
}
}
}