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