diff --git a/app/Enums/Admin/AdminPermission.php b/app/Enums/Admin/AdminPermission.php new file mode 100644 index 0000000..1fcfca8 --- /dev/null +++ b/app/Enums/Admin/AdminPermission.php @@ -0,0 +1,25 @@ + 'مدیریت مدیران', + self::MANAGE_TOURS => 'مدیریت تورها', + self::MANAGE_FLIGHTS => 'مدیریت پروازها', + self::MANAGE_COMMENTS => 'مدیریت نظرات', + self::MANAGE_USERS => 'مدیریت کاربران', + self::MANAGE_SETTINGS => 'تنظیمات سایت', + }; + } +} diff --git a/app/Http/Controllers/Admin/AdminController.php b/app/Http/Controllers/Admin/AdminController.php new file mode 100644 index 0000000..f80a85a --- /dev/null +++ b/app/Http/Controllers/Admin/AdminController.php @@ -0,0 +1,199 @@ +when($request->filled('search'), function (Builder $query) use ($request) { + $search = $request->input('search'); + + $query->whereAny([ + 'first_name', + 'last_name', + 'username', + 'email' + ], 'LIKE', "%$search%"); + + }) + ->when($request->filled('sort'), function (Builder $query) use ($request) { + $sort = $request->input('sort'); + switch ($sort) { + + case 'name_desc': + { + $query + ->orderByDesc('first_name'); + + break; + } + case 'email': + { + $query + ->orderBy('email'); + + break; + } + case 'newest': + { + $query + ->orderByDesc('created_at'); + + break; + } + case 'name_asc': + default: + { + $query + ->orderBy('first_name'); + } + + } + }, function (Builder $query) { + $query->orderBy('first_name'); + }) + ->paginate() + ->withQueryString(); + + return view('admin.admins.index', compact('title', 'admins')); + } + + public function edit(Admin $admin) + { + return view('admin.admins.edit', compact('admin')); + } + + public function create() + { + $title = 'ایجاد کاربر جدید'; + return view('admin.admins.create'); + } + + + public function store(AdminStoreRequest $request) + { + $data = $request->validated(); + + $avatarPath = null; + + DB::beginTransaction(); + + try { + $admin = Admin::create([ + 'first_name' => $data['first_name'], + 'last_name' => $data['last_name'], + 'username' => $data['username'], + 'email' => $data['email'] ?? null, + 'mobile' => $data['mobile'] ?? null, + 'password' => Hash::make($data['password']), + 'role' => $data['role'], + 'status' => $data['status'], + ]); + + if ($request->hasFile('image')) { + $image = $request->file('image'); + + $imageName = $admin->id + . '_' + . time() + . '_' + . rand(11111, 99999) + . '.' + . $image->extension(); + + $avatarPath = $image->storeAs( + 'admin_avatars', + $imageName, + 'public' + ); + + $file = File::create([ + 'name' => $imageName, + 'size' => $image->getSize(), + 'original_name' => $image->getClientOriginalName(), + 'path' => $avatarPath, + 'extension' => $image->extension(), + ]); + +// AdminAvatar::create([ +// 'admin_id' => $admin->id, +// 'file_id' => $file->id, +// ]); + } + + foreach ($data['permissions'] as $permission) { + AdminPermission::create([ + 'admin_id' => $admin->id, + 'permission' => $permission, + ]); + } + + DB::commit(); + + return redirect() + ->route('admin.admins.index') + ->with('success', 'مدیر جدید با موفقیت ایجاد شد.'); + + } catch (\Throwable $exception) { + DB::rollBack(); + + if ($avatarPath) { + Storage::disk('public')->delete($avatarPath); + } + + Log::error('خطا در ایجاد مدیر جدید', [ + 'message' => $exception->getMessage(), + 'file' => $exception->getFile(), + 'line' => $exception->getLine(), + ]); + + return back() + ->withInput( + $request->except([ + 'password', + 'password_confirmation', + 'image', + ]) + ) + ->with('error', 'خطایی هنگام ایجاد مدیر رخ داد.'); + } + } + + + public function destroy() + { + + } + + public function trash() + { + + } + + public function restore() + { + + } + + public function forceDelete() + { + + } +} diff --git a/app/Http/Middleware/Admin/CheckAdminPermission.php b/app/Http/Middleware/Admin/CheckAdminPermission.php new file mode 100644 index 0000000..0d6ab1f --- /dev/null +++ b/app/Http/Middleware/Admin/CheckAdminPermission.php @@ -0,0 +1,26 @@ +user(); + + if (! auth('admin')->user()?->hasPermission($permission)) { + abort(403); + } + + return $next($request); + } +} diff --git a/app/Http/Middleware/Admin/CheckSuperAdmin.php b/app/Http/Middleware/Admin/CheckSuperAdmin.php new file mode 100644 index 0000000..f8b1e1a --- /dev/null +++ b/app/Http/Middleware/Admin/CheckSuperAdmin.php @@ -0,0 +1,25 @@ +user()?->role !== AdminRole::SUPERADMIN) { + abort(403); + } + + return $next($request); + } +} diff --git a/app/Http/Requests/Admin/AdminStoreRequest.php b/app/Http/Requests/Admin/AdminStoreRequest.php new file mode 100644 index 0000000..393bd27 --- /dev/null +++ b/app/Http/Requests/Admin/AdminStoreRequest.php @@ -0,0 +1,92 @@ +|string> + */ + public function rules(): array + { + return [ + 'first_name' => [ + 'required', + 'string', + 'min:2', + 'max:64', + 'persian_alpha' + ], + 'last_name' => [ + 'required', + 'string', + 'min:2', + 'max:64', + 'persian_alpha' + ], + 'username' => [ + 'required', + 'string', + 'min:2', + 'max:100', + 'regex:/^[A-Za-z0-9_]+$/', + 'unique:admins,username' + ], + 'email' => [ + 'nullable', + 'email', + 'max:150', + 'unique:users,email' + ], + 'mobile' => [ + 'nullable', + 'string', + 'ir_mobile:zero' + ], + 'password' => [ + 'required', + 'min:8', + 'max:255', + 'alpha_num', + ], + 'role' => [ + 'required', + Rule::enum(AdminRole::class), + ], + 'status' => [ + 'required', + Rule::enum(AdminStatus::class), + ], + 'permissions' => [ + 'nullable', + 'array', + 'min:1', + ], + + 'permissions.*' => [ + 'required', + 'string', + 'distinct', + Rule::enum(AdminPermission::class), + ], + ]; + } +} diff --git a/app/Models/Admin.php b/app/Models/Admin.php index eab3a3a..d417f31 100644 --- a/app/Models/Admin.php +++ b/app/Models/Admin.php @@ -6,6 +6,8 @@ namespace App\Models; +use App\Enums\Admin\AdminRole; +use App\Enums\Admin\AdminStatus; use Carbon\Carbon; use Illuminate\Database\Eloquent\Collection; use Illuminate\Database\Eloquent\SoftDeletes; @@ -42,8 +44,8 @@ class Admin extends User protected $casts = [ 'file_id' => 'int', - 'role' => 'int', - 'status' => 'int', + 'role' => AdminRole::class, + 'status' => AdminStatus::class, 'last_login_at' => 'datetime' ]; @@ -73,4 +75,18 @@ class Admin extends User { return $this->hasMany(Comment::class); } + public function permissions() + { + return $this->hasMany(AdminPermission::class); + } + public function hasPermission(string $permission): bool + { + if ($this->role === AdminRole::SUPERADMIN) { + return true; + } + + return $this->permissions() + ->where('permission', $permission) + ->exists(); + } } diff --git a/app/Models/AdminPermission.php b/app/Models/AdminPermission.php new file mode 100644 index 0000000..f798e5a --- /dev/null +++ b/app/Models/AdminPermission.php @@ -0,0 +1,41 @@ + 'int' + ]; + + protected $fillable = [ + 'admin_id', + 'permission' + ]; + + public function admin() + { + return $this->belongsTo(Admin::class); + } +} diff --git a/bootstrap/app.php b/bootstrap/app.php index aa5ae03..7c476aa 100644 --- a/bootstrap/app.php +++ b/bootstrap/app.php @@ -15,11 +15,20 @@ return Application::configure(basePath: dirname(__DIR__)) health: '/up', ) ->withMiddleware(function (Middleware $middleware) { + $middleware->redirectGuestsTo(function (Illuminate\Http\Request $request) { + return $request->is('admin') || $request->is('admin/*') + ? route('admin.auth.login.index') + : route('auth.login.index'); + }); $middleware->redirectUsersTo(function (Illuminate\Http\Request $request) { return $request->is('admin') || $request->is('admin/*') ? route('admin.dashboard.index') : route('index'); }); + $middleware->alias([ + 'admin.super' => \App\Http\Middleware\Admin\CheckSuperAdmin::class, + 'admin.permission' => \App\Http\Middleware\Admin\CheckAdminPermission::class, + ]); }) ->withExceptions(function (Exceptions $exceptions) { // diff --git a/resources/views/admin/admins/create.blade.php b/resources/views/admin/admins/create.blade.php new file mode 100644 index 0000000..c008428 --- /dev/null +++ b/resources/views/admin/admins/create.blade.php @@ -0,0 +1,440 @@ +@extends('admin.layouts.app') + +@section('breadcrumb') +
+

+ افزودن مدیر جدید +

+ +
+ +
+
+@endsection + + +@section('content') +
+ +
+ + {{-- Success Message --}} + @if(session('success')) +
+ {{ session('success') }} +
+ @endif + + + {{-- Error Message --}} + @if(session('error')) +
+ {{ session('error') }} +
+ @endif + +
+ +
+ @csrf +
+ + {{-- Card Header --}} +
+
+ ایجاد مدیر +
+
+ {{-- Card Body --}} +
+ +
+ + {{-- First Name --}} +
+ + + + + @error('first_name') + + {{ $message }} + + @enderror +
+ + + {{-- Last Name --}} +
+ + + + + @error('last_name') + + {{ $message }} + + @enderror +
+ + + {{-- Username --}} +
+ + + + + @error('username') + + {{ $message }} + + @enderror +
+ + + {{-- Email --}} +
+ + + + + @error('email') + + {{ $message }} + + @enderror +
+ + + {{-- Mobile --}} +
+ + + + + @error('mobile') + + {{ $message }} + + @enderror +
+ + + {{-- Password --}} +
+ + + + + @error('password') + + {{ $message }} + + @enderror +
+ + + {{-- Role --}} +
+ + + + + @error('role') + + {{ $message }} + + @enderror +
+ + + {{-- Status --}} +
+ + + + + @error('status') + + {{ $message }} + + @enderror +
+ +
+ + + {{-- Permissions --}} +
+ +
+ +
+
+ سطح دسترسی +
+
+ +
+ +
+ + @foreach(\App\Enums\Admin\AdminPermission::cases() as $permission) +
+
+ value, + old('permissions', []) + ) + ) + > + + + +
+ +
+ + @endforeach + +
+ + + @error('permissions') +
+ + {{ $message }} + +
+ @enderror + + @error('permissions.*') +
+ + {{ $message }} + +
+ @enderror + +
+ +
+ +
+ + + {{-- Avatar --}} +
+ +
+ + + + + +
+ +
+ + + @error('image') +
+ + {{ $message }} + +
+ @enderror + +
+ + + {{-- Card Footer --}} + + +
+ +
+ +
+ +
+ +
+@endsection + + +@push('scripts') + + + +@endpush diff --git a/resources/views/admin/admins/edit.blade.php b/resources/views/admin/admins/edit.blade.php new file mode 100644 index 0000000..ed8766b --- /dev/null +++ b/resources/views/admin/admins/edit.blade.php @@ -0,0 +1,182 @@ +@extends('admin.layouts.app') +@section('breadcrumb') +
+

ویرایش مدیر

+
+ +
+
+@endsection + +@section('content') +
+ + +
+ @if(session('success')) + {{session('success')}} + @endif + @if(session('error')) + {{session('error')}} + @endif +
+
+ @csrf + @method('PUT') +
+
+
ویرایش مدیر
+
+ +
+
+
+ + + @error('first_name') + {{$message}} + @enderror +
+
+ + + @error('last_name') + {{$message}} + @enderror +
+
+ + + @error('username') + {{$message}} + @enderror +
+
+ + + @error('email') + {{$message}} + @enderror +
+
+ + + @error('password') + {{$message}} + @enderror +
+ @if($canEditSensitiveFields) +
+ + + + + @error('is_super') + {{ $message }} + @enderror +
+ +
+ + + + + @error('status') + {{ $message }} + @enderror +
+ + @elseif($showReadonlySensitiveFields) +
+ + +
+ مدیر کل +
+ + + شما نمی‌توانید نوع دسترسی خودتان را تغییر دهید. + +
+ +
+ + +
+ {{ $admin->status->label() }} +
+ + + شما نمی‌توانید وضعیت حساب خودتان را تغییر دهید. + +
+ @endif + +
+ + +
+
+ + @if($admin->avatar?->file_id) + + @else + + @endif +
+
+ @error('image') + {{$message}} + @enderror +
+ + +
+
+
+
+ +
+@endsection diff --git a/resources/views/admin/admins/index.blade.php b/resources/views/admin/admins/index.blade.php new file mode 100644 index 0000000..bfbfff5 --- /dev/null +++ b/resources/views/admin/admins/index.blade.php @@ -0,0 +1,194 @@ +@extends('admin.layouts.app') + + +@section('breadcrumb') +
+

لیست ادمین‌ها

+
+ +
+
+@endsection + +@section('content') +
+ + + +
+
+
+
+
+
+ + +
+
+ + +
+ + +
+ + + + +
+
+
+
+
+
+ + +
+
+
+
+ + + + + + + + + + + + + + + + + + @forelse($admins as $admin) + + + + + + + + + + + + + + @empty + + + + @endforelse + + +
تصویرنامنام خانوادگینام کاربریایمیلوضعیتنقشآخرین ورودتاریخ ایجاداقدامات
+ + + + @if($admin->file) + {{ $admin->username }} + @else + {{$admin->username}} + @endif + + {{$admin->first_name}}{{$admin->last_name}}{{$admin->username}}{{$admin->email ?: '-'}} + @if($admin->status == \App\Enums\Admin\AdminStatus::ACTIVE) + + فعال + + @else + + غیر فعال + + @endif + + @if($admin->role == \App\Enums\Admin\AdminRole::SUPERADMIN) + + سوپر ادمین + + @else + + ادمین عادی + + + @endif + {{$admin->last_login_at?->toJalali()->format('d F Y - H:i') ?: '-'}}{{$admin->created_at->toJalali()->format('d F Y - H:i')}} +
+ + + + @auth('admin') + @if(auth('admin')->user()->role == \App\Enums\Admin\AdminRole::SUPERADMIN && auth('admin')->id() !== $admin->id) +
+ @csrf + @method('DELETE') + + +
+ @endif + @endauth +
+
+ هیچ مدیری یافت نشد. +
+
+
+
+
+ + +
+ {{ $admins->links() }} +
+ +
+@endsection diff --git a/resources/views/admin/admins/show.blade.php b/resources/views/admin/admins/show.blade.php new file mode 100644 index 0000000..6c9874d --- /dev/null +++ b/resources/views/admin/admins/show.blade.php @@ -0,0 +1,3 @@ +
+ +
diff --git a/resources/views/admin/admins/trash.blade.php b/resources/views/admin/admins/trash.blade.php new file mode 100644 index 0000000..a084222 --- /dev/null +++ b/resources/views/admin/admins/trash.blade.php @@ -0,0 +1,3 @@ +
+ +
diff --git a/resources/views/admin/layouts/sidebar.blade.php b/resources/views/admin/layouts/sidebar.blade.php index 3a4f2cf..02b6ab2 100644 --- a/resources/views/admin/layouts/sidebar.blade.php +++ b/resources/views/admin/layouts/sidebar.blade.php @@ -48,6 +48,25 @@ + + @if(auth('admin')->user()?->role == \App\Enums\Admin\AdminRole::SUPERADMIN) +
  • + + + + + مدیریت مدیران + +
  • + @endif +
  • @@ -67,22 +86,6 @@
  • - -
  • - - - - - مدیریت سفارشات - -
  • - -
  • - - @if(auth('admin')->user()?->role == \App\Enums\Admin\AdminRole::SUPERADMIN) -
  • - - - - - مدیریت مدیران - -
  • - @endif - -
  • + +
  • + + + + خروج از حساب کاربری + +
  • + +
    name('admin.')->group(function () { Route::middleware('auth:admin')->group(function () { Route::get('dashboard', [DashboardController::class, 'index'])->name('dashboard.index'); - Route::prefix('users')->name('users.')->controller(UserController::class)->group(function () { + Route::prefix('admins')->name('admins.')->middleware('admin.super')->controller(AdminController::class)->group(function () { + + Route::get('/', 'index')->name('index'); + + Route::get('create', 'create')->name('create'); + Route::post('/', 'store')->name('store'); + + Route::prefix('{admin}')->group(function () { + Route::get('edit', 'edit')->name('edit'); + Route::put('/', 'update')->name('update'); + Route::delete('/', 'destroy')->name('destroy'); + }); + + Route::prefix('trash')->name('trash.')->group(function () { + + Route::get('/', 'trash')->name('index'); + + Route::prefix('{id}')->group(function () { + Route::post('restore', 'restore')->name('restore'); + Route::delete('/', 'forceDelete')->name('force-delete'); + }); + }); + }); + + + Route::prefix('users')->name('users.')->middleware('admin.permission:manage-users')->controller(UserController::class)->group(function () { Route::get('/', 'index')->name('index'); @@ -52,6 +78,9 @@ Route::prefix('admin')->name('admin.')->group(function () { }); }); + + + }); diff --git a/storage/framework/views/62189f3220916d712cf7f502e6685f44.php b/storage/framework/views/62189f3220916d712cf7f502e6685f44.php new file mode 100644 index 0000000..87a03ba --- /dev/null +++ b/storage/framework/views/62189f3220916d712cf7f502e6685f44.php @@ -0,0 +1,537 @@ +startSection('breadcrumb'); ?> +
    +

    + افزودن مدیر جدید +

    + +
    + +
    +
    +stopSection(); ?> + + +startSection('content'); ?> +
    + +
    + + + +
    + + +
    + + + + + +
    + + +
    + + +
    + +
    + + + +
    + + +
    +
    + ایجاد مدیر +
    +
    + + + +
    + +
    + + +
    + + + + + getBag($__errorArgs[1] ?? 'default'); +if ($__bag->has($__errorArgs[0])) : +if (isset($message)) { $__messageOriginal = $message; } +$message = $__bag->first($__errorArgs[0]); ?> + + + + + +
    + + + +
    + + + + + getBag($__errorArgs[1] ?? 'default'); +if ($__bag->has($__errorArgs[0])) : +if (isset($message)) { $__messageOriginal = $message; } +$message = $__bag->first($__errorArgs[0]); ?> + + + + + +
    + + + +
    + + + + + getBag($__errorArgs[1] ?? 'default'); +if ($__bag->has($__errorArgs[0])) : +if (isset($message)) { $__messageOriginal = $message; } +$message = $__bag->first($__errorArgs[0]); ?> + + + + + +
    + + + +
    + + + + + getBag($__errorArgs[1] ?? 'default'); +if ($__bag->has($__errorArgs[0])) : +if (isset($message)) { $__messageOriginal = $message; } +$message = $__bag->first($__errorArgs[0]); ?> + + + + + +
    + + + +
    + + + + + getBag($__errorArgs[1] ?? 'default'); +if ($__bag->has($__errorArgs[0])) : +if (isset($message)) { $__messageOriginal = $message; } +$message = $__bag->first($__errorArgs[0]); ?> + + + + + +
    + + + +
    + + + + + getBag($__errorArgs[1] ?? 'default'); +if ($__bag->has($__errorArgs[0])) : +if (isset($message)) { $__messageOriginal = $message; } +$message = $__bag->first($__errorArgs[0]); ?> + + + + + +
    + + + +
    + + + + + getBag($__errorArgs[1] ?? 'default'); +if ($__bag->has($__errorArgs[0])) : +if (isset($message)) { $__messageOriginal = $message; } +$message = $__bag->first($__errorArgs[0]); ?> + + + + + +
    + + + +
    + + + + + getBag($__errorArgs[1] ?? 'default'); +if ($__bag->has($__errorArgs[0])) : +if (isset($message)) { $__messageOriginal = $message; } +$message = $__bag->first($__errorArgs[0]); ?> + + + + + +
    + +
    + + + +
    + +
    + +
    +
    + سطح دسترسی +
    +
    + +
    + +
    + + addLoop($__currentLoopData); foreach($__currentLoopData as $permission): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> +
    +
    + value, + old('permissions', []) + ) + ): echo 'checked'; endif; ?> + > + + + +
    + +
    + + popLoop(); $loop = $__env->getLastLoop(); ?> + +
    + + + getBag($__errorArgs[1] ?? 'default'); +if ($__bag->has($__errorArgs[0])) : +if (isset($message)) { $__messageOriginal = $message; } +$message = $__bag->first($__errorArgs[0]); ?> +
    + + + + +
    + + + getBag($__errorArgs[1] ?? 'default'); +if ($__bag->has($__errorArgs[0])) : +if (isset($message)) { $__messageOriginal = $message; } +$message = $__bag->first($__errorArgs[0]); ?> +
    + + + + +
    + + +
    + +
    + +
    + + + +
    + +
    + + + + + +
    + +
    + + + getBag($__errorArgs[1] ?? 'default'); +if ($__bag->has($__errorArgs[0])) : +if (isset($message)) { $__messageOriginal = $message; } +$message = $__bag->first($__errorArgs[0]); ?> +
    + + + + +
    + + +
    + + + + + +
    + +
    + +
    + +
    + +
    +stopSection(); ?> + + +startPush('scripts'); ?> + + + +stopPush(); ?> + +make('admin.layouts.app', array_diff_key(get_defined_vars(), ['__data' => 1, '__path' => 1]))->render(); ?> \ No newline at end of file diff --git a/storage/framework/views/945546a0bb70eafbd9d633e2e262f122.php b/storage/framework/views/945546a0bb70eafbd9d633e2e262f122.php new file mode 100644 index 0000000..71c0bfc --- /dev/null +++ b/storage/framework/views/945546a0bb70eafbd9d633e2e262f122.php @@ -0,0 +1,194 @@ +startSection('breadcrumb'); ?> +
    +

    لیست ادمین‌ها

    +
    + +
    +
    +stopSection(); ?> + +startSection('content'); ?> +
    + + + +
    +
    +
    +
    +
    +
    + + +
    +
    + + +
    + + +
    + + + + +
    +
    +
    +
    +
    +
    + + +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + addLoop($__currentLoopData); foreach($__currentLoopData as $admin): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); $__empty_1 = false; ?> + + + + + + + + + + + + + + popLoop(); $loop = $__env->getLastLoop(); if ($__empty_1): ?> + + + + + + +
    تصویرنامنام خانوادگینام کاربریایمیلوضعیتنقشآخرین ورودتاریخ ایجاداقدامات
    + + + + file): ?> + <?php echo e($admin->username); ?> + + <?php echo e($admin->username); ?> + + + first_name); ?>last_name); ?>username); ?>email ?: '-'); ?> + status == \App\Enums\Admin\AdminStatus::ACTIVE): ?> + + فعال + + + + غیر فعال + + + + role == \App\Enums\Admin\AdminRole::SUPERADMIN): ?> + + سوپر ادمین + + + + ادمین عادی + + + + last_login_at?->toJalali()->format('d F Y - H:i') ?: '-'); ?>created_at->toJalali()->format('d F Y - H:i')); ?> +
    + + + + guard('admin')->check()): ?> + user()->role == \App\Enums\Admin\AdminRole::SUPERADMIN && auth('admin')->id() !== $admin->id): ?> +
    + + + + +
    + + +
    +
    + هیچ مدیری یافت نشد. +
    +
    +
    +
    +
    + + +
    + links()); ?> + +
    + +
    +stopSection(); ?> + +make('admin.layouts.app', array_diff_key(get_defined_vars(), ['__data' => 1, '__path' => 1]))->render(); ?> \ No newline at end of file diff --git a/storage/framework/views/a6ea9dab5b7bb9d8a31bbfdb34f66e77.php b/storage/framework/views/a6ea9dab5b7bb9d8a31bbfdb34f66e77.php new file mode 100644 index 0000000..d4ae21d --- /dev/null +++ b/storage/framework/views/a6ea9dab5b7bb9d8a31bbfdb34f66e77.php @@ -0,0 +1,5 @@ +startSection('title', __('Forbidden')); ?> +startSection('code', '403'); ?> +startSection('message', __($exception->getMessage() ?: 'Forbidden')); ?> + +make('errors::minimal', array_diff_key(get_defined_vars(), ['__data' => 1, '__path' => 1]))->render(); ?> \ No newline at end of file diff --git a/storage/framework/views/d3757834f0e7b0da474ba17d981376c9.php b/storage/framework/views/d3757834f0e7b0da474ba17d981376c9.php new file mode 100644 index 0000000..92f8f85 --- /dev/null +++ b/storage/framework/views/d3757834f0e7b0da474ba17d981376c9.php @@ -0,0 +1,241 @@ +startSection('breadcrumb'); ?> +
    +

    ویرایش مدیر

    +
    + +
    +
    +stopSection(); ?> + +startSection('content'); ?> +
    + + +
    + + + + + + +
    +
    + + +
    +
    +
    ویرایش مدیر
    +
    + +
    +
    +
    + + + getBag($__errorArgs[1] ?? 'default'); +if ($__bag->has($__errorArgs[0])) : +if (isset($message)) { $__messageOriginal = $message; } +$message = $__bag->first($__errorArgs[0]); ?> + + +
    +
    + + + getBag($__errorArgs[1] ?? 'default'); +if ($__bag->has($__errorArgs[0])) : +if (isset($message)) { $__messageOriginal = $message; } +$message = $__bag->first($__errorArgs[0]); ?> + + +
    +
    + + + getBag($__errorArgs[1] ?? 'default'); +if ($__bag->has($__errorArgs[0])) : +if (isset($message)) { $__messageOriginal = $message; } +$message = $__bag->first($__errorArgs[0]); ?> + + +
    +
    + + + getBag($__errorArgs[1] ?? 'default'); +if ($__bag->has($__errorArgs[0])) : +if (isset($message)) { $__messageOriginal = $message; } +$message = $__bag->first($__errorArgs[0]); ?> + + +
    +
    + + + getBag($__errorArgs[1] ?? 'default'); +if ($__bag->has($__errorArgs[0])) : +if (isset($message)) { $__messageOriginal = $message; } +$message = $__bag->first($__errorArgs[0]); ?> + + +
    + +
    + + + + + getBag($__errorArgs[1] ?? 'default'); +if ($__bag->has($__errorArgs[0])) : +if (isset($message)) { $__messageOriginal = $message; } +$message = $__bag->first($__errorArgs[0]); ?> + + +
    + +
    + + + + + getBag($__errorArgs[1] ?? 'default'); +if ($__bag->has($__errorArgs[0])) : +if (isset($message)) { $__messageOriginal = $message; } +$message = $__bag->first($__errorArgs[0]); ?> + + +
    + + +
    + + +
    + مدیر کل +
    + + + شما نمی‌توانید نوع دسترسی خودتان را تغییر دهید. + +
    + +
    + + +
    + status->label()); ?> + +
    + + + شما نمی‌توانید وضعیت حساب خودتان را تغییر دهید. + +
    + + +
    + + +
    +
    + + avatar?->file_id): ?> + + + + +
    +
    + getBag($__errorArgs[1] ?? 'default'); +if ($__bag->has($__errorArgs[0])) : +if (isset($message)) { $__messageOriginal = $message; } +$message = $__bag->first($__errorArgs[0]); ?> + + +
    + + +
    +
    +
    +
    + +
    +stopSection(); ?> + +make('admin.layouts.app', array_diff_key(get_defined_vars(), ['__data' => 1, '__path' => 1]))->render(); ?> \ No newline at end of file diff --git a/storage/framework/views/eef00d2e3a9c515499bd90866b295b14.php b/storage/framework/views/eef00d2e3a9c515499bd90866b295b14.php index fbaa663..57877b6 100644 --- a/storage/framework/views/eef00d2e3a9c515499bd90866b295b14.php +++ b/storage/framework/views/eef00d2e3a9c515499bd90866b295b14.php @@ -48,6 +48,25 @@ + + user()?->role == \App\Enums\Admin\AdminRole::SUPERADMIN): ?> +
  • + + + + + مدیریت مدیران + +
  • + +
  • @@ -67,22 +86,6 @@
  • - -
  • - - - - - مدیریت سفارشات - -
  • - -
  • - - user()?->role == \App\Enums\Admin\AdminRole::SUPERADMIN): ?> -
  • - - - - - مدیریت مدیران - -
  • - - -
  • + +
  • + + + + خروج از حساب کاربری + +
  • + +