From 363c4360b8fa2a3997daf5c968b6cd5c251c2470 Mon Sep 17 00:00:00 2001 From: philipp lang Date: Fri, 30 May 2025 00:32:34 +0200 Subject: [PATCH] Add Member filter to prevention settings --- app/Prevention/Actions/SettingStoreAction.php | 2 ++ app/Prevention/PreventionSettings.php | 2 ++ ...create_prevention_yearly_mail_settings.php | 2 ++ resources/js/views/member/VIndex.vue | 4 +-- resources/js/views/setting/Prevention.vue | 1 + tests/Feature/Prevention/SettingTest.php | 33 ++++++++++++++++--- 6 files changed, 36 insertions(+), 8 deletions(-) diff --git a/app/Prevention/Actions/SettingStoreAction.php b/app/Prevention/Actions/SettingStoreAction.php index d7173f9e..1c1525a2 100644 --- a/app/Prevention/Actions/SettingStoreAction.php +++ b/app/Prevention/Actions/SettingStoreAction.php @@ -4,6 +4,7 @@ namespace App\Prevention\Actions; use App\Lib\Editor\EditorData; use App\Lib\Events\Succeeded; +use App\Member\FilterScope; use App\Prevention\PreventionSettings; use Lorisleiva\Actions\ActionRequest; use Lorisleiva\Actions\Concerns\AsAction; @@ -34,6 +35,7 @@ class SettingStoreAction $settings->weeks = $request->weeks; $settings->freshRememberInterval = $request->freshRememberInterval; $settings->active = $request->active; + $settings->yearlyMemberFilter = FilterScope::from($request->yearlyMemberFilter); $settings->save(); Succeeded::message('Einstellungen gespeichert.')->dispatch(); diff --git a/app/Prevention/PreventionSettings.php b/app/Prevention/PreventionSettings.php index 186502d0..5340fbba 100644 --- a/app/Prevention/PreventionSettings.php +++ b/app/Prevention/PreventionSettings.php @@ -3,6 +3,7 @@ namespace App\Prevention; use App\Lib\Editor\EditorData; +use App\Member\FilterScope; use App\Setting\LocalSettings; class PreventionSettings extends LocalSettings @@ -13,6 +14,7 @@ class PreventionSettings extends LocalSettings public int $weeks; public int $freshRememberInterval; public bool $active; + public FilterScope $yearlyMemberFilter; public static function group(): string { diff --git a/database/settings/2025_05_24_202013_create_prevention_yearly_mail_settings.php b/database/settings/2025_05_24_202013_create_prevention_yearly_mail_settings.php index bbf5ac9e..7d016a85 100644 --- a/database/settings/2025_05_24_202013_create_prevention_yearly_mail_settings.php +++ b/database/settings/2025_05_24_202013_create_prevention_yearly_mail_settings.php @@ -1,5 +1,6 @@ migrator->add('prevention.weeks', 8); $this->migrator->add('prevention.freshRememberInterval', 12); $this->migrator->add('prevention.active', false); + $this->migrator->add('prevention.yearlyMemberFilter', FilterScope::from([])->toArray()); } }; diff --git a/resources/js/views/member/VIndex.vue b/resources/js/views/member/VIndex.vue index 0a03a482..8faab25f 100644 --- a/resources/js/views/member/VIndex.vue +++ b/resources/js/views/member/VIndex.vue @@ -19,9 +19,7 @@