FIx issue with rule action

This commit is contained in:
Sander Dorigo
2022-06-25 14:36:53 +02:00
parent 03637a080c
commit cea8c4c217
3 changed files with 22 additions and 0 deletions

View File

@@ -28,6 +28,7 @@ use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Factory\AccountFactory;
use FireflyIII\Models\AccountType;
use FireflyIII\Models\RuleAction;
use FireflyIII\Models\TransactionJournal;
use FireflyIII\Models\TransactionType;
use FireflyIII\User;
use Log;
@@ -56,6 +57,12 @@ class ConvertToDeposit implements ActionInterface
*/
public function actOnArray(array $journal): bool
{
$groupCount = TransactionJournal::where('transaction_group_id', $journal['transaction_group_id'])->count();
if($groupCount > 1) {
Log::error(sprintf('Group #%d has more than one transaction in it, cannot convert to deposit.', $journal['transaction_group_id']));
return false;
}
Log::debug(sprintf('Convert journal #%d to deposit.', $journal['transaction_journal_id']));
$type = $journal['transaction_type_type'];
if (TransactionType::DEPOSIT === $type) {

View File

@@ -27,6 +27,7 @@ use DB;
use FireflyIII\Models\Account;
use FireflyIII\Models\AccountType;
use FireflyIII\Models\RuleAction;
use FireflyIII\Models\TransactionJournal;
use FireflyIII\Models\TransactionType;
use FireflyIII\Repositories\Account\AccountRepositoryInterface;
use FireflyIII\User;
@@ -55,6 +56,13 @@ class ConvertToTransfer implements ActionInterface
*/
public function actOnArray(array $journal): bool
{
$groupCount = TransactionJournal::where('transaction_group_id', $journal['transaction_group_id'])->count();
if($groupCount > 1) {
Log::error(sprintf('Group #%d has more than one transaction in it, cannot convert to transfer.', $journal['transaction_group_id']));
return false;
}
$type = $journal['transaction_type_type'];
$user = User::find($journal['user_id']);
if (TransactionType::TRANSFER === $type) {

View File

@@ -28,6 +28,7 @@ use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Factory\AccountFactory;
use FireflyIII\Models\AccountType;
use FireflyIII\Models\RuleAction;
use FireflyIII\Models\TransactionJournal;
use FireflyIII\Models\TransactionType;
use FireflyIII\User;
use Log;
@@ -55,6 +56,12 @@ class ConvertToWithdrawal implements ActionInterface
*/
public function actOnArray(array $journal): bool
{
$groupCount = TransactionJournal::where('transaction_group_id', $journal['transaction_group_id'])->count();
if($groupCount > 1) {
Log::error(sprintf('Group #%d has more than one transaction in it, cannot convert to withdrawal.', $journal['transaction_group_id']));
return false;
}
$type = $journal['transaction_type_type'];
if (TransactionType::WITHDRAWAL === $type) {
Log::error(sprintf('Journal #%d is already a withdrawal (rule #%d).', $journal['transaction_journal_id'], $this->action->rule_id));