Browse Source

Update /client/checkin page

Vijayakrishnan Krishnan 4 năm trước cách đây
mục cha
commit
5e8aa7d85a

+ 28 - 0
app/Http/Controllers/GuestController.php

@@ -53,6 +53,34 @@ class GuestController extends Controller
         return view('checkin');
     }
 
+    public function processCheckin(Request $request) {
+
+        $api = new Backend();
+
+        try {
+
+            $apiResponse = $api->post('session/clientCheckInTokenLogIn', [
+                'checkInToken' => $request->post('checkInToken'),
+                'dob' => $request->post('dob'),
+            ]);
+
+            $data = json_decode($apiResponse->getContents());
+
+            if (!property_exists($data, 'success') || !$data->success) {
+                return back()->with('message', $data->message)
+                    ->withInput($request->input());
+            }
+
+            Cookie::queue('sessionKey', $data->data->sessionKey);
+            Cookie::queue('clientUid', $data->data->clientUid);
+
+            return redirect('/client/dashboard');
+
+        } catch (\Exception $e) {
+            return redirect()->back()->with('message', $e->getMessage());
+        }
+    }
+
     public function meet(Request $request) {
         return view('meet', [
             'guest' => true

+ 2 - 41
resources/views/checkin.blade.php

@@ -1,9 +1,8 @@
 @extends('layouts.join')
 @section('content')
-    <form action=""
+    <form action="/client/checkin"
           method="post"
-          enctype="multipart/form-data"
-          onsubmit="return checkIn(this)">
+          enctype="multipart/form-data">
         @csrf
 
         <p class="login-box-msg">Welcome! Please check in.</p>
@@ -23,42 +22,4 @@
         </div>
         <button type="submit" class="btn btn-primary btn-block mx-auto w-50 mt-4 mb-2">Check In</button>
     </form>
-    <script>
-        function checkIn(_form) {
-            $.ajax({
-                type: 'post',
-                url: '/api/session/clientCheckInTokenLogIn',
-                data: $(_form).serialize(),
-                dataType: 'json'
-            })
-            .done(function (_data) {
-                console.log(_data);
-                if(_data.success) {
-                    Cookies.set('sessionKey', _data.data.sessionKey, {expires: 365});
-                    Cookies.set('clientUid', _data.data.clientUid, {expires: 365});
-                    window.location = '/client/dashboard';
-                }
-                else {
-                    new Noty({
-                        theme: 'mint',
-                        type: 'error',
-                        text: _data.message,
-                        progressBar: false,
-                        timeout: false,
-                    }).show();
-                }
-            })
-            .fail(function (_data) {
-                console.log(_data);
-                new Noty({
-                    theme: 'mint',
-                    type: 'error',
-                    text: _data.message,
-                    progressBar: false,
-                    timeout: false,
-                }).show();
-            });
-            return false;
-        }
-    </script>
 @endsection

+ 1 - 1
resources/views/client-dashboard.blade.php

@@ -7,7 +7,7 @@
 
         <div class="d-flex align-items-center py-3 border-bottom px-4">
             <span class="mr-auto">
-                Hello {{ $client->name_first }}
+                Hello {{ $client->name_last }}, {{ $client->name_first }}
             </span>
             <a href="#" class="client-logout">Log Out</a>
         </div>

+ 1 - 0
routes/web.php

@@ -35,6 +35,7 @@ Route::middleware('ensureNoValidClientSession')->group(function() {
     Route::get('/join', 'GuestController@join');
     Route::post('/join', 'GuestController@processJoin');
     Route::get('/client/checkin', 'GuestController@checkin');
+    Route::post('/client/checkin', 'GuestController@processCheckin');
 });
 
 Route::middleware('ensureValidClientSession')->group(function() {