From f9dd90f1ac979084c4919bc234cd5ff1609e5095 Mon Sep 17 00:00:00 2001 From: shahrzad011 Date: Thu, 20 Aug 2026 08:25:43 +0330 Subject: [PATCH] fix: update admin management --- .../Controllers/admin/AdminController.php | 33 ++-- resources/views/admin/admins/edit.blade.php | 186 ++++++++++++------ resources/views/admin/admins/index.blade.php | 37 +++- 3 files changed, 181 insertions(+), 75 deletions(-) diff --git a/app/Http/Controllers/admin/AdminController.php b/app/Http/Controllers/admin/AdminController.php index 9cb7933..56e557f 100644 --- a/app/Http/Controllers/admin/AdminController.php +++ b/app/Http/Controllers/admin/AdminController.php @@ -1,6 +1,5 @@ with('permissions') + $admins = Admin::with('permissions') ->latest() ->paginate(10); return view('admin.admins.index', compact('admins')); } + public function create() { - $permissions = Permission::query() - ->orderBy('name') - ->get(); + $permissions = Permission::orderBy('id')->get(); return view( 'admin.admins.create', @@ -34,6 +31,7 @@ class AdminController extends Controller ); } + public function store(AdminStoreRequest $request) { $data = $request->validated(); @@ -53,11 +51,10 @@ class AdminController extends Controller ->with('success', 'مدیر با موفقیت ایجاد شد.'); } + public function edit(Admin $admin) { - $permissions = Permission::query() - ->orderBy('name') - ->get(); + $permissions = Permission::orderBy('id')->get(); $admin->load('permissions'); @@ -67,8 +64,11 @@ class AdminController extends Controller ); } - public function update(AdminUpdateRequest $request, Admin $admin) - { + + public function update( + AdminUpdateRequest $request, + Admin $admin + ) { $data = $request->validated(); $permissions = $data['permissions'] ?? []; @@ -76,9 +76,15 @@ class AdminController extends Controller unset($data['permissions']); if (!empty($data['password'])) { - $data['password'] = Hash::make($data['password']); + + $data['password'] = Hash::make( + $data['password'] + ); + } else { + unset($data['password']); + } $admin->update($data); @@ -87,9 +93,10 @@ class AdminController extends Controller return redirect() ->route('admin.admins.index') - ->with('success', 'اطلاعات مدیر با موفقیت ویرایش شد.'); + ->with('success', 'مدیر با موفقیت ویرایش شد.'); } + public function destroy(Admin $admin) { $admin->permissions()->detach(); diff --git a/resources/views/admin/admins/edit.blade.php b/resources/views/admin/admins/edit.blade.php index 2bff933..f4cf798 100644 --- a/resources/views/admin/admins/edit.blade.php +++ b/resources/views/admin/admins/edit.blade.php @@ -270,23 +270,26 @@ {{-- دسترسی‌ها --}} -
-
+
+ +
+ +
+ سطح دسترسی +
+ + + دسترسی‌های مدیر را مدیریت کنید. + -
- سطح دسترسی
- - دسترسی‌های مدیر را مدیریت کنید. - -
@@ -294,59 +297,37 @@
- @php + @if($permissions->count()) - $selectedPermissions = old( - 'permissions', - $admin->permissions->pluck('id')->toArray() - ); +
- @endphp + @foreach($permissions as $permission) +
- @error('permissions') + permissions->contains($permission->id) ? 'checked' : '' }} + > -
- {{ $message }} -
+ - @enderror +
- - @forelse($permissions as $permission) - -
- - id, - $selectedPermissions - ))> - - + @endforeach
- @empty + @else
@@ -356,7 +337,7 @@
- @endforelse + @endif
@@ -364,6 +345,99 @@
+{{--
--}} + +{{--
--}} + +{{--
--}} + +{{--
--}} + +{{--
--}} +{{-- سطح دسترسی--}} +{{--
--}} + +{{-- --}} +{{-- دسترسی‌های مدیر را مدیریت کنید.--}} +{{-- --}} + +{{--
--}} + +{{--
--}} + + +{{--
--}} + +{{-- @php--}} + +{{-- $selectedPermissions = old(--}} +{{-- 'permissions',--}} +{{-- $admin->permissions->pluck('id')->toArray()--}} +{{-- );--}} + +{{-- @endphp--}} + + +{{-- @error('permissions')--}} + +{{--
--}} +{{-- {{ $message }}--}} +{{--
--}} + +{{-- @enderror--}} + + +{{-- @forelse($permissions as $permission)--}} + +{{--
--}} + +{{-- id,--}} +{{-- $selectedPermissions--}} +{{-- ))>--}} + +{{-- --}} + +{{--
--}} + +{{-- @empty--}} + +{{--
--}} + +{{-- --}} + +{{-- هنوز دسترسی‌ای تعریف نشده است.--}} + +{{--
--}} + +{{-- @endforelse--}} + +{{--
--}} + +{{--
--}} + +{{--
--}} +
@@ -380,17 +454,17 @@ آخرین ویرایش: - @if($admin->updated_at) + + {{ $admin->updated_at->toJalali()->format('Y/m/d H:i') }} + - {{ $type->updated_at ? $type->updated_at->toJalali()->format('Y/m/d H:i') : '-' }} @else - - + - @endif -
diff --git a/resources/views/admin/admins/index.blade.php b/resources/views/admin/admins/index.blade.php index 1439b39..1e03af0 100644 --- a/resources/views/admin/admins/index.blade.php +++ b/resources/views/admin/admins/index.blade.php @@ -101,13 +101,38 @@ {{-- دسترسی‌ها --}} - - @forelse($admin->permissions as $permission) - {{ $permission->name }} - @empty - بدون دسترسی - @endforelse + + + @if($admin->permissions->count()) + +
+ + @foreach($admin->permissions as $permission) + + + {{ $permission->name }} + + + @endforeach + +
+ + @else + + + بدون دسترسی + + + @endif + + {{-- --}} + {{-- @forelse($admin->permissions as $permission)--}} + {{-- {{ $permission->name }}--}} + {{-- @empty--}} + {{-- بدون دسترسی--}} + {{-- @endforelse--}} + {{-- --}} {{-- وضعیت --}}