From f5ee2eddd1e1e0cfb6f76e1c96afb3f091e5cab7 Mon Sep 17 00:00:00 2001 From: Louis Jeckel Date: Thu, 17 Sep 2020 22:50:59 +0200 Subject: [PATCH] unsubscribe fix --- app/Events/DispatchMailgunEvent.php | 2 +- .../{ActivatedAccounts.php => AccountStates.php} | 13 +++++++++++-- app/Nova/SpecialUsers.php | 2 +- app/Nova/Subscriber.php | 9 +-------- app/Nova/User.php | 4 +++- 5 files changed, 17 insertions(+), 13 deletions(-) rename app/Nova/Filters/{ActivatedAccounts.php => AccountStates.php} (76%) diff --git a/app/Events/DispatchMailgunEvent.php b/app/Events/DispatchMailgunEvent.php index 3a02b3e..7242e7a 100644 --- a/app/Events/DispatchMailgunEvent.php +++ b/app/Events/DispatchMailgunEvent.php @@ -73,7 +73,7 @@ class DispatchMailgunEvent implements ShouldBroadcast $event->touch(); $this->data = $event; - if($event->event === 'unsubscribe') { + if($event->event === 'unsubscribed') { $event->user->unsubscribe(); } diff --git a/app/Nova/Filters/ActivatedAccounts.php b/app/Nova/Filters/AccountStates.php similarity index 76% rename from app/Nova/Filters/ActivatedAccounts.php rename to app/Nova/Filters/AccountStates.php index 85c21bd..336c73d 100644 --- a/app/Nova/Filters/ActivatedAccounts.php +++ b/app/Nova/Filters/AccountStates.php @@ -5,8 +5,10 @@ namespace App\Nova\Filters; use Illuminate\Http\Request; use Laravel\Nova\Filters\BooleanFilter; -class ActivatedAccounts extends BooleanFilter +class AccountStates extends BooleanFilter { + + public $name = "Etat du compte"; /** * Apply the filter to the given query. * @@ -20,9 +22,15 @@ class ActivatedAccounts extends BooleanFilter if($value['reg_complete']) { $query->where('reg_complete', 1); } + if($value['not_reg_complete']) { $query->where('reg_complete', 0); } + + if($value['unsubscribed']) { + $query->where('unsubscribed', 1); + } + return $query; } @@ -36,7 +44,8 @@ class ActivatedAccounts extends BooleanFilter { return [ 'Comptes activés' => 'reg_complete', - 'Comptes non activés' => 'not_reg_complete' + 'Comptes non activés' => 'not_reg_complete', + 'Désabonnés' => 'unsubscribed', ]; } } diff --git a/app/Nova/SpecialUsers.php b/app/Nova/SpecialUsers.php index b7be00f..f6c4333 100644 --- a/app/Nova/SpecialUsers.php +++ b/app/Nova/SpecialUsers.php @@ -9,7 +9,7 @@ use Laravel\Nova\Http\Requests\NovaRequest; class SpecialUsers extends User { public static $group = "Annuaire"; - + public static $type = \App\User::TYPE_SPECIAL; public static $globallySearchable = true; diff --git a/app/Nova/Subscriber.php b/app/Nova/Subscriber.php index 7ffcbb9..7f26224 100644 --- a/app/Nova/Subscriber.php +++ b/app/Nova/Subscriber.php @@ -4,7 +4,7 @@ namespace App\Nova; -use App\Nova\Filters\ActivatedAccounts; +use App\Nova\Filters\AccountStates; use Illuminate\Http\Request; use Laravel\Nova\Http\Requests\NovaRequest; @@ -30,11 +30,4 @@ class Subscriber extends User - public function filters(Request $request) - { - return array_merge(parent::filters($request), [ - new ActivatedAccounts, - ]); - } - } diff --git a/app/Nova/User.php b/app/Nova/User.php index ae7689a..b6d0bf6 100644 --- a/app/Nova/User.php +++ b/app/Nova/User.php @@ -7,6 +7,7 @@ use App\Nova\Actions\SendNotification; use App\Nova\Actions\StartTrial; use App\Nova\Actions\ValidateAddress; use App\Nova\Actions\VerifyEmail; +use App\Nova\Filters\AccountStates; use App\Nova\Filters\FilterByOrganization; use App\Nova\Lenses\FailedMailgun; use App\Nova\Lenses\MailgunStatus; @@ -151,7 +152,8 @@ class User extends Resource public function filters(Request $request) { return [ - new FilterByOrganization + new FilterByOrganization, + new AccountStates ]; } -- 2.39.5