fix: update admin management
This commit is contained in:
@@ -1,6 +1,5 @@
|
||||
<?php
|
||||
|
||||
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
@@ -14,19 +13,17 @@ class AdminController extends Controller
|
||||
{
|
||||
public function index()
|
||||
{
|
||||
$admins = Admin::query()
|
||||
->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();
|
||||
|
||||
@@ -270,13 +270,14 @@
|
||||
|
||||
|
||||
{{-- دسترسیها --}}
|
||||
|
||||
<div class="col-xl-4">
|
||||
|
||||
<div class="card custom-card">
|
||||
|
||||
<div class="card-header">
|
||||
|
||||
<div class="d-flex justify-content-between align-items-center">
|
||||
|
||||
<div>
|
||||
|
||||
<div class="card-title mb-1">
|
||||
@@ -291,62 +292,42 @@
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
@php
|
||||
@if($permissions->count())
|
||||
|
||||
$selectedPermissions = old(
|
||||
'permissions',
|
||||
$admin->permissions->pluck('id')->toArray()
|
||||
);
|
||||
<div class="d-flex flex-column gap-3">
|
||||
|
||||
@endphp
|
||||
@foreach($permissions as $permission)
|
||||
|
||||
<div class="form-check">
|
||||
|
||||
@error('permissions')
|
||||
|
||||
<div class="alert alert-danger py-2">
|
||||
{{ $message }}
|
||||
</div>
|
||||
|
||||
@enderror
|
||||
|
||||
|
||||
@forelse($permissions as $permission)
|
||||
|
||||
<div class="form-check form-check-lg mb-3">
|
||||
|
||||
<input class="form-check-input"
|
||||
<input
|
||||
type="checkbox"
|
||||
class="form-check-input"
|
||||
name="permissions[]"
|
||||
value="{{ $permission->id }}"
|
||||
id="permission_{{ $permission->id }}"
|
||||
@checked(in_array(
|
||||
$permission->id,
|
||||
$selectedPermissions
|
||||
))>
|
||||
{{ $admin->permissions->contains($permission->id) ? 'checked' : '' }}
|
||||
>
|
||||
|
||||
<label class="form-check-label"
|
||||
for="permission_{{ $permission->id }}">
|
||||
|
||||
<span class="fw-semibold">
|
||||
<label
|
||||
class="form-check-label"
|
||||
for="permission_{{ $permission->id }}"
|
||||
>
|
||||
{{ $permission->name }}
|
||||
</span>
|
||||
|
||||
@if($permission->description)
|
||||
|
||||
<small class="text-muted d-block mt-1">
|
||||
{{ $permission->description }}
|
||||
</small>
|
||||
|
||||
@endif
|
||||
|
||||
</label>
|
||||
|
||||
</div>
|
||||
|
||||
@empty
|
||||
@endforeach
|
||||
|
||||
</div>
|
||||
|
||||
@else
|
||||
|
||||
<div class="text-center text-muted py-4">
|
||||
|
||||
@@ -356,7 +337,7 @@
|
||||
|
||||
</div>
|
||||
|
||||
@endforelse
|
||||
@endif
|
||||
|
||||
</div>
|
||||
|
||||
@@ -364,6 +345,99 @@
|
||||
|
||||
</div>
|
||||
|
||||
{{-- <div class="col-xl-4">--}}
|
||||
|
||||
{{-- <div class="card custom-card">--}}
|
||||
|
||||
{{-- <div class="card-header">--}}
|
||||
|
||||
{{-- <div>--}}
|
||||
|
||||
{{-- <div class="card-title mb-1">--}}
|
||||
{{-- سطح دسترسی--}}
|
||||
{{-- </div>--}}
|
||||
|
||||
{{-- <small class="text-muted">--}}
|
||||
{{-- دسترسیهای مدیر را مدیریت کنید.--}}
|
||||
{{-- </small>--}}
|
||||
|
||||
{{-- </div>--}}
|
||||
|
||||
{{-- </div>--}}
|
||||
|
||||
|
||||
{{-- <div class="card-body">--}}
|
||||
|
||||
{{-- @php--}}
|
||||
|
||||
{{-- $selectedPermissions = old(--}}
|
||||
{{-- 'permissions',--}}
|
||||
{{-- $admin->permissions->pluck('id')->toArray()--}}
|
||||
{{-- );--}}
|
||||
|
||||
{{-- @endphp--}}
|
||||
|
||||
|
||||
{{-- @error('permissions')--}}
|
||||
|
||||
{{-- <div class="alert alert-danger py-2">--}}
|
||||
{{-- {{ $message }}--}}
|
||||
{{-- </div>--}}
|
||||
|
||||
{{-- @enderror--}}
|
||||
|
||||
|
||||
{{-- @forelse($permissions as $permission)--}}
|
||||
|
||||
{{-- <div class="form-check form-check-lg mb-3">--}}
|
||||
|
||||
{{-- <input class="form-check-input"--}}
|
||||
{{-- type="checkbox"--}}
|
||||
{{-- name="permissions[]"--}}
|
||||
{{-- value="{{ $permission->id }}"--}}
|
||||
{{-- id="permission_{{ $permission->id }}"--}}
|
||||
{{-- @checked(in_array(--}}
|
||||
{{-- $permission->id,--}}
|
||||
{{-- $selectedPermissions--}}
|
||||
{{-- ))>--}}
|
||||
|
||||
{{-- <label class="form-check-label"--}}
|
||||
{{-- for="permission_{{ $permission->id }}">--}}
|
||||
|
||||
{{-- <span class="fw-semibold">--}}
|
||||
{{-- {{ $permission->name }}--}}
|
||||
{{-- </span>--}}
|
||||
|
||||
{{-- @if($permission->description)--}}
|
||||
|
||||
{{-- <small class="text-muted d-block mt-1">--}}
|
||||
{{-- {{ $permission->description }}--}}
|
||||
{{-- </small>--}}
|
||||
|
||||
{{-- @endif--}}
|
||||
|
||||
{{-- </label>--}}
|
||||
|
||||
{{-- </div>--}}
|
||||
|
||||
{{-- @empty--}}
|
||||
|
||||
{{-- <div class="text-center text-muted py-4">--}}
|
||||
|
||||
{{-- <i class="ri-shield-keyhole-line fs-2 d-block mb-2"></i>--}}
|
||||
|
||||
{{-- هنوز دسترسیای تعریف نشده است.--}}
|
||||
|
||||
{{-- </div>--}}
|
||||
|
||||
{{-- @endforelse--}}
|
||||
|
||||
{{-- </div>--}}
|
||||
|
||||
{{-- </div>--}}
|
||||
|
||||
{{-- </div>--}}
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
@@ -380,17 +454,17 @@
|
||||
<i class="ri-information-line me-1"></i>
|
||||
|
||||
آخرین ویرایش:
|
||||
|
||||
@if($admin->updated_at)
|
||||
|
||||
<td>
|
||||
{{ $admin->updated_at->toJalali()->format('Y/m/d H:i') }}
|
||||
</td>
|
||||
|
||||
<td>{{ $type->updated_at ? $type->updated_at->toJalali()->format('Y/m/d H:i') : '-' }}</td>
|
||||
@else
|
||||
|
||||
-
|
||||
<td>-</td>
|
||||
|
||||
@endif
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
@@ -101,13 +101,38 @@
|
||||
</td>
|
||||
|
||||
{{-- دسترسیها --}}
|
||||
<td style="min-width: 200px; max-width: 280px; white-space: normal;">
|
||||
@forelse($admin->permissions as $permission)
|
||||
<span class="badge bg-primary-subtle text-primary mb-1">{{ $permission->name }}</span>
|
||||
@empty
|
||||
<span class="text-muted fs-12">بدون دسترسی</span>
|
||||
@endforelse
|
||||
<td>
|
||||
|
||||
@if($admin->permissions->count())
|
||||
|
||||
<div class="d-flex flex-wrap gap-1">
|
||||
|
||||
@foreach($admin->permissions as $permission)
|
||||
|
||||
<span class="badge bg-light text-dark border">
|
||||
{{ $permission->name }}
|
||||
</span>
|
||||
|
||||
@endforeach
|
||||
|
||||
</div>
|
||||
|
||||
@else
|
||||
|
||||
<span class="text-muted">
|
||||
بدون دسترسی
|
||||
</span>
|
||||
|
||||
@endif
|
||||
|
||||
</td>
|
||||
{{-- <td style="min-width: 200px; max-width: 280px; white-space: normal;">--}}
|
||||
{{-- @forelse($admin->permissions as $permission)--}}
|
||||
{{-- <span class="badge bg-primary-subtle text-primary mb-1">{{ $permission->name }}</span>--}}
|
||||
{{-- @empty--}}
|
||||
{{-- <span class="text-muted fs-12">بدون دسترسی</span>--}}
|
||||
{{-- @endforelse--}}
|
||||
{{-- </td>--}}
|
||||
|
||||
{{-- وضعیت --}}
|
||||
<td>
|
||||
|
||||
Reference in New Issue
Block a user