|
Lines 537-627
Link Here
|
| 537 |
</div> |
537 |
</div> |
| 538 |
[% END%] |
538 |
[% END%] |
| 539 |
|
539 |
|
| 540 |
<div id="exemptfines" class="dialog message" style="display:none;"> |
540 |
|
| 541 |
<p>Fines for returned items are forgiven.</p> |
|
|
| 542 |
</div> |
| 543 |
<div id="forgivemanualholdsexpire-alert" class="dialog message" style="display:none;"> |
| 544 |
<p>Fines are not charged for manually cancelled holds.</p> |
| 545 |
</div> |
| 546 |
<div id="dropboxmode" class="dialog message" style="display:none;"> |
| 547 |
<p>Book drop mode. (Effective checkin date is [% dropboxdate %] ).</p> |
| 548 |
</div> |
| 549 |
</div> |
541 |
</div> |
| 550 |
<div class="yui-g"> |
542 |
|
| 551 |
<form id="checkin-form" method="post" action="/cgi-bin/koha/circ/returns.pl" autocomplete="off" > |
543 |
<form id="checkin-form" method="post" action="/cgi-bin/koha/circ/returns.pl" autocomplete="off"> |
| 552 |
<div class="yui-u first"> |
544 |
<fieldset id="circ_returns_checkin"> |
| 553 |
<fieldset> |
545 |
<h3>Check in</h3> |
| 554 |
<legend>Check in</legend> |
546 |
<div class="row"> |
| 555 |
<label for="barcode">Enter item barcode: </label> |
547 |
<div class="col-sm-6"> |
| 556 |
[% IF ( exemptfine ) %] |
548 |
<div class="hint">Enter item barcode:</div> |
| 557 |
<input name="barcode" id="barcode" size="14" class="focus alert"/> |
549 |
<div class="form-control-group"> |
| 558 |
[% ELSIF ( dropboxmode ) %] |
550 |
[% IF ( exemptfine ) %] |
| 559 |
<input name="barcode" id="barcode" size="14" class="focus alert"/> |
551 |
<input name="barcode" id="barcode" size="14" class="barcode focus input-warning" /> |
| 560 |
[% ELSE %] |
552 |
[% ELSIF ( dropboxmode ) %] |
| 561 |
<input name="barcode" id="barcode" size="14" class="focus"/> |
553 |
<input name="barcode" id="barcode" size="14" class="barcode focus input-warning" /> |
| 562 |
[% END %] |
554 |
[% ELSE %] |
| 563 |
<input type="submit" class="submit" value="Submit" /> |
555 |
<input name="barcode" id="barcode" size="14" class="barcode focus" /> |
|
|
556 |
[% END %] |
| 557 |
<button type="submit" class="btn btn-default">Check in</button> |
| 558 |
[% FOREACH inputloo IN inputloop %] |
| 559 |
<input type="hidden" name="ri-[% inputloo.counter %]" value="[% inputloo.barcode %]" /> |
| 560 |
<input type="hidden" name="dd-[% inputloo.counter %]" value="[% inputloo.duedate %]" /> |
| 561 |
<input type="hidden" name="bn-[% inputloo.counter %]" value="[% inputloo.borrowernumber %]" /> |
| 562 |
[% END %] |
| 563 |
</div> |
| 564 |
<div id="show-circ-settings"> |
| 565 |
<a href="#"><i class="fa circ-settings-icon fa-caret-down"></i> Checkin settings</a> |
| 566 |
</div> |
| 567 |
</div> |
| 568 |
<div class="col-sm-6"> |
| 569 |
<div id="exemptfines" class="checkin-active-setting" style="display:none;"> |
| 570 |
<p><i class="fa fa-check"></i> Fines for returned items are forgiven.</p> |
| 571 |
</div> |
| 572 |
<div id="forgivemanualholdsexpire-alert" class="checkin-active-setting" style="display:none;"> |
| 573 |
<p><i class="fa fa-check"></i> Fines are not charged for manually cancelled holds.</p> |
| 574 |
</div> |
| 575 |
<div id="dropboxmode" class="checkin-active-setting" style="display:none;"> |
| 576 |
<p><i class="fa fa-check"></i> Book drop mode. (Effective checkin date is [% dropboxdate %] ).</p> |
| 577 |
</div> |
| 578 |
</div> |
| 579 |
</div> |
| 580 |
|
| 581 |
<div class="circ-settings"> |
| 564 |
|
582 |
|
| 565 |
[% IF Koha.Preference('SpecifyReturnDate') %] |
583 |
[% IF Koha.Preference('SpecifyReturnDate') %] |
| 566 |
<div class="date-select" id="return_date_override_fields"> |
584 |
<div class="date-select" id="return_date_override_fields"> |
| 567 |
<div class="hint">Specify return date [% INCLUDE 'date-format.inc' %]: </div> |
585 |
<div class="hint">Specify return date [% INCLUDE 'date-format.inc' %]: </div> |
| 568 |
|
|
|
| 569 |
<input type="text" size="13" id="return_date_override" name="return_date_override" value="[% return_date_override %]" /> |
586 |
<input type="text" size="13" id="return_date_override" name="return_date_override" value="[% return_date_override %]" /> |
| 570 |
|
|
|
| 571 |
<label for="return_date_override_remember"> Remember for next check in:</label> |
587 |
<label for="return_date_override_remember"> Remember for next check in:</label> |
| 572 |
[% IF ( return_date_override_remember ) %] |
588 |
[% IF ( return_date_override_remember ) %] |
| 573 |
<input type="checkbox" id="return_date_override_remember" onclick="this.form.barcode.focus();" name="return_date_override_remember" checked="checked" /> |
589 |
<input type="checkbox" id="return_date_override_remember" onclick="this.form.barcode.focus();" name="return_date_override_remember" checked="checked" /> |
| 574 |
[% ELSE %] |
590 |
[% ELSE %] |
| 575 |
<input type="checkbox" id="return_date_override_remember" onclick="this.form.barcode.focus();" name="return_date_override_remember" /> |
591 |
<input type="checkbox" id="return_date_override_remember" onclick="this.form.barcode.focus();" name="return_date_override_remember" /> |
| 576 |
[% END %] |
592 |
[% END %] |
| 577 |
|
593 |
<button type="button" class="action btn btn-default btn-xs" id="cleardate" name="cleardate" onclick="this.checked = false; this.form.return_date_override.value = ''; this.form.return_date_override_remember.checked = false; this.form.barcode.focus(); return false;">Clear</button> |
| 578 |
<input type="button" class="action" id="cleardate" value="Clear" name="cleardate" onclick="this.checked = false; this.form.return_date_override.value = ''; this.form.return_date_override_remember.checked = false; this.form.barcode.focus(); return false;" /> |
594 |
</div> |
| 579 |
</div> |
|
|
| 580 |
[% END %] |
| 581 |
[% FOREACH inputloo IN inputloop %] |
| 582 |
<input type="hidden" name="ri-[% inputloo.counter %]" value="[% inputloo.barcode %]" /> |
| 583 |
<input type="hidden" name="dd-[% inputloo.counter %]" value="[% inputloo.duedate %]" /> |
| 584 |
<input type="hidden" name="bn-[% inputloo.counter %]" value="[% inputloo.borrowernumber %]" /> |
| 585 |
[% END %] |
595 |
[% END %] |
| 586 |
|
596 |
|
| 587 |
|
597 |
[% IF ( CAN_user_updatecharges_writeoff && overduecharges ) %] |
| 588 |
</fieldset> |
598 |
<div id="forgive-overdue-fines" class="circ-setting"> |
| 589 |
</div> |
599 |
[% IF ( exemptfine ) %] |
| 590 |
<div class="yui-u"> |
|
|
| 591 |
<fieldset id="checkin_options"> |
| 592 |
<legend>Options</legend> |
| 593 |
[% IF ( CAN_user_updatecharges_writeoff && overduecharges ) %] |
| 594 |
<p> |
| 595 |
[% IF ( exemptfine ) %] |
| 596 |
<input type="checkbox" id="exemptcheck" name="exemptfine" value="exemptfine" checked="checked" /> |
600 |
<input type="checkbox" id="exemptcheck" name="exemptfine" value="exemptfine" checked="checked" /> |
| 597 |
[% ELSE %] |
601 |
[% ELSE %] |
| 598 |
<input type="checkbox" id="exemptcheck" name="exemptfine" value="exemptfine" /> |
602 |
<input type="checkbox" id="exemptcheck" name="exemptfine" value="exemptfine" /> |
| 599 |
[% END %] |
603 |
[% END %] |
| 600 |
<label for="exemptcheck">Forgive overdue charges</label> |
604 |
<label for="exemptcheck">Forgive overdue charges</label> |
| 601 |
</p> |
605 |
</div> |
| 602 |
[% END %] <!-- overduecharges --> |
606 |
[% END %] |
| 603 |
<p> |
607 |
<!-- overduecharges --> |
| 604 |
[% IF ( dropboxmode ) %] |
608 |
<div id="book-drop-mode" class="circ-setting"> |
| 605 |
<input type="checkbox" id="dropboxcheck" name="dropboxmode" value="dropboxmode" checked="checked" /> |
609 |
[% IF ( dropboxmode ) %] |
| 606 |
[% ELSE %] |
610 |
<input type="checkbox" id="dropboxcheck" name="dropboxmode" value="dropboxmode" checked="checked" /> |
| 607 |
<input type="checkbox" id="dropboxcheck" name="dropboxmode" value="dropboxmode" /> |
611 |
[% ELSE %] |
| 608 |
[% END %] |
612 |
<input type="checkbox" id="dropboxcheck" name="dropboxmode" value="dropboxmode" /> |
| 609 |
<label for="dropboxcheck">Book drop mode</label> |
613 |
[% END %] |
| 610 |
</p> |
614 |
<label for="dropboxcheck">Book drop mode</label> |
| 611 |
[% IF Koha.Preference('ExpireReservesMaxPickUpDelayCharge') %] |
615 |
</div> |
| 612 |
<p> |
616 |
[% IF Koha.Preference('ExpireReservesMaxPickUpDelayCharge') %] |
| 613 |
[% IF ( forgivemanualholdsexpire ) %] |
617 |
<div id="forgive-manual-hold-fees" class="circ-setting"> |
|
|
618 |
[% IF ( forgivemanualholdsexpire ) %] |
| 614 |
<input type="checkbox" id="forgivemanualholdsexpire" name="forgivemanualholdsexpire" value="forgivemanualholdsexpire" checked="checked" /> |
619 |
<input type="checkbox" id="forgivemanualholdsexpire" name="forgivemanualholdsexpire" value="forgivemanualholdsexpire" checked="checked" /> |
| 615 |
[% ELSE %] |
620 |
[% ELSE %] |
| 616 |
<input type="checkbox" id="forgivemanualholdsexpire" name="forgivemanualholdsexpire" value="forgivemanualholdsexpire" /> |
621 |
<input type="checkbox" id="forgivemanualholdsexpire" name="forgivemanualholdsexpire" value="forgivemanualholdsexpire" /> |
| 617 |
[% END %] |
622 |
[% END %] |
| 618 |
<label for="forgivemanualholdsexpire">Forgive fees for manually expired holds</label> |
623 |
<label for="forgivemanualholdsexpire">Forgive fees for manually expired holds</label> |
| 619 |
</p> |
624 |
</div> |
| 620 |
[% END %] <!-- overduecharges --> |
625 |
[% END %] |
| 621 |
</fieldset> |
626 |
<!-- overduecharges --> |
| 622 |
</div> |
627 |
</div> [%# /.circ-settings %] |
| 623 |
</form> |
628 |
</fieldset> [%# /#circ_returns_checkin %] |
| 624 |
</div> |
629 |
</form> [%# /#checkin-form %] |
| 625 |
|
630 |
|
| 626 |
[% IF ( riloop ) %] |
631 |
[% IF ( riloop ) %] |
| 627 |
<h2>Checked-in items</h2> |
632 |
<h2>Checked-in items</h2> |
|
Lines 692-704
Link Here
|
| 692 |
[% INCLUDE 'columns_settings.inc' %] |
697 |
[% INCLUDE 'columns_settings.inc' %] |
| 693 |
[% INCLUDE 'calendar.inc' %] |
698 |
[% INCLUDE 'calendar.inc' %] |
| 694 |
[% Asset.js("lib/jquery/plugins/jquery-ui-timepicker-addon.min.js") %] |
699 |
[% Asset.js("lib/jquery/plugins/jquery-ui-timepicker-addon.min.js") %] |
|
|
700 |
[% Asset.js("js/pages/circulation.js") %] |
| 695 |
[% INCLUDE 'timepicker.inc' %] |
701 |
[% INCLUDE 'timepicker.inc' %] |
| 696 |
|
702 |
|
| 697 |
<script type="text/javascript"> |
703 |
<script> |
| 698 |
function Dopop(link) { |
704 |
function Dopop(link) { |
| 699 |
var newin = window.open(link, 'popup', 'width=600,height=400,resizable=1,toolbar=0,scrollbars=1,top'); |
705 |
var newin = window.open(link, 'popup', 'width=600,height=400,resizable=1,toolbar=0,scrollbars=1,top'); |
| 700 |
$("#barcode").focus(); |
706 |
$("#barcode").focus(); |
| 701 |
} |
707 |
} |
|
|
708 |
|
| 709 |
function check_valid_return_date() { |
| 710 |
if ( $("#return_date_override").val() ) { |
| 711 |
var datetime = DateTime_from_syspref( $("#return_date_override").val() ); |
| 712 |
var now = new Date(); |
| 713 |
if ( !datetime || datetime > now ) { |
| 714 |
alert("Invalid return date/time!"); |
| 715 |
$("#return_date_override").val("") |
| 716 |
return false; |
| 717 |
} |
| 718 |
} |
| 719 |
return true; |
| 720 |
} |
| 721 |
|
| 702 |
$(document).ready(function () { |
722 |
$(document).ready(function () { |
| 703 |
$(".modal").modal({ backdrop: 'static' }).on('shown', function() { |
723 |
$(".modal").modal({ backdrop: 'static' }).on('shown', function() { |
| 704 |
$("#barcode").prop("disabled", true); |
724 |
$("#barcode").prop("disabled", true); |
|
Lines 743-780
Link Here
|
| 743 |
} |
763 |
} |
| 744 |
}); |
764 |
}); |
| 745 |
|
765 |
|
| 746 |
function check_valid_return_date() { |
|
|
| 747 |
if ( $("#return_date_override").val() ) { |
| 748 |
var datetime = DateTime_from_syspref( $("#return_date_override").val() ); |
| 749 |
var now = new Date(); |
| 750 |
if ( !datetime || datetime > now ) { |
| 751 |
alert("Invalid return date/time!"); |
| 752 |
$("#return_date_override").val("") |
| 753 |
return false; |
| 754 |
} |
| 755 |
} |
| 756 |
return true; |
| 757 |
} |
| 758 |
|
| 759 |
$("#exemptcheck").change(function () { |
766 |
$("#exemptcheck").change(function () { |
| 760 |
if (this.checked == true) { |
767 |
if (this.checked == true) { |
| 761 |
$("#barcode").addClass("alert"); |
768 |
$("#barcode").addClass("input-warning"); |
| 762 |
$("#exemptfines").show(); |
769 |
$("#exemptfines").show(); |
| 763 |
} else { |
770 |
} else { |
| 764 |
$("#barcode").removeClass("alert"); |
771 |
$("#barcode").removeClass("input-warning"); |
| 765 |
$("#exemptfines").hide(); |
772 |
$("#exemptfines").hide(); |
| 766 |
} |
773 |
} |
| 767 |
$("#barcode").focus(); |
774 |
$("#barcode").focus(); |
| 768 |
}); |
775 |
}); |
| 769 |
$("#dropboxcheck").change(function () { |
776 |
$("#dropboxcheck").change(function () { |
| 770 |
if (this.checked == true) { |
777 |
if (this.checked == true) { |
| 771 |
$("#barcode").addClass("alert"); |
778 |
$("#barcode").addClass("input-warning"); |
| 772 |
$("#dropboxmode").show(); |
779 |
$("#dropboxmode").show(); |
| 773 |
|
780 |
|
| 774 |
$("#return_date_override_fields :input").prop('disabled', true); |
781 |
$("#return_date_override_fields :input").prop('disabled', true); |
| 775 |
$("#return_date_override").datetimepicker("disable"); |
782 |
$("#return_date_override").datetimepicker("disable"); |
| 776 |
} else { |
783 |
} else { |
| 777 |
$("#barcode").removeClass("alert"); |
784 |
$("#barcode").removeClass("input-warning"); |
| 778 |
$("#dropboxmode").hide(); |
785 |
$("#dropboxmode").hide(); |
| 779 |
|
786 |
|
| 780 |
$("#return_date_override_fields :input").prop('disabled', false); |
787 |
$("#return_date_override_fields :input").prop('disabled', false); |
|
Lines 784-793
Link Here
|
| 784 |
}); |
791 |
}); |
| 785 |
$("#forgivemanualholdsexpire").change(function () { |
792 |
$("#forgivemanualholdsexpire").change(function () { |
| 786 |
if (this.checked == true) { |
793 |
if (this.checked == true) { |
| 787 |
$("#barcode").addClass("alert"); |
794 |
$("#barcode").addClass("input-warning"); |
| 788 |
$("#forgivemanualholdsexpire-alert").show(); |
795 |
$("#forgivemanualholdsexpire-alert").show(); |
| 789 |
} else { |
796 |
} else { |
| 790 |
$("#barcode").removeClass("alert"); |
797 |
$("#barcode").removeClass("input-warning"); |
| 791 |
$("#forgivemanualholdsexpire-alert").hide(); |
798 |
$("#forgivemanualholdsexpire-alert").hide(); |
| 792 |
} |
799 |
} |
| 793 |
$("#barcode").focus(); |
800 |
$("#barcode").focus(); |
|
Lines 796-808
Link Here
|
| 796 |
[% IF(overduecharges) %] |
803 |
[% IF(overduecharges) %] |
| 797 |
$("#barcode").focus(function () { |
804 |
$("#barcode").focus(function () { |
| 798 |
if (($("#exemptcheck").prop("checked") == true) || ($("#dropboxcheck").prop("checked") == true)) { |
805 |
if (($("#exemptcheck").prop("checked") == true) || ($("#dropboxcheck").prop("checked") == true)) { |
| 799 |
$("#barcode").addClass("alert"); |
806 |
$("#barcode").addClass("input-warning"); |
| 800 |
} else { |
807 |
} else { |
| 801 |
$("#barcode").removeClass("alert"); |
808 |
$("#barcode").removeClass("input-warning"); |
| 802 |
} |
809 |
} |
| 803 |
}); |
810 |
}); |
| 804 |
$("#barcode").blur(function () { |
811 |
$("#barcode").blur(function () { |
| 805 |
$("#barcode").removeClass("alert"); |
812 |
$("#barcode").removeClass("input-warning"); |
| 806 |
}); |
813 |
}); |
| 807 |
[% END %] |
814 |
[% END %] |
| 808 |
|
815 |
|