WIP: perbaikan sistem booking
This commit is contained in:
parent
d88b961e4b
commit
feb7916fff
|
|
@ -3,6 +3,7 @@
|
|||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Models\BookingModel;
|
||||
use Carbon\Carbon;
|
||||
use Generator;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
|
|
@ -74,6 +75,7 @@ public function store(Request $request)
|
|||
]);
|
||||
|
||||
$kode_unik = $this->generateCode();
|
||||
$tgl_request = Carbon::parse($request->tgl_booking)->timestamp + 86399;
|
||||
|
||||
BookingModel::create([
|
||||
'nama_lengkap' => $request->nama_lengkap,
|
||||
|
|
@ -82,6 +84,7 @@ public function store(Request $request)
|
|||
'tgl_booking' => $request->tgl_booking,
|
||||
'deskripsi_tambahan' => $request->deskripsi_tambahan,
|
||||
'kode_unik' => $kode_unik,
|
||||
'unix_expired_time' => $tgl_request
|
||||
]);
|
||||
|
||||
return response()->json([
|
||||
|
|
|
|||
|
|
@ -38,10 +38,18 @@ public function show(string $id)
|
|||
{
|
||||
$data = BookingModel::where('kode_unik', $id)->first();
|
||||
if($data != null) {
|
||||
if($data->status_tes == '1' && $data->unix_expired_time < time()) {
|
||||
if($data->status_tes == '1' && $data->unix_expired_time < time()) { // Lebih dari exp
|
||||
$data->update([
|
||||
'status_tes' => '0'
|
||||
]);
|
||||
} else if($data->status_tes == '1' && time() < ($data->unix_expired_time - 86399)) { // Kurang dari exp 00.00
|
||||
$data->update([
|
||||
'status_tes' => '0'
|
||||
]);
|
||||
} else if($data->status_tes == '0' && time() > ($data->unix_expired_time - 86399) && time() < ($data->unix_expired_time)) {
|
||||
$data->update([
|
||||
'status_tes' => '1'
|
||||
]);
|
||||
}
|
||||
return response()->json([
|
||||
'status' => true,
|
||||
|
|
@ -51,7 +59,8 @@ public function show(string $id)
|
|||
'nama_lengkap' => $data->nama_lengkap,
|
||||
'kode_unik' => $data->kode_unik,
|
||||
'tgl_booking' => $data->tgl_booking,
|
||||
'jam_booking' => date('H:i:s', strtotime($data->created_at)),
|
||||
'start_test' => date('H:i:s', $data->unix_expired_time - 86399),
|
||||
'end_test' => date('H:i:s', $data->unix_expired_time),
|
||||
'deskripsi_tambahan' => $data->deskripsi_tambahan,
|
||||
]);
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ protected static function boot()
|
|||
}
|
||||
|
||||
if(empty($model->unix_expired_time)) {
|
||||
$model->unix_expired_time = (string) (time() + 86400); // Set expiration time to 24 hour from now
|
||||
$model->unix_expired_time = (string) (time() + 86399); // Set expiration time to 24 hour from now
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@
|
|||
|
|
||||
*/
|
||||
|
||||
'timezone' => 'UTC',
|
||||
'timezone' => 'Asia/Jakarta',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@
|
|||
<link href="{{ asset('assets/users/assets/vendor/swiper/swiper-bundle.min.css') }}" rel="stylesheet">
|
||||
|
||||
<link href="https://cdn.datatables.net/2.3.7/css/dataTables.dataTables.min.css" rel="stylesheet" />
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/flatpickr/dist/flatpickr.min.css">
|
||||
|
||||
<!-- Main CSS File -->
|
||||
<link href="{{ asset('assets/users/assets/css/main.css') }}" rel="stylesheet">
|
||||
|
|
@ -74,6 +75,7 @@ class="bi bi-arrow-up-short"></i></a>
|
|||
|
||||
<script src="https://cdn.datatables.net/2.3.7/js/dataTables.min.js" crossorigin="anonymous"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/heatmap.js/2.0.1/heatmap.min.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/flatpickr"></script>
|
||||
|
||||
<!-- Main JS File -->
|
||||
<script src="{{ asset('assets/users/assets/js/main.js') }}"></script>
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@
|
|||
<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 dan Jam Booking: <span id="tgl_booking"></span> <span id="jam_booking"></span></li>
|
||||
<li class="list-group-item">Tgl dan Jam Ujian (sesuai 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">Status Tes: <span id="status"></span></li>
|
||||
</ul>
|
||||
|
|
@ -137,13 +137,13 @@ function searchUserStatus() {
|
|||
xhttp.onreadystatechange = function() {
|
||||
if(this.readyState == 4 && this.status == 200) {
|
||||
let response = JSON.parse(this.responseText);
|
||||
let status_dict = ['Sesi anda dinonaktifkan karena telah kedaluwarsa', 'Belum melakukan/menyelesaikan tes', 'Sudah melakukan tes'];
|
||||
let status_dict = ['Sesi anda dinonaktifkan karena telah kedaluwarsa atau belum sesuai jadwal yang telah di booking', '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);
|
||||
$('#jam_booking').html(response.jam_booking + " (waktu sistem)");
|
||||
$('#tgl_booking').html(`<b>${response.tgl_booking}</b>`);
|
||||
$('#jam_booking').html(", Valid dari jam <b>" + response.start_test + "</b>, sampai dengan jam <b>" + response.end_test + "</b>");
|
||||
$('#deskripsi').html(response.deskripsi_tambahan);
|
||||
$('#status').html(status_dict[response.status_data]);
|
||||
Swal.close();
|
||||
|
|
@ -151,7 +151,7 @@ function searchUserStatus() {
|
|||
if(response.status_data == 0) {
|
||||
$('#alert_status').removeClass();
|
||||
$('#alert_status').addClass('alert alert-warning');
|
||||
$('#alert_status').html('Session kamu dinonaktifkan!');
|
||||
$('#alert_status').html('Session kamu dinonaktifkan atau belum sesuai jam yang telah di booking!');
|
||||
} else if(response.status_data == 1) {
|
||||
$('#alert_status').removeClass();
|
||||
$('#alert_status').addClass('alert alert-info');
|
||||
|
|
|
|||
|
|
@ -377,7 +377,7 @@
|
|||
<input type="tel" name="phone" id="no_telp" class="form-control" placeholder="Nomor Telepon" required="">
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<input type="date" name="date" id="tgl_book" class="form-control" required="" aria-describedby="dateHelp">
|
||||
<input type="text" name="date" id="tgl_book" class="form-control" required="" aria-describedby="dateHelp" placeholder="Pilih tanggal...">
|
||||
<div id="dateHelp" class="form-text">Untuk detail jam, akan dikirim melalui email mu yaa.</div>
|
||||
</div>
|
||||
<div class="col-12">
|
||||
|
|
@ -484,5 +484,14 @@ function sendAppointment() {
|
|||
xhttp.send(formData);
|
||||
|
||||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
flatpickr("#tgl_book", {
|
||||
enableTime: false,
|
||||
dateFormat: "Y-m-d",
|
||||
minDate: 'today',
|
||||
maxDate: new Date().fp_incr(7)
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@endsection
|
||||
Loading…
Reference in New Issue