]> _ Git - psq.git/commitdiff
filter by activation status
authorLouis Jeckel <louis.jeckel@outlook.cm>
Mon, 31 Aug 2020 14:10:33 +0000 (16:10 +0200)
committerLouis Jeckel <louis.jeckel@outlook.cm>
Mon, 31 Aug 2020 14:10:33 +0000 (16:10 +0200)
app/Nova/Filters/ActivatedAccounts.php [new file with mode: 0644]
app/Nova/Subscriber.php

diff --git a/app/Nova/Filters/ActivatedAccounts.php b/app/Nova/Filters/ActivatedAccounts.php
new file mode 100644 (file)
index 0000000..85c21bd
--- /dev/null
@@ -0,0 +1,42 @@
+<?php
+
+namespace App\Nova\Filters;
+
+use Illuminate\Http\Request;
+use Laravel\Nova\Filters\BooleanFilter;
+
+class ActivatedAccounts extends BooleanFilter
+{
+    /**
+     * Apply the filter to the given query.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @param  \Illuminate\Database\Eloquent\Builder  $query
+     * @param  mixed  $value
+     * @return \Illuminate\Database\Eloquent\Builder
+     */
+    public function apply(Request $request, $query, $value)
+    {
+        if($value['reg_complete']) {
+            $query->where('reg_complete', 1);
+        }
+        if($value['not_reg_complete']) {
+            $query->where('reg_complete', 0);
+        }
+        return $query;
+    }
+
+    /**
+     * Get the filter's available options.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @return array
+     */
+    public function options(Request $request)
+    {
+        return [
+            'Comptes activés' => 'reg_complete',
+            'Comptes non activés' => 'not_reg_complete'
+        ];
+    }
+}
index db301a8af769ec106159f72881e28d0611611f97..3901448c8046d9a4e18a87b70f6862ee93eb6d95 100644 (file)
@@ -4,6 +4,8 @@
 namespace App\Nova;
 
 
+use App\Nova\Filters\ActivatedAccounts;
+use Illuminate\Http\Request;
 use Laravel\Nova\Http\Requests\NovaRequest;
 
 class Subscriber extends User
@@ -27,4 +29,11 @@ class Subscriber extends User
         return $query->where('type', 0);
     }
 
+    public function filters(Request $request)
+    {
+        return array_merge(parent::filters($request), [
+           new ActivatedAccounts,
+        ]);
+    }
+
 }