Edit File: AuthController.php
<?php namespace App\Http\Controllers\DelegatesDashboard; use App\Http\Controllers\Controller; use Illuminate\Http\Request; use Illuminate\Support\Facades\Hash; use App\Traits\GeneralTrait; use App\Rules\CheckCodeRule; use App\Traits\ApiTrait; use App\Traits\Uploadable; use App\Models\Setting; use App\Models\City; use App\Models\User; use App\Models\Country; use App\Models\DelegateCompany; use App\Http\Requests\DelegatesDashboard\RegisterRequest; use App\Http\Requests\DelegatesDashboard\ForgetPasswordRequest; use App\Http\Requests\DelegatesDashboard\ResetPasswordRequest; use App\Http\Requests\DelegatesDashboard\CodeRequest; use App\Http\Requests\DelegatesDashboard\LoginRequest; use Session; use Validator; use Auth; class AuthController extends Controller { // use ApiTrait, GeneralTrait, Uploadable; #register public function get_register(){ Auth::logout(); $countries = Country::all(); $cities=City::all(); return view('delegates_dashboard.auth.register',compact('cities','countries')); } public function post_register(RegisterRequest $request){ $userData = $request->validatedExcept(['city_id','password_confirmation', 'commercial_number', 'commercial_image','bank_account_number','terms']); $user = User::create($userData); $companyData = $request->validatedExcept(['avatar','password_confirmation', 'name', 'phone','email','password','terms','type','country_key','approve']); $user->delegateCompany()->create($companyData); $user->sendVerificationCode(); Auth::login($user); $msg = route('delegates_dashboard.activate_delegate'); return $this->dashboardSuccessReturn($msg); } #activate phone public function activate_delegate(){ return view('delegates_dashboard.auth.activate_delegate'); } public function resendVcode(){ if(!Auth::user()){ return redirect()->route('delegates_dashboard.login'); } $user = Auth::user(); $user->sendVerificationCode(); return response()->json(['location' => route('delegates_dashboard.activate_delegate') ,'key' => 'success', 'msg' => awtTrans('تم اعاده ارسال الكود بنجاح')]); } #submit activate phone public function post_activate_delegate(CodeRequest $request) { $data=$request->validated(); $user = Auth::user(); $user->update([ 'status'=> 'active', 'code' =>NULL ]); $msg = route('delegates_dashboard.waiting_approval'); if ($user->approve == 'accept') { $msg = route('delegates_dashboard.index'); } return $this->dashboardSuccessReturn($msg); } #waiting admin approval public function waiting_approval(){ $waiting_approval = Session::has('lang') && Session::get('lang') == 'en' ? Setting::where('key','waiting_approval_en')->first()->value:Setting::where('key','waiting_approval_ar')->first()->value; return view('delegates_dashboard.auth.waiting_approval',compact('waiting_approval')); } #login public function get_login(){ Auth::logout(); $welcome_title = app()->getLocale() == 'en' ? Setting::where('key','welcome_title_en')->first()->value:Setting::where('key','welcome_title_ar')->first()->value; $welcome_content = app()->getLocale() == 'en' ? Setting::where('key','welcome_content_en')->first()->value:Setting::where('key','welcome_content_ar')->first()->value; return view('delegates_dashboard.auth.login',compact('welcome_title','welcome_content')); } public function post_login(LoginRequest $request){ $data=$request->validated(); if(Auth::attempt(['phone' => $data['phone'], 'password' => $data['password']])){ $user = Auth::user(); if ($user->type !== 'company') { $msg = trans('auth.wrong_credentials'); return response()->json([ 'key' => 'fail', 'msg' => $msg, ]); } $msg = route('delegates_dashboard.index'); return $this->dashboardSuccessReturn($msg); }else{ $msg = trans('auth.wrong_credentials'); return $this->dashboardFailReturn($msg); } } #forget password public function get_forget_password(){ return view('delegates_dashboard.auth.forget_password'); } public function post_forget_password(ForgetPasswordRequest $request){ $data=$request->validated(); $user = User::where('phone', $data['phone'])->first(); if (!$user) { $msg = trans('auth.user_not_found'); return $this->dashboardFailReturn($msg); } $user->sendVerificationCode(); Session::put('forgotpassword',$user); $msg = trans('auth.activation_code_sent'); $url = route('delegates_dashboard.get_reset_password'); return $this->dashboardSuccessReturn($msg,$url); } #reset password public function get_reset_password(){ if(!Session::has('forgotpassword')){ return redirect()->route('delegates_dashboard.get_forget_password'); } return view('delegates_dashboard.auth.reset_password'); } public function resendCode(){ if(!Session::has('forgotpassword')){ return redirect()->route('delegates_dashboard.get_forget_password'); } $user = Session::get('forgotpassword'); $user->sendVerificationCode(); return response()->json(['location' => route('delegates_dashboard.get_reset_password') ,'key' => 'success', 'msg' => awtTrans('تم اعاده ارسال الكود بنجاح')]); } public function post_reset_password(ResetPasswordRequest $request){ $data=$request->validated(); $user = Session::get('forgotpassword'); if(!$user) { $msg = trans('auth.user_not_found'); $url = route('delegates_dashboard.get_forget_password'); return $this->dashboardFailReturn($msg,$url); } if($user->code != $data['code']) { $msg = trans('auth.false_code'); return $this->dashboardFailReturn($msg); } $user->update(['password' => $data['password']]); $msg = trans('auth.password_changed'); $url = route('delegates_dashboard.get_login'); return $this->dashboardSuccessReturn($msg,$url); } #logout public function logout(){ Auth::logout(); return redirect()->route('delegates_dashboard.get_login'); } }
Back to File Manager