From 3867350331a889a204c1e6c9d663bfafc62aa59b Mon Sep 17 00:00:00 2001 From: mina-esn Date: Thu, 20 Aug 2026 11:56:46 +0330 Subject: [PATCH] feat(admin): complete admin management and add edit functionality --- .../Controllers/Admin/AdminController.php | 159 ++++++- .../Middleware/Admin/CheckAdminPermission.php | 2 +- .../Requests/Admin/AdminUpdateRequest.php | 103 +++++ app/helpers/helper.php | 4 +- public/assets/js/images.jpg | Bin 0 -> 41392 bytes resources/views/admin/admins/index.blade.php | 8 +- .../views/admin/layouts/header.blade.php | 20 +- resources/views/admin/tours/trash.blade.php | 230 ++++++++++ routes/admin.php | 6 +- .../017607f160165f2423c8cd6b2f4b39b5.php | 269 +++++++++++ .../383feb70bdf3a39fda9984c8f2553ee3.php | 2 +- .../45a82b70220927a2e2c7979e28ca88dc.php | 21 +- .../673687ccd41818f109e0e910169dff8c.php | 434 ++++++++++++++++++ .../945546a0bb70eafbd9d633e2e262f122.php | 8 +- .../bd58e8cdcbb5c04980c93910eb670950.php | 242 ++++++++++ .../c0862dfa874f43235690340041aae4b8.php | 414 +++++++++++++++++ 16 files changed, 1883 insertions(+), 39 deletions(-) create mode 100644 app/Http/Requests/Admin/AdminUpdateRequest.php create mode 100644 public/assets/js/images.jpg create mode 100644 resources/views/admin/tours/trash.blade.php create mode 100644 storage/framework/views/017607f160165f2423c8cd6b2f4b39b5.php create mode 100644 storage/framework/views/673687ccd41818f109e0e910169dff8c.php create mode 100644 storage/framework/views/bd58e8cdcbb5c04980c93910eb670950.php create mode 100644 storage/framework/views/c0862dfa874f43235690340041aae4b8.php diff --git a/app/Http/Controllers/Admin/AdminController.php b/app/Http/Controllers/Admin/AdminController.php index 5524e47..e9b95e6 100644 --- a/app/Http/Controllers/Admin/AdminController.php +++ b/app/Http/Controllers/Admin/AdminController.php @@ -2,8 +2,11 @@ namespace App\Http\Controllers\Admin; +use App\Enums\Admin\AdminRole; +use App\Enums\Admin\AdminStatus; use App\Http\Controllers\Controller; use App\Http\Requests\Admin\AdminStoreRequest; +use App\Http\Requests\Admin\AdminUpdateRequest; use App\Models\Admin; use App\Models\AdminAvatar; use App\Models\AdminPermission; @@ -80,7 +83,152 @@ class AdminController extends Controller public function edit(Admin $admin) { - return view('admin.admins.edit', compact('admin')); + $title = 'جزئیات مدیر'; + $loggedInAdmin = auth('admin')->user(); + + $canEditSensitiveFields = $loggedInAdmin->isSuperAdmin() && $loggedInAdmin->id !== $admin->id; + + $showReadonlySensitiveFields = $loggedInAdmin->id === $admin->id; + + $adminRoles = AdminRole::cases(); + + $adminStatuses = AdminStatus::cases(); + + $admin->load([ + 'avatar.file', + 'permissions', + ]); + return view('admin.admins.edit', compact( + 'title', + 'admin', + 'adminRoles', + 'adminStatuses', + 'canEditSensitiveFields', + 'showReadonlySensitiveFields' + )); + + } + + public function update(AdminUpdateRequest $request,Admin $admin) + { + $data = $request->validated(); + + $newAvatarPath = null; + $oldFile = null; + + DB::beginTransaction(); + + try { + $updateData = [ + 'first_name' => $data['first_name'], + 'last_name' => $data['last_name'], + 'username' => $data['username'], + 'email' => $data['email'] ?? null, + 'mobile' => $data['mobile'] ?? null, + ]; + + if (!empty($data['password'])) { + $updateData['password'] = Hash::make($data['password']); + } + + $loggedInAdmin = auth('admin')->user(); + + + $canEditSensitiveFields = + $loggedInAdmin->isSuperAdmin() + && $loggedInAdmin->id !== $admin->id; + + if ($canEditSensitiveFields) { + if (array_key_exists('role', $data)) { + $updateData['role'] = $data['role']; + } + + if (array_key_exists('status', $data)) { + $updateData['status'] = $data['status']; + } + } + + $admin->update($updateData); + + if ($canEditSensitiveFields && array_key_exists('permissions', $data)) { + $admin->permissions()->delete(); + + if (!$admin->isSuperAdmin()) { + foreach ($data['permissions'] ?? [] as $permission) { + $admin->permissions()->create([ + 'permission' => $permission, + ]); + } + } + } + + + if ($request->hasFile('image')) { + $oldAvatar = $admin->avatar() + ->with('file') + ->first(); + + $oldFile = $oldAvatar?->file; + + $image = $data['image']; + + $imageName = $admin->id + . '_' . time() . rand(11111, 99999) . '.' . $image->extension(); + + $newAvatarPath = $image->storeAs( + 'admin_avatars', + $imageName, + 'public' + ); + + $file = File::create([ + 'name' => $imageName, + 'size' => $image->getSize(), + 'original_name' => $image->getClientOriginalName(), + 'path' => $newAvatarPath, + 'extension' => $image->extension(), + ]); + + if ($oldAvatar) { + $oldAvatar->update([ + 'file_id' => $file->id, + ]); + } else { + AdminAvatar::create([ + 'admin_id' => $admin->id, + 'file_id' => $file->id, + ]); + } + } + + DB::commit(); + + if ($oldFile) { + deleteFile($oldFile); + } + + $redirectRoute = $loggedInAdmin->isSuperAdmin() + ? 'admin.admins.index' + : 'admin.profile.index'; + + return redirect() + ->route($redirectRoute) + ->with('success', 'اطلاعات مدیر با موفقیت ویرایش شد.'); + + } catch (\Exception $exception) { + DB::rollBack(); + + + if ($newAvatarPath && Storage::disk('public')->exists($newAvatarPath)) { + Storage::disk('public')->delete($newAvatarPath); + } + + Log::error($exception); + + return back() + ->withInput() + ->with('error', 'ویرایش مدیر با خطا مواجه شد.'); + } } public function create() @@ -113,13 +261,7 @@ class AdminController extends Controller if ($request->hasFile('image')) { $image = $request->file('image'); - $imageName = $admin->id - . '_' - . time() - . '_' - . rand(11111, 99999) - . '.' - . $image->extension(); + $imageName = $admin->id . '_' . time() . '_' . rand(11111, 99999) . '.' . $image->extension(); $avatarPath = $image->storeAs( 'admin_avatars', @@ -172,7 +314,6 @@ class AdminController extends Controller ->withInput( $request->except([ 'password', - 'password_confirmation', 'image', ]) ) diff --git a/app/Http/Middleware/Admin/CheckAdminPermission.php b/app/Http/Middleware/Admin/CheckAdminPermission.php index 0d6ab1f..711b5cf 100644 --- a/app/Http/Middleware/Admin/CheckAdminPermission.php +++ b/app/Http/Middleware/Admin/CheckAdminPermission.php @@ -17,7 +17,7 @@ class CheckAdminPermission { $admin = auth('admin')->user(); - if (! auth('admin')->user()?->hasPermission($permission)) { + if (! auth('admin')->user()?->canAccess($permission)) { abort(403); } diff --git a/app/Http/Requests/Admin/AdminUpdateRequest.php b/app/Http/Requests/Admin/AdminUpdateRequest.php new file mode 100644 index 0000000..71fec64 --- /dev/null +++ b/app/Http/Requests/Admin/AdminUpdateRequest.php @@ -0,0 +1,103 @@ +|string> + */ + public function rules(): array + { + $admin = $this->route('admin'); + return [ + 'first_name' => [ + 'required', + 'string', + 'max:64', + 'persianAlpha', + ], + + 'last_name' => [ + 'required', + 'string', + 'max:64', + 'persianAlpha', + ], + + 'username' => [ + 'required', + 'string', + 'min:3', + 'max:100', + 'regex:/^[a-zA-Z][a-zA-Z0-9_]*$/', + Rule::unique('admins', 'username')->ignore($admin), + ], + + 'email' => [ + 'nullable', + 'string', + 'email', + 'max:150', + Rule::unique('admins', 'email')->ignore($admin), + ], + + 'mobile' => [ + 'nullable', + 'string', + 'regex:/^09\d{9}$/', + 'ir_mobile:zero', + Rule::unique('admins', 'mobile')->ignore($admin), + ], + 'password' => [ + 'nullable', + 'string', + 'min:8', + 'max:255', + ], + + 'role' => [ + 'nullable', + Rule::enum(AdminRole::class), + ], + + 'status' => [ + 'nullable', + Rule::enum(AdminStatus::class), + ], + + 'permissions' => [ + 'nullable', + 'array', + ], + + 'permissions.*' => [ + 'required', + 'string', + ], + + 'image' => [ + 'nullable', + 'image', + 'mimes:jpg,jpeg,png,webp', + 'max:800', + ], + ]; + } +} diff --git a/app/helpers/helper.php b/app/helpers/helper.php index 24e7625..0044a40 100644 --- a/app/helpers/helper.php +++ b/app/helpers/helper.php @@ -84,7 +84,7 @@ if (!function_exists('getUserFullName')) { } } if (! function_exists('deleteFile')) { - function deleteFile(?File $file): void + function deleteFile(?\App\Models\File $file): void { if (! $file) { return; @@ -107,7 +107,7 @@ if (!function_exists('getFileUrl')) { return null; } - $file = File::find($fileId); + $file = \App\Models\File::find($fileId); if (!$file){ return null; diff --git a/public/assets/js/images.jpg b/public/assets/js/images.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3ff2975f681227ef3f01b03a3fd2affa0e16fa02 GIT binary patch literal 41392 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 literal 0 HcmV?d00001 diff --git a/resources/views/admin/admins/index.blade.php b/resources/views/admin/admins/index.blade.php index 2a6893d..b0f56da 100644 --- a/resources/views/admin/admins/index.blade.php +++ b/resources/views/admin/admins/index.blade.php @@ -83,7 +83,6 @@ - @@ -99,13 +98,10 @@ @forelse($admins as $admin) -
تصویر نام نام خانوادگی
- - - @if($admin->file) - {{ $admin->username }} + @if($admin->avatar && $admin->avatar->file) + {{ $admin->username }} diff --git a/resources/views/admin/layouts/header.blade.php b/resources/views/admin/layouts/header.blade.php index 2249612..51fbddb 100644 --- a/resources/views/admin/layouts/header.blade.php +++ b/resources/views/admin/layouts/header.blade.php @@ -67,7 +67,7 @@ - + @@ -93,10 +93,17 @@ data-bs-toggle="dropdown" data-bs-auto-close="outside" aria-expanded="false">
- img + @if(auth('admin')->user()->avatar?->file) + img + @else + img + @endif
@@ -106,7 +113,8 @@
  • -

    {{auth('admin')->user()->first_name }} | {{ auth('admin')->user()->last_name }}

    +

    {{auth('admin')->user()->first_name }} + | {{ auth('admin')->user()->last_name }}

    {{auth('admin')->user()->username}}
    diff --git a/resources/views/admin/tours/trash.blade.php b/resources/views/admin/tours/trash.blade.php new file mode 100644 index 0000000..11a26e1 --- /dev/null +++ b/resources/views/admin/tours/trash.blade.php @@ -0,0 +1,230 @@ +@extends('admin.layouts.app') + +@section('breadcrumb') +
    +
    +

    سطل زباله تورها

    + +
    + +
    +
    +
    +@endsection + +@section('content') +
    + +
    +
    +
    +
    +
    + +
    +
    + تورهای حذف‌شده +
    +
    + + + +
    +
    +
    +
    +
    + +
    +
    +
    +
    + + + + + + + + + + + + + + + + + @if(session('success')) + + + + @endif + + @if(session('error')) + + + + @endif + + @if($errors->any()) + + + + @endif + + @forelse($tours as $tour) + + + + + + + + + + + + + + + + + + + + @empty + + + + @endforelse + +
    تصویرعنوان تورمبدأمقصدنوع تورمحدوده تورتاریخ ایجادتاریخ حذفعملیات
    + + {{ session('success') }} + +
    + + {{ session('error') }} + +
    + @foreach($errors->all() as $error) + + {{ $error }} + + @endforeach +
    + + @if($tour->coverImage?->file) + {{ $tour->title }} + @else + {{ $tour->title }} + @endif + + +
    + {{ $tour->title }} +
    + + @if($tour->summary) + + {{ $tour->summary }} + + @endif +
    + {{ $tour->originCity?->name ?? '-' }} + + {{ $tour->city?->name ?? '-' }} + + @if($tour->tour_type) + + {{ $tour->tour_type->label() }} + + @else + - + @endif + + @if($tour->tour_scope) + + {{ $tour->tour_scope->label() }} + + @else + - + @endif + + {{ $tour->created_at?->toJalali()->format('H:i Y/m/d') ?? '-' }} + + {{ $tour->deleted_at?->toJalali()->format('H:i Y/m/d') ?? '-' }} + +
    + +
    + @csrf + + +
    + +
    + @csrf + @method('DELETE') + + +
    + +
    +
    + توری در سطل زباله وجود ندارد. +
    + + +
    +
    +
    +
    + +
    +@endsection diff --git a/routes/admin.php b/routes/admin.php index cd9a4a7..11641c5 100644 --- a/routes/admin.php +++ b/routes/admin.php @@ -108,8 +108,10 @@ Route::prefix('admin')->name('admin.')->group(function () { Route::get('create', 'create')->name('create'); Route::post('store', 'store')->name('store'); - Route::prefix('trash')->group(function () { - Route::get('/', 'trash')->name('trash'); + Route::get('cities-by-country/{country}', 'citiesByCountry')->name('citiesByCountry'); + + Route::prefix('trash')->name('trash.')->group(function () { + Route::get('/', 'trash')->name('index'); Route::prefix('{id}')->group(function () { Route::post('restore', 'restore')->name('restore'); diff --git a/storage/framework/views/017607f160165f2423c8cd6b2f4b39b5.php b/storage/framework/views/017607f160165f2423c8cd6b2f4b39b5.php new file mode 100644 index 0000000..441e89f --- /dev/null +++ b/storage/framework/views/017607f160165f2423c8cd6b2f4b39b5.php @@ -0,0 +1,269 @@ +startSection('breadcrumb'); ?> +
    +

    لیست تورها

    + +
    + +
    +
    +stopSection(); ?> + +startSection('content'); ?> +
    + + + + + + + + + +
    +
    +
    +
    + +
    +
    + +
    +
    + + + +
    + + +
    + + + +
    +
    + +
    +
    +
    +
    + +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + addLoop($__currentLoopData); foreach($__currentLoopData as $tour): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); $__empty_1 = false; ?> + + + + + + + + + + + + + + + + + + + + + + + popLoop(); $loop = $__env->getLastLoop(); if ($__empty_1): ?> + + + + + +
    تصویرعنوان تورمبدأمقصدنوع تورمحدوده تورشیوه برگزاریتعداد حرکت‌هابازه قیمتبازدید صفحهتاریخ ایجاداقدامات
    + + coverImage?->file): ?> + <?php echo e($tour->title); ?> + + <?php echo e($tour->title); ?> + + + +
    + title); ?> + +
    + + summary): ?> + + summary); ?> + + + +
    + originCity?->name ?? '-'); ?> + + + city?->name ?? '-'); ?> + + + tour_scope): ?> + + tour_scope->label()); ?> + + + + - + + + tour_mode): ?> + + tour_mode->label()); ?> + + + + - + + + tour_type): ?> + + tour_type->label()); ?> + + + + - + + + + tour_departures_count); ?> حرکت + + + tour_departures_min_price === $tour->tour_departures_max_price): ?> + tour_departures_min_price)); ?> تومان + + tour_departures_min_price)); ?> + + - + tour_departures_max_price)); ?> + + تومان + + + views_count ?? 0); ?> + + + created_at->toJalali()->format('d F Y - H:i')); ?> + + +
    + + + + +
    + + + + + +
    +
    +
    + هیچ توری یافت نشد. +
    +
    +
    +
    +
    + +
    + 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/383feb70bdf3a39fda9984c8f2553ee3.php b/storage/framework/views/383feb70bdf3a39fda9984c8f2553ee3.php index 8af8fcc..0b32c10 100644 --- a/storage/framework/views/383feb70bdf3a39fda9984c8f2553ee3.php +++ b/storage/framework/views/383feb70bdf3a39fda9984c8f2553ee3.php @@ -55,7 +55,7 @@
    - + سطل زباله diff --git a/storage/framework/views/45a82b70220927a2e2c7979e28ca88dc.php b/storage/framework/views/45a82b70220927a2e2c7979e28ca88dc.php index 71e72ee..188aaba 100644 --- a/storage/framework/views/45a82b70220927a2e2c7979e28ca88dc.php +++ b/storage/framework/views/45a82b70220927a2e2c7979e28ca88dc.php @@ -67,7 +67,7 @@ - + @@ -93,10 +93,17 @@ data-bs-toggle="dropdown" data-bs-auto-close="outside" aria-expanded="false">
    - img + user()->avatar?->file): ?> + img + + img +
    @@ -106,7 +113,9 @@
  • -

    user()->first_name); ?> | user()->last_name); ?>

    +

    user()->first_name); ?> + + | user()->last_name); ?>

    user()->username); ?>
    diff --git a/storage/framework/views/673687ccd41818f109e0e910169dff8c.php b/storage/framework/views/673687ccd41818f109e0e910169dff8c.php new file mode 100644 index 0000000..9075472 --- /dev/null +++ b/storage/framework/views/673687ccd41818f109e0e910169dff8c.php @@ -0,0 +1,434 @@ +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]); ?> + + +
    +
    + +
    +
    اطلاعات ظرفیت / زمان‌بندی حرکت
    +
    +
    + + + + 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]); ?> + + +
    +
    + +
    +
    گالری تصاویر فعلی
    +
    + images; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $image): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); $__empty_1 = false; ?> +
    + <?php echo e($tour->title); ?> + is_default): ?> + اصلی + +
    + popLoop(); $loop = $__env->getLastLoop(); if ($__empty_1): ?> + هیچ تصویری ثبت نشده است. + +
    + +
    افزودن تصاویر جدید
    +
    + + +
    + getBag($__errorArgs[1] ?? 'default'); +if ($__bag->has($__errorArgs[0])) : +if (isset($message)) { $__messageOriginal = $message; } +$message = $__bag->first($__errorArgs[0]); ?> + + +
    + + +
    +
    +
    +
    +
    + + startPush('scripts'); ?> + + stopPush(); ?> +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/945546a0bb70eafbd9d633e2e262f122.php b/storage/framework/views/945546a0bb70eafbd9d633e2e262f122.php index dd95c62..08be07d 100644 --- a/storage/framework/views/945546a0bb70eafbd9d633e2e262f122.php +++ b/storage/framework/views/945546a0bb70eafbd9d633e2e262f122.php @@ -80,7 +80,6 @@ - @@ -96,13 +95,10 @@ addLoop($__currentLoopData); foreach($__currentLoopData as $admin): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); $__empty_1 = false; ?> -
    تصویر نام نام خانوادگی
    - - - file): ?> - <?php echo e($admin->username); ?> + avatar && $admin->avatar->file): ?> + <?php echo e($admin->username); ?> <?php echo e($admin->username); ?> diff --git a/storage/framework/views/bd58e8cdcbb5c04980c93910eb670950.php b/storage/framework/views/bd58e8cdcbb5c04980c93910eb670950.php new file mode 100644 index 0000000..bf94f77 --- /dev/null +++ b/storage/framework/views/bd58e8cdcbb5c04980c93910eb670950.php @@ -0,0 +1,242 @@ +startSection('breadcrumb'); ?> +
    +
    +

    سطل زباله تورها

    + +
    + +
    +
    +
    +stopSection(); ?> + +startSection('content'); ?> +
    + +
    +
    +
    +
    +
    + +
    +
    + تورهای حذف‌شده +
    +
    + + + +
    +
    +
    +
    +
    + +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + any()): ?> + + + + + + addLoop($__currentLoopData); foreach($__currentLoopData as $tour): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); $__empty_1 = false; ?> + + + + + + + + + + + + + + + + + + + + popLoop(); $loop = $__env->getLastLoop(); if ($__empty_1): ?> + + + + + +
    تصویرعنوان تورمبدأمقصدنوع تورمحدوده تورتاریخ ایجادتاریخ حذفعملیات
    + + + + +
    + + + + +
    + all(); $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $error): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> + + + + + popLoop(); $loop = $__env->getLastLoop(); ?> +
    + + coverImage?->file): ?> + <?php echo e($tour->title); ?> + + <?php echo e($tour->title); ?> + + + +
    + title); ?> + +
    + + summary): ?> + + summary); ?> + + + +
    + originCity?->name ?? '-'); ?> + + + city?->name ?? '-'); ?> + + + tour_type): ?> + + tour_type->label()); ?> + + + + - + + + tour_scope): ?> + + tour_scope->label()); ?> + + + + - + + + created_at?->toJalali()->format('H:i Y/m/d') ?? '-'); ?> + + + deleted_at?->toJalali()->format('H:i Y/m/d') ?? '-'); ?> + + +
    + +
    + + + +
    + +
    + + + + +
    + +
    +
    + توری در سطل زباله وجود ندارد. +
    + + +
    +
    +
    +
    + +
    +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/c0862dfa874f43235690340041aae4b8.php b/storage/framework/views/c0862dfa874f43235690340041aae4b8.php new file mode 100644 index 0000000..b5a18ab --- /dev/null +++ b/storage/framework/views/c0862dfa874f43235690340041aae4b8.php @@ -0,0 +1,414 @@ +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]); ?> + + +
    +
    + + +
    +
    اطلاعات اولین ظرفیت / زمان‌بندی حرکت
    +
    +
    + + + 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]); ?> + + + has('images.*')): ?> + get('images.*'); $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $messages): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> + addLoop($__currentLoopData); foreach($__currentLoopData as $message): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> + + popLoop(); $loop = $__env->getLastLoop(); ?> + popLoop(); $loop = $__env->getLastLoop(); ?> + +
    + + +
    +
    +
    +
    +
    + startPush('scripts'); ?> + + stopPush(); ?> +stopSection(); ?> + +make('admin.layouts.app', array_diff_key(get_defined_vars(), ['__data' => 1, '__path' => 1]))->render(); ?> \ No newline at end of file