fix: update user side
This commit is contained in:
@@ -28,8 +28,8 @@ class EditProfileController extends Controller
|
|||||||
'city_id'
|
'city_id'
|
||||||
]);
|
]);
|
||||||
|
|
||||||
if ($request->filled('password')){
|
if ($request->filled('new_password')) {
|
||||||
$inputs['password'] = Hash::make($request->input('password'));
|
$inputs['password'] = Hash::make($request->input('new_password'));
|
||||||
}
|
}
|
||||||
|
|
||||||
Auth::user()->update($inputs);
|
Auth::user()->update($inputs);
|
||||||
|
|||||||
@@ -40,8 +40,10 @@ class AuthController extends Controller
|
|||||||
|
|
||||||
Auth::guard('admin')->login($admin);
|
Auth::guard('admin')->login($admin);
|
||||||
|
|
||||||
|
$admin = Auth::guard('admin')->user();
|
||||||
|
|
||||||
$admin->update([
|
$admin->update([
|
||||||
'last_login_at' => now()
|
'last_login_at' => now(),
|
||||||
]);
|
]);
|
||||||
|
|
||||||
return redirect()->route('admin.dashboard.index');
|
return redirect()->route('admin.dashboard.index');
|
||||||
|
|||||||
@@ -32,12 +32,6 @@ class FlightController extends Controller
|
|||||||
$query->where('name', 'LIKE', '%' . $request->input('to-destination') . '%');
|
$query->where('name', 'LIKE', '%' . $request->input('to-destination') . '%');
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
// ->when($request->filled('journey-date'), function (Builder $query) use ($request) {
|
|
||||||
// $date = Verta::parse($request->input('journey-date'))
|
|
||||||
// ->formatGregorian('Y-m-d');
|
|
||||||
//
|
|
||||||
// $query->whereDate('departure_time', $date);
|
|
||||||
// })
|
|
||||||
->when($passengers > 0, function (Builder $query) use ($passengers) {
|
->when($passengers > 0, function (Builder $query) use ($passengers) {
|
||||||
$query->where('capacity', '>=', $passengers);
|
$query->where('capacity', '>=', $passengers);
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -28,78 +28,84 @@ class RegisterPostRequest extends FormRequest
|
|||||||
return [
|
return [
|
||||||
'first_name' => [
|
'first_name' => [
|
||||||
'required',
|
'required',
|
||||||
|
'persian_alpha',
|
||||||
'min:2',
|
'min:2',
|
||||||
'max:100',
|
'max:100',
|
||||||
'persian_alpha'
|
|
||||||
],
|
],
|
||||||
'last_name' => [
|
'last_name' => [
|
||||||
'required',
|
'required',
|
||||||
|
'persian_alpha',
|
||||||
'min:3',
|
'min:3',
|
||||||
'max:100',
|
'max:100',
|
||||||
'persian_alpha'
|
|
||||||
],
|
],
|
||||||
'username' => [
|
'username' => [
|
||||||
'required',
|
'required',
|
||||||
'alpha_num',
|
'regex:/^[a-zA-Z0-9\x{0600}-\x{06FF}]+$/u',
|
||||||
'min:3',
|
'min:3',
|
||||||
'max:20',
|
'max:20',
|
||||||
'unique:App\Models\User,username',
|
'unique:users,username'
|
||||||
|
|
||||||
],
|
],
|
||||||
'national_code' => [
|
'national_code' => [
|
||||||
'required',
|
'required',
|
||||||
'ir_national_id',
|
'ir_national_id',
|
||||||
'unique:App\Models\User,national_code'
|
'digits:10',
|
||||||
],
|
'unique:users,national_code',
|
||||||
'gender' => [
|
|
||||||
'required',
|
|
||||||
new Enum(UserGenderStatus::class)
|
|
||||||
|
|
||||||
],
|
|
||||||
'marital_status' => [
|
|
||||||
'required',
|
|
||||||
new Enum(UserMaritalStatus::class)
|
|
||||||
],
|
],
|
||||||
'spouse_name' => [
|
'gender'=>[
|
||||||
|
'required',
|
||||||
|
new Enum(UserGenderStatus::class),
|
||||||
|
|
||||||
|
],
|
||||||
|
'marital_status'=>[
|
||||||
|
'required',
|
||||||
|
new Enum(UserMaritalStatus::class),
|
||||||
|
],
|
||||||
|
|
||||||
|
'spouse_name'=>[
|
||||||
'nullable',
|
'nullable',
|
||||||
'string',
|
'string',
|
||||||
|
'persian_alpha',
|
||||||
'max:256',
|
'max:256',
|
||||||
'persian_alpha'
|
],
|
||||||
|
|
||||||
|
'file_id ' => [
|
||||||
|
'nullable',
|
||||||
|
'image',
|
||||||
|
'mimes:jpg,jpeg,png,webp',
|
||||||
|
'max:800',
|
||||||
|
],
|
||||||
|
|
||||||
|
'province' => [
|
||||||
|
'nullable',
|
||||||
|
'string',
|
||||||
|
],
|
||||||
|
|
||||||
|
'city' => [
|
||||||
|
'nullable',
|
||||||
|
'string',
|
||||||
|
],
|
||||||
|
|
||||||
|
'password' => [
|
||||||
|
'required',
|
||||||
|
'string',
|
||||||
|
'min:6',
|
||||||
|
'max:255',
|
||||||
|
'confirmed'
|
||||||
|
],
|
||||||
|
'mobile' => [
|
||||||
|
'required',
|
||||||
|
'ir_mobile:zero',
|
||||||
|
'unique:users,mobile',
|
||||||
],
|
],
|
||||||
'email' => [
|
'email' => [
|
||||||
'required',
|
'required',
|
||||||
'max:150',
|
'max:150',
|
||||||
'email',
|
'email',
|
||||||
'unique:App\Models\User'
|
'unique:users,mobile', ]
|
||||||
],
|
|
||||||
'mobile' => [
|
|
||||||
'required',
|
|
||||||
'unique:App\Models\User',
|
|
||||||
'ir_mobile:zero'
|
|
||||||
],
|
|
||||||
'current_password' => [
|
|
||||||
'required',
|
|
||||||
'current_password',
|
|
||||||
],
|
|
||||||
|
|
||||||
'new_password' => [
|
|
||||||
'required',
|
|
||||||
'min:6',
|
|
||||||
'confirmed',
|
|
||||||
],
|
|
||||||
'province_id' => [
|
|
||||||
'nullable',
|
|
||||||
'exists:provinces, id'
|
|
||||||
],
|
|
||||||
'city_id'=>[
|
|
||||||
'nullable',
|
|
||||||
'exists:cities, id'
|
|
||||||
],
|
|
||||||
'image' => [
|
|
||||||
'nullable',
|
|
||||||
'image',
|
|
||||||
'mimes:jpg,png,webp',
|
|
||||||
'max:800'
|
|
||||||
]
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,47 +2,31 @@
|
|||||||
|
|
||||||
namespace App\Http\Requests;
|
namespace App\Http\Requests;
|
||||||
|
|
||||||
use Illuminate\Contracts\Validation\ValidationRule;
|
|
||||||
use Illuminate\Foundation\Http\FormRequest;
|
use Illuminate\Foundation\Http\FormRequest;
|
||||||
use Illuminate\Validation\Rule;
|
use Illuminate\Validation\Rule;
|
||||||
|
|
||||||
class EditProfilePostRequest extends FormRequest
|
class EditProfilePostRequest extends FormRequest
|
||||||
{
|
{
|
||||||
/**
|
|
||||||
* Determine if the user is authorized to make this request.
|
|
||||||
*/
|
|
||||||
public function authorize(): bool
|
public function authorize(): bool
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the validation rules that apply to the request.
|
|
||||||
*
|
|
||||||
* @return array<string, ValidationRule|array<mixed>|string>
|
|
||||||
*/
|
|
||||||
public function rules(): array
|
public function rules(): array
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
'first_name' => [
|
'first_name' => [
|
||||||
'required',
|
'required',
|
||||||
|
'persian_alpha',
|
||||||
'min:2',
|
'min:2',
|
||||||
'max:100',
|
'max:100',
|
||||||
'persian_alpha',
|
|
||||||
],
|
],
|
||||||
|
|
||||||
'last_name' => [
|
'last_name' => [
|
||||||
'required',
|
'required',
|
||||||
|
'persian_alpha',
|
||||||
'min:3',
|
'min:3',
|
||||||
'max:100',
|
'max:100',
|
||||||
'persian_alpha',
|
|
||||||
],
|
|
||||||
|
|
||||||
'email' => [
|
|
||||||
'required',
|
|
||||||
'max:150',
|
|
||||||
'email',
|
|
||||||
Rule::unique('users', 'email')->ignore(auth()->id()),
|
|
||||||
],
|
],
|
||||||
|
|
||||||
'mobile' => [
|
'mobile' => [
|
||||||
@@ -51,21 +35,36 @@ class EditProfilePostRequest extends FormRequest
|
|||||||
Rule::unique('users', 'mobile')->ignore(auth()->id()),
|
Rule::unique('users', 'mobile')->ignore(auth()->id()),
|
||||||
],
|
],
|
||||||
|
|
||||||
'province_id' => [
|
'email' => [
|
||||||
'nullable',
|
'required',
|
||||||
'exists:provinces,id',
|
'email',
|
||||||
|
'max:150',
|
||||||
|
Rule::unique('users', 'email')->ignore(auth()->id()),
|
||||||
],
|
],
|
||||||
|
|
||||||
'city_id' => [
|
'province' => [
|
||||||
'nullable',
|
'nullable',
|
||||||
'exists:cities,id',
|
'string',
|
||||||
|
'max:100',
|
||||||
],
|
],
|
||||||
|
|
||||||
'image' => [
|
'city' => [
|
||||||
'nullable',
|
'nullable',
|
||||||
'image',
|
'string',
|
||||||
'mimes:jpg,png,webp',
|
'max:100',
|
||||||
'max:800',
|
],
|
||||||
|
|
||||||
|
'current_password' => [
|
||||||
|
'nullable',
|
||||||
|
'current_password',
|
||||||
|
],
|
||||||
|
|
||||||
|
'new_password' => [
|
||||||
|
'nullable',
|
||||||
|
'string',
|
||||||
|
'min:6',
|
||||||
|
'max:255',
|
||||||
|
'confirmed',
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
+4
-1
@@ -1,5 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
use App\Http\Middleware\AdminPermissionMiddleware;
|
||||||
use Illuminate\Foundation\Application;
|
use Illuminate\Foundation\Application;
|
||||||
use Illuminate\Foundation\Configuration\Exceptions;
|
use Illuminate\Foundation\Configuration\Exceptions;
|
||||||
use Illuminate\Foundation\Configuration\Middleware;
|
use Illuminate\Foundation\Configuration\Middleware;
|
||||||
@@ -30,9 +31,11 @@ return Application::configure(basePath: dirname(__DIR__))
|
|||||||
return route(name: 'admin.dashboard.index');
|
return route(name: 'admin.dashboard.index');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return route(name: 'index');
|
return route(name: 'index');
|
||||||
});
|
});
|
||||||
|
$middleware->alias([
|
||||||
|
'admin.permission' => AdminPermissionMiddleware::class,
|
||||||
|
]);
|
||||||
})
|
})
|
||||||
->withExceptions(function (Exceptions $exceptions): void {
|
->withExceptions(function (Exceptions $exceptions): void {
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -13,11 +13,11 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
<ul class="user-profile-sidebar-list">
|
<ul class="user-profile-sidebar-list">
|
||||||
<li><a class="active" href="{{route('account.profile')}}"><i class="far fa-user"></i> نمایه من</a></li>
|
<li><a class="{{ activeAccountSidebar('account.profile') }}" href="{{route('account.profile')}}"><i class="far fa-user"></i> نمایه من</a></li>
|
||||||
<li><a href="{{ route('account.booking') }}"><i class="far fa-shopping-bag"></i> رزرو من</a></li>
|
<li><a class="{{ activeAccountSidebar('account.booking') }}" href="{{ route('account.booking') }}"><i class="far fa-shopping-bag"></i> رزرو من</a></li>
|
||||||
<li><a href="{{ route('account.comments') }}"><i class="far fa-comments"></i>نظرات من</a></li>
|
<li><a class="{{ activeAccountSidebar('account.comments') }}" href="{{ route('account.comments') }}"><i class="far fa-comments"></i>نظرات من</a></li>
|
||||||
<li><a href="{{ route('account.wishlist') }}"><i class="far fa-heart"></i> علاقه مندی های من</a></li>
|
<li><a class="{{ activeAccountSidebar('account.wishlist') }}" href="{{ route('account.wishlist') }}"><i class="far fa-heart"></i> علاقه مندی های من</a></li>
|
||||||
<li><a href="{{route('account.edit-profile.index')}}"><i class="far fa-cog"></i> تنظیمات</a></li>
|
<li><a class="{{ activeAccountSidebar('account.edit-profile.index') }}" href="{{route('account.edit-profile.index')}}"><i class="far fa-cog"></i> تنظیمات</a></li>
|
||||||
<li><a href="{{route('auth.logout')}}"><i class="far fa-sign-out"></i> خروج</a></li>
|
<li><a class="{{ activeAccountSidebar('auth.logout') }}" href="{{route('auth.logout')}}"><i class="far fa-sign-out"></i> خروج</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -66,8 +66,8 @@
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>استان</label>
|
<label>استان</label>
|
||||||
<input type="text" name="province_id" class="form-control"
|
<input type="text" name="province_id" class="form-control"
|
||||||
value="{{ old('user_province', $user->user_province) }}" placeholder="استان">
|
value="{{ old('province', $user->province) }}" placeholder="استان">
|
||||||
@error('user_province')
|
@error('province')
|
||||||
<span class="text-danger">{{ $message }}</span>
|
<span class="text-danger">{{ $message }}</span>
|
||||||
@enderror
|
@enderror
|
||||||
</div>
|
</div>
|
||||||
@@ -75,9 +75,9 @@
|
|||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>شهر</label>
|
<label>شهر</label>
|
||||||
<input type="text" name="city_id" class="form-control"
|
<input type="text" name="city" class="form-control"
|
||||||
value="{{ old('user_city', $user->user_city) }}" placeholder="شهر">
|
value="{{ old('city', $user->city) }}" placeholder="شهر">
|
||||||
@error('user_city')
|
@error('city')
|
||||||
<span class="text-danger">{{ $message }}</span>
|
<span class="text-danger">{{ $message }}</span>
|
||||||
@enderror
|
@enderror
|
||||||
</div>
|
</div>
|
||||||
@@ -114,41 +114,5 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{{-- <div class="col-lg-12">--}}
|
|
||||||
{{-- <div class="user-profile-card">--}}
|
|
||||||
{{-- <h4 class="user-profile-card-title">عوض کردن رمز عبور</h4>--}}
|
|
||||||
{{-- <div class="col-lg-12">--}}
|
|
||||||
{{-- <div class="user-profile-form">--}}
|
|
||||||
{{-- <form action="{{ route('account.edit-profile.post') }}" method="POST">--}}
|
|
||||||
{{-- @csrf--}}
|
|
||||||
{{-- @method('PUT')--}}
|
|
||||||
{{-- <div class="form-group">--}}
|
|
||||||
{{-- <label>رمز عبور فعلی</label>--}}
|
|
||||||
{{-- <input type="password" name="current_password" class="form-control"--}}
|
|
||||||
{{-- placeholder="رمز عبور فعلی">--}}
|
|
||||||
{{-- @error('current_password')--}}
|
|
||||||
{{-- <span class="text-danger">{{ $message }}</span>--}}
|
|
||||||
{{-- @enderror--}}
|
|
||||||
{{-- </div>--}}
|
|
||||||
{{-- <div class="form-group">--}}
|
|
||||||
{{-- <label>رمز عبور جدید</label>--}}
|
|
||||||
{{-- <input type="password" name="new_password" class="form-control"--}}
|
|
||||||
{{-- placeholder="رمز عبور جدید">--}}
|
|
||||||
{{-- @error('new_password')--}}
|
|
||||||
{{-- <span class="text-danger">{{ $message }}</span>--}}
|
|
||||||
{{-- @enderror--}}
|
|
||||||
{{-- </div>--}}
|
|
||||||
{{-- <div class="form-group">--}}
|
|
||||||
{{-- <label>تکرار رمز عبور جدید</label>--}}
|
|
||||||
{{-- <input type="password" name="new_password_confirmation" class="form-control"--}}
|
|
||||||
{{-- placeholder="تکرار رمز عبور جدید">--}}
|
|
||||||
{{-- </div>--}}
|
|
||||||
{{-- <button type="submit" class="theme-btn mt-4">عوض کردن رمز عبور <i class="far fa-key"></i>--}}
|
|
||||||
{{-- </button>--}}
|
|
||||||
{{-- </form>--}}
|
|
||||||
{{-- </div>--}}
|
|
||||||
{{-- </div>--}}
|
|
||||||
{{-- </div>--}}
|
|
||||||
{{-- </div>--}}
|
|
||||||
</div>
|
</div>
|
||||||
@endsection
|
@endsection
|
||||||
|
|||||||
@@ -1,10 +1,159 @@
|
|||||||
@extends('admin.layouts.app')
|
@extends('admin.layouts.app')
|
||||||
@section('breadcrumb')<div><h1 class="page-title fw-medium fs-18 mb-1">مدیریت مدیران سایت</h1><span class="text-muted fs-12">تعریف مدیر، فعال/غیرفعالسازی و مدیریت دسترسی</span></div>@endsection
|
|
||||||
@section('content')<div class="container-fluid pt-4">
|
@section('breadcrumb')
|
||||||
@include('admin.partials.errors')
|
<div>
|
||||||
<div class="card custom-card"><div class="card-body p-3"><form method="GET"><div class="row g-2 align-items-center"><div class="col-md-5"><input class="form-control" name="search" value="{{ request('search') }}" placeholder="جستجو نام، نام خانوادگی یا ایمیل"></div><div class="col-md-3"><select class="form-control" name="status"><option value="">همه وضعیتها</option><option value="1" @selected(request('status')==='1')>فعال</option><option value="0" @selected(request('status')==='0')>غیرفعال</option></select></div><div class="col-md-2"><button class="btn btn-light w-100">جستجو</button></div><div class="col-md-2"><a href="{{ route('admin.admins.create') }}" class="btn btn-primary w-100"><i class="ri-add-line"></i> مدیر جدید</a></div></div></form></div></div>
|
<h1 class="page-title fw-medium fs-18 mb-2">لیست مدیران</h1>
|
||||||
<div class="card custom-card mt-3"><div class="table-responsive"><table class="table text-nowrap table-hover mb-0"><thead><tr><th>مدیر</th><th>ایمیل</th><th>وضعیت</th><th>آخرین ورود</th><th>تاریخ ثبت</th><th>عملیات</th></tr></thead><tbody>
|
<div>
|
||||||
@forelse(($admins ?? []) as $admin)<tr><td><div class="fw-semibold">{{ $admin->first_name }} {{ $admin->last_name }}</div><small class="text-muted">#{{ $admin->id }}</small></td><td>{{ $admin->email }}</td><td>@if($admin->status)<span class="badge bg-success-transparent">فعال</span>@else<span class="badge bg-danger-transparent">غیرفعال</span>@endif</td><td>{{ isset($admin->last_login_at) && $admin->last_login_at ? $admin->last_login_at->toJalali()->format('Y/m/d H:i') : '-' }}</td><td>{{ isset($admin->created_at) ? $admin->created_at->toJalali()->format('Y/m/d H:i') : '-' }}</td><td><div class="hstack gap-2"><a href="{{ route('admin.admins.edit',$admin) }}" class="btn btn-secondary-light btn-icon btn-sm" title="ویرایش"><i class="ri-edit-line"></i></a><form method="POST" action="{{ route('admin.admins.destroy',$admin) }}" onsubmit="return confirm('آیا از حذف مدیر مطمئن هستید؟')">@csrf @method('DELETE')<button class="btn btn-danger-light btn-icon btn-sm"><i class="ri-delete-bin-line"></i></button></form></div></td></tr>
|
<nav>
|
||||||
@empty<tr><td colspan="6" class="text-center py-5 text-muted">مدیری ثبت نشده است.</td></tr>@endforelse</tbody></table></div></div>
|
<ol class="breadcrumb mb-0">
|
||||||
{{ ($admins ?? collect())->links() }}
|
<li class="breadcrumb-item"><a href="javascript:void(0)">مدیریت مدیران</a></li>
|
||||||
</div>@endsection
|
<li class="breadcrumb-item active" aria-current="page">لیست مدیران</li>
|
||||||
|
</ol>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@endsection
|
||||||
|
@section('content')
|
||||||
|
<div class="main-content app-content">
|
||||||
|
<div class="container-fluid pt-4">
|
||||||
|
@error('success')
|
||||||
|
<span class="text-success">{{ $message }}</span>
|
||||||
|
@enderror
|
||||||
|
|
||||||
|
<!-- Filter + Search -->
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-xl-12">
|
||||||
|
<div class="card custom-card">
|
||||||
|
<div class="card-body p-3">
|
||||||
|
<form method="GET">
|
||||||
|
<div class="d-flex align-items-center justify-content-between flex-wrap gap-3">
|
||||||
|
|
||||||
|
<!-- Left: Add Admin + Sort -->
|
||||||
|
<div class="d-flex flex-wrap gap-1 project-list-main align-items-center">
|
||||||
|
<div class="d-flex me-2">
|
||||||
|
<input class="form-control me-2" type="search" name="search"
|
||||||
|
placeholder="جستجو ادمین" value="{{ request()->input('search') }}"
|
||||||
|
aria-label="جستجو">
|
||||||
|
<button class="btn btn-light" type="submit">جستجو</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<select id="choices-single-default" class="form-control" name="sort">
|
||||||
|
<option value="">مرتبسازی بر اساس</option>
|
||||||
|
<option
|
||||||
|
value="name_asc" @selected(request()->missing('sort') || request()->input('sort') == 'name_asc')>
|
||||||
|
الفبا (الف - ی)
|
||||||
|
</option>
|
||||||
|
<option
|
||||||
|
value="name_desc" @selected(request()->input('sort') == 'name_desc')>
|
||||||
|
الفبا (ی - الف)
|
||||||
|
</option>
|
||||||
|
<option value="newest" @selected(request()->input('sort') == 'newest')>
|
||||||
|
جدیدترین
|
||||||
|
</option>
|
||||||
|
<option
|
||||||
|
value="name_desc" @selected(request()->input('sort') == 'email')>
|
||||||
|
ایمیل
|
||||||
|
</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Right: Search -->
|
||||||
|
@if(auth('admin')->user()->permission?->admin_create)
|
||||||
|
<a href="{{ route('admin.admins.create') }}"
|
||||||
|
class="btn btn-primary me-2">
|
||||||
|
<i class="ri-add-line me-1 fw-medium align-middle"></i>
|
||||||
|
ایجاد مدیر
|
||||||
|
</a>
|
||||||
|
@endif
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Table -->
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-xl-12">
|
||||||
|
<div class="card custom-card">
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table class="table text-nowrap table-bordered">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>نام</th>
|
||||||
|
<th>نام خانوادگی</th>
|
||||||
|
<th>نام کاربری</th>
|
||||||
|
<th>ایمیل</th>
|
||||||
|
<th>وضعیت</th>
|
||||||
|
<th>آخرین ورود</th>
|
||||||
|
<th>تاریخ ایجاد</th>
|
||||||
|
<th>اقدامات</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
@foreach($admins as $admin)
|
||||||
|
<tr>
|
||||||
|
<td>{{ $admin->first_name }}</td>
|
||||||
|
<td>{{ $admin->last_name }}</td>
|
||||||
|
<td>{{ $admin->username }}</td>
|
||||||
|
<td>{{ $admin->email }}</td>
|
||||||
|
<td>
|
||||||
|
@switch($admin->status)
|
||||||
|
@case(\App\Enums\AdminStatus::DISABLE)
|
||||||
|
<span class="badge bg-warning-transparent">غیرفعال</span>
|
||||||
|
@break
|
||||||
|
@case(\App\Enums\AdminStatus::ENABLE)
|
||||||
|
<span class="badge bg-primary-transparent">فعال</span>
|
||||||
|
@break
|
||||||
|
@endswitch
|
||||||
|
</td>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
@if($admin->last_login_at)
|
||||||
|
{{ $admin->last_login_at->toJalali()->format('H:i d-F-Y') }}
|
||||||
|
@else
|
||||||
|
-
|
||||||
|
@endif
|
||||||
|
</td>
|
||||||
|
<td>{{ $admin->created_at->toJalali()->format('H:i d-F-Y') }}</td>
|
||||||
|
<td>
|
||||||
|
<div class="hstack gap-2 fs-15">
|
||||||
|
@if(auth('admin')->user()->permission?->admin_edit)
|
||||||
|
<a href="{{ route('admin.admins.edit', $admin->id) }}"
|
||||||
|
class="btn btn-secondary-light btn-icon btn-sm"
|
||||||
|
title="ویرایش">
|
||||||
|
<i class="ti ti-pencil"></i>
|
||||||
|
</a>
|
||||||
|
@endif
|
||||||
|
@if(auth('admin')->user()->permission?->admin_delete)
|
||||||
|
<form action="{{ route('admin.admins.destroy', $admin->id) }}"
|
||||||
|
method="POST"
|
||||||
|
onsubmit="return confirm('آیا از حذف این ادمین مطمئن هستید؟')">
|
||||||
|
@csrf
|
||||||
|
@method('DELETE')
|
||||||
|
|
||||||
|
<button type="submit"
|
||||||
|
class="btn btn-icon btn-sm btn-danger-light">
|
||||||
|
<i class="ri-delete-bin-line"></i>
|
||||||
|
</button>
|
||||||
|
</form>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
@endforeach
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Pagination -->
|
||||||
|
{{ $admins->links() }}
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@endsection
|
||||||
|
|||||||
@@ -49,21 +49,24 @@
|
|||||||
<!-- End::slide -->
|
<!-- End::slide -->
|
||||||
|
|
||||||
<!-- Start::slide -->
|
<!-- Start::slide -->
|
||||||
<li class="slide ">
|
@if(auth('admin')->user()->permission?->admin_view)
|
||||||
<a href=""
|
<li class="slide ">
|
||||||
class="side-menu__item {{activeAdminSidebar(['admin.users.index', 'admin.users.edit', 'admin.users.show'])}}">
|
<a href="{{ route('admin.users.index') }}"
|
||||||
|
class="side-menu__item {{activeAdminSidebar(['admin.users.index', 'admin.users.edit'])}}">
|
||||||
|
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" class="side-menu__icon" width="1em"
|
<svg xmlns="http://www.w3.org/2000/svg" class="side-menu__icon"
|
||||||
height="1em" viewBox="0 0 24 24">
|
width="1em"
|
||||||
<path fill="none" stroke="currentColor" stroke-linecap="round"
|
height="1em" viewBox="0 0 24 24">
|
||||||
stroke-linejoin="round" stroke-width="1.5"
|
<path fill="none" stroke="currentColor" stroke-linecap="round"
|
||||||
d="M13 2h-2C7.229 2 5.343 2 4.172 3.172S3 6.229 3 10v4c0 3.771 0 5.657 1.172 6.828S7.229 22 11 22h2c3.771 0 5.657 0 6.828-1.172S21 17.771 21 14v-4c0-3.771 0-5.657-1.172-6.828S16.771 2 13 2m8 10H3m12-5H9m6 10H9"
|
stroke-linejoin="round" stroke-width="1.5"
|
||||||
color="currentColor"></path>
|
d="M13 2h-2C7.229 2 5.343 2 4.172 3.172S3 6.229 3 10v4c0 3.771 0 5.657 1.172 6.828S7.229 22 11 22h2c3.771 0 5.657 0 6.828-1.172S21 17.771 21 14v-4c0-3.771 0-5.657-1.172-6.828S16.771 2 13 2m8 10H3m12-5H9m6 10H9"
|
||||||
</svg>
|
color="currentColor"></path>
|
||||||
|
</svg>
|
||||||
|
|
||||||
<span class="side-menu__label">مدیریت کاربران</span>
|
<span class="side-menu__label">مدیریت کاربران</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
@endif
|
||||||
<!-- End::slide -->
|
<!-- End::slide -->
|
||||||
|
|
||||||
<!-- Start::slide -->
|
<!-- Start::slide -->
|
||||||
@@ -120,23 +123,26 @@
|
|||||||
<!-- End::slide -->
|
<!-- End::slide -->
|
||||||
|
|
||||||
<!-- Start::slide -->
|
<!-- Start::slide -->
|
||||||
<li class="slide active">
|
@if(auth('admin')->user()->permission?->admin_view)
|
||||||
<a href="{{route('admin.admins.index')}}"
|
<li class="slide active">
|
||||||
class="side-menu__item {{activeAdminSidebar(['admin.admins.index','admin.admins.show', 'admin.admins.edit', 'admin.admins.create'])}}">
|
<a href="{{route('admin.admins.index')}}"
|
||||||
<svg xmlns="http://www.w3.org/2000/svg"
|
class="side-menu__item {{activeAdminSidebar(['admin.admins.index','admin.admins.show', 'admin.admins.edit', 'admin.admins.create'])}}">
|
||||||
class="side-menu__icon"
|
<svg xmlns="http://www.w3.org/2000/svg"
|
||||||
width="1em"
|
class="side-menu__icon"
|
||||||
height="1em"
|
width="1em"
|
||||||
viewBox="0 0 24 24">
|
height="1em"
|
||||||
<path fill="none" stroke="currentColor" stroke-linecap="round"
|
viewBox="0 0 24 24">
|
||||||
stroke-linejoin="round" stroke-width="1.5"
|
<path fill="none" stroke="currentColor" stroke-linecap="round"
|
||||||
d="M12 12a5 5 0 1 0-5-5a5 5 0 0 0 5 5Zm-7 9a7 7 0 0 1 14 0Z"/>
|
stroke-linejoin="round" stroke-width="1.5"
|
||||||
</svg>
|
d="M12 12a5 5 0 1 0-5-5a5 5 0 0 0 5 5Zm-7 9a7 7 0 0 1 14 0Z"/>
|
||||||
<span class="side-menu__label">مدیریت مدیران</span>
|
</svg>
|
||||||
</a>
|
<span class="side-menu__label">مدیریت مدیران</span>
|
||||||
</li>
|
</a>
|
||||||
|
</li>
|
||||||
|
@endif
|
||||||
<!-- End::slide -->
|
<!-- End::slide -->
|
||||||
|
|
||||||
|
|
||||||
<li class="slide active">
|
<li class="slide active">
|
||||||
<a href=""
|
<a href=""
|
||||||
class="side-menu__item {{activeAdminSidebar(['admin.setting.index', 'admin.settings.edit'])}}">
|
class="side-menu__item {{activeAdminSidebar(['admin.setting.index', 'admin.settings.edit'])}}">
|
||||||
|
|||||||
@@ -1,5 +1,254 @@
|
|||||||
@extends('admin.layouts.app')
|
@extends('admin.layouts.app')
|
||||||
@section('breadcrumb')<div><h1 class="page-title fw-medium fs-18 mb-1">ثبتنامهای سایت</h1><span class="text-muted fs-12">جستجو، مشاهده، ویرایش، حذف و مدیریت کاربران</span></div>@endsection
|
|
||||||
@section('content')<div class="container-fluid pt-4">@include('admin.partials.errors')
|
@section('breadcrumb')
|
||||||
<div class="card custom-card"><div class="card-body"><form method="GET"><div class="row g-2"><div class="col-md-6"><input class="form-control" name="search" value="{{ request('search') }}" placeholder="نام، نام خانوادگی، ایمیل یا موبایل"></div><div class="col-md-3"><select name="sort" class="form-control"><option value="newest">جدیدترین ثبتنام</option><option value="oldest" @selected(request('sort')==='oldest')>قدیمیترین</option><option value="name" @selected(request('sort')==='name')>نام</option></select></div><div class="col-md-2"><button class="btn btn-light w-100">جستجو</button></div></div></form></div></div>
|
<div>
|
||||||
<div class="card custom-card mt-3"><div class="table-responsive"><table class="table text-nowrap table-hover mb-0"><thead><tr><th>کاربر</th><th>ایمیل</th><th>موبایل</th><th>تاریخ ثبتنام</th><th>عملیات</th></tr></thead><tbody>@forelse(($users ?? []) as $user)<tr><td>{{ trim(($user->first_name ?? '').' '.($user->last_name ?? '')) ?: '-' }}</td><td>{{ $user->email }}</td><td>{{ $user->mobile ?? '-' }}</td><td>{{ isset($user->created_at) ? $user->created_at->toJalali()->format('Y/m/d H:i') : '-' }}</td><td><div class="hstack gap-2"><a href="{{ route('admin.users.show',$user) }}" class="btn btn-primary-light btn-icon btn-sm" title="مشاهده"><i class="ri-eye-line"></i></a><a href="{{ route('admin.users.edit',$user) }}" class="btn btn-secondary-light btn-icon btn-sm" title="ویرایش/تغییر رمز"><i class="ri-edit-line"></i></a><form method="POST" action="{{ route('admin.users.destroy',$user) }}" onsubmit="return confirm('آیا از حذف کاربر مطمئن هستید؟')">@csrf @method('DELETE')<button class="btn btn-danger-light btn-icon btn-sm" title="حذف"><i class="ri-delete-bin-line"></i></button></form></div></td></tr>@empty<tr><td colspan="5" class="text-center py-5 text-muted">کاربری یافت نشد.</td></tr>@endforelse</tbody></table></div></div>{{ ($users ?? collect())->links() }}</div>@endsection
|
<h1 class="page-title fw-medium fs-18 mb-2">لیست کاربران</h1>
|
||||||
|
<div>
|
||||||
|
<nav>
|
||||||
|
<ol class="breadcrumb mb-0">
|
||||||
|
<li class="breadcrumb-item">
|
||||||
|
<a href="javascript:void(0)">مدیریت کاربران</a>
|
||||||
|
</li>
|
||||||
|
<li class="breadcrumb-item active" aria-current="page">
|
||||||
|
لیست کاربران
|
||||||
|
</li>
|
||||||
|
</ol>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@endsection
|
||||||
|
|
||||||
|
@section('content')
|
||||||
|
<div class="main-content app-content">
|
||||||
|
|
||||||
|
@error('general')
|
||||||
|
<span class="alert alert-danger">{{ $message }}</span>
|
||||||
|
@enderror
|
||||||
|
|
||||||
|
<div class="container-fluid pt-4">
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-xl-12">
|
||||||
|
<div class="card custom-card">
|
||||||
|
<div class="card-body p-3">
|
||||||
|
|
||||||
|
<form method="GET">
|
||||||
|
<div class="d-flex align-items-center justify-content-between flex-wrap gap-3">
|
||||||
|
|
||||||
|
<div class="d-flex flex-wrap gap-1 project-list-main align-items-center">
|
||||||
|
|
||||||
|
<div class="d-flex me-2">
|
||||||
|
<input
|
||||||
|
class="form-control me-2"
|
||||||
|
type="search"
|
||||||
|
name="search"
|
||||||
|
placeholder="جستجوی کاربر"
|
||||||
|
value="{{ request()->input('search') }}"
|
||||||
|
aria-label="جستجوی کاربر"
|
||||||
|
>
|
||||||
|
|
||||||
|
<button class="btn btn-light" type="submit">
|
||||||
|
جستجو
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<select
|
||||||
|
id="choices-single-default"
|
||||||
|
class="form-control"
|
||||||
|
name="sort"
|
||||||
|
>
|
||||||
|
<option value="" selected>
|
||||||
|
مرتبسازی بر اساس
|
||||||
|
</option>
|
||||||
|
|
||||||
|
<option
|
||||||
|
value="newest"
|
||||||
|
@selected(request()->input('sort') == 'newest')
|
||||||
|
>
|
||||||
|
جدیدترین
|
||||||
|
</option>
|
||||||
|
|
||||||
|
<option
|
||||||
|
value="name_asc"
|
||||||
|
@selected(request()->input('sort') == 'name_asc')
|
||||||
|
>
|
||||||
|
الفبا (الف - ی)
|
||||||
|
</option>
|
||||||
|
|
||||||
|
<option
|
||||||
|
value="name_desc"
|
||||||
|
@selected(request()->input('sort') == 'name_desc')
|
||||||
|
>
|
||||||
|
الفبا (ی - الف)
|
||||||
|
</option>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Users Table -->
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-xl-12">
|
||||||
|
|
||||||
|
<div class="card custom-card">
|
||||||
|
|
||||||
|
<div class="table-responsive">
|
||||||
|
|
||||||
|
<table class="table text-nowrap table-bordered">
|
||||||
|
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th scope="col">عکس</th>
|
||||||
|
<th scope="col">نام و نام خانوادگی</th>
|
||||||
|
<th scope="col">وضعیت تأهل</th>
|
||||||
|
<th scope="col">نام و نام خانوادگی همسر</th>
|
||||||
|
<th scope="col">ایمیل</th>
|
||||||
|
<th scope="col">استان</th>
|
||||||
|
<th scope="col">شهر</th>
|
||||||
|
<th scope="col">شماره موبایل</th>
|
||||||
|
<th scope="col">تاریخ ثبت نام</th>
|
||||||
|
<th scope="col">عملیات</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
|
||||||
|
<tbody>
|
||||||
|
|
||||||
|
@foreach($users as $user)
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<span class="avatar avatar-md avatar-square bg-light">
|
||||||
|
|
||||||
|
@if($user->file?->id)
|
||||||
|
<img src="{{ getFileUrl($user->file?->id) }}"
|
||||||
|
class="w-100 h-100"
|
||||||
|
alt="{{ getUserFullName($user) }}">
|
||||||
|
@else
|
||||||
|
<img
|
||||||
|
src="{{ asset('assets/admin/images/faces/DefaultAvatar.jpg') }}"
|
||||||
|
class="w-100 h-100"
|
||||||
|
alt="{{ getUserFullName($user) }}"
|
||||||
|
>
|
||||||
|
@endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</span>
|
||||||
|
</td>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
<div class="d-flex align-items-center">
|
||||||
|
|
||||||
|
<div class="flex-fill">
|
||||||
|
|
||||||
|
<span class="fw-medium fs-14 d-block">
|
||||||
|
{{ getUserFullName($user) }}
|
||||||
|
</span>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
|
||||||
|
|
||||||
|
<td>
|
||||||
|
|
||||||
|
@if($user->marital_status == \App\Enums\UserMaritalStatus::SINGLE)
|
||||||
|
<span class="badge bg-primary-transparent">
|
||||||
|
مجرد
|
||||||
|
</span>
|
||||||
|
|
||||||
|
@elseif($user->marital_status == \App\Enums\UserMaritalStatus::MARRIED)
|
||||||
|
<span class="badge bg-success-transparent">
|
||||||
|
متأهل
|
||||||
|
</span>
|
||||||
|
|
||||||
|
@elseif($user->marital_status == \App\Enums\UserMaritalStatus::SEPARATED)
|
||||||
|
<span class="badge bg-warning-transparent">
|
||||||
|
جداشده
|
||||||
|
</span>
|
||||||
|
|
||||||
|
@else
|
||||||
|
-
|
||||||
|
@endif
|
||||||
|
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
@if($user->spouse_name)
|
||||||
|
{{ $user->spouse_name }}
|
||||||
|
@else
|
||||||
|
-
|
||||||
|
@endif
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{ $user->email }}
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{$user->province}}
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{$user->city}}
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{ $user->mobile }}
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{ $user->created_at->toJalali()->format('H:i Y-m-d') }}
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<div class="hstack gap-2 fs-15">
|
||||||
|
|
||||||
|
@if(auth('admin')->user()->permission?->user_edit)
|
||||||
|
<a href="{{ route('admin.users.edit', $user->id) }}"
|
||||||
|
class="btn btn-secondary-light btn-icon btn-sm"
|
||||||
|
title="ویرایش">
|
||||||
|
<i class="ti ti-pencil"></i>
|
||||||
|
</a>
|
||||||
|
@endif
|
||||||
|
|
||||||
|
@if(auth('admin')->user()->permission?->user_delete)
|
||||||
|
<form action="{{ route('admin.users.destroy', $user->id) }}"
|
||||||
|
method="POST"
|
||||||
|
onsubmit="return confirm('آیا از حذف این کاربر مطمئن هستید؟')">
|
||||||
|
@csrf
|
||||||
|
@method('DELETE')
|
||||||
|
|
||||||
|
<button type="submit"
|
||||||
|
class="btn btn-icon btn-sm btn-danger-light">
|
||||||
|
<i class="ri-delete-bin-line"></i>
|
||||||
|
</button>
|
||||||
|
</form>
|
||||||
|
@endif
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
@endforeach
|
||||||
|
|
||||||
|
</tbody>
|
||||||
|
|
||||||
|
</table>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{ $users->links() }}
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@endsection
|
||||||
|
|
||||||
|
|||||||
@@ -205,14 +205,14 @@
|
|||||||
</label>
|
</label>
|
||||||
<div class="form-group-icon">
|
<div class="form-group-icon">
|
||||||
<input type="text"
|
<input type="text"
|
||||||
id="province_id"
|
id="province"
|
||||||
name="province_id"
|
name="province"
|
||||||
class="form-control"
|
class="form-control"
|
||||||
placeholder="استان خود را وارد کنید"
|
placeholder="استان خود را وارد کنید"
|
||||||
value="{{ old('province_id') }}">
|
value="{{ old('province') }}">
|
||||||
<i class="far fa-map-marker-alt"></i>
|
<i class="far fa-map-marker-alt"></i>
|
||||||
</div>
|
</div>
|
||||||
@error('province_id')
|
@error('province')
|
||||||
<span class="text-danger">{{ $message }}</span>
|
<span class="text-danger">{{ $message }}</span>
|
||||||
@enderror
|
@enderror
|
||||||
</div>
|
</div>
|
||||||
@@ -225,14 +225,14 @@
|
|||||||
</label>
|
</label>
|
||||||
<div class="form-group-icon">
|
<div class="form-group-icon">
|
||||||
<input type="text"
|
<input type="text"
|
||||||
id="city_id"
|
id="city"
|
||||||
name="city_id"
|
name="city"
|
||||||
class="form-control"
|
class="form-control"
|
||||||
placeholder="شهرستان خود را وارد کنید"
|
placeholder="شهرستان خود را وارد کنید"
|
||||||
value="{{ old('city_id') }}">
|
value="{{ old('city') }}">
|
||||||
<i class="far fa-map-marker-alt"></i>
|
<i class="far fa-map-marker-alt"></i>
|
||||||
</div>
|
</div>
|
||||||
@error('city_id')
|
@error('city')
|
||||||
<span class="text-danger">{{ $message }}</span>
|
<span class="text-danger">{{ $message }}</span>
|
||||||
@enderror
|
@enderror
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -46,43 +46,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div class="col-lg-3">
|
|
||||||
<div class="form-group">
|
|
||||||
<div class="search-form-date">
|
|
||||||
|
|
||||||
<div class="search-form-journey">
|
|
||||||
<label>تاریخ سفر</label>
|
|
||||||
|
|
||||||
<div class="form-group-icon">
|
|
||||||
<input type="text"
|
|
||||||
name="journey-date"
|
|
||||||
class="form-control date-picker journey-date"
|
|
||||||
value="{{ request('journey-date') }}">
|
|
||||||
<i class="fal fa-calendar-days"></i>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="search-form-return">
|
|
||||||
<label>زمان بازگشت</label>
|
|
||||||
|
|
||||||
<div class="form-group-icon">
|
|
||||||
<input type="text"
|
|
||||||
name="return-date"
|
|
||||||
class="form-control date-picker return-date"
|
|
||||||
value="{{ request('return-date') }}">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="col-lg-3">
|
<div class="col-lg-3">
|
||||||
<div class="form-group dropdown passenger-box">
|
<div class="form-group dropdown passenger-box">
|
||||||
|
|
||||||
|
|||||||
@@ -96,14 +96,6 @@
|
|||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
<div class="booking-sort">
|
<div class="booking-sort">
|
||||||
<h5>{{ $flights->total() }} نتیجه پیداشد</h5>
|
<h5>{{ $flights->total() }} نتیجه پیداشد</h5>
|
||||||
<div class="col-md-3 booking-sort-box">
|
|
||||||
<select class="select">
|
|
||||||
<option value="1">مرتب سازی پیشفرض</option>
|
|
||||||
<option value="2">بر اساس محبوبیت</option>
|
|
||||||
<option value="3">بر اساس پایین ترین قیمت</option>
|
|
||||||
<option value="4">بر اساس بالاترین قیمت</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
|||||||
@@ -80,7 +80,7 @@
|
|||||||
@include('components.flight')
|
@include('components.flight')
|
||||||
@endforeach
|
@endforeach
|
||||||
<div class="text-center mt-3">
|
<div class="text-center mt-3">
|
||||||
<a href="#" class="theme-btn">بیشتر پیدا کن<i class="far fa-arrow-left"></i></a>
|
<a href="{{ route('flights.index') }}" class="theme-btn">بیشتر پیدا کن<i class="far fa-arrow-left"></i></a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -101,7 +101,7 @@
|
|||||||
@include('components.tour')
|
@include('components.tour')
|
||||||
@endforeach
|
@endforeach
|
||||||
<div class="text-center mt-3">
|
<div class="text-center mt-3">
|
||||||
<a href="#" class="theme-btn">بیشتر پیدا کن<i class="far fa-arrow-left"></i></a>
|
<a href="{{ route('tours.index') }}" class="theme-btn">بیشتر پیدا کن<i class="far fa-arrow-left"></i></a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -19,26 +19,6 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="col-md-5">
|
<div class="col-md-5">
|
||||||
<div class="header-top-right">
|
<div class="header-top-right">
|
||||||
<div class="lang">
|
|
||||||
<select name="lang" class="select">
|
|
||||||
<option value="1">انگلیس</option>
|
|
||||||
<option value="2">روس</option>
|
|
||||||
<option value="3">روم</option>
|
|
||||||
<option value="4">فرانس</option>
|
|
||||||
<option value="5">اسپین</option>
|
|
||||||
<option value="6">پرتقال</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
<div class="currency">
|
|
||||||
<select name="currency" class="select">
|
|
||||||
<option value="1">دلار</option>
|
|
||||||
<option value="2">یورو</option>
|
|
||||||
<option value="3">ریال</option>
|
|
||||||
<option value="4">ین</option>
|
|
||||||
<option value="5">پوند</option>
|
|
||||||
<option value="6">فرانک</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
@auth
|
@auth
|
||||||
|
|
||||||
@else
|
@else
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<nav class="navbar navbar-expand-lg">
|
<nav class="navbar navbar-expand-lg">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<a class="navbar-brand" href="index.html">
|
<a class="navbar-brand" href="{{ route('index') }}">
|
||||||
<img src="assets/img/logo/logo.png" class="logo-display" alt="logo">
|
<img src="{{asset('assets/img/logo/logo.png')}}" class="logo-display" alt="logo">
|
||||||
<img src="assets/img/logo/logo-dark.png" class="logo-scrolled" alt="logo">
|
<img src="{{asset('assets/img/logo/logo-dark.png')}}" class="logo-scrolled" alt="logo">
|
||||||
</a>
|
</a>
|
||||||
<div class="mobile-menu-right">
|
<div class="mobile-menu-right">
|
||||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#main_nav" aria-expanded="false" aria-label="Toggle navigation">
|
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#main_nav" aria-expanded="false" aria-label="Toggle navigation">
|
||||||
@@ -17,97 +17,19 @@
|
|||||||
<li class="nav-item dropdown">
|
<li class="nav-item dropdown">
|
||||||
<a class="nav-link " href="{{ route('flights.index') }}">پرواز</a>
|
<a class="nav-link " href="{{ route('flights.index') }}">پرواز</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item dropdown">
|
|
||||||
<a class="nav-link dropdown-toggle" href="#" data-bs-toggle="dropdown">صفحات</a>
|
|
||||||
<div class="dropdown-menu mega-menu fade-down">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-lg-3">
|
|
||||||
<ul>
|
|
||||||
<li><a class="dropdown-item" href="cart.html">سبد خرید من</a></li>
|
|
||||||
<li><a class="dropdown-item" href="checkout.html">پرداخت</a></li>
|
|
||||||
<li><a class="dropdown-item" href="booking-confirm.html">تایید رزرو</a></li>
|
|
||||||
<li><a class="dropdown-item" href="login.html">وارد شدن</a></li>
|
|
||||||
<li><a class="dropdown-item" href="register.html">ثبت نام</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="col-lg-3">
|
|
||||||
<ul>
|
|
||||||
<li><a class="dropdown-item" href="forgot-password.html">فراموشی رمز عبور</a></li>
|
|
||||||
<li><a class="dropdown-item" href="dashboard.html">داشبورد</a></li>
|
|
||||||
<li><a class="dropdown-item" href="profile.html">پروفایل من</a></li>
|
|
||||||
<li><a class="dropdown-item" href="profile-listing.html">فهرست من</a></li>
|
|
||||||
<li><a class="dropdown-item" href="profile-booking.html">رزرو من</a></li>
|
|
||||||
<li><a class="dropdown-item" href="profile-booking-history.html">تاریخچه رزرو من</a></li>
|
|
||||||
<li><a class="dropdown-item" href="profile-wishlist.html"> علاقه مندی های من</a></li>
|
|
||||||
<li><a class="dropdown-item" href="profile-wallet.html">کیف پول من</a></li>
|
|
||||||
<li><a class="dropdown-item" href="profile-message.html">پیام ها</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="col-lg-3">
|
|
||||||
<ul>
|
|
||||||
<li><a class="dropdown-item" href="profile-notification.html">اطلاعیه</a></li>
|
|
||||||
<li><a class="dropdown-item" href="profile-setting.html">تنظیمات</a></li>
|
|
||||||
<li><a class="dropdown-item" href="about.html">درباره ما</a></li>
|
|
||||||
<li><a class="dropdown-item" href="pricing.html">طرح قیمت گذاری</a></li>
|
|
||||||
<li><a class="dropdown-item" href="team.html">تیم ما</a></li>
|
|
||||||
<li><a class="dropdown-item" href="service.html">خدمات</a></li>
|
|
||||||
<li><a class="dropdown-item" href="service-single.html">سرویس تک</a></li>
|
|
||||||
<li><a class="dropdown-item" href="gallery.html">آلبوم عکس</a></li>
|
|
||||||
<li><a class="dropdown-item" href="contact.html">با ما تماس بگیرید</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="col-lg-3">
|
|
||||||
<ul>
|
|
||||||
<li><a class="dropdown-item" href="blog.html">وبلاگ</a></li>
|
|
||||||
<li><a class="dropdown-item" href="blog-single.html">سینگل وبلاگ</a></li>
|
|
||||||
<li><a class="dropdown-item" href="faq.html">سوالات متداول</a></li>
|
|
||||||
<li><a class="dropdown-item" href="testimonial.html">گواهینامه ها</a></li>
|
|
||||||
<li><a class="dropdown-item" href="404.html">خطای 404</a></li>
|
|
||||||
<li><a class="dropdown-item" href="coming-soon.html">به زودی</a></li>
|
|
||||||
<li><a class="dropdown-item" href="terms.html">شرایط استفاده از خدمات</a></li>
|
|
||||||
<li><a class="dropdown-item" href="privacy.html">حفظ حریم خصوصی</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
<li class="nav-item dropdown">
|
|
||||||
<a class="nav-link dropdown-toggle" href="#" data-bs-toggle="dropdown">فعالیت</a>
|
|
||||||
<ul class="dropdown-menu fade-down">
|
|
||||||
<li><a class="dropdown-item" href="activity-grid.html">شبکه فعالیت</a></li>
|
|
||||||
<li><a class="dropdown-item" href="activity-list.html">لیست فعالیت</a></li>
|
|
||||||
<li><a class="dropdown-item" href="activity-full-width.html">فعالیت با عرض کامل</a></li>
|
|
||||||
<li><a class="dropdown-item" href="activity-single.html">جزئیات فعالیت</a></li>
|
|
||||||
<li><a class="dropdown-item" href="activity-booking.html">رزرو فعالیت</a></li>
|
|
||||||
<li><a class="dropdown-item" href="activity-search-result.html">نتیجه جستجوی فعالیت</a></li>
|
|
||||||
<li><a class="dropdown-item" href="activity-add.html">افزودن فعالیت</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li class="nav-item dropdown">
|
|
||||||
<a class="nav-link dropdown-toggle" href="#" data-bs-toggle="dropdown">ماشین</a>
|
|
||||||
<ul class="dropdown-menu fade-down">
|
|
||||||
<li><a class="dropdown-item" href="car-grid.html">شبکه ماشین</a></li>
|
|
||||||
<li><a class="dropdown-item" href="car-list.html">لیست ماشین</a></li>
|
|
||||||
<li><a class="dropdown-item" href="car-full-width.html">عرض کامل ماشین</a></li>
|
|
||||||
<li><a class="dropdown-item" href="car-single.html">جزئیات خودرو</a></li>
|
|
||||||
<li><a class="dropdown-item" href="car-booking.html">رزرو خودرو</a></li>
|
|
||||||
<li><a class="dropdown-item" href="car-search-result.html">نتیجه جستجوی خودرو</a></li>
|
|
||||||
<li><a class="dropdown-item" href="car-add.html">ماشین را اضافه کنید</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li class="nav-item dropdown">
|
|
||||||
<a class="nav-link dropdown-toggle" href="#" data-bs-toggle="dropdown">کشتی تفریحی</a>
|
|
||||||
</li>
|
|
||||||
<li class="nav-item dropdown">
|
<li class="nav-item dropdown">
|
||||||
<a class="nav-link " href="{{ route('tours.index') }}" >تور</a>
|
<a class="nav-link " href="{{ route('tours.index') }}" >تور</a>
|
||||||
</li>
|
</li>
|
||||||
|
<li class="nav-item dropdown">
|
||||||
|
<a class="nav-link " href="{{ route('account.profile') }}" >اکانت</a>
|
||||||
|
</li>
|
||||||
<li class="nav-item"><a class="nav-link" href="contact.html">تماس باما</a></li>
|
<li class="nav-item"><a class="nav-link" href="contact.html">تماس باما</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<div class="header-nav-right">
|
<div class="header-nav-right">
|
||||||
@auth
|
@auth
|
||||||
<div class="header-btn">
|
<div class="header-btn">
|
||||||
<a href="{{ route('auth.logout') }}" class="theme-btn mt-2">خروج از حساب کاربری</a>
|
<a href="{{ route('account.profile') }}" class="theme-btn mt-2">پروفایل کاربری</a>
|
||||||
</div>
|
</div>
|
||||||
@else
|
@else
|
||||||
<div class="header-btn">
|
<div class="header-btn">
|
||||||
|
|||||||
@@ -38,14 +38,7 @@
|
|||||||
{{ $tours->total() }} نتیجه پیدا شد
|
{{ $tours->total() }} نتیجه پیدا شد
|
||||||
</h5>
|
</h5>
|
||||||
|
|
||||||
<div class="booking-sort-box">
|
|
||||||
<select class="select">
|
|
||||||
<option value="1">مرتب سازی پیشفرض</option>
|
|
||||||
<option value="2">بر اساس محبوبیت</option>
|
|
||||||
<option value="3">بر اساس پایین ترین قیمت</option>
|
|
||||||
<option value="4">بر اساس بالاترین قیمت</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user