|
Lines 94-99
function display_pickup_location (state) {
Link Here
|
| 94 |
|
94 |
|
| 95 |
/* global __ dataTablesDefaults borrowernumber SuspendHoldsIntranet */ |
95 |
/* global __ dataTablesDefaults borrowernumber SuspendHoldsIntranet */ |
| 96 |
$(document).ready(function() { |
96 |
$(document).ready(function() { |
|
|
97 |
|
| 98 |
function suspend_hold(hold_id, end_date) { |
| 99 |
return $.ajax({ |
| 100 |
method: 'POST', |
| 101 |
url: '/api/v1/holds/'+encodeURIComponent(hold_id)+'/suspension', |
| 102 |
data: function () { |
| 103 |
if ( end_date !== null ) return JSON.stringify({ "end_date": end_date }) |
| 104 |
} |
| 105 |
}); |
| 106 |
} |
| 107 |
|
| 108 |
function resume_hold(hold_id) { |
| 109 |
return $.ajax({ |
| 110 |
method: 'DELETE', |
| 111 |
url: '/api/v1/holds/'+encodeURIComponent(hold_id)+'/suspension' |
| 112 |
}); |
| 113 |
} |
| 114 |
|
| 97 |
var holdsTable; |
115 |
var holdsTable; |
| 98 |
|
116 |
|
| 99 |
// Don't load holds table unless it is clicked on |
117 |
// Don't load holds table unless it is clicked on |
|
Lines 225-234
$(document).ready(function() {
Link Here
|
| 225 |
if ( oObj.found ) { |
243 |
if ( oObj.found ) { |
| 226 |
return ""; |
244 |
return ""; |
| 227 |
} else if ( oObj.suspend == 1 ) { |
245 |
} else if ( oObj.suspend == 1 ) { |
| 228 |
return "<a class='hold-resume btn btn-default btn-xs' id='resume" + oObj.reserve_id + "'>" |
246 |
return "<a class='hold-resume btn btn-default btn-xs' data-hold-id='" + oObj.reserve_id + "'>" |
| 229 |
+"<i class='fa fa-play'></i> " + __("Resume") + "</a>"; |
247 |
+"<i class='fa fa-play'></i> " + __("Resume") + "</a>"; |
| 230 |
} else { |
248 |
} else { |
| 231 |
return "<a class='hold-suspend btn btn-default btn-xs' id='suspend" + oObj.reserve_id + "'>" |
249 |
return "<a class='hold-suspend btn btn-default btn-xs' data-hold-id='" + oObj.reserve_id + "' data-hold-title='"+ oObj.title +"'>" |
| 232 |
+"<i class='fa fa-pause'></i> " + __("Suspend") + "</a>"; |
250 |
+"<i class='fa fa-pause'></i> " + __("Suspend") + "</a>"; |
| 233 |
} |
251 |
} |
| 234 |
} |
252 |
} |
|
Lines 291-315
$(document).ready(function() {
Link Here
|
| 291 |
|
309 |
|
| 292 |
$('#holds-table').on( 'draw.dt', function () { |
310 |
$('#holds-table').on( 'draw.dt', function () { |
| 293 |
$(".hold-suspend").on( "click", function() { |
311 |
$(".hold-suspend").on( "click", function() { |
| 294 |
var id = $(this).attr("id").replace("suspend", ""); |
312 |
var hold_id = $(this).data('hold-id'); |
| 295 |
var hold = holds[id]; |
313 |
var hold_title = $(this).data('hold-title'); |
| 296 |
$("#suspend-modal-title").html( hold.title ); |
314 |
$("#suspend-modal-title").html( hold_title ); |
| 297 |
$("#suspend-modal-reserve_id").val( hold.reserve_id ); |
315 |
$("#suspend-modal-submit").data( 'hold-id', hold_id ); |
| 298 |
$('#suspend-modal').modal('show'); |
316 |
$('#suspend-modal').modal('show'); |
| 299 |
}); |
317 |
}); |
| 300 |
|
318 |
|
| 301 |
$(".hold-resume").on( "click", function() { |
319 |
$(".hold-resume").on("click", function () { |
| 302 |
var id = $(this).attr("id").replace("resume", ""); |
320 |
var hold_id = $(this).data('hold-id'); |
| 303 |
var hold = holds[id]; |
321 |
resume_hold( |
| 304 |
$.post('/cgi-bin/koha/svc/hold/resume', { "reserve_id": hold.reserve_id }, function( data ){ |
322 |
hold_id |
| 305 |
if ( data.success ) { |
323 |
).success(function () { |
| 306 |
holdsTable.api().ajax.reload(); |
324 |
holdsTable.api().ajax.reload(); |
| 307 |
} else { |
325 |
}).error(function (jqXHR, textStatus, errorThrown) { |
| 308 |
if ( data.error == "HOLD_NOT_FOUND" ) { |
326 |
if (jqXHR.status === 404) { |
| 309 |
alert( __("Unable to resume, hold not found") ); |
327 |
alert(__("Unable to resume, hold not found")); |
| 310 |
holdsTable.api().ajax.reload(); |
328 |
holdsTable.api().ajax.reload(); |
| 311 |
} |
329 |
} |
| 312 |
} |
|
|
| 313 |
}); |
330 |
}); |
| 314 |
}); |
331 |
}); |
| 315 |
|
332 |
|
|
Lines 384-402
$(document).ready(function() {
Link Here
|
| 384 |
|
401 |
|
| 385 |
$("#suspend-modal-submit").on( "click", function( e ) { |
402 |
$("#suspend-modal-submit").on( "click", function( e ) { |
| 386 |
e.preventDefault(); |
403 |
e.preventDefault(); |
| 387 |
$.post('/cgi-bin/koha/svc/hold/suspend', $('#suspend-modal-form').serialize(), function( data ){ |
404 |
var suspend_until_date = $("#suspend-modal-until").datepicker("getDate"); |
| 388 |
$('#suspend-modal').modal('hide'); |
405 |
if ( suspend_until_date !== null ) suspend_until_date = $date(suspend_until_date, {dateformat:"rfc3339"}); |
| 389 |
if ( data.success ) { |
406 |
suspend_hold( |
| 390 |
holdsTable.api().ajax.reload(); |
407 |
$(this).data('hold-id'), |
| 391 |
} else { |
408 |
suspend_until_date |
| 392 |
if ( data.error == "INVALID_DATE" ) { |
409 |
).success(function () { |
| 393 |
alert( __("Unable to suspend hold, invalid date") ); |
410 |
holdsTable.api().ajax.reload(); |
| 394 |
} |
411 |
}).error(function (jqXHR, textStatus, errorThrown) { |
| 395 |
else if ( data.error == "HOLD_NOT_FOUND" ) { |
412 |
if (jqXHR.status === 404) { |
| 396 |
alert( __("Unable to suspend hold, hold not found") ); |
413 |
alert(__("Unable to resume, hold not found")); |
| 397 |
holdsTable.api().ajax.reload(); |
414 |
holdsTable.api().ajax.reload(); |
| 398 |
} |
415 |
} |
| 399 |
} |
416 |
}).done(function() { |
|
|
417 |
$("#suspend-modal-until").val(""); // clean the input |
| 418 |
$('#suspend-modal').modal('hide'); |
| 400 |
}); |
419 |
}); |
| 401 |
}); |
420 |
}); |
| 402 |
}); |
421 |
}); |
| 403 |
- |
|
|