feat:implement managing admins for admin side

This commit is contained in:
2026-08-19 13:29:18 +03:30
parent a4acf20615
commit 3b98de3f01
2 changed files with 313 additions and 0 deletions
@@ -0,0 +1,189 @@
@extends('admin.layouts.app')
@section('breadcrumb')
<div>
<h1 class="page-title fw-medium fs-18 mb-2">افزودن مدیر جدید</h1>
<div>
<nav>
<ol class="breadcrumb mb-0">
<li class="breadcrumb-item"><a href="{{route('admin.admins.index')}}">مدیران</a></li>
<li class="breadcrumb-item active" aria-current="page">افزودن مدیر</li>
</ol>
</nav>
</div>
</div>
@endsection
@section('content')
<div class="container-fluid pt-4">
<div class="row">
<div class="col-xl-12">
<form action="{{ route('admin.admins.store') }}"
method="POST"
enctype="multipart/form-data">
@csrf
<div class="card custom-card">
<div class="card-header">
<div class="card-title">ایجاد مدیر</div>
</div>
<div class="card-body">
<div class="row gy-3">
<div class="col-xl-6">
<label class="form-label">نام</label>
<input type="text" class="form-control"
name="first_name"
value="{{ old('first_name') }}"
placeholder="نام را وارد کنید">
@error('first_name')
<div class="text-danger mt-1">{{ $message }}</div>
@enderror
</div>
<div class="col-xl-6">
<label class="form-label">نام خانوادگی</label>
<input type="text"
class="form-control"
name="last_name"
value="{{ old('last_name') }}"
placeholder="نام خانوادگی را وارد کنید">
@error('last_name')
<div class="text-danger mt-1">{{ $message }}</div>
@enderror
</div>
<div class="col-xl-6">
<label class="form-label">نام کاربری</label>
<input type="text" class="form-control"
name="username"
value="{{ old('username') }}"
placeholder="نام کاربری">
@error('username')
<div class="text-danger mt-1">{{ $message }}</div>
@enderror
</div>
<div class="col-xl-6">
<label class="form-label">ایمیل</label>
<input type="email"
class="form-control"
name="email"
value="{{ old('email') }}"
placeholder="ایمیل را وارد کنید">
@error('email')
<div class="text-danger mt-1">{{ $message }}</div>
@enderror
</div>
<div class="col-xl-6">
<label class="form-label">رمز عبور</label>
<input type="password"
class="form-control"
name="password"
placeholder="رمز عبور را وارد کنید">
@error('password')
<div class="text-danger mt-1">{{ $message }}</div>
@enderror
</div>
<div class="col-xl-6">
<label class="form-label">وضعیت</label>
<select class="form-control" name="status">
<option value="{{ \App\Enums\AdminStatus::ENABLE->value }}"
@selected(old('status', \App\Enums\AdminStatus::ENABLE->value) == \App\Enums\AdminStatus::ENABLE->value)>
فعال
</option>
<option value="{{ \App\Enums\AdminStatus::DISABLE->value }}"
@selected(old('status') == \App\Enums\AdminStatus::DISABLE->value)>
غیرفعال
</option>
</select>
@error('status')
<div class="text-danger mt-1">{{ $message }}</div>
@enderror
</div>
{{-- Permissions --}}
<div class="col-xl-12 mt-4">
<div class="card border shadow-sm">
{{-- Header --}}
<div class="card-header bg-light">
<div class="card-title mb-0 fw-semibold">
دسترسی‌های مدیر
</div>
</div>
{{-- Body --}}
<div class="card-body">
<div class="row gy-3">
@foreach($permissions as $permission)
<div class="col-xl-3 col-lg-4 col-md-6">
<div class="form-check border rounded p-3">
<input
class="form-check-input"
type="checkbox"
name="permissions[]"
value="{{ $permission->id }}"
id="permission_{{ $permission->id }}"
@checked(
in_array(
$permission->id,
old('permissions', [])
)
)
>
<label
class="form-check-label ms-2"
for="permission_{{ $permission->id }}"
>
{{ $permission->title }}
</label>
</div>
</div>
@endforeach
</div>
@error('permissions')
<div class="text-danger mt-3">
{{ $message }}
</div>
@enderror
</div>
</div>
</div>
</div>
</div>
<div class="card-footer text-end">
<button type="submit" class="btn btn-primary">ثبت اطلاعات</button>
</div>
</div>
</form>
</div>
</div>
</div>
@endsection
+124
View File
@@ -0,0 +1,124 @@
@extends('admin.layouts.app')
@section('breadcrumb')
<div>
<h1 class="page-title fw-medium fs-18 mb-2">ویرایش مدیر</h1>
<div>
<nav>
<ol class="breadcrumb mb-0">
<li class="breadcrumb-item"><a href="{{route('admin.admins.index')}}">مدیران</a></li>
<li class="breadcrumb-item active" aria-current="page">ویرایش مدیر</li>
</ol>
</nav>
</div>
</div>
@endsection
@section('content')
<div class="container-fluid pt-4">
<div class="row">
<div class="col-xl-12">
<form action="{{ route('admin.admins.update',$admin) }}"
method="POST"
enctype="multipart/form-data">
@csrf
@method('PUT')
<div class="card custom-card">
<div class="card-header">
<div class="card-title">ویرایش مدیر</div>
</div>
<div class="card-body">
<div class="row gy-3">
<div class="col-xl-6">
<label class="form-label">نام</label>
<input type="text" class="form-control" name="first_name"
value="{{ old('first_name' ,$admin->first_name) }}"
placeholder="نام را وارد کنید">
@error('first_name')
<div class="text-danger mt-1">{{ $message }}</div>
@enderror
</div>
<div class="col-xl-6">
<label class="form-label">نام خانوادگی</label>
<input type="text" class="form-control"
name="last_name"
value="{{ old('last_name',$admin->last_name) }}"
placeholder="نام خانوادگی را وارد کنید">
@error('last_name')
<div class="text-danger mt-1">{{ $message }}</div>
@enderror
</div>
<div class="col-xl-6">
<label class="form-label">نام کاربری</label>
<input type="text" class="form-control"
name="username"
value="{{ old('username',$admin->username) }}"
placeholder="نام کاربری">
@error('username')
<div class="text-danger mt-1">{{ $message }}</div>
@enderror
</div>
<div class="col-xl-6">
<label class="form-label">ایمیل</label>
<input type="email" class="form-control"
name="email"
value="{{ old('email',$admin->email) }}"
placeholder="ایمیل را وارد کنید">
@error('email')
<div class="text-danger mt-1">{{ $message }}</div>
@enderror
</div>
<div class="col-xl-6">
<label class="form-label">رمز عبور (در صورت تغییر)</label>
<input type="password"
class="form-control"
name="password"
placeholder="رمز عبور را وارد کنید">
@error('password')
<div class="text-danger mt-1">{{ $message }}</div>
@enderror
</div>
<div class="col-xl-6">
<label class="form-label">وضعیت</label>
<select class="form-control" name="status">
<option value="{{ \App\Enums\AdminStatus::ENABLE->value }}"
{{ old('status', $admin->status) == \App\Enums\AdminStatus::ENABLE->value ? 'selected' : '' }}>
فعال
</option>
<option value="{{ \App\Enums\AdminStatus::DISABLE->value }}"
{{ old('status', $admin->status) == \App\Enums\AdminStatus::DISABLE->value ? 'selected' : '' }}>
غیرفعال
</option>
</select>
@error('status')
<div class="text-danger mt-1">{{ $message }}</div>
@enderror
</div>
</div>
</div>
<div class="card-footer text-end">
<button type="submit" class="btn btn-primary">ذخیره تغییرات</button>
</div>
</div>
</form>
</div>
</div>
</div>
@endsection