Browse Source

Student login register modified

Mostafijur Rahman 1 year ago
parent
commit
facef76d12

+ 41 - 2
app/Http/Controllers/Auth/LoginController.php

@@ -3,8 +3,10 @@
 namespace App\Http\Controllers\Auth;
 
 use App\Http\Controllers\Controller;
+use Illuminate\Http\Request;
 use App\Providers\RouteServiceProvider;
 use Illuminate\Foundation\Auth\AuthenticatesUsers;
+use App\User;
 use Auth;
 
 class LoginController extends Controller
@@ -20,14 +22,15 @@ class LoginController extends Controller
     |
     */
 
-    use AuthenticatesUsers;
+    //use AuthenticatesUsers;
 
     /**
      * Where to redirect users after login.
      *
      * @var string
      */
-    protected $redirectTo = RouteServiceProvider::HOME;
+    //protected $redirectTo = RouteServiceProvider::HOME;
+    public $redirectTo = '/home';
 
     /**
      * Create a new controller instance.
@@ -40,6 +43,42 @@ class LoginController extends Controller
     }
 
 
+    public function showLoginForm()
+    {
+        return view('auth.login');
+    }
+
+
+
+    public function login(Request $request)
+    {
+        $student = User::where('user_type',1)->where('email',$request->email)->first();
+
+        if(!$student){
+            return redirect('/login')->with('error','Unknown Email address!');
+        }else{
+            if($student->status == 0){
+                return redirect('/login')->with('error', 'Account Status is not Activated!');
+            }
+            else{
+                $credentials = [
+                    'email' => $request->email,
+                    'password' => $request->password,
+                    'status' => '1'
+                ];
+
+                if (Auth::attempt($credentials)) {
+
+                    return redirect('home');
+                  }
+                  else{
+                    return redirect('/login')->with('error','Wrong Email/Password combination');
+                }
+            }
+        }
+    }
+
+
 
 
 }

+ 29 - 24
app/Http/Controllers/Auth/RegisterController.php

@@ -3,13 +3,14 @@
 namespace App\Http\Controllers\Auth;
 
 use App\Http\Controllers\Controller;
+use Illuminate\Http\Request;
 use App\Providers\RouteServiceProvider;
 use App\User;
 use Illuminate\Support\Facades\Validator;
 use Illuminate\Foundation\Auth\RegistersUsers;
 use Illuminate\Support\Facades\Mail;
 use Illuminate\Support\Facades\Hash;
-use App\Mail\SignUp;
+//use App\Mail\SignUp;
 use App\Models\ReferUser;
 use Auth;
 
@@ -26,14 +27,14 @@ class RegisterController extends Controller
     |
     */
 
-     use RegistersUsers;
+    // use RegistersUsers;
 
     /**
      * Where to redirect users after registration.
      *
      * @var string
      */
-      protected $redirectTo = RouteServiceProvider::HOME;
+     //protected $redirectTo = RouteServiceProvider::HOME;
 
     /**
      * Create a new controller instance.
@@ -53,7 +54,7 @@ class RegisterController extends Controller
      */
     protected function validator(array $data)
     {
-        if($data['user_type']==1){
+      // if($data['user_type']==1){
             return Validator::make($data, [
                 'givenname' => ['required', 'string', 'max:255'],
                 'familyname' => ['required', 'string', 'max:255'],
@@ -63,7 +64,7 @@ class RegisterController extends Controller
                 'dob' => ['required', 'string','date'],
                 'optradio' => ['required', 'string','max:255'],
             ]);
-        } 
+       // } 
         
     }
 
@@ -73,39 +74,43 @@ class RegisterController extends Controller
      * @param  array  $data
      * @return \App\User
      */
