$(document).ready(function() {
$('#ticketDetailsModal').on('show.bs.modal', function(event) {
let modal = $(this);
let button = $(event.relatedTarget);
let ticket_id = button.data('concern');
let resolved = button.data('resolved');
modal.find('.modal-footer input').val(ticket_id);
if ( resolved ) {
$('#resolveTicket').hide();
} else {
$('#resolveTicket').show();
}
let detail = $('#detail_' + ticket_id).text();
// Display ticket details
let display = '
';
display += '
';
display += '' + detail + '';
display += '
';
display += '
';
display += '' + __("Loading updates . . .") + '';
display += '
';
display += '
';
let details = modal.find('#concern-details');
details.html(display);
// Load any existing updates
$.ajax({
url: "/api/v1/tickets/" + ticket_id + "/updates",
method: "GET",
headers: {
"x-koha-embed": "user"
},
}).success(function(data) {
let updates_display = $('#concern-updates');
let updates = '';
data.forEach(function(item, index) {
if ( item.public ) {
updates += '';
updates += '
' + __("Public") + '';
}
else {
updates += '
';
updates += '' + __("Private") + '';
}
updates += '' + item.message + '';
updates += '' + $patron_to_html(item.user, {
display_cardnumber: false,
url: true
}) + ' (' + $datetime(item.date) + ')';
updates += '
';
});
updates_display.html(updates);
}).error(function() {
});
// Clear any previously entered update message
$('#update_message').val('');
$('#public').prop( "checked", false );
});
$('#ticketDetailsModal').on('click', '#updateTicket', function(e) {
let ticket_id = $('#ticket_id').val();
let params = {
'public': $('#public').is(":checked"),
message: $('#update_message').val(),
user_id: logged_in_user_borrowernumber
};
$('#comment-spinner').show();
$.ajax({
url: "/api/v1/tickets/" + ticket_id + "/updates",
method: "POST",
data: JSON.stringify(params),
ontentType: "application/json; charset=utf-8"
}).success(function() {
$('#comment-spinner').hide();
$('#ticketDetailsModal').modal('hide');
$('#table_concerns').DataTable().ajax.reload(function(data) {
$("#concern_action_result_dialog").hide();
$("#concern_delete_success").html(__("Concern #%s updated successfully.").format(ticket_id)).show();
});
}).error(function() {
$("#concern_update_error").html(__("Error resolving concern #%s. Check the logs.").format(ticket_id)).show();
});
});
$('#ticketDetailsModal').on('click', '#resolveTicket', function(e) {
let ticket_id = $('#ticket_id').val();
let params = {
'public': $('#public').is(":checked"),
message: $('#update_message').val(),
user_id: logged_in_user_borrowernumber,
state: 'resolved'
};
$('#resolve-spinner').show();
$.ajax({
url: "/api/v1/tickets/" + ticket_id + "/updates",
method: "POST",
data: JSON.stringify(params),
ontentType: "application/json; charset=utf-8"
}).success(function() {
$('#resolve-spinner').hide();
$("#ticketDetailsModal").modal('hide');
$('#table_concerns').DataTable().ajax.reload(function(data) {
$("#concern_action_result_dialog").hide();
$("#concern_delete_success").html(__("Concern #%s updated successfully.").format(ticket_id)).show();
});
}).error(function() {
$("#concern_update_error").html(__("Error resolving concern #%s. Check the logs.").format(ticket_id)).show();
});
});
});