|
Lines 199-205
Link Here
|
| 199 |
<button id="pay-fine" class="submit">Pay fine</button> |
199 |
<button id="pay-fine" class="submit">Pay fine</button> |
| 200 |
|
200 |
|
| 201 |
<table id="session-payments" style="display: none;"> |
201 |
<table id="session-payments" style="display: none;"> |
| 202 |
<thead><tr><th>Amount</th><th>Timestamp</th></tr></thead> |
202 |
<thead><tr><th>Amount</th><th>Date</th></tr></thead> |
| 203 |
<tbody></tbody> |
203 |
<tbody></tbody> |
| 204 |
</table> |
204 |
</table> |
| 205 |
</fieldset> |
205 |
</fieldset> |
|
Lines 260-265
Link Here
|
| 260 |
var start; |
260 |
var start; |
| 261 |
|
261 |
|
| 262 |
var dateformat = '[% IF ( dateformat_us ) %]mm/dd/yy[% ELSIF ( dateformat_metric ) %]dd/mm/yy[% ELSE %]yy-mm-dd[% END %]'; |
262 |
var dateformat = '[% IF ( dateformat_us ) %]mm/dd/yy[% ELSIF ( dateformat_metric ) %]dd/mm/yy[% ELSE %]yy-mm-dd[% END %]'; |
|
|
263 |
var flatpickr_dateformat_string = [% IF ( dateformat == "us" ) %]"m/d/Y"[% ELSIF ( dateformat == "metric" ) %]"d/m/Y"[% ELSIF ( dateformat == "dmydot" ) %]"d.m.Y"[% ELSE %]"Y-m-d"[% END %]; |
| 264 |
var flatpickr_timeformat_string = [% IF Koha.Preference('TimeFormat') == '12hr' %]"G:i K"[% ELSE %]"H:i"[% END %]; |
| 265 |
var flatpickr_timestamp_string = "Y-m-d H:i"; |
| 266 |
var flatpickr_datetime_string = flatpickr_dateformat_string + " " + flatpickr_timeformat_string; |
| 263 |
|
267 |
|
| 264 |
function checkin(barcode, item, error) { |
268 |
function checkin(barcode, item, error) { |
| 265 |
var alerts = checkAlerts(barcode, item); |
269 |
var alerts = checkAlerts(barcode, item); |
|
Lines 360-369
Link Here
|
| 360 |
|
364 |
|
| 361 |
} |
365 |
} |
| 362 |
|
366 |
|
|
|
367 |
function fPformatTimeStamp( timestamp ){ |
| 368 |
var datetimeObj = flatpickr.parseDate( timestamp, flatpickr_timestamp_string ); |
| 369 |
return flatpickr.formatDate( datetimeObj, flatpickr_datetime_string ); |
| 370 |
} |
| 371 |
|
| 363 |
function showTimestamp(key, value) { |
372 |
function showTimestamp(key, value) { |
| 364 |
if (typeof value !== 'undefined') { |
373 |
if (typeof value !== 'undefined') { |
| 365 |
var ts = new Date(value); |
374 |
var ts = new Date(value); |
| 366 |
$('#' + key).text($.datepicker.formatDate(dateformat, ts) + ' ' + ts.toTimeString()); |
375 |
$('#' + key).text( fPformatTimeStamp( ts ) + ' ' + ts.toTimeString()); |
| 367 |
} else { |
376 |
} else { |
| 368 |
$('#' + key).text(_("(never)")); |
377 |
$('#' + key).text(_("(never)")); |
| 369 |
} |
378 |
} |
|
Lines 473-479
Link Here
|
| 473 |
$('#oldissuest tbody').empty(); |
482 |
$('#oldissuest tbody').empty(); |
| 474 |
issuesidx.each(function (item) { |
483 |
issuesidx.each(function (item) { |
| 475 |
$('#oldissues').show(); |
484 |
$('#oldissues').show(); |
| 476 |
$('#oldissuest tbody').append("<tr><td>" + item.value.date_due + "</td><td>" + item.value.title + "</td><td>" + item.value.barcode + "</td><td>" + item.value.itype + "</td><td>" + item.value.issuedate + "</td><td>" + item.value.issuebranch + "</td><td>" + item.value.callnumber + "</td><td>" + "" + "</td></tr>"); |
485 |
$('#oldissuest tbody').append("<tr><td>" + fPformatTimeStamp( item.value.date_due ) + "</td><td>" + item.value.title + "</td><td>" + item.value.barcode + "</td><td>" + item.value.itype + "</td><td>" + fPformatTimeStamp( item.value.issuedate ) + "</td><td>" + item.value.issuebranch + "</td><td>" + item.value.callnumber + "</td><td>" + "" + "</td></tr>"); |
| 477 |
$('.checkout-count').text(parseInt($('.checkout-count').text()) + 1); |
486 |
$('.checkout-count').text(parseInt($('.checkout-count').text()) + 1); |
| 478 |
}, barcode); |
487 |
}, barcode); |
| 479 |
}); |
488 |
}); |
|
Lines 495-501
Link Here
|
| 495 |
setTimeout(function() { $('#duedatespec').trigger('focus'), 1 }); |
504 |
setTimeout(function() { $('#duedatespec').trigger('focus'), 1 }); |
| 496 |
return; |
505 |
return; |
| 497 |
} |
506 |
} |
| 498 |
var date_due = new Date($('#duedatespec').datepicker('getDate')); |
507 |
var date_due = flatpickr.parseDate( $('#duedatespec').val(), flatpickr_datetime_string ); |
| 499 |
var trans = { "timestamp" : new Date().toMySQLString(), |
508 |
var trans = { "timestamp" : new Date().toMySQLString(), |
| 500 |
"barcode" : barcode, |
509 |
"barcode" : barcode, |
| 501 |
"cardnumber" : curpatron.cardnumber, |
510 |
"cardnumber" : curpatron.cardnumber, |
|
Lines 505-511
Link Here
|
| 505 |
$('#alerts').empty(); |
514 |
$('#alerts').empty(); |
| 506 |
kohadb.recordTransaction(trans, function () { |
515 |
kohadb.recordTransaction(trans, function () { |
| 507 |
$('#session-issues').show(); |
516 |
$('#session-issues').show(); |
| 508 |
$('#issuest tbody').prepend('<tr><td>' + $.datepicker.formatDate(dateformat, date_due) + date_due.toTimeString() + '</td><td>' + item.title + '</td><td>' + barcode + '</td><td>' + item.itemtype + '</td><td>' + $.datepicker.formatDate(dateformat, new Date()) + '</td><td>' + kohadb.settings.branchcode + '</td><td>' + item.callnumber + '</td><td></td></tr>'); |
517 |
$('#issuest tbody').prepend('<tr><td>' + flatpickr.formatDate( date_due, flatpickr_datetime_string ) + '</td><td>' + item.title + '</td><td>' + barcode + '</td><td>' + item.itemtype + '</td><td>' + flatpickr.formatDate( new Date(), flatpickr_datetime_string ) + '</td><td>' + kohadb.settings.branchcode + '</td><td>' + item.callnumber + '</td><td></td></tr>'); |
| 509 |
$('.checkout-count').text(parseInt($('.checkout-count').text()) + 1); |
518 |
$('.checkout-count').text(parseInt($('.checkout-count').text()) + 1); |
| 510 |
if (alerts.length > 0) { |
519 |
if (alerts.length > 0) { |
| 511 |
$('#alerts').append('<div class="dialog alert"><h3>' + _("Check out message") + '</h3></div>'); |
520 |
$('#alerts').append('<div class="dialog alert"><h3>' + _("Check out message") + '</h3></div>'); |
|
Lines 526-532
Link Here
|
| 526 |
}; |
535 |
}; |
| 527 |
kohadb.recordTransaction(trans, function () { |
536 |
kohadb.recordTransaction(trans, function () { |
| 528 |
$('#session-payments').show(); |
537 |
$('#session-payments').show(); |
| 529 |
$('#session-payments tbody').prepend('<tr><td>' + amount + '</td><td>' + $.datepicker.formatDate(dateformat, timestamp) + timestamp.toTimeString() + '</td></tr>'); |
538 |
$('#session-payments tbody').prepend('<tr><td>' + amount + '</td><td>' + fPformatTimeStamp( timestamp ) + '</td></tr>'); |
| 530 |
$('.fine-amount').text(parseInt($('.fine-amount').text()) - amount); |
539 |
$('.fine-amount').text(parseInt($('.fine-amount').text()) - amount); |
| 531 |
}); |
540 |
}); |
| 532 |
} |
541 |
} |
|
Lines 544-556
Link Here
|
| 544 |
} |
553 |
} |
| 545 |
if (patron.debarred !== null) { |
554 |
if (patron.debarred !== null) { |
| 546 |
if (patron.debarred != '9999-12-31') { |
555 |
if (patron.debarred != '9999-12-31') { |
| 547 |
alerts.push(ALERT_PATRON_BLOCKED_TEMPORARY.format($.datepicker.formatDate(dateformat, new Date(patron.debarred)))); |
556 |
alerts.push( ALERT_PATRON_BLOCKED_TEMPORARY.format( flatpickr.formatDate( new Date(patron.debarred), flatpickr_datetime_string ) ) ); |
| 548 |
} else { |
557 |
} else { |
| 549 |
alerts.push(ALERT_PATRON_RESTRICTED); |
558 |
alerts.push(ALERT_PATRON_RESTRICTED); |
| 550 |
} |
559 |
} |
| 551 |
} |
560 |
} |
| 552 |
if (new Date(patron.dateexpiry) < new Date()) { |
561 |
if (new Date(patron.dateexpiry) < new Date()) { |
| 553 |
alerts.push(ALERT_PATRON_EXPIRED.format($.datepicker.formatDate(dateformat, new Date(patron.dateexpiry)))); |
562 |
alerts.push( ALERT_PATRON_EXPIRED.format( flatpickr.formatDate( new Date(patron.dateexpiry), flatpickr_datetime_string ) ) ); |
| 554 |
} |
563 |
} |
| 555 |
if (parseInt(patron.fine) > [% maxoutstanding | html %]) { |
564 |
if (parseInt(patron.fine) > [% maxoutstanding | html %]) { |
| 556 |
alerts.push(ALERT_PATRON_FINE_OVER_LIMIT.format(patron.fine)); |
565 |
alerts.push(ALERT_PATRON_FINE_OVER_LIMIT.format(patron.fine)); |
|
Lines 766-787
Link Here
|
| 766 |
|
775 |
|
| 767 |
$('#patronlists').tabs(); |
776 |
$('#patronlists').tabs(); |
| 768 |
|
777 |
|
| 769 |
$("#newduedate").datetimepicker({ |
778 |
$("#duedatespec").flatpickr({ |
| 770 |
minDate: 1, // require that renewal date is after today |
779 |
enableTime: true, |
| 771 |
hour: 23, |
780 |
dateFormat: flatpickr_datetime_string, |
| 772 |
minute: 59 |
781 |
onClose: function() { |
| 773 |
}); |
782 |
$("#checkout-barcode").focus(); |
| 774 |
$("#duedatespec").datetimepicker({ |
783 |
} |
| 775 |
onClose: function(dateText, inst) { |
|
|
| 776 |
if (validate_date(dateText, inst) ) { |
| 777 |
setTimeout(function() { $('#checkout-barcode').trigger('focus'), 1 }); |
| 778 |
} |
| 779 |
}, |
| 780 |
hour: 23, |
| 781 |
minute: 59 |
| 782 |
}).on("change", function(e, value) { |
| 783 |
if ( ! is_valid_date( $(this).val() ) ) {$(this).val("");} |
| 784 |
}); |
784 |
}); |
|
|
785 |
|
| 785 |
$('#mainform').submit(function (event) { |
786 |
$('#mainform').submit(function (event) { |
| 786 |
event.preventDefault(); |
787 |
event.preventDefault(); |
| 787 |
var barcode = $('#checkout-barcode').val(); |
788 |
var barcode = $('#checkout-barcode').val(); |
| 788 |
- |
|
|