From 9e179baa6b010faef6c66c195e2f74ffbb316f60 Mon Sep 17 00:00:00 2001 From: faezehzafarbakhsh Date: Mon, 27 Oct 2025 18:15:10 +0330 Subject: [PATCH 1/2] improve code in controller and forme requst --- .../V3/Dashboard/UserManagementController.php | 289 ++++++++++-------- .../Dashboard/UserManagement/StoreRequest.php | 6 + .../UserManagement/UpdateRequest.php | 6 + 3 files changed, 180 insertions(+), 121 deletions(-) diff --git a/app/Http/Controllers/V3/Dashboard/UserManagementController.php b/app/Http/Controllers/V3/Dashboard/UserManagementController.php index 23cd821f..dbe6781c 100644 --- a/app/Http/Controllers/V3/Dashboard/UserManagementController.php +++ b/app/Http/Controllers/V3/Dashboard/UserManagementController.php @@ -2,6 +2,7 @@ namespace App\Http\Controllers\V3\Dashboard; +use App\Facades\DataTable\DataTableFacade; use App\Http\Controllers\Controller; use App\Http\Requests\V3\Dashboard\UserManagement\GivePermissionRequest; use App\Http\Requests\V3\Dashboard\UserManagement\GiveRoleRequest; @@ -25,58 +26,101 @@ class UserManagementController extends Controller { use ApiResponse; +// public function index(Request $request) +// { +// auth()->user()->addActivityComplete(1038); +// +// $province = $request->province ?? null; +// $city = $request->city ?? null; +// $province_office = $request->province_office ?? null; +// +// if (Auth::user()->checkUserHasPermission('full-user-management')) { +// $users = User::when($province, function ($query, $province) { +// return $query->where('province_id', $province); +// }) +// ->when($city, function ($query, $city) { +// return $query->where('city_id', $city); +// }) +// ->when($province_office, function ($query, $province_office) { +// if ($province_office == -1) { +// return $query->where('edarate_ostani_id', null)->whereNotNull('edarate_shahri_id'); +// } else { +// return $query->where('edarate_ostani_id', $province_office); +// } +// }) +// ->with(['roles' => function ($query) { +// $query->where('for_report', 1); +// }]) +// ->get(); +// } elseif (Auth::user()->checkUserHasPermission('limited-user-management')) { +// $users = User::when($province, function ($query, $province) { +// return $query->where('province_id', $province); +// }) +// ->where('province_id', Auth::user()->province_id) +// ->when($city, function ($query, $city) { +// return $query->where('city_id', $city); +// }) +// ->when($province_office, function ($query, $province_office) { +// if ($province_office == -1) { +// return $query->where('edarate_ostani_id', null)->whereNotNull('edarate_shahri_id'); +// } else { +// return $query->where('edarate_ostani_id', $province_office); +// } +// }) +// ->with(['roles' => function ($query) { +// $query->where('for_report', 1); +// }]) +// ->get(); +// } else { +// return response()->json([ +// 'message' => 'Forbidden', +// ], 403); +// } +// +// return $this->successResponse($users); +// } + public function index(Request $request) { - auth()->user()->addActivityComplete(1038); + $currentUser = Auth::user(); + $currentUser->addActivityComplete(1038); $province = $request->province ?? null; $city = $request->city ?? null; $province_office = $request->province_office ?? null; - - if (Auth::user()->checkUserHasPermission('full-user-management')) { - $users = User::when($province, function ($query, $province) { - return $query->where('province_id', $province); - }) - ->when($city, function ($query, $city) { - return $query->where('city_id', $city); - }) - ->when($province_office, function ($query, $province_office) { - if ($province_office == -1) { - return $query->where('edarate_ostani_id', null)->whereNotNull('edarate_shahri_id'); - } else { - return $query->where('edarate_ostani_id', $province_office); - } - }) - ->with(['roles' => function ($query) { - $query->where('for_report', 1); - }]) - ->get(); - } elseif (Auth::user()->checkUserHasPermission('limited-user-management')) { - $users = User::when($province, function ($query, $province) { - return $query->where('province_id', $province); - }) - ->where('province_id', Auth::user()->province_id) - ->when($city, function ($query, $city) { - return $query->where('city_id', $city); - }) - ->when($province_office, function ($query, $province_office) { - if ($province_office == -1) { - return $query->where('edarate_ostani_id', null)->whereNotNull('edarate_shahri_id'); - } else { - return $query->where('edarate_ostani_id', $province_office); - } - }) - ->with(['roles' => function ($query) { - $query->where('for_report', 1); - }]) - ->get(); - } else { - return response()->json([ - 'message' => 'Forbidden', - ], 403); + if ( + ! $currentUser->checkUserHasPermission('full-user-management') && + ! $currentUser->checkUserHasPermission('limited-user-management') + ) { + return response()->json(['message' => 'Forbidden'], 403); } + $query = User::query() + ->when($province, function ($query, $province) { + return $query->where('province_id', $province); + }) + ->with(['roles' => fn($q) => $q->where('for_report', 1)]) + ->when($city, function ($query, $city) { + return $query->where('city_id', $city); + }) + ->when($province_office, function ($query, $province_office) { + if ($province_office === -1) { + return $query->whereNull('edarate_ostani_id')->whereNotNull('edarate_shahri_id'); + } else { + return $query->where('edarate_ostani_id', $province_office); + } + }); - return $this->successResponse($users); + if ($currentUser->checkUserHasPermission('limited-user-management')) { + $query->where('province_id', $currentUser->province_id); + } + $data = DataTableFacade::run( + $query, + $request, + allowedFilters: ['*'], + allowedSortings: ['*'] + ); + + return $this->successResponse($data); } public function store(StoreRequest $request): jsonResponse @@ -85,51 +129,53 @@ class UserManagementController extends Controller $user->addActivityComplete(1039); - User::query()->create([ - 'username' => $request->username, - 'national_code' => $request->national_code, - 'password' => Hash::make($request->password), - 'province_id' => $request->province_id ?: null, - 'city_id' => $request->city_id ?: null, - 'edarate_ostani_id' => $request->edarate_ostani_id, - 'edarate_shahri_id' => $request->edarate_shahri_id, - 'first_name' => $request->first_name, - 'last_name' => $request->last_name, - 'position' => $request->position, - 'mobile' => $request->mobile, - 'degree' => $request->degree, - 'major' => $request->major, - ]); + $createdUser = DB::transaction(function () use ($request) { + $user = User::query()->create([ + 'username' => $request->username, + 'national_code' => $request->national_code, + 'password' => Hash::make($request->password), + 'province_id' => $request->province_id ?: null, + 'city_id' => $request->city_id ?: null, + 'edarate_ostani_id' => $request->edarate_ostani_id, + 'edarate_shahri_id' => $request->edarate_shahri_id, + 'first_name' => $request->first_name, + 'last_name' => $request->last_name, + 'position' => $request->position, + 'mobile' => $request->mobile, + 'degree' => $request->degree, + 'major' => $request->major, + ]); - $user->province_fa = ($request->province_id == 0) ? 'ستاد' : Province::find($request->province_id)->name_fa; + $user->province_fa = ($request->province_id == 0) ? 'ستاد' : Province::find($request->province_id)->name_fa; - $user->city_fa = ($request->city_id == 0) ? null : City::find($request->city_id)->name_fa; + $user->city_fa = ($request->city_id == 0) ? null : City::find($request->city_id)->name_fa; - if ($request->edarate_ostani_id != 'null') { - $temp = EdarateOstani::find($request->edarate_ostani_id)->name_fa; - $user->edarate_ostani_id = $request->edarate_ostani_id; - $user->edarate_ostani_name = $temp; - if ($request->province_id == 0) { - $user->name = $temp.' '.$user->province_fa; + if ($request->edarate_ostani_id != null) { + $temp = EdarateOstani::find($request->edarate_ostani_id)->name_fa; + $user->edarate_ostani_id = $request->edarate_ostani_id; + $user->edarate_ostani_name = $temp; + if ($request->province_id == 0) { + $user->name = $temp.' '.$user->province_fa; + } else { + $user->name = $temp.' استان '.$user->province_fa; + } } else { - $user->name = $temp.' استان '.$user->province_fa; + $temp = EdarateShahri::find($request->edarate_shahri_id)->name_fa; + $user->edarate_shahri_id = $request->edarate_shahri_id; + $user->edarate_shahri_name = $temp; + + if ($request->province_id == 0) { + $user->name = $temp.' '.$user->province_fa; + } else { + $user->name = $temp.' استان '.$user->province_fa; + } } - } else { - $temp = EdarateShahri::find($request->edarate_shahri_id)->name_fa; - $user->edarate_shahri_id = $request->edarate_shahri_id; - $user->edarate_shahri_name = $temp; + $user->save(); - if ($request->province_id == 0) { - $user->name = $temp.' '.$user->province_fa; - } else { - $user->name = $temp.' استان '.$user->province_fa; - } - } + return $user; + }); - $user->password = Hash::make($request->password); - $user->national_code = $request->national_code; - - return $this->successResponse($user); + return $this->successResponse($createdUser); } public function show(User $user) @@ -142,47 +188,47 @@ class UserManagementController extends Controller public function update(UpdateRequest $request, User $user): JsonResponse { auth()->user()->addActivityComplete(1040); + $createdUser = DB::transaction(function () use ($request, $user) { - $user->update([ - 'username' => $request->username, - 'national_code' => $request->national_code, - 'password' => Hash::make($request->password), - 'province_id' => $request->province_id ?: null, - 'city_id' => $request->city_id ?: null, - 'edarate_ostani_id' => $request->edarate_ostani_id, - 'edarate_shahri_id' => $request->edarate_shahri_id, - 'first_name' => $request->first_name, - 'last_name' => $request->last_name, - 'position' => $request->position, - 'mobile' => $request->mobile, - 'degree' => $request->degree, - 'major' => $request->major, - ]); + $user->update([ + 'username' => $request->username, + 'national_code' => $request->national_code, + 'province_id' => $request->province_id ?: null, + 'city_id' => $request->city_id ?: null, + 'edarate_ostani_id' => $request->edarate_ostani_id, + 'edarate_shahri_id' => $request->edarate_shahri_id, + 'first_name' => $request->first_name, + 'last_name' => $request->last_name, + 'position' => $request->position, + 'mobile' => $request->mobile, + 'degree' => $request->degree, + 'major' => $request->major, + ]); - $user->province_fa = ($request->province_id == 0) ? 'ستاد' : Province::find($request->province_id)->name_fa; + $user->province_fa = ($request->province_id == 0) ? 'ستاد' : Province::find($request->province_id)->name_fa; - $user->city_fa = ($request->city_id == 0) ? null : City::find($request->city_id)->name_fa; + $user->city_fa = ($request->city_id == 0) ? null : City::find($request->city_id)->name_fa; - if ($request->edarate_ostani_id != 'null') { - $temp = EdarateOstani::find($request->edarate_ostani_id)->name_fa; - $user->edarate_ostani_id = $request->edarate_ostani_id; - $user->edarate_ostani_name = $temp; - if ($request->province_id == 0) { - $user->name = $temp.' '.$user->province_fa; + if ($request->edarate_ostani_id != null) { + $temp = EdarateOstani::find($request->edarate_ostani_id)->name_fa; + $user->edarate_ostani_id = $request->edarate_ostani_id; + $user->edarate_ostani_name = $temp; + if ($request->province_id == 0) { + $user->name = $temp . ' ' . $user->province_fa; + } else { + $user->name = $temp . ' استان ' . $user->province_fa; + } } else { - $user->name = $temp.' استان '.$user->province_fa; - } - } else { - $temp = EdarateShahri::find($request->edarate_shahri_id)->name_fa; - $user->edarate_shahri_id = $request->edarate_shahri_id; - $user->edarate_shahri_name = $temp; + $temp = EdarateShahri::find($request->edarate_shahri_id)->name_fa; + $user->edarate_shahri_id = $request->edarate_shahri_id; + $user->edarate_shahri_name = $temp; - if ($request->province_id == 0) { - $user->name = $temp.' '.$user->province_fa; - } else { - $user->name = $temp.' استان '.$user->province_fa; + if ($request->province_id == 0) { + $user->name = $temp . ' ' . $user->province_fa; + } else { + $user->name = $temp . ' استان ' . $user->province_fa; + } } - } if (! is_null($request->password)) { $user->password = Hash::make($request->password); @@ -192,13 +238,14 @@ class UserManagementController extends Controller $user->syncPermissions(explode(',', $request->permissions)); } - if ($request->filled('roles')) { - $user->syncRoles($request->roles); - } + if ($request->filled('roles')) { + $user->syncRoles($request->roles); + } - $user->save(); + $user->save(); + }); - return $this->successResponse($user); + return $this->successResponse($createdUser); } public function destroy(User $user) diff --git a/app/Http/Requests/V3/Dashboard/UserManagement/StoreRequest.php b/app/Http/Requests/V3/Dashboard/UserManagement/StoreRequest.php index c530e73d..f936e54f 100644 --- a/app/Http/Requests/V3/Dashboard/UserManagement/StoreRequest.php +++ b/app/Http/Requests/V3/Dashboard/UserManagement/StoreRequest.php @@ -30,6 +30,12 @@ class StoreRequest extends FormRequest 'username' => 'required|unique:users,username', 'national_code' => 'unique:users,national_code', 'password' => 'required|min:8', + 'first_name' => 'required|string', + 'last_name' => 'required|string', + 'position' => 'required|string', + 'mobile' => 'required|string', + 'degree' => 'required|string', + 'major' => 'required|string', ]; } diff --git a/app/Http/Requests/V3/Dashboard/UserManagement/UpdateRequest.php b/app/Http/Requests/V3/Dashboard/UserManagement/UpdateRequest.php index 7a03c279..78a9b437 100644 --- a/app/Http/Requests/V3/Dashboard/UserManagement/UpdateRequest.php +++ b/app/Http/Requests/V3/Dashboard/UserManagement/UpdateRequest.php @@ -31,6 +31,12 @@ class UpdateRequest extends FormRequest 'username' => ['required', Rule::unique('users', 'username')->ignore($this->user->id)], 'national_code' => ['required', Rule::unique('users', 'national_code')->ignore($this->user->id)], 'password' => 'required|min:8', + 'first_name' => 'required|string', + 'last_name' => 'required|string', + 'position' => 'required|string', + 'mobile' => 'required|string', + 'degree' => 'required|string', + 'major' => 'required|string', ]; } } From 1000621924ce53483b57a288e243509362d591ae Mon Sep 17 00:00:00 2001 From: faezehzafarbakhsh Date: Tue, 28 Oct 2025 12:02:56 +0330 Subject: [PATCH 2/2] fix code --- .../V3/Dashboard/UserManagementController.php | 181 +++--------------- .../Dashboard/UserManagement/StoreRequest.php | 14 +- .../UserManagement/UpdateRequest.php | 11 +- app/Models/User.php | 4 +- routes/v3.php | 3 +- 5 files changed, 47 insertions(+), 166 deletions(-) diff --git a/app/Http/Controllers/V3/Dashboard/UserManagementController.php b/app/Http/Controllers/V3/Dashboard/UserManagementController.php index dbe6781c..32631968 100644 --- a/app/Http/Controllers/V3/Dashboard/UserManagementController.php +++ b/app/Http/Controllers/V3/Dashboard/UserManagementController.php @@ -3,6 +3,7 @@ namespace App\Http\Controllers\V3\Dashboard; use App\Facades\DataTable\DataTableFacade; +use App\Facades\File\FileFacade; use App\Http\Controllers\Controller; use App\Http\Requests\V3\Dashboard\UserManagement\GivePermissionRequest; use App\Http\Requests\V3\Dashboard\UserManagement\GiveRoleRequest; @@ -26,98 +27,15 @@ class UserManagementController extends Controller { use ApiResponse; -// public function index(Request $request) -// { -// auth()->user()->addActivityComplete(1038); -// -// $province = $request->province ?? null; -// $city = $request->city ?? null; -// $province_office = $request->province_office ?? null; -// -// if (Auth::user()->checkUserHasPermission('full-user-management')) { -// $users = User::when($province, function ($query, $province) { -// return $query->where('province_id', $province); -// }) -// ->when($city, function ($query, $city) { -// return $query->where('city_id', $city); -// }) -// ->when($province_office, function ($query, $province_office) { -// if ($province_office == -1) { -// return $query->where('edarate_ostani_id', null)->whereNotNull('edarate_shahri_id'); -// } else { -// return $query->where('edarate_ostani_id', $province_office); -// } -// }) -// ->with(['roles' => function ($query) { -// $query->where('for_report', 1); -// }]) -// ->get(); -// } elseif (Auth::user()->checkUserHasPermission('limited-user-management')) { -// $users = User::when($province, function ($query, $province) { -// return $query->where('province_id', $province); -// }) -// ->where('province_id', Auth::user()->province_id) -// ->when($city, function ($query, $city) { -// return $query->where('city_id', $city); -// }) -// ->when($province_office, function ($query, $province_office) { -// if ($province_office == -1) { -// return $query->where('edarate_ostani_id', null)->whereNotNull('edarate_shahri_id'); -// } else { -// return $query->where('edarate_ostani_id', $province_office); -// } -// }) -// ->with(['roles' => function ($query) { -// $query->where('for_report', 1); -// }]) -// ->get(); -// } else { -// return response()->json([ -// 'message' => 'Forbidden', -// ], 403); -// } -// -// return $this->successResponse($users); -// } - - public function index(Request $request) + public function index(Request $request): JsonResponse { - $currentUser = Auth::user(); - $currentUser->addActivityComplete(1038); + Auth::user()->addActivityComplete(1038); - $province = $request->province ?? null; - $city = $request->city ?? null; - $province_office = $request->province_office ?? null; - if ( - ! $currentUser->checkUserHasPermission('full-user-management') && - ! $currentUser->checkUserHasPermission('limited-user-management') - ) { - return response()->json(['message' => 'Forbidden'], 403); - } - $query = User::query() - ->when($province, function ($query, $province) { - return $query->where('province_id', $province); - }) - ->with(['roles' => fn($q) => $q->where('for_report', 1)]) - ->when($city, function ($query, $city) { - return $query->where('city_id', $city); - }) - ->when($province_office, function ($query, $province_office) { - if ($province_office === -1) { - return $query->whereNull('edarate_ostani_id')->whereNotNull('edarate_shahri_id'); - } else { - return $query->where('edarate_ostani_id', $province_office); - } - }); - - if ($currentUser->checkUserHasPermission('limited-user-management')) { - $query->where('province_id', $currentUser->province_id); - } $data = DataTableFacade::run( - $query, + User::query(), $request, allowedFilters: ['*'], - allowedSortings: ['*'] + allowedSortings: ['*'], ); return $this->successResponse($data); @@ -125,19 +43,21 @@ class UserManagementController extends Controller public function store(StoreRequest $request): jsonResponse { - $user = auth()->user(); + auth()->user()->addActivityComplete(1039); - $user->addActivityComplete(1039); - - $createdUser = DB::transaction(function () use ($request) { + DB::transaction(function () use ($request) { $user = User::query()->create([ 'username' => $request->username, 'national_code' => $request->national_code, 'password' => Hash::make($request->password), 'province_id' => $request->province_id ?: null, + 'province_fa' => ($request->province_id == 0) ? 'ستاد' : Province::find($request->province_id)->name_fa, 'city_id' => $request->city_id ?: null, + 'city_fa' => ($request->city_id == 0) ? null : City::find($request->city_id)->name_fa, 'edarate_ostani_id' => $request->edarate_ostani_id, + 'edarate_ostani_name' => EdarateOstani::query()->find($request->edarate_ostani_name), 'edarate_shahri_id' => $request->edarate_shahri_id, + 'edarate_shahri_name' => EdarateShahri::query()->find($request->edarate_shahri_name), 'first_name' => $request->first_name, 'last_name' => $request->last_name, 'position' => $request->position, @@ -145,37 +65,10 @@ class UserManagementController extends Controller 'degree' => $request->degree, 'major' => $request->major, ]); + $user->avatar = FileFacade::save($request->file('avatar'), "avatar/{$user->id}"); + }); - $user->province_fa = ($request->province_id == 0) ? 'ستاد' : Province::find($request->province_id)->name_fa; - - $user->city_fa = ($request->city_id == 0) ? null : City::find($request->city_id)->name_fa; - - if ($request->edarate_ostani_id != null) { - $temp = EdarateOstani::find($request->edarate_ostani_id)->name_fa; - $user->edarate_ostani_id = $request->edarate_ostani_id; - $user->edarate_ostani_name = $temp; - if ($request->province_id == 0) { - $user->name = $temp.' '.$user->province_fa; - } else { - $user->name = $temp.' استان '.$user->province_fa; - } - } else { - $temp = EdarateShahri::find($request->edarate_shahri_id)->name_fa; - $user->edarate_shahri_id = $request->edarate_shahri_id; - $user->edarate_shahri_name = $temp; - - if ($request->province_id == 0) { - $user->name = $temp.' '.$user->province_fa; - } else { - $user->name = $temp.' استان '.$user->province_fa; - } - } - $user->save(); - - return $user; - }); - - return $this->successResponse($createdUser); + return $this->successResponse(); } public function show(User $user) @@ -188,15 +81,19 @@ class UserManagementController extends Controller public function update(UpdateRequest $request, User $user): JsonResponse { auth()->user()->addActivityComplete(1040); - $createdUser = DB::transaction(function () use ($request, $user) { + DB::transaction(function () use ($request, $user) { $user->update([ 'username' => $request->username, 'national_code' => $request->national_code, 'province_id' => $request->province_id ?: null, + 'province_fa' => ($request->province_id == 0) ? 'ستاد' : Province::find($request->province_id)->name_fa, 'city_id' => $request->city_id ?: null, + 'city_fa' => ($request->city_id == 0) ? null : City::find($request->city_id)->name_fa, 'edarate_ostani_id' => $request->edarate_ostani_id, + 'edarate_ostani_name' => EdarateOstani::query()->find($request->edarate_ostani_name), 'edarate_shahri_id' => $request->edarate_shahri_id, + 'edarate_shahri_name' => EdarateShahri::query()->find($request->edarate_shahri_name), 'first_name' => $request->first_name, 'last_name' => $request->last_name, 'position' => $request->position, @@ -205,38 +102,18 @@ class UserManagementController extends Controller 'major' => $request->major, ]); - $user->province_fa = ($request->province_id == 0) ? 'ستاد' : Province::find($request->province_id)->name_fa; - - $user->city_fa = ($request->city_id == 0) ? null : City::find($request->city_id)->name_fa; - - if ($request->edarate_ostani_id != null) { - $temp = EdarateOstani::find($request->edarate_ostani_id)->name_fa; - $user->edarate_ostani_id = $request->edarate_ostani_id; - $user->edarate_ostani_name = $temp; - if ($request->province_id == 0) { - $user->name = $temp . ' ' . $user->province_fa; - } else { - $user->name = $temp . ' استان ' . $user->province_fa; - } - } else { - $temp = EdarateShahri::find($request->edarate_shahri_id)->name_fa; - $user->edarate_shahri_id = $request->edarate_shahri_id; - $user->edarate_shahri_name = $temp; - - if ($request->province_id == 0) { - $user->name = $temp . ' ' . $user->province_fa; - } else { - $user->name = $temp . ' استان ' . $user->province_fa; - } + if ($request->has('avatar')) { + FileFacade::delete($user->avatar, true); + $user['avatar'] = FileFacade::save($request->file('avatar'), "avatar/{$user->id}/"); } - if (! is_null($request->password)) { - $user->password = Hash::make($request->password); - } + if (! is_null($request->password)) { + $user->password = Hash::make($request->password); + } - if (! is_null($request->permissions)) { - $user->syncPermissions(explode(',', $request->permissions)); - } + if (! is_null($request->permissions)) { + $user->syncPermissions(explode(',', $request->permissions)); + } if ($request->filled('roles')) { $user->syncRoles($request->roles); @@ -245,7 +122,7 @@ class UserManagementController extends Controller $user->save(); }); - return $this->successResponse($createdUser); + return $this->successResponse(); } public function destroy(User $user) diff --git a/app/Http/Requests/V3/Dashboard/UserManagement/StoreRequest.php b/app/Http/Requests/V3/Dashboard/UserManagement/StoreRequest.php index f936e54f..be9e5a1a 100644 --- a/app/Http/Requests/V3/Dashboard/UserManagement/StoreRequest.php +++ b/app/Http/Requests/V3/Dashboard/UserManagement/StoreRequest.php @@ -30,13 +30,13 @@ class StoreRequest extends FormRequest 'username' => 'required|unique:users,username', 'national_code' => 'unique:users,national_code', 'password' => 'required|min:8', - 'first_name' => 'required|string', - 'last_name' => 'required|string', - 'position' => 'required|string', - 'mobile' => 'required|string', - 'degree' => 'required|string', - 'major' => 'required|string', - + 'first_name' => 'string', + 'last_name' => 'string', + 'position' => 'string', + 'mobile' => 'string', + 'degree' => 'string', + 'major' => 'string', + 'avatar' => 'required|file|mimes:pdf,jpg,jpeg,png', ]; } } diff --git a/app/Http/Requests/V3/Dashboard/UserManagement/UpdateRequest.php b/app/Http/Requests/V3/Dashboard/UserManagement/UpdateRequest.php index 78a9b437..82a041fd 100644 --- a/app/Http/Requests/V3/Dashboard/UserManagement/UpdateRequest.php +++ b/app/Http/Requests/V3/Dashboard/UserManagement/UpdateRequest.php @@ -28,15 +28,16 @@ class UpdateRequest extends FormRequest 'edarate_ostani_id' => 'exists:edarate_ostanis,id', 'city_id' => 'exists:cities,id', 'edarate_shahri_id' => 'exists:edarate_shahris,id', - 'username' => ['required', Rule::unique('users', 'username')->ignore($this->user->id)], + 'username' => [Rule::unique('users', 'username')->ignore($this->user->id)], 'national_code' => ['required', Rule::unique('users', 'national_code')->ignore($this->user->id)], - 'password' => 'required|min:8', + 'password' => 'min:8', 'first_name' => 'required|string', 'last_name' => 'required|string', - 'position' => 'required|string', + 'position' => 'string', 'mobile' => 'required|string', - 'degree' => 'required|string', - 'major' => 'required|string', + 'degree' => 'string', + 'major' => 'string', + 'avatar' => 'required|file|mimes:pdf,jpg,jpeg,png', ]; } } diff --git a/app/Models/User.php b/app/Models/User.php index f640db88..be02772b 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -29,7 +29,9 @@ class User extends Authenticatable 'name', 'email', 'major', 'password', 'username', 'first_name', 'last_name', 'position', 'mobile', 'province_id', 'city_id', 'confirmed', 'enabled', 'avatar', 'city_fa', 'province_fa', 'degree', 'national_code', 'edarate_ostani_id', - 'edarate_shahri_id' + 'edarate_shahri_id', + 'edarate_ostani_name', + 'edarate_shahri_name' ]; /** diff --git a/routes/v3.php b/routes/v3.php index 3e66d40b..3d98b316 100644 --- a/routes/v3.php +++ b/routes/v3.php @@ -587,7 +587,8 @@ Route::prefix('user_management') ->controller(UserManagementController::class) ->group(function () { // Route::get('/', 'index')->name('index'); - Route::get('/', 'index')->name('index'); + Route::get('/', 'index')->name('index')->middleware( + 'permission:full-user-management|limited-user-management'); Route::post('/', 'store')->name('store'); Route::get('/{user}', 'show')->name('show'); Route::post('/{user}', 'update')->name('update');