From 822dee6e70fd86035f211d47105a4b82d651e411 Mon Sep 17 00:00:00 2001 From: James Cole Date: Fri, 26 Sep 2025 19:48:20 +0200 Subject: [PATCH] Allow statistics to be removed from /flush --- app/Http/Controllers/Admin/UpdateController.php | 11 ++++++----- app/Http/Controllers/DebugController.php | 3 +++ app/Models/PeriodStatistic.php | 2 -- .../2025_09_25_175248_create_period_statistics.php | 1 - 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/app/Http/Controllers/Admin/UpdateController.php b/app/Http/Controllers/Admin/UpdateController.php index 8502d43ce8..90729abe56 100644 --- a/app/Http/Controllers/Admin/UpdateController.php +++ b/app/Http/Controllers/Admin/UpdateController.php @@ -27,6 +27,7 @@ use Carbon\Carbon; use FireflyIII\Helpers\Update\UpdateTrait; use FireflyIII\Http\Controllers\Controller; use FireflyIII\Http\Middleware\IsDemoUser; +use FireflyIII\Support\Facades\FireflyConfig; use Illuminate\Contracts\View\Factory; use Illuminate\Http\RedirectResponse; use Illuminate\Http\Request; @@ -66,8 +67,8 @@ class UpdateController extends Controller { $subTitle = (string) trans('firefly.update_check_title'); $subTitleIcon = 'fa-star'; - $permission = app('fireflyconfig')->get('permission_update_check', -1); - $channel = app('fireflyconfig')->get('update_channel', 'stable'); + $permission = FireflyConfig::get('permission_update_check', -1); + $channel = FireflyConfig::get('update_channel', 'stable'); $selected = $permission->data; $channelSelected = $channel->data; $options = [ @@ -96,9 +97,9 @@ class UpdateController extends Controller $channel = $request->get('update_channel'); $channel = in_array($channel, ['stable', 'beta', 'alpha'], true) ? $channel : 'stable'; - app('fireflyconfig')->set('permission_update_check', $checkForUpdates); - app('fireflyconfig')->set('last_update_check', Carbon::now()->getTimestamp()); - app('fireflyconfig')->set('update_channel', $channel); + FireflyConfig::set('permission_update_check', $checkForUpdates); + FireflyConfig::set('last_update_check', Carbon::now()->getTimestamp()); + FireflyConfig::set('update_channel', $channel); session()->flash('success', (string) trans('firefly.configuration_updated')); return redirect(route('settings.update-check')); diff --git a/app/Http/Controllers/DebugController.php b/app/Http/Controllers/DebugController.php index 73141d0b8c..f599788536 100644 --- a/app/Http/Controllers/DebugController.php +++ b/app/Http/Controllers/DebugController.php @@ -30,6 +30,7 @@ use FireflyIII\Enums\AccountTypeEnum; use FireflyIII\Enums\TransactionTypeEnum; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Http\Middleware\IsDemoUser; +use FireflyIII\Models\PeriodStatistic; use FireflyIII\Models\TransactionType; use FireflyIII\Repositories\PiggyBank\PiggyBankRepositoryInterface; use FireflyIII\Support\Facades\Amount; @@ -108,6 +109,8 @@ class DebugController extends Controller Artisan::call('route:clear'); Artisan::call('view:clear'); + PeriodStatistic::where('id','>',0)->delete(); + // also do some recalculations. Artisan::call('correction:recalculates-liabilities'); AccountBalanceCalculator::recalculateAll(false); diff --git a/app/Models/PeriodStatistic.php b/app/Models/PeriodStatistic.php index 194073bc88..519df3c79c 100644 --- a/app/Models/PeriodStatistic.php +++ b/app/Models/PeriodStatistic.php @@ -14,14 +14,12 @@ use Illuminate\Database\Eloquent\SoftDeletes; class PeriodStatistic extends Model { use ReturnsIntegerUserIdTrait; - use SoftDeletes; protected function casts(): array { return [ 'created_at' => 'datetime', 'updated_at' => 'datetime', - 'deleted_at' => 'datetime', 'start' => SeparateTimezoneCaster::class, 'end' => SeparateTimezoneCaster::class, ]; diff --git a/database/migrations/2025_09_25_175248_create_period_statistics.php b/database/migrations/2025_09_25_175248_create_period_statistics.php index e04afaa9de..0a5bf8d86b 100644 --- a/database/migrations/2025_09_25_175248_create_period_statistics.php +++ b/database/migrations/2025_09_25_175248_create_period_statistics.php @@ -14,7 +14,6 @@ return new class extends Migration Schema::create('period_statistics', function (Blueprint $table) { $table->id(); $table->timestamps(); - $table->softDeletes(); $table->integer('primary_statable_id', false, true)->nullable(); $table->string('primary_statable_type', 255)->nullable();