feat: Enforce a fixed 2-day borrowing period by auto-setting dates and disabling user input.
This commit is contained in:
parent
3fb658fe9c
commit
4c6a2f9a57
|
|
@ -105,14 +105,9 @@ public function store(Request $request)
|
|||
|
||||
$bukuIds = $request->input('buku_ids');
|
||||
|
||||
// Parse dates from format "Y-m-d" (standard from flatpickr)
|
||||
try {
|
||||
$borrowedAt = Carbon::parse($request->tanggal_pinjam);
|
||||
$dueAt = Carbon::parse($request->tanggal_kembali);
|
||||
} catch (\Exception $e) {
|
||||
$borrowedAt = now();
|
||||
$dueAt = now()->addDays(7);
|
||||
}
|
||||
// Parse dates: always today for borrow, and 2 days from now for due date
|
||||
$borrowedAt = now();
|
||||
$dueAt = now()->addDays(2);
|
||||
|
||||
DB::transaction(function () use ($bukuIds, $borrowedAt, $dueAt) {
|
||||
foreach ($bukuIds as $bukuId) {
|
||||
|
|
|
|||
|
|
@ -125,13 +125,13 @@ class="rounded me-3 form-book-cover">
|
|||
<label for="tanggalPinjam" class="form-label text-muted">Tanggal Pinjam</label>
|
||||
<input type="text" id="tanggalPinjam" name="tanggal_pinjam" class="form-control"
|
||||
placeholder="Pilih tanggal pinjam"
|
||||
value="{{ \Carbon\Carbon::now()->format('d F Y') }}">
|
||||
value="{{ \Carbon\Carbon::now()->format('d F Y') }}" readonly>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<label for="tanggalKembali" class="form-label text-muted">Tanggal Kembali</label>
|
||||
<input type="text" id="tanggalKembali" name="tanggal_kembali"
|
||||
placeholder="Pilih tanggal kembali" class="form-control"
|
||||
value="{{ \Carbon\Carbon::now()->addDays(7)->format('d F Y') }}">
|
||||
value="{{ \Carbon\Carbon::now()->addDays(2)->format('d F Y') }}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -295,8 +295,8 @@ class="bi bi-check-circle me-1"></i>Tersedia</span>
|
|||
<div>
|
||||
<h6 class="fw-bold text-dark mb-1">PENTING: Aturan Peminjaman!</h6>
|
||||
<p class="mb-0 text-muted small">
|
||||
Sesuai peraturan perpustakaan, durasi peminjaman buku maksimal adalah
|
||||
<strong class="text-dark bg-warning-subtle px-2 py-1 rounded">7 HARI</strong>.
|
||||
durasi peminjaman buku maksimal adalah
|
||||
<strong class="text-dark bg-warning-subtle px-2 py-1 rounded">2 HARI</strong>.
|
||||
<br>
|
||||
Mohon kembalikan tepat waktu untuk menghindari denda (Rp 1.000/hari).
|
||||
</p>
|
||||
|
|
@ -324,9 +324,10 @@ class="bi bi-check-circle me-1"></i>Tersedia</span>
|
|||
dateFormat: "Y-m-d",
|
||||
altInput: true,
|
||||
altFormat: "d F Y",
|
||||
defaultDate: new Date().fp_incr(7),
|
||||
defaultDate: new Date().fp_incr(2),
|
||||
locale: "id",
|
||||
minDate: new Date().fp_incr(1),
|
||||
clickOpens: false,
|
||||
allowInput: false
|
||||
});
|
||||
|
||||
// Inisialisasi Tanggal Pinjam
|
||||
|
|
@ -336,18 +337,8 @@ class="bi bi-check-circle me-1"></i>Tersedia</span>
|
|||
altFormat: "d F Y",
|
||||
defaultDate: "today",
|
||||
locale: "id",
|
||||
minDate: "today",
|
||||
|
||||
onChange: function(selectedDates, dateStr) {
|
||||
if (selectedDates.length > 0) {
|
||||
const tglMulai = selectedDates[0];
|
||||
const defaultReturnDate = new Date(tglMulai).fp_incr(7);
|
||||
const minDateBaru = new Date(tglMulai).fp_incr(1);
|
||||
|
||||
fpKembali.set("minDate", minDateBaru);
|
||||
fpKembali.setDate(defaultReturnDate);
|
||||
}
|
||||
}
|
||||
clickOpens: false,
|
||||
allowInput: false
|
||||
});
|
||||
|
||||
// Inisialisasi data dari data-attributes
|
||||
|
|
|
|||
Loading…
Reference in New Issue