mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-10-17 01:42:19 +00:00
Fix #1199 for web interface
This commit is contained in:
@@ -22,6 +22,8 @@ declare(strict_types=1);
|
||||
|
||||
namespace FireflyIII\Http\Requests;
|
||||
|
||||
use Illuminate\Validation\Validator;
|
||||
|
||||
/**
|
||||
* Class SplitJournalFormRequest.
|
||||
*/
|
||||
@@ -127,4 +129,39 @@ class SplitJournalFormRequest extends Request
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Configure the validator instance.
|
||||
*
|
||||
* @param Validator $validator
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function withValidator(Validator $validator): void
|
||||
{
|
||||
$validator->after(
|
||||
function (Validator $validator) {
|
||||
$this->sameAccounts($validator);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
protected function sameAccounts(Validator $validator): void
|
||||
{
|
||||
$data = $this->getAll();
|
||||
$transactions = $data['transactions'] ?? [];
|
||||
/** @var array $array */
|
||||
foreach ($transactions as $array) {
|
||||
if ($array['destination_id'] !== null && $array['source_id'] !== null) {
|
||||
if ($array['destination_id'] === $array['source_id']) {
|
||||
$validator->errors()->add('journal_source_account_id', trans('validation.source_equals_destination'));
|
||||
$validator->errors()->add('journal_destination_account_id', trans('validation.source_equals_destination'));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user