admin email update module

This commit is contained in:
Ritikesh yadav
2024-07-03 11:36:57 +05:30
parent f1cf2faa5e
commit 403aaba17a
6 changed files with 475 additions and 224 deletions

View File

@@ -11,6 +11,7 @@ use Illuminate\Support\Facades\Session;
use Illuminate\Support\Facades\Validator;
use DataTables;
use Mail;
use App\Mail\sendEmailOTP;
use App\Mail\UpdatePasswordMail;
class AdminProfileController extends Controller
@@ -21,6 +22,51 @@ class AdminProfileController extends Controller
return view('Admin.Pages.manage_sub_admin.edit_admin_profile', compact('data'));
}
public function sendOtpOnMail(Request $request)
{
// dd($request->all());
$validator = validator::make($request->all(),['new_email'=>'required|unique:users,email'],['requreid'=>'Email field is required.','unique'=>'Email should be unique.']);
$validateMessage = validationErrorMessage($validator);
if($validateMessage)
{
return response()->json(['status'=>400,'message'=>$validateMessage]);
}
$OTP = rand(1000,9999);
Mail::to($request->new_email)->send(new sendEmailOTP($OTP));
session()->forget(['email_update_otp','old_email','new_email']);
session()->put('email_update_otp',$OTP);
session()->put('old_email',$request->old_email);
session()->put('new_email',$request->new_email);
if(session()->has('email_update_otp') || session()->has('old_email') || session()->has('new_email'))
{
return response()->json(['status'=>200,'message'=>"OTP has been send to your mail."]);
}
return response()->json(['status'=>400,'message'=>"Error in sending OTP."]);
}
public function verifyEmailOtp(Request $request)
{
$otp = session()->get('email_update_otp');
$old_email = session()->get('old_email');
$new_email = session()->get('new_email');
// dd($new_email,$old_email);
if(!$otp && !$old_email && !$new_email)
{
return response()->json(['status'=>400,'message'=>'Enter your email again.']);
}
if((int)$otp != (int)$request->email_otp)
{
return response()->json(['status'=>400,'message'=>'OTP not matched.']);
}
$updated = User::where('email',$old_email)->update(['email'=>$new_email]);
if($updated)
{
return response()->json(['status'=>200,'message'=>'Email updated successfully']);
}
}
public function getUsers(Request $request)
{
if ($request->ajax()) {