|
Lines 31-36
$("#placeBookingModal").on("show.bs.modal", function (e) {
Link Here
|
| 31 |
$("#booking_biblio_id").val(biblionumber); |
31 |
$("#booking_biblio_id").val(biblionumber); |
| 32 |
|
32 |
|
| 33 |
let patron_id = button.data("patron") || 0; |
33 |
let patron_id = button.data("patron") || 0; |
|
|
34 |
let pickup_library_id = button.data("pickup_library"); |
| 34 |
booking_item_id = button.data("itemnumber"); |
35 |
booking_item_id = button.data("itemnumber"); |
| 35 |
let start_date = button.data("start_date"); |
36 |
let start_date = button.data("start_date"); |
| 36 |
let end_date = button.data("end_date"); |
37 |
let end_date = button.data("end_date"); |
|
Lines 139-155
$("#placeBookingModal").on("show.bs.modal", function (e) {
Link Here
|
| 139 |
}); |
140 |
}); |
| 140 |
function setLocationsPicker(response) { |
141 |
function setLocationsPicker(response) { |
| 141 |
let $pickupSelect = $("#pickup_library_id"); |
142 |
let $pickupSelect = $("#pickup_library_id"); |
| 142 |
let bookableItemnumbers = bookable_items.map(function(object) { return object.item_id; }); |
143 |
let bookableItemnumbers = bookable_items.map(function (object) { |
|
|
144 |
return object.item_id; |
| 145 |
}); |
| 143 |
$pickupSelect.empty(); |
146 |
$pickupSelect.empty(); |
| 144 |
|
147 |
|
| 145 |
$.each(response, function(index, pickup_location) { |
148 |
$.each(response, function (index, pickup_location) { |
| 146 |
if (containsAny(pickup_location.pickup_items, bookableItemnumbers)) { |
149 |
if ( |
|
|
150 |
containsAny(pickup_location.pickup_items, bookableItemnumbers) |
| 151 |
) { |
| 147 |
let option = $( |
152 |
let option = $( |
| 148 |
'<option value="' + |
153 |
'<option value="' + |
| 149 |
pickup_location.library_id + |
154 |
pickup_location.library_id + |
| 150 |
'">' + |
155 |
'">' + |
| 151 |
pickup_location.name + |
156 |
pickup_location.name + |
| 152 |
"</option>" |
157 |
"</option>" |
| 153 |
); |
158 |
); |
| 154 |
|
159 |
|
| 155 |
option.attr( |
160 |
option.attr( |
|
Lines 166-172
$("#placeBookingModal").on("show.bs.modal", function (e) {
Link Here
|
| 166 |
}); |
171 |
}); |
| 167 |
|
172 |
|
| 168 |
$pickupSelect.prop("disabled", false); |
173 |
$pickupSelect.prop("disabled", false); |
| 169 |
$pickupSelect.val(null).trigger("change"); |
174 |
|
|
|
175 |
// If pickup_library alread exists, pre-select |
| 176 |
if (pickup_library_id) { |
| 177 |
$pickupSelect.val(pickup_library_id).trigger("change"); |
| 178 |
} else { |
| 179 |
$pickupSelect.val(null).trigger("change"); |
| 180 |
} |
| 170 |
} |
181 |
} |
| 171 |
|
182 |
|
| 172 |
// Item select2 |
183 |
// Item select2 |
|
Lines 195-210
$("#placeBookingModal").on("show.bs.modal", function (e) {
Link Here
|
| 195 |
success: function (response) { |
206 |
success: function (response) { |
| 196 |
if (dataFetched === true) { |
207 |
if (dataFetched === true) { |
| 197 |
setLocationsPicker(response); |
208 |
setLocationsPicker(response); |
| 198 |
|
|
|
| 199 |
} else { |
209 |
} else { |
| 200 |
var interval = setInterval(function() { |
210 |
var interval = setInterval(function () { |
| 201 |
if (dataFetched === true) { |
211 |
if (dataFetched === true) { |
| 202 |
// Data is fetched, execute the callback and stop the interval |
212 |
// Data is fetched, execute the callback and stop the interval |
| 203 |
setLocationsPicker(response); |
213 |
setLocationsPicker(response); |
| 204 |
clearInterval(interval); |
214 |
clearInterval(interval); |
| 205 |
} |
215 |
} |
| 206 |
}, 100); |
216 |
}, 100); |
| 207 |
}; |
217 |
} |
| 208 |
}, |
218 |
}, |
| 209 |
error: function (xhr, status, error) { |
219 |
error: function (xhr, status, error) { |
| 210 |
console.log("Pickup location fetch failed: ", error); |
220 |
console.log("Pickup location fetch failed: ", error); |
|
Lines 854-860
$("#placeBookingForm").on("submit", function (e) {
Link Here
|
| 854 |
}); |
864 |
}); |
| 855 |
|
865 |
|
| 856 |
$("#placeBookingModal").on("hidden.bs.modal", function (e) { |
866 |
$("#placeBookingModal").on("hidden.bs.modal", function (e) { |
| 857 |
|
|
|
| 858 |
// Reset patron select |
867 |
// Reset patron select |
| 859 |
$("#booking_patron_id").val(null).trigger("change"); |
868 |
$("#booking_patron_id").val(null).trigger("change"); |
| 860 |
$("#booking_patron_id").empty(); |
869 |
$("#booking_patron_id").empty(); |
| 861 |
- |
|
|