fix: update admin management views
This commit is contained in:
@@ -1,3 +1,308 @@
|
|||||||
|
@extends('admin.layouts.app')
|
||||||
|
|
||||||
|
@section('title', 'ایجاد مدیر جدید')
|
||||||
|
|
||||||
|
@section('breadcrumb')
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<!-- Nothing worth having comes easy. - Theodore Roosevelt -->
|
|
||||||
|
<h1 class="page-title fw-medium fs-18 mb-2">
|
||||||
|
ایجاد مدیر جدید
|
||||||
|
</h1>
|
||||||
|
|
||||||
|
<nav>
|
||||||
|
|
||||||
|
<ol class="breadcrumb mb-0">
|
||||||
|
|
||||||
|
<li class="breadcrumb-item">
|
||||||
|
<a href="{{ route('admin.dashboard.index') }}">
|
||||||
|
داشبورد
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="breadcrumb-item">
|
||||||
|
<a href="{{ route('admin.admins.index') }}">
|
||||||
|
مدیران
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="breadcrumb-item active">
|
||||||
|
ایجاد مدیر
|
||||||
|
</li>
|
||||||
|
|
||||||
|
</ol>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@endsection
|
||||||
|
|
||||||
|
|
||||||
|
@section('content')
|
||||||
|
|
||||||
|
<div class="container-fluid pt-4">
|
||||||
|
|
||||||
|
<form
|
||||||
|
action="{{ route('admin.admins.store') }}"
|
||||||
|
method="POST"
|
||||||
|
>
|
||||||
|
|
||||||
|
@csrf
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
|
||||||
|
<div class="col-xl-8">
|
||||||
|
|
||||||
|
<div class="card custom-card">
|
||||||
|
|
||||||
|
<div class="card-header">
|
||||||
|
<h5 class="mb-0">
|
||||||
|
اطلاعات مدیر
|
||||||
|
</h5>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="card-body">
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
|
||||||
|
{{-- نام کامل --}}
|
||||||
|
<div class="col-md-6 mb-3">
|
||||||
|
|
||||||
|
<label class="form-label">
|
||||||
|
نام و نام خانوادگی
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<input
|
||||||
|
type="text"
|
||||||
|
name="full_name"
|
||||||
|
class="form-control @error('full_name') is-invalid @enderror"
|
||||||
|
value="{{ old('full_name') }}"
|
||||||
|
>
|
||||||
|
|
||||||
|
@error('full_name')
|
||||||
|
<div class="invalid-feedback">
|
||||||
|
{{ $message }}
|
||||||
|
</div>
|
||||||
|
@enderror
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
{{-- نام کاربری --}}
|
||||||
|
<div class="col-md-6 mb-3">
|
||||||
|
|
||||||
|
<label class="form-label">
|
||||||
|
نام کاربری
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<input
|
||||||
|
type="text"
|
||||||
|
name="username"
|
||||||
|
class="form-control @error('username') is-invalid @enderror"
|
||||||
|
value="{{ old('username') }}"
|
||||||
|
>
|
||||||
|
|
||||||
|
@error('username')
|
||||||
|
<div class="invalid-feedback">
|
||||||
|
{{ $message }}
|
||||||
|
</div>
|
||||||
|
@enderror
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
{{-- ایمیل --}}
|
||||||
|
<div class="col-md-6 mb-3">
|
||||||
|
|
||||||
|
<label class="form-label">
|
||||||
|
ایمیل
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<input
|
||||||
|
type="email"
|
||||||
|
name="email"
|
||||||
|
class="form-control @error('email') is-invalid @enderror"
|
||||||
|
value="{{ old('email') }}"
|
||||||
|
>
|
||||||
|
|
||||||
|
@error('email')
|
||||||
|
<div class="invalid-feedback">
|
||||||
|
{{ $message }}
|
||||||
|
</div>
|
||||||
|
@enderror
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
{{-- موبایل --}}
|
||||||
|
<div class="col-md-6 mb-3">
|
||||||
|
|
||||||
|
<label class="form-label">
|
||||||
|
موبایل
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<input
|
||||||
|
type="text"
|
||||||
|
name="mobile"
|
||||||
|
class="form-control @error('mobile') is-invalid @enderror"
|
||||||
|
value="{{ old('mobile') }}"
|
||||||
|
>
|
||||||
|
|
||||||
|
@error('mobile')
|
||||||
|
<div class="invalid-feedback">
|
||||||
|
{{ $message }}
|
||||||
|
</div>
|
||||||
|
@enderror
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
{{-- رمز --}}
|
||||||
|
<div class="col-md-6 mb-3">
|
||||||
|
|
||||||
|
<label class="form-label">
|
||||||
|
رمز عبور
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<input
|
||||||
|
type="password"
|
||||||
|
name="password"
|
||||||
|
class="form-control @error('password') is-invalid @enderror"
|
||||||
|
>
|
||||||
|
|
||||||
|
@error('password')
|
||||||
|
<div class="invalid-feedback">
|
||||||
|
{{ $message }}
|
||||||
|
</div>
|
||||||
|
@enderror
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
{{-- تکرار رمز --}}
|
||||||
|
<div class="col-md-6 mb-3">
|
||||||
|
|
||||||
|
<label class="form-label">
|
||||||
|
تکرار رمز عبور
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<input
|
||||||
|
type="password"
|
||||||
|
name="password_confirmation"
|
||||||
|
class="form-control"
|
||||||
|
>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
{{-- ستون سمت چپ --}}
|
||||||
|
<div class="col-xl-4">
|
||||||
|
|
||||||
|
{{-- وضعیت --}}
|
||||||
|
<div class="card custom-card mb-3">
|
||||||
|
|
||||||
|
<div class="card-header">
|
||||||
|
وضعیت
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="card-body">
|
||||||
|
|
||||||
|
<select
|
||||||
|
name="status"
|
||||||
|
class="form-select"
|
||||||
|
>
|
||||||
|
<option value="1">
|
||||||
|
فعال
|
||||||
|
</option>
|
||||||
|
|
||||||
|
<option value="0">
|
||||||
|
غیرفعال
|
||||||
|
</option>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
{{-- دسترسیها --}}
|
||||||
|
<div class="card custom-card mb-3">
|
||||||
|
|
||||||
|
<div class="card-header">
|
||||||
|
دسترسیها
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="card-body">
|
||||||
|
|
||||||
|
@foreach($permissions ?? [] as $permission)
|
||||||
|
|
||||||
|
<div class="form-check mb-2">
|
||||||
|
|
||||||
|
<input
|
||||||
|
class="form-check-input"
|
||||||
|
type="checkbox"
|
||||||
|
name="permissions[]"
|
||||||
|
value="{{ $permission->id }}"
|
||||||
|
>
|
||||||
|
|
||||||
|
<label class="form-check-label">
|
||||||
|
|
||||||
|
{{ $permission->title }}
|
||||||
|
|
||||||
|
</label>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
@endforeach
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
{{-- دکمه ها --}}
|
||||||
|
<div class="card custom-card">
|
||||||
|
|
||||||
|
<div class="card-body d-grid gap-2">
|
||||||
|
|
||||||
|
<button
|
||||||
|
type="submit"
|
||||||
|
class="btn btn-primary"
|
||||||
|
>
|
||||||
|
|
||||||
|
<i class="ri-save-line me-1"></i>
|
||||||
|
|
||||||
|
ذخیره مدیر
|
||||||
|
|
||||||
|
</button>
|
||||||
|
|
||||||
|
|
||||||
|
<a
|
||||||
|
href="{{ route('admin.admins.index') }}"
|
||||||
|
class="btn btn-light"
|
||||||
|
>
|
||||||
|
بازگشت
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</form>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
@endsection
|
||||||
|
|||||||
@@ -1,3 +1,427 @@
|
|||||||
|
@extends('admin.layouts.app')
|
||||||
|
|
||||||
|
@section('title', 'ویرایش مدیر')
|
||||||
|
|
||||||
|
@section('breadcrumb')
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<!-- He who is contented is rich. - Laozi -->
|
|
||||||
|
<h1 class="page-title fw-medium fs-18 mb-2">
|
||||||
|
ویرایش مدیر
|
||||||
|
</h1>
|
||||||
|
|
||||||
|
<nav>
|
||||||
|
|
||||||
|
<ol class="breadcrumb mb-0">
|
||||||
|
|
||||||
|
<li class="breadcrumb-item">
|
||||||
|
|
||||||
|
<a href="{{ route('admin.dashboard.index') }}">
|
||||||
|
داشبورد
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="breadcrumb-item">
|
||||||
|
|
||||||
|
<a href="{{ route('admin.admins.index') }}">
|
||||||
|
مدیریت مدیران
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="breadcrumb-item active">
|
||||||
|
ویرایش مدیر
|
||||||
|
</li>
|
||||||
|
|
||||||
|
</ol>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@endsection
|
||||||
|
|
||||||
|
|
||||||
|
@section('content')
|
||||||
|
|
||||||
|
<div class="container-fluid pt-4">
|
||||||
|
|
||||||
|
<form action="{{ route('admin.admins.update', $admin) }}"
|
||||||
|
method="POST">
|
||||||
|
|
||||||
|
@csrf
|
||||||
|
|
||||||
|
@method('PUT')
|
||||||
|
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
|
||||||
|
{{-- اطلاعات مدیر --}}
|
||||||
|
|
||||||
|
<div class="col-xl-8">
|
||||||
|
|
||||||
|
<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">
|
||||||
|
نام و نام خانوادگی
|
||||||
|
<span class="text-danger">*</span>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<input type="text"
|
||||||
|
name="full_name"
|
||||||
|
value="{{ old('full_name', $admin->full_name) }}"
|
||||||
|
class="form-control @error('full_name') is-invalid @enderror"
|
||||||
|
placeholder="نام و نام خانوادگی">
|
||||||
|
|
||||||
|
@error('full_name')
|
||||||
|
|
||||||
|
<div class="invalid-feedback">
|
||||||
|
{{ $message }}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
@enderror
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
{{-- username --}}
|
||||||
|
|
||||||
|
<div class="col-xl-6">
|
||||||
|
|
||||||
|
<label class="form-label">
|
||||||
|
نام کاربری
|
||||||
|
<span class="text-danger">*</span>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<input type="text"
|
||||||
|
name="username"
|
||||||
|
value="{{ old('username', $admin->username) }}"
|
||||||
|
class="form-control @error('username') is-invalid @enderror"
|
||||||
|
placeholder="نام کاربری">
|
||||||
|
|
||||||
|
@error('username')
|
||||||
|
|
||||||
|
<div class="invalid-feedback">
|
||||||
|
{{ $message }}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
@enderror
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
{{-- email --}}
|
||||||
|
|
||||||
|
<div class="col-xl-6">
|
||||||
|
|
||||||
|
<label class="form-label">
|
||||||
|
ایمیل
|
||||||
|
<span class="text-danger">*</span>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<input type="email"
|
||||||
|
name="email"
|
||||||
|
value="{{ old('email', $admin->email) }}"
|
||||||
|
class="form-control @error('email') is-invalid @enderror"
|
||||||
|
placeholder="example@gmail.com"
|
||||||
|
dir="ltr">
|
||||||
|
|
||||||
|
@error('email')
|
||||||
|
|
||||||
|
<div class="invalid-feedback">
|
||||||
|
{{ $message }}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
@enderror
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
{{-- mobile --}}
|
||||||
|
|
||||||
|
<div class="col-xl-6">
|
||||||
|
|
||||||
|
<label class="form-label">
|
||||||
|
موبایل
|
||||||
|
<span class="text-danger">*</span>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<input type="text"
|
||||||
|
name="mobile"
|
||||||
|
value="{{ old('mobile', $admin->mobile) }}"
|
||||||
|
class="form-control @error('mobile') is-invalid @enderror"
|
||||||
|
placeholder="09123456789"
|
||||||
|
dir="ltr">
|
||||||
|
|
||||||
|
@error('mobile')
|
||||||
|
|
||||||
|
<div class="invalid-feedback">
|
||||||
|
{{ $message }}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
@enderror
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
{{-- password --}}
|
||||||
|
|
||||||
|
<div class="col-xl-6">
|
||||||
|
|
||||||
|
<label class="form-label">
|
||||||
|
رمز عبور جدید
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<input type="password"
|
||||||
|
name="password"
|
||||||
|
class="form-control @error('password') is-invalid @enderror"
|
||||||
|
placeholder="در صورت تغییر وارد کنید">
|
||||||
|
|
||||||
|
<small class="text-muted d-block mt-1">
|
||||||
|
اگر نمیخواهید رمز تغییر کند، این قسمت را خالی بگذارید.
|
||||||
|
</small>
|
||||||
|
|
||||||
|
@error('password')
|
||||||
|
|
||||||
|
<div class="invalid-feedback">
|
||||||
|
{{ $message }}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
@enderror
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
{{-- password confirmation --}}
|
||||||
|
|
||||||
|
<div class="col-xl-6">
|
||||||
|
|
||||||
|
<label class="form-label">
|
||||||
|
تکرار رمز عبور جدید
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<input type="password"
|
||||||
|
name="password_confirmation"
|
||||||
|
class="form-control"
|
||||||
|
placeholder="تکرار رمز جدید">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
{{-- status --}}
|
||||||
|
|
||||||
|
<div class="col-xl-6">
|
||||||
|
|
||||||
|
<label class="form-label">
|
||||||
|
وضعیت
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<select name="status"
|
||||||
|
class="form-select @error('status') is-invalid @enderror">
|
||||||
|
|
||||||
|
<option value="1"
|
||||||
|
@selected(old('status', $admin->status) == 1)>
|
||||||
|
فعال
|
||||||
|
</option>
|
||||||
|
|
||||||
|
<option value="0"
|
||||||
|
@selected(old('status', $admin->status) == 0)>
|
||||||
|
غیرفعال
|
||||||
|
</option>
|
||||||
|
|
||||||
|
</select>
|
||||||
|
|
||||||
|
@error('status')
|
||||||
|
|
||||||
|
<div class="invalid-feedback">
|
||||||
|
{{ $message }}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
@enderror
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</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>
|
||||||
|
|
||||||
|
|
||||||
|
{{-- دکمهها --}}
|
||||||
|
|
||||||
|
<div class="card custom-card">
|
||||||
|
|
||||||
|
<div class="card-body">
|
||||||
|
|
||||||
|
<div class="d-flex justify-content-between align-items-center">
|
||||||
|
|
||||||
|
<div class="text-muted fs-12">
|
||||||
|
|
||||||
|
<i class="ri-information-line me-1"></i>
|
||||||
|
|
||||||
|
آخرین ویرایش:
|
||||||
|
|
||||||
|
@if($admin->updated_at)
|
||||||
|
|
||||||
|
|
||||||
|
<td>{{ $type->updated_at ? $type->updated_at->toJalali()->format('Y/m/d H:i') : '-' }}</td>
|
||||||
|
@else
|
||||||
|
|
||||||
|
-
|
||||||
|
|
||||||
|
@endif
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="d-flex gap-2">
|
||||||
|
|
||||||
|
<a href="{{ route('admin.admins.index') }}"
|
||||||
|
class="btn btn-light">
|
||||||
|
|
||||||
|
انصراف
|
||||||
|
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<button type="submit"
|
||||||
|
class="btn btn-primary">
|
||||||
|
|
||||||
|
<i class="ri-save-line me-1"></i>
|
||||||
|
|
||||||
|
ذخیره تغییرات
|
||||||
|
|
||||||
|
</button>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</form>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
@endsection
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user