solving freedcamp issues and bugs
This commit is contained in:
@@ -149,13 +149,19 @@ class AdminLoginController extends Controller
|
||||
|
||||
public function sendMailPage(Request $request)
|
||||
{
|
||||
if (!$request->hasValidSignature()) {
|
||||
abort(403);
|
||||
}
|
||||
// if (!$request->hasValidSignature()) {
|
||||
// abort(403);
|
||||
// return response()->json([
|
||||
// 'status'=>403,
|
||||
// 'message'=>'Page expire !',
|
||||
// ]);
|
||||
// }
|
||||
$expirePage = !$request->hasValidSignature();
|
||||
// dd($expirePage);
|
||||
// $email = 'example@gmail.com';
|
||||
// $email = $request->email;
|
||||
$email = Session()->get('email_send');
|
||||
return view('Admin.Pages.manage_sub_admin.reset-password', compact('email'));
|
||||
return view('Admin.Pages.manage_sub_admin.reset-password', compact('email','expirePage'));
|
||||
}
|
||||
|
||||
public function updatePassword(Request $request)
|
||||
|
||||
@@ -466,7 +466,10 @@ class AuthController extends Controller
|
||||
if ($validationMessage) {
|
||||
return response()->json(['status' => 400, 'message' => $validationMessage], 400);
|
||||
}
|
||||
|
||||
if(strlen($request->otp) < 4)
|
||||
{
|
||||
return response()->json(['status' => 401, 'message' => 'Please enter 4 digit OTP']);
|
||||
}
|
||||
$otp = (int) $request->otp;
|
||||
if (Session::has('user-registration')) {
|
||||
// $user = Session::get('user-registration');
|
||||
@@ -915,7 +918,10 @@ class AuthController extends Controller
|
||||
if ($validationMessage) {
|
||||
return response()->json(['status' => 400, 'message' => $validationMessage], 400);
|
||||
}
|
||||
|
||||
if(strlen($request->otp) < 4)
|
||||
{
|
||||
return response()->json(['status' => 401, 'message' => 'Please enter 4 digit OTP']);
|
||||
}
|
||||
$otp = (int) $request->otp;
|
||||
if (Session::has('user-registration')) {
|
||||
$userDetails = Session::get('user-registration');
|
||||
|
||||
@@ -344,6 +344,39 @@ class LoginController extends Controller
|
||||
}
|
||||
}
|
||||
|
||||
// resend otp for forgot password
|
||||
public function resendOtp()
|
||||
{
|
||||
// dd('hello');
|
||||
$email_mobile = Session::get('phone_email_forgot');
|
||||
$loginWith = filter_var($email_mobile, FILTER_VALIDATE_EMAIL) ? 'email' : 'contact_number';
|
||||
|
||||
if($loginWith == 'contact_number')
|
||||
{
|
||||
// $otp = rand(0000,9999);
|
||||
$otp = $this->otpGenerate($email_mobile);
|
||||
$this->thirdPartyOTP($email_mobile,$otp);
|
||||
User::where('contact_number',$email_mobile)->update([
|
||||
'otp' => $otp,
|
||||
'expire_at' => Carbon::now('Asia/colombo')->addMinutes(2)
|
||||
]);
|
||||
}else{
|
||||
$otp = $this->otpGenerate($email_mobile);
|
||||
$mailData = [
|
||||
'title' => 'Mail from Jerichoalternatives.in',
|
||||
'body' => 'This is for testing email using smtp.'
|
||||
];
|
||||
// $otp = $this->otpGenerate($request->email);
|
||||
Mail::to($email_mobile)->send(new OtpMail($mailData, $otp));
|
||||
User::where('email',$email_mobile)->update([
|
||||
'otp' => $otp,
|
||||
'expire_at' => Carbon::now('Asia/colombo')->addMinutes(2)
|
||||
]);
|
||||
}
|
||||
return response()->json(['status'=>200,'message'=>'OTP has been send to your email or phone']);
|
||||
|
||||
}
|
||||
|
||||
// resend otp while login
|
||||
public function request_otp(Request $request)
|
||||
{
|
||||
|
||||
@@ -2,164 +2,174 @@
|
||||
@section('content')
|
||||
<!--end::Head-->
|
||||
<!--begin::Body-->
|
||||
|
||||
<body data-kt-name="metronic" id="kt_body" class="app-blank app-blank bgi-size-cover bgi-position-center bgi-no-repeat">
|
||||
<!--begin::Theme mode setup on page load-->
|
||||
<!--begin::Root-->
|
||||
<div class="d-flex flex-root bgs align-items-center" id="kt_app_root">
|
||||
<!--begin::Authentication - Sign-in -->
|
||||
<div class="row w-100">
|
||||
<!--begin::Body-->
|
||||
<div class="col-md-12">
|
||||
<!--begin::Wrapper-->
|
||||
<div class="bg-body d-flex flex-center rounded-4 p-10">
|
||||
<!--begin::Content-->
|
||||
<div class="w-md-400px">
|
||||
<!--begin::Form-->
|
||||
<form class="form w-100" id="update_password" method="POST">
|
||||
@csrf
|
||||
<!--begin::Heading-->
|
||||
<div class="text-center mb-11">
|
||||
<!--begin::Title-->
|
||||
<h1 class="text-dark fw-bolder mb-3">Create New Password</h1>
|
||||
<!--end::Title-->
|
||||
<!--begin::Subtitle-->
|
||||
{{-- <div class="text-gray-800 fw-semibold fs-5">En</div> --}}
|
||||
<!-- <div class="text-gray-500 fw-semibold fs-7">Login Through</div> -->
|
||||
<!--begin::Theme mode setup on page load-->
|
||||
<!--begin::Root-->
|
||||
<div class="d-flex flex-root bgs align-items-center" id="kt_app_root">
|
||||
<!--begin::Authentication - Sign-in -->
|
||||
<div class="row w-100">
|
||||
<!--begin::Body-->
|
||||
@if(!$expirePage)
|
||||
<div class="col-md-12">
|
||||
<!--begin::Wrapper-->
|
||||
<div class="bg-body d-flex flex-center rounded-4 p-10">
|
||||
<!--begin::Content-->
|
||||
<div class="w-md-400px">
|
||||
<!--begin::Form-->
|
||||
<form class="form w-100" id="update_password" method="POST">
|
||||
@csrf
|
||||
<!--begin::Heading-->
|
||||
<div class="text-center mb-11">
|
||||
<!--begin::Title-->
|
||||
<h1 class="text-dark fw-bolder mb-3">Create New Password</h1>
|
||||
<!--end::Title-->
|
||||
<!--begin::Subtitle-->
|
||||
{{-- <div class="text-gray-800 fw-semibold fs-5">En</div> --}}
|
||||
<!-- <div class="text-gray-500 fw-semibold fs-7">Login Through</div> -->
|
||||
|
||||
<!--end::Subtitle=-->
|
||||
</div>
|
||||
<!--begin::Heading-->
|
||||
<!--begin::Input group=-->
|
||||
<div class="fv-row mb-8">
|
||||
<!--begin::Email-->
|
||||
<input type="hidden" name="email" value="{{$email}}" autocomplete="off" class="form-control bg-transparent" />
|
||||
<!--end::Email-->
|
||||
</div>
|
||||
<!--end::Input group=-->
|
||||
<div class="fv-row mb-3">
|
||||
<!--begin::Password-->
|
||||
<input type="password" placeholder="Password" name="password" autocomplete="off" class="form-control bg-transparent" />
|
||||
<!--end::Password-->
|
||||
</div>
|
||||
<!--end::Subtitle=-->
|
||||
</div>
|
||||
<!--begin::Heading-->
|
||||
<!--begin::Input group=-->
|
||||
<div class="fv-row mb-8">
|
||||
<!--begin::Email-->
|
||||
<input type="hidden" name="email" value="{{ $email }}" autocomplete="off"
|
||||
class="form-control bg-transparent" />
|
||||
<!--end::Email-->
|
||||
</div>
|
||||
<!--end::Input group=-->
|
||||
<div class="fv-row mb-3">
|
||||
<!--begin::Password-->
|
||||
<input type="password" placeholder="Confirm Password" name="confirm_password" autocomplete="off" class="form-control bg-transparent" />
|
||||
<!--end::Password-->
|
||||
</div>
|
||||
<!--end::Input group=-->
|
||||
<!--begin::Submit button-->
|
||||
<div class="d-grid mt-15 mb-10 text-center">
|
||||
{{--<a href="./otp.php" class=" btn btn-primary">
|
||||
<span class="indicator-label">Sign In</span>
|
||||
</a>--}}
|
||||
<button type="submit" class="btn btn-primary">
|
||||
<span class="indicator-label update_btn">Update</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="alert d-none" role="alert" id="result">
|
||||
<strong id="message"></strong>
|
||||
</div>
|
||||
<!--end::Submit button-->
|
||||
<!--begin::Sign up-->
|
||||
<div class="text-gray-500 text-center fw-semibold fs-6 d-none">Reset Mail has been send on your mail</div>
|
||||
<!--end::Sign up-->
|
||||
</form>
|
||||
<!--end::Form-->
|
||||
</div>
|
||||
<!--end::Content-->
|
||||
</div>
|
||||
<!--end::Wrapper-->
|
||||
<!--begin::Password-->
|
||||
<input type="password" placeholder="Password" name="password" autocomplete="off"
|
||||
class="form-control bg-transparent" />
|
||||
<!--end::Password-->
|
||||
</div>
|
||||
<div class="fv-row mb-3">
|
||||
<!--begin::Password-->
|
||||
<input type="password" placeholder="Confirm Password" name="confirm_password"
|
||||
autocomplete="off" class="form-control bg-transparent" />
|
||||
<!--end::Password-->
|
||||
</div>
|
||||
<!--end::Input group=-->
|
||||
<!--begin::Submit button-->
|
||||
<div class="d-grid mt-15 mb-10 text-center">
|
||||
{{-- <a href="./otp.php" class=" btn btn-primary">
|
||||
<span class="indicator-label">Sign In</span>
|
||||
</a> --}}
|
||||
<button type="submit" class="btn btn-primary">
|
||||
<span class="indicator-label update_btn">Update</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="alert d-none" role="alert" id="result">
|
||||
<strong id="message"></strong>
|
||||
</div>
|
||||
<!--end::Submit button-->
|
||||
<!--begin::Sign up-->
|
||||
<div class="text-gray-500 text-center fw-semibold fs-6 d-none">Reset Mail has been send on
|
||||
your mail</div>
|
||||
<!--end::Sign up-->
|
||||
</form>
|
||||
<!--end::Form-->
|
||||
</div>
|
||||
<!--end::Content-->
|
||||
</div>
|
||||
<!--end::Wrapper-->
|
||||
</div>
|
||||
@else
|
||||
<div class="col-md-12 text-center">
|
||||
<h1>Page has Expired</h1>
|
||||
</div>
|
||||
<!--end::Body-->
|
||||
<!--begin::Aside-->
|
||||
{{-- <div class="col-md-6">
|
||||
<!--begin::Content-->
|
||||
<div class="d-flex flex-column flex-center pb-0 pb-lg-10 p-10 w-100">
|
||||
<!--begin::Image-->
|
||||
<img class="theme-light-show mx-auto mw-100 w-150px w-lg-300px mb-10 mb-lg-20" src="../../assets/media/auth/agency.png" alt="" />
|
||||
<img class="theme-dark-show mx-auto mw-100 w-150px w-lg-300px mb-10 mb-lg-20" src="../../assets/media/auth/agency-dark.png" alt="" />
|
||||
<!--end::Image-->
|
||||
</div>
|
||||
<!--end::Content-->
|
||||
</div> --}}
|
||||
<!--begin::Aside-->
|
||||
</div>
|
||||
<!--end::Authentication - Sign-in-->
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
@section('scripts')
|
||||
<script>
|
||||
$(document).ready(function (){
|
||||
$.validator.addMethod("StrongPassword",function (value) {
|
||||
return /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/.test(
|
||||
value
|
||||
);
|
||||
},
|
||||
"Password Must Contain <br> 8 characters <br> At least 1 uppercase letter and symbol <br> Has a number"
|
||||
);
|
||||
@endif
|
||||
<!--end::Body-->
|
||||
<!--begin::Aside-->
|
||||
{{-- <div class="col-md-6">
|
||||
<!--begin::Content-->
|
||||
<div class="d-flex flex-column flex-center pb-0 pb-lg-10 p-10 w-100">
|
||||
<!--begin::Image-->
|
||||
<img class="theme-light-show mx-auto mw-100 w-150px w-lg-300px mb-10 mb-lg-20" src="../../assets/media/auth/agency.png" alt="" />
|
||||
<img class="theme-dark-show mx-auto mw-100 w-150px w-lg-300px mb-10 mb-lg-20" src="../../assets/media/auth/agency-dark.png" alt="" />
|
||||
<!--end::Image-->
|
||||
</div>
|
||||
<!--end::Content-->
|
||||
</div> --}}
|
||||
<!--begin::Aside-->
|
||||
</div>
|
||||
<!--end::Authentication - Sign-in-->
|
||||
</div>
|
||||
@endsection
|
||||
@section('scripts')
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$.validator.addMethod("StrongPassword", function(value) {
|
||||
return /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/.test(
|
||||
value
|
||||
);
|
||||
},
|
||||
"Password Must Contain <br> 8 characters <br> At least 1 uppercase letter and symbol <br> Has a number"
|
||||
);
|
||||
|
||||
$("#update_password").validate({
|
||||
ignore: [],
|
||||
debug: false,
|
||||
rules: {
|
||||
email: {
|
||||
required: true,
|
||||
},
|
||||
password: {
|
||||
required: true,
|
||||
StrongPassword: true,
|
||||
},
|
||||
confirm_password: {
|
||||
required: true,
|
||||
// equalTo: '#password',
|
||||
},
|
||||
},
|
||||
messages: {
|
||||
email: {
|
||||
required: "Please enter a valid email",
|
||||
},
|
||||
password: {
|
||||
required: "This field is required",
|
||||
},
|
||||
confirm_password: {
|
||||
required: "This field is required",
|
||||
// equalTo: "Password not matched",
|
||||
},
|
||||
},
|
||||
submitHandler: function (form) {
|
||||
var formData = new FormData(form);
|
||||
// $('.update_btn').prop('disabled',true);
|
||||
// $('.update_btn').html('Wait');
|
||||
$.ajax({
|
||||
url: "{{route('admin.update-password')}}",
|
||||
type: "POST",
|
||||
data: formData,
|
||||
processData: false,
|
||||
contentType: false,
|
||||
dataType: "json",
|
||||
success: function (result) {
|
||||
if (result.status == 200) {
|
||||
$('#result').removeClass('d-none alert-warning');
|
||||
$('#result').addClass('alert-success');
|
||||
$('#message').html(result.message);
|
||||
setTimeout(function(){
|
||||
$('#result').addClass('d-none');
|
||||
window.location.href="{{route('admin.login')}}";
|
||||
},5000);
|
||||
}
|
||||
else{
|
||||
$('#result').removeClass('d-none alert-success');
|
||||
$('#result').addClass('alert-warning');
|
||||
$('#message').html(result.message);
|
||||
setTimeout(function(){
|
||||
$('#result').addClass('d-none');
|
||||
},5000);
|
||||
}
|
||||
},
|
||||
});
|
||||
},
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@endsection
|
||||
$("#update_password").validate({
|
||||
ignore: [],
|
||||
debug: false,
|
||||
rules: {
|
||||
email: {
|
||||
required: true,
|
||||
},
|
||||
password: {
|
||||
required: true,
|
||||
StrongPassword: true,
|
||||
},
|
||||
confirm_password: {
|
||||
required: true,
|
||||
// equalTo: '#password',
|
||||
},
|
||||
},
|
||||
messages: {
|
||||
email: {
|
||||
required: "Please enter a valid email",
|
||||
},
|
||||
password: {
|
||||
required: "This field is required",
|
||||
},
|
||||
confirm_password: {
|
||||
required: "This field is required",
|
||||
// equalTo: "Password not matched",
|
||||
},
|
||||
},
|
||||
submitHandler: function(form) {
|
||||
var formData = new FormData(form);
|
||||
// $('.update_btn').prop('disabled',true);
|
||||
// $('.update_btn').html('Wait');
|
||||
$.ajax({
|
||||
url: "{{ route('admin.update-password') }}",
|
||||
type: "POST",
|
||||
data: formData,
|
||||
processData: false,
|
||||
contentType: false,
|
||||
dataType: "json",
|
||||
success: function(result) {
|
||||
if (result.status == 200) {
|
||||
$('#result').removeClass('d-none alert-warning');
|
||||
$('#result').addClass('alert-success');
|
||||
$('#message').html(result.message);
|
||||
setTimeout(function() {
|
||||
$('#result').addClass('d-none');
|
||||
window.location.href =
|
||||
"{{ route('admin.login') }}";
|
||||
}, 5000);
|
||||
} else {
|
||||
$('#result').removeClass('d-none alert-success');
|
||||
$('#result').addClass('alert-warning');
|
||||
$('#message').html(result.message);
|
||||
setTimeout(function() {
|
||||
$('#result').addClass('d-none');
|
||||
}, 5000);
|
||||
}
|
||||
},
|
||||
});
|
||||
},
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@endsection
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<?php $currentPage = "forgot-password" ?>
|
||||
<?php $currentPage = 'forgot-password'; ?>
|
||||
|
||||
@extends('Frontend.layouts.master')
|
||||
|
||||
@@ -6,66 +6,144 @@
|
||||
|
||||
|
||||
@section('content')
|
||||
<div class="login">
|
||||
|
||||
<div class="login">
|
||||
<div class="container row m-auto d-flex align-items-center justify-content-center">
|
||||
|
||||
<div class="container row m-auto d-flex align-items-center justify-content-center">
|
||||
<!--<div class="col-md-6 left" data-aos="fade-right">-->
|
||||
|
||||
<!--<div class="col-md-6 left" data-aos="fade-right">-->
|
||||
<!-- <img src="{{ asset('public/assets/media/FrontendImages/reset_password_image.png') }}" width="100%">-->
|
||||
|
||||
<!-- <img src="{{asset('public/assets/media/FrontendImages/reset_password_image.png')}}" width="100%">-->
|
||||
<!--</div>-->
|
||||
|
||||
<!--</div>-->
|
||||
<div class="col-md-6 right" data-aos="fade-left">
|
||||
|
||||
<div class="col-md-6 right" data-aos="fade-left">
|
||||
<form id="change_password" autocomplete="off">
|
||||
|
||||
<form id="change_password" autocomplete="off">
|
||||
<div class="lg-password login-form">
|
||||
|
||||
<div class="lg-password login-form">
|
||||
<h1>Reset Your Password</h1>
|
||||
|
||||
<h1>Reset Your Password</h1>
|
||||
<input type="hidden" id="user_id" name="user_id" value="{{ Request::get('user_id') }}">
|
||||
|
||||
<input type="hidden" id="user_id" name="user_id" value="{{Request::get('user_id')}}">
|
||||
<div class="form-group">
|
||||
|
||||
<div class="form-group">
|
||||
<label>Enter the OTP sent to registered mobile number or email</label>
|
||||
|
||||
<label>Enter the OTP sent to registered mobile number or email</label>
|
||||
<input name="otp" id="otp" class="form-control" maxlength="4" type="tel" />
|
||||
|
||||
<input name="otp" id="otp" class="form-control" maxlength="4" type="tel"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="form-group">
|
||||
|
||||
<div class="form-group">
|
||||
<label>New Password</label>
|
||||
|
||||
<label>New Password</label>
|
||||
<input name="password" id="password" class="form-control" type="password" />
|
||||
|
||||
<input name="password" id="password" class="form-control" type="password"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="form-group">
|
||||
|
||||
<div class="form-group">
|
||||
<label>Confirm Password</label>
|
||||
|
||||
<label>Confirm Password</label>
|
||||
<input name="password_confirmation" class="form-control" type="password" />
|
||||
|
||||
<input name="password_confirmation" class="form-control" type="password"/>
|
||||
</div>
|
||||
|
||||
<p class="text-white">OTP valid for <span id="countdown-timers"></span> sec</p>
|
||||
|
||||
<p class="regist">Didn't receive any otp? <a href="#"
|
||||
id="resend_forget_otp" class="d-none">Resend OTP</a></p>
|
||||
|
||||
<button type="submit" class="yellow-btn signin">Update</button>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
</div>
|
||||
|
||||
<p class="text-white">OTP valid for <span id="countdown-timer"></span> sec</p>
|
||||
|
||||
<button type="submit" class="yellow-btn signin">Update</button>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@endsection
|
||||
@section('scripts')
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
// var data = $('#user_id').val()
|
||||
// console.log(data);
|
||||
$('#resend_forget_otp').on('click', function(event) {
|
||||
event.preventDefault();
|
||||
|
||||
</div>
|
||||
$.ajaxSetup({
|
||||
headers: {
|
||||
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
|
||||
}
|
||||
});
|
||||
$.ajax({
|
||||
url: 'api/resend/forget/password/otp',
|
||||
type: 'POST',
|
||||
// data: {
|
||||
// 'user_id': data,
|
||||
// },
|
||||
|
||||
@endsection
|
||||
success: function(response) {
|
||||
if (response.status == 200) {
|
||||
$('#resend_forget_otp').addClass("d-none");
|
||||
startTimer();
|
||||
setTimeout(() => {
|
||||
toastr.success(response.message);
|
||||
}, 2000);
|
||||
// swal("Thankyou!", "OTP has been sent to your mail and phone",
|
||||
// "success");
|
||||
location.reload();
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
});
|
||||
|
||||
var timerDuration = 10;
|
||||
|
||||
var duration = 10;
|
||||
|
||||
function startTimer() {
|
||||
// var duration = 120; // Duration of the timer in seconds
|
||||
|
||||
var timer = duration;
|
||||
|
||||
$("#countdown-timers").text(formatTime(timer));
|
||||
|
||||
var intervalId = setInterval(function() {
|
||||
timer--;
|
||||
|
||||
$("#countdown-timers").text(formatTime(timer));
|
||||
|
||||
if (timer === 0) {
|
||||
clearInterval(intervalId);
|
||||
$('#resend_forget_otp').removeClass("d-none");
|
||||
$("#resend-otp-link").prop("disabled", false);
|
||||
}
|
||||
}, 1000);
|
||||
}
|
||||
|
||||
function formatTime(seconds) {
|
||||
var minutes = Math.floor(seconds / 60);
|
||||
|
||||
var remainingSeconds = seconds % 60;
|
||||
|
||||
return (
|
||||
minutes + ":" + (remainingSeconds < 10 ? "0" : "") + remainingSeconds
|
||||
);
|
||||
}
|
||||
|
||||
startTimer();
|
||||
});
|
||||
</script>
|
||||
@endsection
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
</div>
|
||||
<div class="form-group mb-3">
|
||||
<label>Mobile Number</label>
|
||||
<input name="contact_number" id="contact_number" class="form-control" placeholder="Enter your phone number" type="number" />
|
||||
<input name="contact_number" id="contact_number" class="form-control" placeholder="Enter your phone number" type="tel" onkeydown="return /^[0-9]+$/i.test(event.key)"/>
|
||||
</div>
|
||||
<div class="form-group mb-3">
|
||||
<label>Password</label>
|
||||
@@ -56,7 +56,7 @@
|
||||
</div>
|
||||
<div class="form-group mb-3">
|
||||
<label>Authorized Representative Name</label>
|
||||
<input class="form-control" type="text" name="authorized_representative_name" placeholder="Enter authorized representative name" />
|
||||
<input class="form-control" type="text" name="authorized_representative_name" placeholder="Enter authorized representative name" onkeydown="return /^[a-zA-Z\s]+$/i.test(event.key)" />
|
||||
</div>
|
||||
<div class="form-group mb-3">
|
||||
<label>Email Address</label>
|
||||
@@ -64,7 +64,7 @@
|
||||
</div>
|
||||
<div class="form-group mb-3">
|
||||
<label>Mobile Number</label>
|
||||
<input name="contact_number2" id="contact_number2" class="form-control" placeholder="Enter your phone number" type="number" />
|
||||
<input name="contact_number2" id="contact_number2" class="form-control" placeholder="Enter your phone number" type="tel" onkeydown="return /^[0-9]+$/i.test(event.key)" />
|
||||
</div>
|
||||
<div class="form-group mb-3">
|
||||
<label>Password</label>
|
||||
|
||||
@@ -127,6 +127,7 @@ Route::post('resend_otp', [RegistrationController::class, 'request_otp']);
|
||||
Route::post('login/email', [LoginController::class, 'loginByEmail'])->name('user-login-email');
|
||||
Route::post('verify/mobile/otp', [LoginController::class, 'verify_mobile_otp']);
|
||||
Route::post('forget/password', [LoginController::class, 'forget_password']);
|
||||
Route::post('resend/forget/password/otp', [LoginController::class, 'resendOtp'])->name('resend-forget-password-otp');
|
||||
Route::post('verify/password/otp', [LoginController::class, 'verify_reset_password_otp']);
|
||||
Route::post('update/password', [LoginController::class, 'update_password']);
|
||||
Route::post('request_callback', [WebsiteLeadsController::class, 'leads']);
|
||||
|
||||
Reference in New Issue
Block a user