|
Lines 268-274
$(document).ready(function() {
Link Here
|
| 268 |
due = "<span class='overdue'>" + due + "</span>"; |
268 |
due = "<span class='overdue'>" + due + "</span>"; |
| 269 |
} |
269 |
} |
| 270 |
|
270 |
|
| 271 |
due = "<span id='date_due_" + oObj.itemnumber + "' class='date_due'>" + due + "</span>"; |
271 |
due = "<div data-issue_id='"+ oObj.issue_id + "' style='white-space:nowrap'><span id='date_due_" + oObj.itemnumber + "' class='date_due'>" + due + "</span>"; |
|
|
272 |
|
| 273 |
if (canEditDueDates) { |
| 274 |
due += " <a href='#' class='edit_due_date_btn btn btn-default btn-xs'><i class='fa fa-pencil'></i> Edit</a></div>"; |
| 275 |
} |
| 272 |
|
276 |
|
| 273 |
if ( oObj.lost && oObj.claims_returned ) { |
277 |
if ( oObj.lost && oObj.claims_returned ) { |
| 274 |
due += "<span class='lost claims_returned'>" + oObj.lost.escapeHtml() + "</span>"; |
278 |
due += "<span class='lost claims_returned'>" + oObj.lost.escapeHtml() + "</span>"; |
|
Lines 1086-1089
$(document).ready(function() {
Link Here
|
| 1086 |
|
1090 |
|
| 1087 |
}); |
1091 |
}); |
| 1088 |
|
1092 |
|
|
|
1093 |
// Allow due date editing if appropriate |
| 1094 |
if (canEditDueDates) { |
| 1095 |
$(document).on('click', '.edit_due_date_btn', function(e) { |
| 1096 |
e.preventDefault(); |
| 1097 |
var date_display = $(this).siblings('.date_due'); |
| 1098 |
$('#issues-table .edit_due_date_btn').attr('disabled', '1'); |
| 1099 |
var current = date_display.text(); |
| 1100 |
date_display.hide(); |
| 1101 |
$(this).closest('div').append('<input style="max-width:10em" type="text" id="due_date_select" value="' + current + '"></input>' + |
| 1102 |
'<a style="margin-left:1.5em" href="#" class="save_due_date_btn btn btn-default btn-xs"><i class="fa fa-save"></i> ' + SAVE + '</a>'); |
| 1103 |
$(this).hide(); |
| 1104 |
$("#due_date_select").datetimepicker({ |
| 1105 |
onClose: function(dateText, inst) { |
| 1106 |
validate_date(dateText, inst); |
| 1107 |
}, |
| 1108 |
minDate: Date_from_syspref(date_display.text()), |
| 1109 |
hour: 23, |
| 1110 |
minute: 59 |
| 1111 |
}).on("change", function(e) { |
| 1112 |
if ( ! is_valid_date( $(this).val() ) ) {$(this).val("");} |
| 1113 |
}); |
| 1114 |
}); |
| 1115 |
$(document).on('click', '.save_due_date_btn', function(e) { |
| 1116 |
e.preventDefault(); |
| 1117 |
var saveBtn = $(this); |
| 1118 |
var p = saveBtn.closest('div'); |
| 1119 |
var checkoutId = p.data('issue_id'); |
| 1120 |
var due_date = saveBtn.siblings('#due_date_select')[0].value; |
| 1121 |
p.append("<img style='margin-left:1.5em' id='due_date_spinner' src='" + interface + "/" + theme + "/img/spinner-small.gif' />"); |
| 1122 |
saveBtn.hide(); |
| 1123 |
if (due_date && due_date.length > 0) { |
| 1124 |
var dt = DateTime_from_syspref(due_date); |
| 1125 |
$.ajax({ |
| 1126 |
url: `/api/v1/checkouts/${checkoutId}`, |
| 1127 |
type: 'PUT', |
| 1128 |
data: JSON.stringify({ date_due: dt.toISOString() }), |
| 1129 |
success: function( data ) { |
| 1130 |
var dateFormatted = ISO_to_syspref(data.due_date); |
| 1131 |
saveBtn.siblings('.date_due').text(dateFormatted).show(); |
| 1132 |
$('#issues-table .edit_due_date_btn').removeAttr('disabled'); |
| 1133 |
p.find('#due_date_select').remove() |
| 1134 |
p.find('.ui-datepicker-trigger').remove() |
| 1135 |
p.find('#due_date_spinner').remove(); |
| 1136 |
p.find('.edit_due_date_btn').show(); |
| 1137 |
saveBtn.remove(); |
| 1138 |
}, |
| 1139 |
contentType: "json" |
| 1140 |
}); |
| 1141 |
} |
| 1142 |
}); |
| 1143 |
} |
| 1144 |
|
| 1089 |
}); |
1145 |
}); |