halaman-psikolog #1

Merged
Mahayoga merged 52 commits from halaman-psikolog into master 2026-07-06 12:37:30 +07:00
5 changed files with 50 additions and 10 deletions
Showing only changes of commit f896e54d34 - Show all commits

View File

@ -81,7 +81,7 @@ public function store(Request $request)
'no_telp' => $request->no_telp, 'no_telp' => $request->no_telp,
'tgl_booking' => $request->tgl_booking, 'tgl_booking' => $request->tgl_booking,
'deskripsi_tambahan' => $request->deskripsi_tambahan, 'deskripsi_tambahan' => $request->deskripsi_tambahan,
'kode_unik' => $kode_unik 'kode_unik' => $kode_unik,
]); ]);
return response()->json([ return response()->json([

View File

@ -38,6 +38,11 @@ public function show(string $id)
{ {
$data = BookingModel::where('kode_unik', $id)->first(); $data = BookingModel::where('kode_unik', $id)->first();
if($data != null) { if($data != null) {
if($data->status_tes == '1' && $data->unix_expired_time < time()) {
$data->update([
'status_tes' => '0'
]);
}
return response()->json([ return response()->json([
'status' => true, 'status' => true,
'msg' => 'Data ditemukan (' . $id . ')', 'msg' => 'Data ditemukan (' . $id . ')',
@ -46,6 +51,7 @@ public function show(string $id)
'nama_lengkap' => $data->nama_lengkap, 'nama_lengkap' => $data->nama_lengkap,
'kode_unik' => $data->kode_unik, 'kode_unik' => $data->kode_unik,
'tgl_booking' => $data->tgl_booking, 'tgl_booking' => $data->tgl_booking,
'jam_booking' => date('H:i:s', strtotime($data->created_at)),
'deskripsi_tambahan' => $data->deskripsi_tambahan, 'deskripsi_tambahan' => $data->deskripsi_tambahan,
]); ]);
} else { } else {

View File

@ -22,7 +22,8 @@ class BookingModel extends Model
'kode_unik', 'kode_unik',
'tgl_booking', 'tgl_booking',
'deskripsi_tambahan', 'deskripsi_tambahan',
'status_tes' 'status_tes',
'unix_expired_time'
]; ];
protected $casts = [ protected $casts = [
@ -38,7 +39,11 @@ protected static function boot()
} }
if(empty($model->status_tes)) { if(empty($model->status_tes)) {
$model->status_tes = '0'; $model->status_tes = '1';
}
if(empty($model->unix_expired_time)) {
$model->unix_expired_time = (string) (time() + 86400); // Set expiration time to 24 hour from now
} }
}); });
} }

View File

@ -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->char('unix_expired_time', 20)->after('kode_unik');
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::table('booking', function (Blueprint $table) {
$table->dropColumn('unix_expired_time');
});
}
};

View File

@ -58,7 +58,7 @@
<ul class="list-group list-group-flush"> <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">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">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">Tgl dan Jam Booking: <span id="tgl_booking"></span> <span id="jam_booking"></span></li>
<li class="list-group-item">Deskripsi Tambahan: <span id="deskripsi"></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> <li class="list-group-item">Status Tes: <span id="status"></span></li>
</ul> </ul>
@ -137,28 +137,29 @@ function searchUserStatus() {
xhttp.onreadystatechange = function() { xhttp.onreadystatechange = function() {
if(this.readyState == 4 && this.status == 200) { if(this.readyState == 4 && this.status == 200) {
let response = JSON.parse(this.responseText); let response = JSON.parse(this.responseText);
let status_dict = ['Belum dikonfirmasi (cek email anda)', 'Sudah dikonfirmasi, belum melakukan/menyelesaikan tes', 'Sudah melakukan tes']; let status_dict = ['Sesi anda dinonaktifkan karena telah kedaluwarsa', 'Belum melakukan/menyelesaikan tes', 'Sudah melakukan tes'];
if(response.status) { if(response.status) {
$('#result_data').show(); $('#result_data').show();
$('#nama_lengkap').html(response.nama_lengkap); $('#nama_lengkap').html(response.nama_lengkap);
$('#kode_unik').html(response.kode_unik); $('#kode_unik').html(response.kode_unik);
$('#tgl_booking').html(response.tgl_booking); $('#tgl_booking').html(response.tgl_booking);
$('#jam_booking').html(response.jam_booking + " (waktu sistem)");
$('#deskripsi').html(response.deskripsi_tambahan); $('#deskripsi').html(response.deskripsi_tambahan);
$('#status').html(status_dict[response.status_data]); $('#status').html(status_dict[response.status_data]);
Swal.close(); Swal.close();
if(response.status_data == 0) { if(response.status_data == 0) {
$('#alert_status').removeClass(); $('#alert_status').removeClass();
$('#alert_status').addClass('alert alert-primary'); $('#alert_status').addClass('alert alert-warning');
$('#alert_status').html('Kamu belum dikonfirmasi dengan psikolog, cek waktu konsultasi pada email anda untuk melakukan aktivasi!'); $('#alert_status').html('Session kamu dinonaktifkan!');
} else if(response.status_data == 1) { } else if(response.status_data == 1) {
$('#alert_status').removeClass(); $('#alert_status').removeClass();
$('#alert_status').addClass('alert alert-info'); $('#alert_status').addClass('alert alert-info');
$('#alert_status').html('Kamu sudah dikonfirmasi oleh psikolog!'); $('#alert_status').html('Kamu bisa memulai tes sekarang!');
let test_session = getTestSession(response.id_booking); let test_session = getTestSession(response.id_booking);
$('#result_test').show(); $('#result_test').show();
$('#result_test_title').html('Kamu sudah dikonfirmasi oleh psikolog! Kalau kamu sudah siap menjalankan tes, klik tombol di bawah untuk mulai tes kecemasan dari sistem kami!'); $('#result_test_title').html('Kalau kamu sudah siap menjalankan tes, klik tombol di bawah untuk mulai tes kecemasan dari sistem kami!');
if(test_session.status) { if(test_session.status) {
if(test_session.status_session == 0) { if(test_session.status_session == 0) {
$('#id_booking_input').val(response.id_booking); $('#id_booking_input').val(response.id_booking);
@ -183,7 +184,7 @@ function searchUserStatus() {
} else if(!test_session.status) { } else if(!test_session.status) {
$('#id_booking_input').val(response.id_booking); $('#id_booking_input').val(response.id_booking);
$('#result_test').show(); $('#result_test').show();
$('#result_test_title').html('Kamu sudah dikonfirmasi oleh psikolog! Kalau kamu sudah siap menjalankan tes, klik tombol di bawah untuk mulai tes kecemasan dari sistem kami!'); $('#result_test_title').html('Kalau kamu sudah siap menjalankan tes, klik tombol di bawah untuk mulai tes kecemasan dari sistem kami!');
$('#result_test_status').html('Belum Dimulai'); $('#result_test_status').html('Belum Dimulai');
$('#result_test_status').removeClass(); $('#result_test_status').removeClass();