feat(auth): update login and register flow
This commit is contained in:
@@ -29,11 +29,13 @@ class LoginController extends Controller
|
|||||||
'general' => 'اطلاعات یافت نشد'
|
'general' => 'اطلاعات یافت نشد'
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!\Hash::check($input['password'] , $user->password)){
|
if (!\Hash::check($input['password'] , $user->password)){
|
||||||
return back()->withErrors([
|
return back()->withErrors([
|
||||||
'general' => 'اطلاعات یافت نشد'
|
'general' => 'اطلاعات یافت نشد'
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
Auth::login($user);
|
Auth::login($user);
|
||||||
return redirect()->route('index');
|
return redirect()->route('index');
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ class LoginPostRequest extends FormRequest
|
|||||||
'password' => [
|
'password' => [
|
||||||
'required',
|
'required',
|
||||||
'string',
|
'string',
|
||||||
'min:8',
|
'min:2',
|
||||||
'alpha_num',
|
'alpha_num',
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -66,7 +66,8 @@ class RegisterPostRequest extends FormRequest
|
|||||||
'string',
|
'string',
|
||||||
'min:5',
|
'min:5',
|
||||||
'max:100',
|
'max:100',
|
||||||
'alpha_num'
|
'alpha_num',
|
||||||
|
'unique:users,user_name'
|
||||||
],
|
],
|
||||||
'national_code' => [
|
'national_code' => [
|
||||||
'required',
|
'required',
|
||||||
@@ -84,19 +85,26 @@ class RegisterPostRequest extends FormRequest
|
|||||||
'gender' => [
|
'gender' => [
|
||||||
'required',
|
'required',
|
||||||
'int',
|
'int',
|
||||||
'in:0,1,2'
|
'in:0,1,'
|
||||||
],
|
],
|
||||||
'marital_status' => [
|
'marital_status' => [
|
||||||
'required',
|
'required',
|
||||||
'int',
|
'int',
|
||||||
'in:0,1'
|
'in:0,1,2'
|
||||||
],
|
],
|
||||||
'user_province' => [
|
'user_province' => [
|
||||||
'nullable'
|
'nullable'
|
||||||
],
|
],
|
||||||
'user_city' => [
|
'user_city' => [
|
||||||
'nullable'
|
'nullable'
|
||||||
]
|
],
|
||||||
|
'image' => [
|
||||||
|
'nullable',
|
||||||
|
'file',
|
||||||
|
'mimes:jpg,jpeg,png,webp',
|
||||||
|
'max:800',
|
||||||
|
|
||||||
|
],
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,246 +1,68 @@
|
|||||||
@extends('layouts.app')
|
@extends('layouts.app')
|
||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
<main class="main">
|
|
||||||
|
|
||||||
<div class="site-breadcrumb" style="background: url(assets/img/breadcrumb/02.jpg)">
|
<div class="container">
|
||||||
<div class="container">
|
<h2 class="breadcrumb-title">ورود</h2>
|
||||||
<h2 class="breadcrumb-title">داشبورد</h2>
|
<ul class="breadcrumb-menu">
|
||||||
<ul class="breadcrumb-menu">
|
<li><a href="">صفحه اصلی</a></li>
|
||||||
<li><a href="index.html">صفحه اصلی</a></li>
|
<li class="active">ورود</li>
|
||||||
<li class="active">داشبورد</li>
|
</ul>
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="user-profile py-120">
|
|
||||||
<div class="container">
|
<div class="login-area py-120">
|
||||||
<div class="row">
|
<div class="container">
|
||||||
<div class="col-lg-3">
|
<div class="col-md-5 mx-auto">
|
||||||
<div class="user-profile-sidebar">
|
<div class="login-form">
|
||||||
<div class="user-profile-sidebar-top">
|
<div class="login-header">
|
||||||
<div class="user-profile-img">
|
<a href="{{route('index')}}">
|
||||||
<img src="assets/img/account/user.jpg" alt>
|
<img src="{{asset('assets/img/logo/logo-dark.png')}}" alt>
|
||||||
<button type="button" class="profile-img-btn"><i class="far fa-camera"></i></button>
|
</a>
|
||||||
<input type="file" class="profile-img-file">
|
<p>با حساب MyTrip خود وارد شوید</p>
|
||||||
</div>
|
|
||||||
<h4>آنتونی جانسون</h4>
|
|
||||||
<p><a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="3e5451504d51507e5b465f534e525b105d5153">[ایمیل محافظت شده است]</a></p>
|
|
||||||
</div>
|
|
||||||
<ul class="user-profile-sidebar-list">
|
|
||||||
<li><a class="active" href="dashboard.html"><i class="far fa-gauge-high"></i> داشبورد</a></li>
|
|
||||||
<li><a href="profile.html"><i class="far fa-user"></i> پروفایل من</a></li>
|
|
||||||
<li><a href="profile-booking.html"><i class="far fa-shopping-bag"></i> رزرو های من</a></li>
|
|
||||||
<li><a href="profile-booking-history.html"><i class="far fa-clipboard-list"></i> تاریخچه رزروها</a></li>
|
|
||||||
<li><a href="profile-listing.html"><i class="far fa-globe"></i> لیست من</a></li>
|
|
||||||
<li class="profile-menu">
|
|
||||||
<a href="#profile-menu" data-bs-toggle="collapse" aria-expanded="false" aria-controls="profile-menu">
|
|
||||||
<i class="far fa-plus-circle"></i> افزودن لیست <i class="far fa-angle-down profile-menu-angle"></i>
|
|
||||||
</a>
|
|
||||||
<div class="collapse" id="profile-menu">
|
|
||||||
<ul class="profile-menu-list">
|
|
||||||
<li><a href="flight-add.html">اضافه کردن پرواز</a></li>
|
|
||||||
<li><a href="hotel-add.html">اضافه کردن هتل</a></li>
|
|
||||||
<li><a href="hotel-room-add.html">اضافه کردن اتاق</a></li>
|
|
||||||
<li><a href="activity-add.html">افزودن فعالیت</a></li>
|
|
||||||
<li><a href="car-add.html">اضافه کردن ماشین</a></li>
|
|
||||||
<li><a href="cruise-add.html">اضافه کردن کروز</a></li>
|
|
||||||
<li><a href="tour-add.html">اضافه کردن تور </a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
<li><a href="profile-wishlist.html"><i class="far fa-heart"></i> علاقه مندی های من</a></li>
|
|
||||||
<li><a href="profile-message.html"><i class="far fa-envelope"></i> پیام ها <span class="badge">02</span></a></li>
|
|
||||||
<li><a href="profile-wallet.html"><i class="far fa-wallet"></i> کیف پول من</a></li>
|
|
||||||
<li><a href="profile-notification.html"><i class="far fa-bell"></i> اطلاعیه <span class="badge">05</span></a></li>
|
|
||||||
<li><a href="profile-setting.html"><i class="far fa-cog"></i> تنظیمات</a></li>
|
|
||||||
<li><a href="#"><i class="far fa-sign-out"></i> خروج</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="col-lg-9">
|
<form action="{{route('auth.login.post')}}" method="post">
|
||||||
<div class="user-profile-wrapper">
|
@csrf
|
||||||
<div class="row">
|
@error('general')
|
||||||
<div class="col-md-6 col-lg-4">
|
<span style="color: red">{{ $message }}</span>
|
||||||
<div class="dashboard-widget dashboard-widget-color-1">
|
@enderror
|
||||||
<div class="dashboard-widget-info">
|
<div class="form-group">
|
||||||
<h1>120</h1>
|
<label for="email">آدرس ایمیل</label>
|
||||||
<span>تمام رزرو ها</span>
|
<div class="form-group-icon">
|
||||||
</div>
|
<input type="email" name="email" id="email" class="form-control" placeholder="ایمیل خود را وارد کنید" value="{{old('email')}}">
|
||||||
<div class="dashboard-widget-icon">
|
<i class="far fa-envelope"></i>
|
||||||
<i class="fal fa-shopping-bag"></i>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-6 col-lg-4">
|
|
||||||
<div class="dashboard-widget dashboard-widget-color-2">
|
|
||||||
<div class="dashboard-widget-info">
|
|
||||||
<h1>26</h1>
|
|
||||||
<span>رزرو های حاضر</span>
|
|
||||||
</div>
|
|
||||||
<div class="dashboard-widget-icon">
|
|
||||||
<i class="fal fa-loader"></i>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-6 col-lg-4">
|
|
||||||
<div class="dashboard-widget dashboard-widget-color-3">
|
|
||||||
<div class="dashboard-widget-info">
|
|
||||||
<h1>60000 تومان</h1>
|
|
||||||
<span>شما دریافت کردید</span>
|
|
||||||
</div>
|
|
||||||
<div class="dashboard-widget-icon">
|
|
||||||
<i class="fal fa-sack-dollar"></i>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-lg-8">
|
|
||||||
<div class="user-profile-card">
|
|
||||||
<h4 class="user-profile-card-title">نمودار فروش</h4>
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-lg-12">
|
|
||||||
<div id="chart"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-lg-4">
|
|
||||||
<div class="user-profile-card">
|
|
||||||
<h4 class="user-profile-card-title">اطلاعیه</h4>
|
|
||||||
<div class="user-notification">
|
|
||||||
<div class="user-notification-item">
|
|
||||||
<a href="#">
|
|
||||||
<div class="user-notification-icon">
|
|
||||||
<i class="far fa-home"></i>
|
|
||||||
</div>
|
|
||||||
<div class="user-notification-info">
|
|
||||||
<p>رزرو شما <b>#123456</b> هتل رولتاک تایید شد!</p>
|
|
||||||
<span>همین الان</span>
|
|
||||||
</div>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
<div class="user-notification-item">
|
|
||||||
<a href="#">
|
|
||||||
<div class="user-notification-icon">
|
|
||||||
<i class="far fa-envelope"></i>
|
|
||||||
</div>
|
|
||||||
<div class="user-notification-info">
|
|
||||||
<p>رزرو شما <b>#123456</b> هتل رولتاک تایید شد!</p>
|
|
||||||
<span>15 دقیقه قبل</span>
|
|
||||||
</div>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
<div class="user-notification-item">
|
|
||||||
<a href="#">
|
|
||||||
<div class="user-notification-icon">
|
|
||||||
<i class="far fa-heart"></i>
|
|
||||||
</div>
|
|
||||||
<div class="user-notification-info">
|
|
||||||
<p>رزرو شما <b>#123456</b> هتل رولتاک تایید شد!</p>
|
|
||||||
<span>15 روز پیش</span>
|
|
||||||
</div>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
<div class="user-notification-item">
|
|
||||||
<a href="#">
|
|
||||||
<div class="user-notification-icon">
|
|
||||||
<i class="far fa-comment"></i>
|
|
||||||
</div>
|
|
||||||
<div class="user-notification-info">
|
|
||||||
<p>رزرو شما <b>#123456</b> هتل رولتاک تایید شد!</p>
|
|
||||||
<span>2 ماه پیش</span>
|
|
||||||
</div>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-lg-12">
|
|
||||||
<div class="user-profile-card profile-booking">
|
|
||||||
<h4 class="user-profile-card-title">رزرو اخیر</h4>
|
|
||||||
<div class="table-responsive">
|
|
||||||
<table class="table text-nowrap">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th>نه</th>
|
|
||||||
<th>شناسه رزرو</th>
|
|
||||||
<th>نوع</th>
|
|
||||||
<th>تاریخ</th>
|
|
||||||
<th>قیمت</th>
|
|
||||||
<th>وضعیت</th>
|
|
||||||
<th>عمل</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td>01.</td>
|
|
||||||
<td><b>#12453</b></td>
|
|
||||||
<td>هتل</td>
|
|
||||||
<td> 22 مهر ، 1402</td>
|
|
||||||
<td>11000 تومان</td>
|
|
||||||
<td><span class="badge badge-success">تکمیل شده</span></td>
|
|
||||||
<td>
|
|
||||||
<a href="#" class="btn btn-outline-secondary btn-sm"><i class="far fa-eye"></i></a>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>02.</td>
|
|
||||||
<td><b>#12453</b></td>
|
|
||||||
<td>پرواز</td>
|
|
||||||
<td> 22 مهر ، 1402</td>
|
|
||||||
<td>11000 تومان</td>
|
|
||||||
<td><span class="badge badge-success">تکمیل شده</span></td>
|
|
||||||
<td>
|
|
||||||
<a href="#" class="btn btn-outline-secondary btn-sm"><i class="far fa-eye"></i></a>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>03.</td>
|
|
||||||
<td><b>#12453</b></td>
|
|
||||||
<td>فعالیت</td>
|
|
||||||
<td> 22 مهر ، 1402</td>
|
|
||||||
<td>11000 تومان</td>
|
|
||||||
<td><span class="badge badge-warning">انتظار</span></td>
|
|
||||||
<td>
|
|
||||||
<a href="#" class="btn btn-outline-secondary btn-sm"><i class="far fa-eye"></i></a>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>04.</td>
|
|
||||||
<td><b>#12453</b></td>
|
|
||||||
<td>ماشین</td>
|
|
||||||
<td> 22 مهر ، 1402</td>
|
|
||||||
<td>11000 تومان</td>
|
|
||||||
<td><span class="badge badge-success">تکمیل شده</span></td>
|
|
||||||
<td>
|
|
||||||
<a href="#" class="btn btn-outline-secondary btn-sm"><i class="far fa-eye"></i></a>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>05.</td>
|
|
||||||
<td><b>#12453</b></td>
|
|
||||||
<td>کشتی</td>
|
|
||||||
<td> 22 مهر ، 1402</td>
|
|
||||||
<td>11000 تومان</td>
|
|
||||||
<td><span class="badge badge-danger">کنسل شده</span></td>
|
|
||||||
<td>
|
|
||||||
<a href="#" class="btn btn-outline-secondary btn-sm"><i class="far fa-eye"></i></a>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="password">رمز عبور</label>
|
||||||
|
<div class="form-group-icon">
|
||||||
|
<input type="password" class="form-control" name="password" id="password" placeholder="رمز عبور را وارد کنید">
|
||||||
|
<i class="far fa-lock"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="d-flex justify-content-between mb-3">
|
||||||
|
<div class="form-check">
|
||||||
|
<input class="form-check-input" type="checkbox" value id="remember">
|
||||||
|
<label class="form-check-label" for="remember">
|
||||||
|
مرا به یاد داشته باش
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<a href="forgot-password.html" class="forgot-pass">رمز عبور را فراموش کرده اید؟</a>
|
||||||
|
</div>
|
||||||
|
<div class="d-flex align-items-center">
|
||||||
|
<button type="submit" class="theme-btn"><i class="far fa-sign-in"></i> ورود</button>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
<div class="login-footer">
|
||||||
|
<div class="login-divider"><span>یا</span></div>
|
||||||
|
<div class="social-login">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<p>اکانت ندارید ؟ <a href="{{route('auth.register.index')}}">عضو شدن.</a></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
</main>
|
|
||||||
@endsection
|
@endsection
|
||||||
|
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
</a>
|
</a>
|
||||||
<p>حساب MyTrip خود را ایجاد کنید</p>
|
<p>حساب MyTrip خود را ایجاد کنید</p>
|
||||||
</div>
|
</div>
|
||||||
<form action="#" method="POST" enctype="multipart/form-data">
|
<form action="{{route('auth.register.post')}}" method="POST" enctype="multipart/form-data">
|
||||||
@csrf
|
@csrf
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="first_name">نام *</label>
|
<label for="first_name">نام *</label>
|
||||||
@@ -196,7 +196,7 @@
|
|||||||
class="form-control"
|
class="form-control"
|
||||||
placeholder="نام کاربری"
|
placeholder="نام کاربری"
|
||||||
id="user_name"
|
id="user_name"
|
||||||
value="{{old('username')}}"
|
value="{{old('user_name')}}"
|
||||||
|
|
||||||
|
|
||||||
>
|
>
|
||||||
@@ -236,13 +236,13 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="province">استان</label>
|
<label for="user_province">استان</label>
|
||||||
|
|
||||||
<div class="form-group-icon">
|
<div class="form-group-icon">
|
||||||
<select name="province" class="form-control" id="province">
|
<select name="province" class="form-control" id="province">
|
||||||
<option value="">انتخاب استان</option>
|
<option value="">انتخاب استان</option>
|
||||||
@foreach($provinces as $province)
|
@foreach($provinces as $province)
|
||||||
<option value="mazandaran">{{$province->name}}</option>
|
<option value="{{$provinces->id}}">{{$province->name}}</option>
|
||||||
@endforeach
|
@endforeach
|
||||||
|
|
||||||
|
|
||||||
@@ -254,7 +254,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="city">شهرستان</label>
|
<label for="user_city">شهرستان</label>
|
||||||
<div class="form-group-icon">
|
<div class="form-group-icon">
|
||||||
<select name="city" class="form-control" id="city">
|
<select name="city" class="form-control" id="city">
|
||||||
<option value="">انتخاب شهرستان</option>
|
<option value="">انتخاب شهرستان</option>
|
||||||
|
|||||||
Reference in New Issue
Block a user