|
Lines 4-9
$(document).ready(function() {
Link Here
|
| 4 |
let button = $(event.relatedTarget); |
4 |
let button = $(event.relatedTarget); |
| 5 |
let ticket_id = button.data('concern'); |
5 |
let ticket_id = button.data('concern'); |
| 6 |
let resolved = button.data('resolved'); |
6 |
let resolved = button.data('resolved'); |
|
|
7 |
let assignee = button.data('assignee'); |
| 7 |
modal.find('.modal-footer input').val(ticket_id); |
8 |
modal.find('.modal-footer input').val(ticket_id); |
| 8 |
|
9 |
|
| 9 |
if ( resolved ) { |
10 |
if ( resolved ) { |
|
Lines 17-22
$(document).ready(function() {
Link Here
|
| 17 |
// Display ticket details |
18 |
// Display ticket details |
| 18 |
let display = '<div class="list-group">'; |
19 |
let display = '<div class="list-group">'; |
| 19 |
display += '<div class="list-group-item">'; |
20 |
display += '<div class="list-group-item">'; |
|
|
21 |
if (assignee) { |
| 22 |
display += '<span class="pull-right"><span class="label">' + __("Assignee") + '</span>: ' + assignee + '</span>'; |
| 23 |
} |
| 20 |
display += '<span class="wrapfix">' + detail + '</span>'; |
24 |
display += '<span class="wrapfix">' + detail + '</span>'; |
| 21 |
display += '</div>'; |
25 |
display += '</div>'; |
| 22 |
display += '<div id="concern-updates" class="list-group-item">'; |
26 |
display += '<div id="concern-updates" class="list-group-item">'; |
|
Lines 32-38
$(document).ready(function() {
Link Here
|
| 32 |
url: "/api/v1/tickets/" + ticket_id + "/updates", |
36 |
url: "/api/v1/tickets/" + ticket_id + "/updates", |
| 33 |
method: "GET", |
37 |
method: "GET", |
| 34 |
headers: { |
38 |
headers: { |
| 35 |
"x-koha-embed": [ "user", "+strings" ] |
39 |
"x-koha-embed": [ "user", "assignee", "+strings" ] |
| 36 |
}, |
40 |
}, |
| 37 |
}).success(function(data) { |
41 |
}).success(function(data) { |
| 38 |
let updates_display = $('#concern-updates'); |
42 |
let updates_display = $('#concern-updates'); |
|
Lines 52-61
$(document).ready(function() {
Link Here
|
| 52 |
url: true |
56 |
url: true |
| 53 |
}) + ' (' + $datetime(item.date) + ')'; |
57 |
}) + ' (' + $datetime(item.date) + ')'; |
| 54 |
if ( item.status ) { |
58 |
if ( item.status ) { |
| 55 |
updates += '<span class="wrapfix pull-right">'; |
59 |
updates += '<span class="clearfix pull-right">'; |
| 56 |
updates += item._strings.status ? escape_str(item._strings.status.str) : ""; |
60 |
updates += item._strings.status ? escape_str(item._strings.status.str) : ""; |
| 57 |
updates += '</span>' |
61 |
updates += '</span>' |
| 58 |
} |
62 |
} |
|
|
63 |
if ( item.assignee ) { |
| 64 |
updates += '<span class="clearfix pull-right">'; |
| 65 |
updates += $patron_to_html(item.assignee, { |
| 66 |
display_cardnumber: false, |
| 67 |
url: true |
| 68 |
}); |
| 69 |
updates += '</span>' |
| 70 |
} |
| 59 |
updates += '</span>'; |
71 |
updates += '</span>'; |
| 60 |
updates += '</div>'; |
72 |
updates += '</div>'; |
| 61 |
}); |
73 |
}); |
|
Lines 67-82
$(document).ready(function() {
Link Here
|
| 67 |
// Clear any previously entered update message |
79 |
// Clear any previously entered update message |
| 68 |
$('#update_message').val(''); |
80 |
$('#update_message').val(''); |
| 69 |
$('#public').prop( "checked", false ); |
81 |
$('#public').prop( "checked", false ); |
|
|
82 |
|
| 83 |
// Patron select2 |
| 84 |
$("#assignee_id").kohaSelect({ |
| 85 |
dropdownParent: $(".modal-content", "#ticketDetailsModal"), |
| 86 |
width: '50%', |
| 87 |
dropdownAutoWidth: true, |
| 88 |
allowClear: true, |
| 89 |
minimumInputLength: 3, |
| 90 |
ajax: { |
| 91 |
url: '/api/v1/patrons', |
| 92 |
delay: 250, |
| 93 |
dataType: 'json', |
| 94 |
headers: { |
| 95 |
"x-koha-embed": "library" |
| 96 |
}, |
| 97 |
data: function(params) { |
| 98 |
let q = buildPatronSearchQuery(params.term); |
| 99 |
let query = { |
| 100 |
'q': JSON.stringify(q), |
| 101 |
'_page': params.page, |
| 102 |
'_order_by': '+me.surname,+me.firstname', |
| 103 |
}; |
| 104 |
return query; |
| 105 |
}, |
| 106 |
processResults: function(data, params) { |
| 107 |
let results = []; |
| 108 |
data.results.forEach(function(patron) { |
| 109 |
patron.id = patron.patron_id; |
| 110 |
results.push(patron); |
| 111 |
}); |
| 112 |
return { |
| 113 |
"results": results, "pagination": { "more": data.pagination.more } |
| 114 |
}; |
| 115 |
}, |
| 116 |
}, |
| 117 |
templateResult: function (patron) { |
| 118 |
if (patron.library_id == loggedInLibrary) { |
| 119 |
loggedInClass = "ac-currentlibrary"; |
| 120 |
} else { |
| 121 |
loggedInClass = ""; |
| 122 |
} |
| 123 |
|
| 124 |
let $patron = $("<span></span>") |
| 125 |
.append( |
| 126 |
"" + |
| 127 |
(patron.surname |
| 128 |
? escape_str(patron.surname) + ", " |
| 129 |
: "") + |
| 130 |
(patron.firstname |
| 131 |
? escape_str(patron.firstname) + " " |
| 132 |
: "") + |
| 133 |
(patron.cardnumber |
| 134 |
? " (" + escape_str(patron.cardnumber) + ")" |
| 135 |
: "") + |
| 136 |
"<small>" + |
| 137 |
(patron.date_of_birth |
| 138 |
? ' <span class="age_years">' + |
| 139 |
$get_age(patron.date_of_birth) + |
| 140 |
" " + |
| 141 |
__("years") + |
| 142 |
"</span>" |
| 143 |
: "") + |
| 144 |
(patron.library ? |
| 145 |
" <span class=\"ac-library\">" + |
| 146 |
escape_str(patron.library.name) + |
| 147 |
"</span>" |
| 148 |
: "") + |
| 149 |
"</small>" |
| 150 |
) |
| 151 |
.addClass(loggedInClass); |
| 152 |
return $patron; |
| 153 |
}, |
| 154 |
templateSelection: function (patron) { |
| 155 |
if (!patron.surname) { |
| 156 |
return patron.text; |
| 157 |
} |
| 158 |
return ( |
| 159 |
escape_str(patron.surname) + ", " + escape_str(patron.firstname) |
| 160 |
); |
| 161 |
}, |
| 162 |
placeholder: "Search for a patron" |
| 163 |
}); |
| 70 |
}); |
164 |
}); |
| 71 |
|
165 |
|
| 72 |
$('#ticketDetailsModal').on('click', '.updateSubmit', function(e) { |
166 |
$('#ticketDetailsModal').on('click', '.updateSubmit', function(e) { |
| 73 |
let clicked = $(this); |
167 |
let clicked = $(this); |
| 74 |
let ticket_id = $('#ticket_id').val(); |
168 |
let ticket_id = $('#ticket_id').val(); |
|
|
169 |
let assignee_id = $('#assignee_id').val(); |
| 75 |
let params = { |
170 |
let params = { |
| 76 |
'public': $('#public').is(":checked"), |
171 |
'public': $('#public').is(":checked"), |
| 77 |
'message': $('#update_message').val(), |
172 |
'message': $('#update_message').val(), |
| 78 |
'user_id': logged_in_user_borrowernumber, |
173 |
'user_id': logged_in_user_borrowernumber, |
| 79 |
'status': clicked.data('status') |
174 |
'status': clicked.data('status'), |
|
|
175 |
'assignee_id': assignee_id |
| 80 |
}; |
176 |
}; |
| 81 |
|
177 |
|
| 82 |
$('#comment-spinner').show(); |
178 |
$('#comment-spinner').show(); |
| 83 |
- |
|
|