f91ed3d8bf
In order to remove accessibility issues due to the readonly attributes on date inputs, this patch will remove them and introduce a javascript validation on them. This patch is not perfect for some reason: I didn't manage to force the user to select a valid date. One solution would be to reopen the datepicker plugin until a valid date is inserted. But it could be annoying for users (and for me: I did not manage to implement this solution). You will note that input is emptied if the date is not valid. This is a quick and efficient solution to prevent submitting invalid date and make Koha explodes. A proper solution would be to implement the check server side send a friendly message to the user. Test plan: For all inputs, try an invalid and a valid date. 1/ Debar a patron 2/ On the checkout tables (circulation and moremember), add a renewal due date (at the bottom of the tables) 3/ On the checkout page, specify a due date 4/ On the return page, specify a return date 5/ On the invoice page (acquisition module), enter a shipment and billing date 6/ On the invoice search page (invoices.pl) use filters shipment and billing dates 7/ On the offline circ page, specify a due date 8/ On the edit patron page (memberentry), add a debarment 9/ On the reserve page (reserve/request.pl), use the date inputs to suspend until a defined date 10/ Edit patrons in a batch (tools/modborrowers.pl) and use the registration and expiry date inputs Signed-off-by: Owen Leonard <oleonard@myacpl.org> Signed-off-by: Nick Clemens <nick@bywatersolutions.com> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
95 lines
4.2 KiB
HTML
95 lines
4.2 KiB
HTML
<script type="text/javascript">
|
|
//<![CDATA[
|
|
$(document).ready(function(e){
|
|
$("div#reldebarments .remove_restriction").on("click",function(){
|
|
return confirm(_("Remove restriction?"));
|
|
});
|
|
var mrform = $("#manual_restriction_form");
|
|
var mrlink = $("#add_manual_restriction");
|
|
mrform.hide();
|
|
mrlink.on("click",function(e){
|
|
$(this).hide();
|
|
mrform.show();
|
|
e.preventDefault();
|
|
});
|
|
$("#cancel_manual_restriction").on("click",function(e){
|
|
mrlink.show();
|
|
mrform.hide();
|
|
e.preventDefault();
|
|
});
|
|
$(".clear-date").on("click",function(e){
|
|
e.preventDefault();
|
|
var fieldID = this.id.replace("clear-date-","");
|
|
$("#" + fieldID).val("");
|
|
});
|
|
})
|
|
//]]>
|
|
</script>
|
|
|
|
<div id="reldebarments">
|
|
[% IF ( not debarments.defined || debarments.size < 1 ) %]
|
|
<p>Patron is currently unrestricted.</p>
|
|
[% ELSE %]
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Type</th>
|
|
<th>Comment</th>
|
|
<th>Expiration</th>
|
|
[% IF CAN_user_borrowers && CAN_user_circulate_manage_restrictions %]
|
|
<th> </th>
|
|
[% END %]
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
[% FOREACH d IN debarments %]
|
|
<tr>
|
|
<td>
|
|
[% SWITCH d.type %]
|
|
[% CASE 'MANUAL' %]
|
|
Manual
|
|
[% CASE 'OVERDUES' %]
|
|
Overdues
|
|
[% CASE 'SUSPENSION' %]
|
|
Suspension
|
|
[% CASE 'DISCHARGE' %]
|
|
Discharge
|
|
[% END %]
|
|
</td>
|
|
<td>
|
|
[% IF d.comment.search('OVERDUES_PROCESS') %]
|
|
Restriction added by overdues process [% d.comment.remove('OVERDUES_PROCESS ') %]
|
|
[% ELSE %]
|
|
[% d.comment %]
|
|
[% END %]
|
|
</td>
|
|
<td>[% IF d.expiration %] [% d.expiration | $KohaDates %] [% ELSE %] <i>Indefinite</i> [% END %]</td>
|
|
[% IF CAN_user_borrowers && CAN_user_circulate_manage_restrictions %]
|
|
<td>
|
|
<a class="remove_restriction btn btn-mini" href="/cgi-bin/koha/members/mod_debarment.pl?borrowernumber=[% borrowernumber %]&borrower_debarment_id=[% d.borrower_debarment_id %]&action=del">
|
|
<i class="fa fa-trash"></i> Remove
|
|
</a>
|
|
</td>
|
|
[% END %]
|
|
</tr>
|
|
[% END %]
|
|
</tbody>
|
|
</table>
|
|
[% END %]
|
|
[% IF CAN_user_borrowers && CAN_user_circulate_manage_restrictions %]
|
|
<p><a href="#" id="add_manual_restriction"><i class="fa fa-plus"></i> Add manual restriction</a></p>
|
|
<form method="post" action="/cgi-bin/koha/members/mod_debarment.pl" class="clearfix">
|
|
<input type="hidden" name="borrowernumber" value="[% borrowernumber %]" />
|
|
<input type="hidden" name="action" value="add" />
|
|
<fieldset class="rows" id="manual_restriction_form">
|
|
<legend>Add manual restriction</legend>
|
|
<ol>
|
|
<li><label for="rcomment">Comment:</label> <input type="text" id="rcomment" name="comment" /></li>
|
|
<li><label for="rexpiration">Expiration:</label> <input name="expiration" id="rexpiration" size="10" value="" class="datepicker" />
|
|
<a href="#" class="clear-date" id="clear-date-rexpiration">Clear date</a></li>
|
|
</ol>
|
|
<fieldset class="action"><input type="submit" value="Add restriction" /> <a href="#" class="cancel" id="cancel_manual_restriction">Cancel</a></fieldset>
|
|
</fieldset>
|
|
</form>
|
|
[% END %]
|
|
</div>
|