Lines 133-140
$("#placeBookingModal").on("show.bs.modal", function (e) {
Link Here
|
133 |
// Lead and Trail days syncing |
133 |
// Lead and Trail days syncing |
134 |
let leadDays = 0; |
134 |
let leadDays = 0; |
135 |
let trailDays = 0; |
135 |
let trailDays = 0; |
|
|
136 |
let lengthDays; |
136 |
function getCirculationRules() { |
137 |
function getCirculationRules() { |
137 |
let rules_url = "/api/v1/circulation_rules"; |
|
|
138 |
$.ajax({ |
138 |
$.ajax({ |
139 |
url: rules_url, |
139 |
url: rules_url, |
140 |
type: "GET", |
140 |
type: "GET", |
Lines 143-152
$("#placeBookingModal").on("show.bs.modal", function (e) {
Link Here
|
143 |
patron_category_id: booking_patron.category_id, |
143 |
patron_category_id: booking_patron.category_id, |
144 |
item_type_id: booking_itemtype_id, |
144 |
item_type_id: booking_itemtype_id, |
145 |
library_id: pickup_library_id, |
145 |
library_id: pickup_library_id, |
146 |
rules: 'bookings_lead_period,bookings_trail_period' |
146 |
rules: 'bookings_lead_period,bookings_trail_period,issuelength,renewalsallowed,renewalperiod' |
147 |
}, |
147 |
}, |
148 |
success: function (response) { |
148 |
success: function (response) { |
149 |
let rules = response[0] |
149 |
let rules = response[0]; |
|
|
150 |
let renewalLength = rules.renewalsallowed * rules.renewalperiod; |
151 |
lengthDays = rules.issuelength + renewalLength; |
150 |
leadDays = rules.bookings_lead_period; |
152 |
leadDays = rules.bookings_lead_period; |
151 |
trailDays = rules.bookings_trail_period; |
153 |
trailDays = rules.bookings_trail_period; |
152 |
|
154 |
|
Lines 673-680
$("#placeBookingModal").on("show.bs.modal", function (e) {
Link Here
|
673 |
dateStr, |
675 |
dateStr, |
674 |
instance |
676 |
instance |
675 |
) { |
677 |
) { |
|
|
678 |
// Start date selected |
679 |
if (selectedDates[0] && !selectedDates[1]) { |
680 |
// Calculate the maximum date based on the selected start date |
681 |
const maxDate = new Date(selectedDates[0]); |
682 |
maxDate.setDate(maxDate.getDate() + lengthDays ); |
683 |
|
684 |
// Update the maxDate option of the flatpickr instance |
685 |
instance.set('maxDate', maxDate); |
686 |
} |
676 |
// Range set, update hidden fields and set available items |
687 |
// Range set, update hidden fields and set available items |
677 |
if (selectedDates[0] && selectedDates[1]) { |
688 |
else if (selectedDates[0] && selectedDates[1]) { |
678 |
// set form fields from picker |
689 |
// set form fields from picker |
679 |
let picker_start = dayjs(selectedDates[0]); |
690 |
let picker_start = dayjs(selectedDates[0]); |
680 |
let picker_end = dayjs(selectedDates[1]).endOf( |
691 |
let picker_end = dayjs(selectedDates[1]).endOf( |
681 |
- |
|
|