diff --git a/app/Http/Controllers/Admin/AdminController.php b/app/Http/Controllers/Admin/AdminController.php new file mode 100644 index 0000000..b4f36c9 --- /dev/null +++ b/app/Http/Controllers/Admin/AdminController.php @@ -0,0 +1,56 @@ +select([ + 'id', + 'first_name', + 'last_name', + 'email', + ]) + ->when($request->search, function ($query) use ($request) { + $query->whereAny([ + 'first_name', + 'last_name', + 'email', + ], 'like', '%' . $request->search . '%'); + }) + ->latest() + ->paginate(2) + ->withQueryString(); + + return view('admin.admins.index', compact('admins')); + } + public function edit(Admin $admin) + { + return view('admin.admins.edit', compact('admin')); + } + + public function update(AdminEditPostRequest $request, Admin $admin) + { + $admin->update($request->validated()); + + return redirect() + ->route('admin.admins.index') + ->with('success', 'اطلاعات مدیر با موفقیت ویرایش شد.'); + } + public function destroy(Admin $admin) + { + $admin->delete(); + + return redirect() + ->route('admin.admins.index') + ->with('success', 'ادمین با موفقیت حذف شد.'); + } +} diff --git a/app/Http/Requests/Admins/AdminPostRequest.php b/app/Http/Requests/Admins/AdminPostRequest.php index 2f5571f..d7c3d2b 100644 --- a/app/Http/Requests/Admins/AdminPostRequest.php +++ b/app/Http/Requests/Admins/AdminPostRequest.php @@ -23,6 +23,7 @@ class AdminPostRequest extends FormRequest public function rules(): array { return [ + 'email' => [ 'required', 'email', diff --git a/app/Models/Admin.php b/app/Models/Admin.php index d8d0c14..92c9d90 100644 --- a/app/Models/Admin.php +++ b/app/Models/Admin.php @@ -9,7 +9,7 @@ namespace App\Models; use Carbon\Carbon; use Illuminate\Database\Eloquent\Model; use Illuminate\Foundation\Auth\User as Authenticatable; - +use Illuminate\Database\Eloquent\SoftDeletes; /** * Class Admin * @@ -26,6 +26,7 @@ use Illuminate\Foundation\Auth\User as Authenticatable; */ class Admin extends Authenticatable { + use SoftDeletes; protected $table = 'admins'; protected $hidden = [