-    protected function create(array $data)
+    protected function create(Request $req)
     { 
-        if($data['user_type']==1){
+        //if($data['user_type']==1){
             $data = User::create([
-                'first_name' => $data['givenname'],
-                'last_name' => $data['familyname'],
-                'email' => $data['email'],
-                'nationality' => $data['nationality'],
-                'dob' => \Carbon\Carbon::parse($data['dob'])->format('Y-m-d'),
-                'gender' => $data['optradio'],
-                'user_type' => $data['user_type'],
-                'password' => Hash::make($data['password'])
+                'first_name' => $req->givenname,
+                'last_name' => $req->familyname,
+                'email' => $req->email,
+                'nationality' => $req->nationality,
+                'dob' => \Carbon\Carbon::parse($req->dob)->format('Y-m-d'),
+                'gender' => $req->optradio,
+                'user_type' => $req->user_type,
+                'password' => Hash::make($req->password),
+                'status' => 1,
             ]);
 
-            $refer_user_exists = ReferUser::where('email',$data['email'])->first();
+            $refer_user_exists = ReferUser::where('email',$req->email)->first();
              
             if($refer_user_exists){ 
                 $refer_user_exists->signup =1;
                 $refer_user_exists->update();
             }
 
-            Mail::to('test@mail.com')->send(new SignUp($data->id));
+            //Mail::to('test@mail.com')->send(new SignUp($data->id));
+          return redirect()->to("/login")->with('success','Your registration successfully saved.');
+        //}    
+         
 
-        }  
-        
-        if($data['user_type']==1){
-           $this->redirectTo="/home";
-        } 
-
-        return $data;
+    }
 
+    public function showRegistrationForm()
+    {
+         
+        return view('auth.register');
     }
 
+     
+
     public function email_verification($id)
      {
         $data = User::find($id);

+ 1 - 1
app/Providers/RouteServiceProvider.php

@@ -21,7 +21,7 @@ class RouteServiceProvider extends ServiceProvider
      *
      * @var string
      */
-    public const HOME = '/home';
+    public const HOME = '/login';
 
     /**
      * Define your route model bindings, pattern filters, etc.

+ 12 - 2
resources/views/auth/login.blade.php

@@ -183,7 +183,7 @@
                                     <div class="card border-0" >
                                         <div class="card-body" style="height:648px;">
                                                 <h6 class="mt-5 pt-5" style="color: #141639c4; margin-top:7.5rem !important;">Please log-in to your account</h6> 
-                                            <form method="POST" action="{{ route('login') }}">
+                                            <form method="POST" action="{{ route('student-login') }}">
                                                     @csrf
                                                     @if ($message = Session::get('error'))
                                                     <div class="row">
@@ -193,7 +193,17 @@
                                                             </div>
                                                         </div>
                                                     </div>
-                                                @endif
+                                                    @endif
+
+                                                    @if ($message = Session::get('success'))
+                                                        <div class="row mb-1">
+                                                            <div class="col-md-12">
+                                                                <div class="alert alert-success">
+                                                                {{@$message}}
+                                                                </div>
+                                                            </div>
+                                                        </div>
+                                                    @endif
 
                                                     <div class="row">
                                                         <label for="email" class="col-md-4 col-form-label text-md-end"></label>

+ 1 - 1
resources/views/auth/register.blade.php

@@ -135,7 +135,7 @@ h5{
                                 @endif
                             </div>
                             <h1 class="mb-4 pb-1 mt-2" style="color: #141639c4; font-size:48px !important;">Register, To Start</h1>
-                        <form method="POST" action="{{ route('register') }}">
+                        <form method="POST" action="{{ route('student-register') }}">
                             @csrf
                             <input type="hidden" value="1" name="user_type">
                             <div class="row mb-4">

+ 4 - 0
routes/web.php

@@ -47,6 +47,10 @@ Auth::routes();
  
 Route::get('/email-verification/{id}', [App\Http\Controllers\RegisterController::class,'email_verification'])->name('/email-verification');
  
+Route::get('/login', [App\Http\Controllers\Auth\LoginController::class,'showLoginForm'])->name('login');
+Route::post('/student-login', [App\Http\Controllers\Auth\LoginController::class,'login'])->name('student-login');
+Route::get('register', [App\Http\Controllers\Auth\RegisterController::class,'showRegistrationForm'])->name('register');
+Route::post('student-register', [App\Http\Controllers\Auth\RegisterController::class,'create'])->name('student-register');
 Route::group(['middleware' => ['auth']], function() {
 
 Route::get('/home', [App\Http\Controllers\StudentHomeController::class,'index']);