mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-02-25 18:45:27 -06:00
This commit is contained in:
parent
ca38117fca
commit
a20622ac0c
@ -1,32 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
declare(strict_types=1);
|
|
||||||
|
|
||||||
namespace FireflyIII\Console\Commands\Correction;
|
|
||||||
|
|
||||||
use FireflyIII\Console\Commands\ShowsFriendlyMessages;
|
|
||||||
use FireflyIII\Support\Models\AccountBalanceCalculator;
|
|
||||||
use Illuminate\Console\Command;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Class CorrectionSkeleton
|
|
||||||
*/
|
|
||||||
class CorrectAccountBalance extends Command
|
|
||||||
{
|
|
||||||
use ShowsFriendlyMessages;
|
|
||||||
protected $description = 'Recalculate all account balance amounts';
|
|
||||||
|
|
||||||
protected $signature = 'firefly-iii:correct-account-balance';
|
|
||||||
|
|
||||||
public function handle(): int
|
|
||||||
{
|
|
||||||
$this->correctBalanceAmounts();
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
private function correctBalanceAmounts(): void
|
|
||||||
{
|
|
||||||
AccountBalanceCalculator::recalculateAll();
|
|
||||||
}
|
|
||||||
}
|
|
@ -74,7 +74,6 @@ class CorrectDatabase extends Command
|
|||||||
'firefly-iii:unify-group-accounts',
|
'firefly-iii:unify-group-accounts',
|
||||||
'firefly-iii:trigger-credit-recalculation',
|
'firefly-iii:trigger-credit-recalculation',
|
||||||
'firefly-iii:migrate-preferences',
|
'firefly-iii:migrate-preferences',
|
||||||
'firefly-iii:correct-account-balance',
|
|
||||||
];
|
];
|
||||||
foreach ($commands as $command) {
|
foreach ($commands as $command) {
|
||||||
$this->friendlyLine(sprintf('Now executing command "%s"', $command));
|
$this->friendlyLine(sprintf('Now executing command "%s"', $command));
|
||||||
|
69
app/Console/Commands/Upgrade/CorrectAccountBalance.php
Normal file
69
app/Console/Commands/Upgrade/CorrectAccountBalance.php
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
<?php
|
||||||
|
/*
|
||||||
|
* CorrectAccountBalance.php
|
||||||
|
* Copyright (c) 2024 james@firefly-iii.org.
|
||||||
|
*
|
||||||
|
* This file is part of Firefly III (https://github.com/firefly-iii).
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU Affero General Public License as
|
||||||
|
* published by the Free Software Foundation, either version 3 of the
|
||||||
|
* License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU Affero General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Affero General Public License
|
||||||
|
* along with this program. If not, see https://www.gnu.org/licenses/.
|
||||||
|
*/
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace FireflyIII\Console\Commands\Upgrade;
|
||||||
|
|
||||||
|
use FireflyIII\Console\Commands\ShowsFriendlyMessages;
|
||||||
|
use FireflyIII\Support\Models\AccountBalanceCalculator;
|
||||||
|
use Illuminate\Console\Command;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class CorrectionSkeleton
|
||||||
|
*/
|
||||||
|
class CorrectAccountBalance extends Command
|
||||||
|
{
|
||||||
|
use ShowsFriendlyMessages;
|
||||||
|
public const string CONFIG_NAME = '620_correct_balances';
|
||||||
|
protected $description = 'Recalculate all account balance amounts';
|
||||||
|
|
||||||
|
protected $signature = 'firefly-iii:correct-account-balance {--F|force : Force the execution of this command.}';
|
||||||
|
|
||||||
|
public function handle(): int
|
||||||
|
{
|
||||||
|
if ($this->isExecuted() && true !== $this->option('force')) {
|
||||||
|
$this->friendlyInfo('This command has already been executed.');
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
$this->correctBalanceAmounts();
|
||||||
|
$this->markAsExecuted();
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
private function correctBalanceAmounts(): void
|
||||||
|
{
|
||||||
|
AccountBalanceCalculator::recalculateAll();
|
||||||
|
}
|
||||||
|
private function isExecuted(): bool
|
||||||
|
{
|
||||||
|
$configVar = app('fireflyconfig')->get(self::CONFIG_NAME, false);
|
||||||
|
|
||||||
|
return (bool)$configVar?->data;
|
||||||
|
}
|
||||||
|
|
||||||
|
private function markAsExecuted(): void
|
||||||
|
{
|
||||||
|
app('fireflyconfig')->set(self::CONFIG_NAME, true);
|
||||||
|
}
|
||||||
|
}
|
@ -65,6 +65,7 @@ class UpgradeDatabase extends Command
|
|||||||
'firefly-iii:budget-limit-periods',
|
'firefly-iii:budget-limit-periods',
|
||||||
'firefly-iii:migrate-rule-actions',
|
'firefly-iii:migrate-rule-actions',
|
||||||
'firefly-iii:restore-oauth-keys',
|
'firefly-iii:restore-oauth-keys',
|
||||||
|
'firefly-iii:correct-account-balance',
|
||||||
// also just in case, some integrity commands:
|
// also just in case, some integrity commands:
|
||||||
'firefly-iii:create-group-memberships',
|
'firefly-iii:create-group-memberships',
|
||||||
'firefly-iii:upgrade-group-information',
|
'firefly-iii:upgrade-group-information',
|
||||||
|
@ -93,7 +93,6 @@ class DebugController extends Controller
|
|||||||
Artisan::call('view:clear');
|
Artisan::call('view:clear');
|
||||||
|
|
||||||
// also do some recalculations.
|
// also do some recalculations.
|
||||||
Artisan::call('firefly-iii:correct-account-balance');
|
|
||||||
Artisan::call('firefly-iii:trigger-credit-recalculation');
|
Artisan::call('firefly-iii:trigger-credit-recalculation');
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
Loading…
Reference in New Issue
Block a user