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');
|
$bukuIds = $request->input('buku_ids');
|
||||||
|
|
||||||
// Parse dates from format "Y-m-d" (standard from flatpickr)
|
// Parse dates: always today for borrow, and 2 days from now for due date
|
||||||
try {
|
$borrowedAt = now();
|
||||||
$borrowedAt = Carbon::parse($request->tanggal_pinjam);
|
$dueAt = now()->addDays(2);
|
||||||
$dueAt = Carbon::parse($request->tanggal_kembali);
|
|
||||||
} catch (\Exception $e) {
|
|
||||||
$borrowedAt = now();
|
|
||||||
$dueAt = now()->addDays(7);
|
|
||||||
}
|
|
||||||
|
|
||||||
DB::transaction(function () use ($bukuIds, $borrowedAt, $dueAt) {
|
DB::transaction(function () use ($bukuIds, $borrowedAt, $dueAt) {
|
||||||
foreach ($bukuIds as $bukuId) {
|
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>
|
<label for="tanggalPinjam" class="form-label text-muted">Tanggal Pinjam</label>
|
||||||
<input type="text" id="tanggalPinjam" name="tanggal_pinjam" class="form-control"
|
<input type="text" id="tanggalPinjam" name="tanggal_pinjam" class="form-control"
|
||||||
placeholder="Pilih tanggal pinjam"
|
placeholder="Pilih tanggal pinjam"
|
||||||
value="{{ \Carbon\Carbon::now()->format('d F Y') }}">
|
value="{{ \Carbon\Carbon::now()->format('d F Y') }}" readonly>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<label for="tanggalKembali" class="form-label text-muted">Tanggal Kembali</label>
|
<label for="tanggalKembali" class="form-label text-muted">Tanggal Kembali</label>
|
||||||
<input type="text" id="tanggalKembali" name="tanggal_kembali"
|
<input type="text" id="tanggalKembali" name="tanggal_kembali"
|
||||||
placeholder="Pilih tanggal kembali" class="form-control"
|
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>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -295,8 +295,8 @@ class="bi bi-check-circle me-1"></i>Tersedia</span>
|
||||||
<div>
|
<div>
|
||||||
<h6 class="fw-bold text-dark mb-1">PENTING: Aturan Peminjaman!</h6>
|
<h6 class="fw-bold text-dark mb-1">PENTING: Aturan Peminjaman!</h6>
|
||||||
<p class="mb-0 text-muted small">
|
<p class="mb-0 text-muted small">
|
||||||
Sesuai peraturan perpustakaan, durasi peminjaman buku maksimal adalah
|
durasi peminjaman buku maksimal adalah
|
||||||
<strong class="text-dark bg-warning-subtle px-2 py-1 rounded">7 HARI</strong>.
|
<strong class="text-dark bg-warning-subtle px-2 py-1 rounded">2 HARI</strong>.
|
||||||
<br>
|
<br>
|
||||||
Mohon kembalikan tepat waktu untuk menghindari denda (Rp 1.000/hari).
|
Mohon kembalikan tepat waktu untuk menghindari denda (Rp 1.000/hari).
|
||||||
</p>
|
</p>
|
||||||
|
|
@ -324,9 +324,10 @@ class="bi bi-check-circle me-1"></i>Tersedia</span>
|
||||||
dateFormat: "Y-m-d",
|
dateFormat: "Y-m-d",
|
||||||
altInput: true,
|
altInput: true,
|
||||||
altFormat: "d F Y",
|
altFormat: "d F Y",
|
||||||
defaultDate: new Date().fp_incr(7),
|
defaultDate: new Date().fp_incr(2),
|
||||||
locale: "id",
|
locale: "id",
|
||||||
minDate: new Date().fp_incr(1),
|
clickOpens: false,
|
||||||
|
allowInput: false
|
||||||
});
|
});
|
||||||
|
|
||||||
// Inisialisasi Tanggal Pinjam
|
// Inisialisasi Tanggal Pinjam
|
||||||
|
|
@ -336,18 +337,8 @@ class="bi bi-check-circle me-1"></i>Tersedia</span>
|
||||||
altFormat: "d F Y",
|
altFormat: "d F Y",
|
||||||
defaultDate: "today",
|
defaultDate: "today",
|
||||||
locale: "id",
|
locale: "id",
|
||||||
minDate: "today",
|
clickOpens: false,
|
||||||
|
allowInput: false
|
||||||
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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// Inisialisasi data dari data-attributes
|
// Inisialisasi data dari data-attributes
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue