Fix #1199 for web interface

This commit is contained in:
James Cole
2018-03-10 09:44:04 +01:00
parent ce10036a27
commit c8ecb3e0ee

View File

@@ -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'));
}
}
}
}
}