feat: Enforce a fixed 2-day borrowing period by auto-setting dates and disabling user input.

This commit is contained in:
cukiprit 2026-03-11 00:26:20 +07:00
parent 3fb658fe9c
commit 4c6a2f9a57
2 changed files with 12 additions and 26 deletions

View File

@ -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) {

View File

@ -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