From 2e270a8b8cb16082bcdb5b0f271ba56f76fe3c26 Mon Sep 17 00:00:00 2001 From: Admin Date: Wed, 19 Aug 2026 15:44:57 -0700 Subject: [PATCH] fix: update user side --- .../Account/EditProfileController.php | 4 +- app/Http/Controllers/Admin/AuthController.php | 4 +- app/Http/Controllers/FlightController.php | 6 - .../Requests/Auth/RegisterPostRequest.php | 98 +++---- app/Http/Requests/EditProfilePostRequest.php | 53 ++-- bootstrap/app.php | 5 +- .../views/account/layouts/sidebar.blade.php | 12 +- resources/views/account/setting.blade.php | 46 +--- resources/views/admin/admins/index.blade.php | 167 +++++++++++- .../views/admin/layouts/sidebar.blade.php | 62 +++-- resources/views/admin/users/index.blade.php | 257 +++++++++++++++++- resources/views/auth/register.blade.php | 16 +- .../views/components/flight-search.blade.php | 37 --- resources/views/flights/index.blade.php | 8 - resources/views/index.blade.php | 4 +- resources/views/layouts/header.blade.php | 20 -- resources/views/layouts/navbar.blade.php | 92 +------ resources/views/tours/index.blade.php | 9 +- 18 files changed, 561 insertions(+), 339 deletions(-) diff --git a/app/Http/Controllers/Account/EditProfileController.php b/app/Http/Controllers/Account/EditProfileController.php index a72fcb4..6f878f0 100644 --- a/app/Http/Controllers/Account/EditProfileController.php +++ b/app/Http/Controllers/Account/EditProfileController.php @@ -28,8 +28,8 @@ class EditProfileController extends Controller 'city_id' ]); - if ($request->filled('password')){ - $inputs['password'] = Hash::make($request->input('password')); + if ($request->filled('new_password')) { + $inputs['password'] = Hash::make($request->input('new_password')); } Auth::user()->update($inputs); diff --git a/app/Http/Controllers/Admin/AuthController.php b/app/Http/Controllers/Admin/AuthController.php index 0cbd69b..48a83f1 100644 --- a/app/Http/Controllers/Admin/AuthController.php +++ b/app/Http/Controllers/Admin/AuthController.php @@ -40,8 +40,10 @@ class AuthController extends Controller Auth::guard('admin')->login($admin); + $admin = Auth::guard('admin')->user(); + $admin->update([ - 'last_login_at' => now() + 'last_login_at' => now(), ]); return redirect()->route('admin.dashboard.index'); diff --git a/app/Http/Controllers/FlightController.php b/app/Http/Controllers/FlightController.php index c765422..4612bce 100644 --- a/app/Http/Controllers/FlightController.php +++ b/app/Http/Controllers/FlightController.php @@ -32,12 +32,6 @@ class FlightController extends Controller $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) { $query->where('capacity', '>=', $passengers); }) diff --git a/app/Http/Requests/Auth/RegisterPostRequest.php b/app/Http/Requests/Auth/RegisterPostRequest.php index efa1283..6d74c11 100644 --- a/app/Http/Requests/Auth/RegisterPostRequest.php +++ b/app/Http/Requests/Auth/RegisterPostRequest.php @@ -28,78 +28,84 @@ class RegisterPostRequest extends FormRequest return [ 'first_name' => [ 'required', + 'persian_alpha', 'min:2', 'max:100', - 'persian_alpha' + ], 'last_name' => [ 'required', + 'persian_alpha', 'min:3', 'max:100', - 'persian_alpha' + ], 'username' => [ 'required', - 'alpha_num', + 'regex:/^[a-zA-Z0-9\x{0600}-\x{06FF}]+$/u', 'min:3', 'max:20', - 'unique:App\Models\User,username', + 'unique:users,username' + ], 'national_code' => [ 'required', 'ir_national_id', - 'unique:App\Models\User,national_code' - ], - 'gender' => [ - 'required', - new Enum(UserGenderStatus::class) + 'digits:10', + 'unique:users,national_code', - ], - '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', 'string', + 'persian_alpha', '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' => [ 'required', 'max:150', 'email', - 'unique:App\Models\User' - ], - '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' - ] + 'unique:users,mobile', ] ]; } } diff --git a/app/Http/Requests/EditProfilePostRequest.php b/app/Http/Requests/EditProfilePostRequest.php index 591b237..7d644a7 100644 --- a/app/Http/Requests/EditProfilePostRequest.php +++ b/app/Http/Requests/EditProfilePostRequest.php @@ -2,47 +2,31 @@ namespace App\Http\Requests; -use Illuminate\Contracts\Validation\ValidationRule; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Validation\Rule; class EditProfilePostRequest extends FormRequest { - /** - * Determine if the user is authorized to make this request. - */ public function authorize(): bool { return true; } - /** - * Get the validation rules that apply to the request. - * - * @return array|string> - */ public function rules(): array { return [ 'first_name' => [ 'required', + 'persian_alpha', 'min:2', 'max:100', - 'persian_alpha', ], 'last_name' => [ 'required', + 'persian_alpha', 'min:3', 'max:100', - 'persian_alpha', - ], - - 'email' => [ - 'required', - 'max:150', - 'email', - Rule::unique('users', 'email')->ignore(auth()->id()), ], 'mobile' => [ @@ -51,21 +35,36 @@ class EditProfilePostRequest extends FormRequest Rule::unique('users', 'mobile')->ignore(auth()->id()), ], - 'province_id' => [ - 'nullable', - 'exists:provinces,id', + 'email' => [ + 'required', + 'email', + 'max:150', + Rule::unique('users', 'email')->ignore(auth()->id()), ], - 'city_id' => [ + 'province' => [ 'nullable', - 'exists:cities,id', + 'string', + 'max:100', ], - 'image' => [ + 'city' => [ 'nullable', - 'image', - 'mimes:jpg,png,webp', - 'max:800', + 'string', + 'max:100', + ], + + 'current_password' => [ + 'nullable', + 'current_password', + ], + + 'new_password' => [ + 'nullable', + 'string', + 'min:6', + 'max:255', + 'confirmed', ], ]; } diff --git a/bootstrap/app.php b/bootstrap/app.php index 7584758..e19dd2b 100644 --- a/bootstrap/app.php +++ b/bootstrap/app.php @@ -1,5 +1,6 @@ alias([ + 'admin.permission' => AdminPermissionMiddleware::class, + ]); }) ->withExceptions(function (Exceptions $exceptions): void { // diff --git a/resources/views/account/layouts/sidebar.blade.php b/resources/views/account/layouts/sidebar.blade.php index 4bf9209..bef44a3 100644 --- a/resources/views/account/layouts/sidebar.blade.php +++ b/resources/views/account/layouts/sidebar.blade.php @@ -13,11 +13,11 @@ diff --git a/resources/views/account/setting.blade.php b/resources/views/account/setting.blade.php index 5c9e5a3..6d3e218 100644 --- a/resources/views/account/setting.blade.php +++ b/resources/views/account/setting.blade.php @@ -66,8 +66,8 @@
- @error('user_province') + value="{{ old('province', $user->province) }}" placeholder="استان"> + @error('province') {{ $message }} @enderror
@@ -75,9 +75,9 @@
- - @error('user_city') + + @error('city') {{ $message }} @enderror
@@ -114,41 +114,5 @@
-{{--
--}} -{{-- --}} -{{--
--}} @endsection diff --git a/resources/views/admin/admins/index.blade.php b/resources/views/admin/admins/index.blade.php index 1366fe4..93c6c80 100644 --- a/resources/views/admin/admins/index.blade.php +++ b/resources/views/admin/admins/index.blade.php @@ -1,10 +1,159 @@ @extends('admin.layouts.app') -@section('breadcrumb')

مدیریت مدیران سایت

تعریف مدیر، فعال/غیرفعال‌سازی و مدیریت دسترسی
@endsection -@section('content')
-@include('admin.partials.errors') -
-
-@forelse(($admins ?? []) as $admin) -@empty@endforelse
مدیرایمیلوضعیتآخرین ورودتاریخ ثبتعملیات
{{ $admin->first_name }} {{ $admin->last_name }}
#{{ $admin->id }}
{{ $admin->email }}@if($admin->status)فعال@elseغیرفعال@endif{{ isset($admin->last_login_at) && $admin->last_login_at ? $admin->last_login_at->toJalali()->format('Y/m/d H:i') : '-' }}{{ isset($admin->created_at) ? $admin->created_at->toJalali()->format('Y/m/d H:i') : '-' }}
@csrf @method('DELETE')
مدیری ثبت نشده است.
-{{ ($admins ?? collect())->links() }} -
@endsection + +@section('breadcrumb') +
+

لیست مدیران

+
+ +
+
+@endsection +@section('content') +
+
+ @error('success') + {{ $message }} + @enderror + + +
+
+
+
+
+
+ + +
+
+ + +
+ + +
+ + + @if(auth('admin')->user()->permission?->admin_create) + + + ایجاد مدیر + + @endif + +
+
+
+
+
+
+ + +
+
+
+
+ + + + + + + + + + + + + + + @foreach($admins as $admin) + + + + + + + + + + + + + @endforeach + +
نامنام خانوادگینام کاربریایمیلوضعیتآخرین ورودتاریخ ایجاداقدامات
{{ $admin->first_name }}{{ $admin->last_name }}{{ $admin->username }}{{ $admin->email }} + @switch($admin->status) + @case(\App\Enums\AdminStatus::DISABLE) + غیرفعال + @break + @case(\App\Enums\AdminStatus::ENABLE) + فعال + @break + @endswitch + + @if($admin->last_login_at) + {{ $admin->last_login_at->toJalali()->format('H:i d-F-Y') }} + @else + - + @endif + {{ $admin->created_at->toJalali()->format('H:i d-F-Y') }} +
+ @if(auth('admin')->user()->permission?->admin_edit) + + + + @endif + @if(auth('admin')->user()->permission?->admin_delete) +
+ @csrf + @method('DELETE') + + +
+ @endif +
+
+
+
+
+
+ + + {{ $admins->links() }} + +
+
+@endsection diff --git a/resources/views/admin/layouts/sidebar.blade.php b/resources/views/admin/layouts/sidebar.blade.php index 6bbbaec..38f8cea 100644 --- a/resources/views/admin/layouts/sidebar.blade.php +++ b/resources/views/admin/layouts/sidebar.blade.php @@ -49,21 +49,24 @@ -
  • - + @if(auth('admin')->user()->permission?->admin_view) +
  • + - - - + + + - مدیریت کاربران - -
  • + مدیریت کاربران + + + @endif @@ -120,23 +123,26 @@ -
  • - - - - - مدیریت مدیران - -
  • + @if(auth('admin')->user()->permission?->admin_view) +
  • + + + + + مدیریت مدیران + +
  • + @endif +
  • diff --git a/resources/views/admin/users/index.blade.php b/resources/views/admin/users/index.blade.php index e1fa362..eace8be 100644 --- a/resources/views/admin/users/index.blade.php +++ b/resources/views/admin/users/index.blade.php @@ -1,5 +1,254 @@ @extends('admin.layouts.app') -@section('breadcrumb')

    ثبت‌نام‌های سایت

    جستجو، مشاهده، ویرایش، حذف و مدیریت کاربران
    @endsection -@section('content')
    @include('admin.partials.errors') -
    -
    @forelse(($users ?? []) as $user)@empty@endforelse
    کاربرایمیلموبایلتاریخ ثبت‌نامعملیات
    {{ trim(($user->first_name ?? '').' '.($user->last_name ?? '')) ?: '-' }}{{ $user->email }}{{ $user->mobile ?? '-' }}{{ isset($user->created_at) ? $user->created_at->toJalali()->format('Y/m/d H:i') : '-' }}
    @csrf @method('DELETE')
    کاربری یافت نشد.
    {{ ($users ?? collect())->links() }}
    @endsection + +@section('breadcrumb') +
    +

    لیست کاربران

    +
    + +
    +
    +@endsection + +@section('content') +
    + + @error('general') + {{ $message }} + @enderror + +
    + +
    +
    +
    +
    + +
    +
    + +
    + +
    + + + +
    + + + +
    + +
    +
    + +
    +
    +
    +
    + + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + @foreach($users as $user) + + + + + + + + + + + + + + + + + + + @endforeach + + + +
    عکسنام و نام خانوادگیوضعیت تأهلنام و نام خانوادگی همسرایمیلاستانشهرشماره موبایلتاریخ ثبت نامعملیات
    + + + @if($user->file?->id) + {{ getUserFullName($user) }} + @else + {{ getUserFullName($user) }} + @endif + + + + + +
    + +
    + + + {{ getUserFullName($user) }} + + +
    + +
    +
    + + @if($user->marital_status == \App\Enums\UserMaritalStatus::SINGLE) + + مجرد + + + @elseif($user->marital_status == \App\Enums\UserMaritalStatus::MARRIED) + + متأهل + + + @elseif($user->marital_status == \App\Enums\UserMaritalStatus::SEPARATED) + + جداشده + + + @else + - + @endif + + + @if($user->spouse_name) + {{ $user->spouse_name }} + @else + - + @endif + + {{ $user->email }} + + {{$user->province}} + + {{$user->city}} + + {{ $user->mobile }} + + {{ $user->created_at->toJalali()->format('H:i Y-m-d') }} + +
    + + @if(auth('admin')->user()->permission?->user_edit) + + + + @endif + + @if(auth('admin')->user()->permission?->user_delete) +
    + @csrf + @method('DELETE') + + +
    + @endif + +
    +
    + +
    + +
    + + {{ $users->links() }} + +
    +
    + +
    +
    +@endsection + diff --git a/resources/views/auth/register.blade.php b/resources/views/auth/register.blade.php index a736226..2747d55 100644 --- a/resources/views/auth/register.blade.php +++ b/resources/views/auth/register.blade.php @@ -205,14 +205,14 @@
    + value="{{ old('province') }}">
    - @error('province_id') + @error('province') {{ $message }} @enderror @@ -225,14 +225,14 @@
    + value="{{ old('city') }}">
    - @error('city_id') + @error('city') {{ $message }} @enderror diff --git a/resources/views/components/flight-search.blade.php b/resources/views/components/flight-search.blade.php index 6a9ce2a..aa92bae 100644 --- a/resources/views/components/flight-search.blade.php +++ b/resources/views/components/flight-search.blade.php @@ -46,43 +46,6 @@ - -
    -
    -
    - -
    - - -
    - - -
    - - -
    - - -
    - - -
    - -
    - -
    - -
    -
    -
    - -
    @@ -101,7 +101,7 @@ @include('components.tour') @endforeach
    diff --git a/resources/views/layouts/header.blade.php b/resources/views/layouts/header.blade.php index 2b02a03..da71ed3 100644 --- a/resources/views/layouts/header.blade.php +++ b/resources/views/layouts/header.blade.php @@ -19,26 +19,6 @@
    -
    - -
    -
    - -
    @auth @else diff --git a/resources/views/layouts/navbar.blade.php b/resources/views/layouts/navbar.blade.php index 4bb89e3..93d43cf 100644 --- a/resources/views/layouts/navbar.blade.php +++ b/resources/views/layouts/navbar.blade.php @@ -1,8 +1,8 @@