halaman-psikolog #1
|
|
@ -0,0 +1,81 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Models\BookingModel;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class CekStatusController extends Controller
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
return view('user.pages.cek_status.index');
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for creating a new resource.
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*/
|
||||
public function store(Request $request)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*/
|
||||
public function show(string $id)
|
||||
{
|
||||
$data = BookingModel::where('kode_unik', $id)->first();
|
||||
if($data != null) {
|
||||
return response()->json([
|
||||
'status' => true,
|
||||
'msg' => 'Data ditemukan (' . $id . ')',
|
||||
'status_data' => $data->status_tes,
|
||||
'nama_lengkap' => $data->nama_lengkap,
|
||||
'kode_unik' => $data->kode_unik,
|
||||
'tgl_booking' => $data->tgl_booking,
|
||||
'deskripsi_tambahan' => $data->deskripsi_tambahan,
|
||||
]);
|
||||
} else {
|
||||
return response()->json([
|
||||
'status' => false,
|
||||
'msg' => 'Data tidak ditemukan (' . $id . ')'
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*/
|
||||
public function edit(string $id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*/
|
||||
public function update(Request $request, string $id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*/
|
||||
public function destroy(string $id)
|
||||
{
|
||||
//
|
||||
}
|
||||
}
|
||||
|
|
@ -21,7 +21,8 @@ class BookingModel extends Model
|
|||
'no_telp',
|
||||
'kode_unik',
|
||||
'tgl_booking',
|
||||
'deskripsi_tambahan'
|
||||
'deskripsi_tambahan',
|
||||
'status_tes'
|
||||
];
|
||||
|
||||
protected $casts = [
|
||||
|
|
@ -35,6 +36,10 @@ protected static function boot()
|
|||
if (empty($model->id_booking)) {
|
||||
$model->id_booking = Str::uuid();
|
||||
}
|
||||
|
||||
if(empty($model->status_tes)) {
|
||||
$model->status_tes = 0;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,6 +15,9 @@
|
|||
$middleware->alias([
|
||||
'role.auth' => RoleAuth::class,
|
||||
]);
|
||||
$middleware->validateCsrfTokens(except: [
|
||||
'api/eye/test'
|
||||
]);
|
||||
})
|
||||
->withExceptions(function (Exceptions $exceptions): void {
|
||||
//
|
||||
|
|
|
|||
|
|
@ -0,0 +1,28 @@
|
|||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
return new class extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*/
|
||||
public function up(): void
|
||||
{
|
||||
Schema::table('booking', function (Blueprint $table) {
|
||||
$table->enum('status_tes', [0, 1, 2]);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
Schema::table('booking', function (Blueprint $table) {
|
||||
$table->dropColumn('status_tes');
|
||||
});
|
||||
}
|
||||
};
|
||||
|
|
@ -15,7 +15,7 @@
|
|||
</div>
|
||||
</div><!-- End Top Bar -->
|
||||
|
||||
<div class="branding d-flex align-items-cente">
|
||||
<div class="branding d-flex align-items-center">
|
||||
|
||||
<div class="container position-relative d-flex align-items-center justify-content-between">
|
||||
<a href="{{ route('beranda.index') }}" class="logo d-flex align-items-center">
|
||||
|
|
@ -29,7 +29,7 @@
|
|||
<li><a href="{{ route('beranda.index') }}" class="active">Home</a></li>
|
||||
<li><a href="{{ route('beranda.about') }}">About</a></li>
|
||||
<li><a href="{{ route('beranda.about') }}#system-architecture-tabs">System Architecture</a></li>
|
||||
<li><a href="services.html">Services</a></li>
|
||||
<li><a href="{{ route('cek-status.index') }}">Cek Status</a></li>
|
||||
<li><a href="contact.html">Contact</a></li>
|
||||
@if (session('is_logged_in'))
|
||||
<li class="dropdown"><a href="#"><span>{{ Auth::user()->name }}</span> <i class="bi bi-chevron-down toggle-dropdown"></i></a>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,138 @@
|
|||
@section('title', 'Cek Status')
|
||||
@extends('user.layouts.index')
|
||||
@section('content')
|
||||
<!-- Page Title -->
|
||||
<div class="page-title">
|
||||
<div class="heading">
|
||||
<div class="container">
|
||||
<div class="row d-flex justify-content-center text-center">
|
||||
<div class="col-lg-8">
|
||||
<h1 class="heading-title">Cek Status</h1>
|
||||
<p class="mb-0">
|
||||
Cek status data kamu dari sini ya, jika kamu sudah mendapatkan kode dari email setelah melakukan booking, kamu bisa melakukan tes kecemasan dari pakar atau juga cek hasil tes disini dengan kode tadi.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<nav class="breadcrumbs">
|
||||
<div class="container">
|
||||
<ol>
|
||||
<li><a href="index.html">Home</a></li>
|
||||
<li class="current">Cek Status</li>
|
||||
</ol>
|
||||
</div>
|
||||
</nav>
|
||||
</div><!-- End Page Title -->
|
||||
|
||||
<!-- About Section -->
|
||||
<section id="about" class="about section">
|
||||
|
||||
<div class="container" data-aos="fade-up" data-aos-delay="100">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-md-8">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title text-center">Form Cek</h5>
|
||||
<h6 class="card-subtitle mb-2 text-body-secondary text-center">Masukkan kode yang kamu dapatkan disini</h6>
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-md-9 my-3">
|
||||
<input class="form-control" type="text" name="kode_cek" id="kode_cek" placeholder="Kode kamu....">
|
||||
</div>
|
||||
<div class="col-md-9 mb-3">
|
||||
<div class="row justify-content-center">
|
||||
<button type="button" class="btn btn-primary text-white fw-bold" onclick="searchUserStatus()">Cari</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-12 my-5" id="result_data">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-md-8">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
Hasil Pencarian
|
||||
</div>
|
||||
<ul class="list-group list-group-flush">
|
||||
<li class="list-group-item">Nama Lengkap: <span id="nama_lengkap"></span></li>
|
||||
<li class="list-group-item">Kode Unik: <span id="kode_unik"></span></li>
|
||||
<li class="list-group-item">Tgl Booking: <span id="tgl_booking"></span></li>
|
||||
<li class="list-group-item">Deskripsi Tambahan: <span id="deskripsi"></span></li>
|
||||
<li class="list-group-item">Status Tes: <span id="status"></span></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-8 my-4">
|
||||
<div class="alert alert-primary" role="alert" id="alert_status">
|
||||
A simple primary alert—check it out!
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section><!-- /About Section -->
|
||||
|
||||
@endsection
|
||||
|
||||
@section('script')
|
||||
<script>
|
||||
$('#result_data').hide();
|
||||
function searchUserStatus() {
|
||||
$('#result_data').hide();
|
||||
Swal.fire({
|
||||
title: 'Status',
|
||||
text: 'Mencari data...',
|
||||
icon: 'info',
|
||||
showConfirmButton: false,
|
||||
allowOutsideClick: false,
|
||||
allowEscapeKey: false
|
||||
});
|
||||
let the_code = $('#kode_cek').val();
|
||||
let xhttp = new XMLHttpRequest();
|
||||
|
||||
xhttp.onreadystatechange = function() {
|
||||
if(this.readyState == 4 && this.status == 200) {
|
||||
let response = JSON.parse(this.responseText);
|
||||
let status_dict = ['Belum dikonfirmasi (cek email anda)', 'Sudah dikonfirmasi, belum melakukan/menyelesaikan tes', 'Sudah melakukan tes'];
|
||||
if(response.status) {
|
||||
$('#result_data').show();
|
||||
$('#nama_lengkap').html(response.nama_lengkap);
|
||||
$('#kode_unik').html(response.kode_unik);
|
||||
$('#tgl_booking').html(response.tgl_booking);
|
||||
$('#deskripsi').html(response.deskripsi_tambahan);
|
||||
$('#status').html(status_dict[response.status_data]);
|
||||
Swal.close();
|
||||
|
||||
if(response.status_data == 0) {
|
||||
$('#alert_status').removeClass();
|
||||
$('#alert_status').addClass('alert alert-primary');
|
||||
$('#alert_status').html('Kamu belum dikonfirmasi dengan psikolog, cek waktu konsultasi pada email anda untuk melakukan aktivasi!');
|
||||
} else if(response.status_data == 1) {
|
||||
$('#alert_status').removeClass();
|
||||
$('#alert_status').addClass('alert alert-info');
|
||||
$('#alert_status').html('Kamu sudah dikonfirmasi oleh psikolog!');
|
||||
} else if(response.status_data == 2) {
|
||||
$('#alert_status').removeClass();
|
||||
$('#alert_status').addClass('alert alert-success');
|
||||
$('#alert_status').html('Kamu sudah melakukan tes, dan bisa cek hasil dengan tombol dibawah');
|
||||
}
|
||||
} else {
|
||||
Swal.fire({
|
||||
title: 'Status',
|
||||
text: 'Data tidak ditemukan',
|
||||
icon: 'error',
|
||||
});
|
||||
// Swal.close();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
let url = '{{ route('cek-status.show', ['__CODE__']) }}';
|
||||
xhttp.open('GET', url.replace('__CODE__', the_code));
|
||||
xhttp.send();
|
||||
}
|
||||
</script>
|
||||
@endsection
|
||||
|
|
@ -1,12 +1,14 @@
|
|||
<?php
|
||||
|
||||
use App\Http\Controllers\BookingController;
|
||||
use App\Http\Controllers\CekStatusController;
|
||||
use App\Http\Controllers\DashboardController;
|
||||
use App\Http\Controllers\DataSoalController;
|
||||
use App\Http\Controllers\HasilTesController;
|
||||
use App\Http\Controllers\LandingController;
|
||||
use App\Http\Controllers\ProfileController;
|
||||
use App\Http\Controllers\UsersController;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
Route::get('/', function () {
|
||||
|
|
@ -26,6 +28,7 @@
|
|||
Route::resource('beranda', LandingController::class)->only(['index']);
|
||||
Route::get('/about', [LandingController::class, 'about'])->name('beranda.about');
|
||||
Route::resource('booking', BookingController::class)->only(['store']);
|
||||
Route::resource('cek-status', CekStatusController::class)->only(['index', 'show']);
|
||||
Route::middleware(['auth', 'role.auth'])->group(function() {
|
||||
Route::resource('dashboard', DashboardController::class);
|
||||
Route::resource('users', UsersController::class);
|
||||
|
|
@ -35,4 +38,8 @@
|
|||
Route::resource('hasil_tes', HasilTesController::class);
|
||||
});
|
||||
|
||||
Route::post('api/eye/test', function(Request $req) {
|
||||
return $req->all();
|
||||
});
|
||||
|
||||
require __DIR__.'/auth.php';
|
||||
|
|
|
|||
Loading…
Reference in New Issue