<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" readonly="readonly" value="" class="datepicker" />
+ <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>
var dformat = "[% dateformat %]";
var sentmsg = 0;
if (debug > 1) {alert("dateformat: " + dformat + "\ndebug is on (level " + debug + ")");}
+var MSG_PLEASE_ENTER_A_VALID_DATE = ("Please enter a valid date.");
+
+function validate_date (dateText, inst) {
+ var dateformat = '[% Koha.Preference('dateformat') %]';
+ if ( dateformat == 'us' ) {
+ dateformat = 'mm/dd/yy';
+ } else if ( dateformat == 'metric' ) {
+ dateformat = 'dd/mm/yy';
+ } else if (dateformat == 'iso' ) {
+ dateformat = 'yy-mm-dd';
+ }
+ try {
+ $.datepicker.parseDate(dateformat, dateText);
+ } catch (e) {
+ alert(MSG_PLEASE_ENTER_A_VALID_DATE);
+ $('#'+inst.id).val('');
+ };
+}
function Date_from_syspref(dstring) {
var dateX = dstring.split(/[-/.]/);
selectOtherMonths: true
});
- $( ".datepicker" ).datepicker();
+ $( ".datepicker" ).datepicker({
+ onClose: function(dateText, inst) {
+ validate_date(dateText, inst);
+ },
+ });
// http://jqueryui.com/demos/datepicker/#date-range
var dates = $( ".datepickerfrom, .datepickerto" ).datepicker({
changeMonth: true,
$.datepicker._defaults.dateFormat,
selectedDate, instance.settings );
dates.not( this ).datepicker( "option", option, date );
- }
+ },
+ onClose: function(dateText, inst) {
+ validate_date(dateText, inst);
+ },
});
});
//]]>
<td id="totalfine" style="text-align: right;">[% finetotal %]</td>
<td id="totalprice" style="text-align: right;">[% totalprice %]</td>
<td colspan="3"><div class="date-select">
- <p><label for="newduedate">Renewal due date:</label> <input type="text" size="12" id="newduedate" name="newduedate" value="[% newduedate %]" readonly="readonly" />
+ <p><label for="newduedate">Renewal due date:</label> <input type="text" size="12" id="newduedate" name="newduedate" value="[% newduedate %]" />
</p>
<p><label for="exemptfine">Forgive fines on return: <input type="checkbox" id="exemptfine" name="exemptfine" value="1" /></label></p></div>
</td>
<fieldset class="rows">
<ol>
<li><label for="shipmentdate">Shipment date:</label>
- <input type="text" size="10" id="shipmentdate" name="shipmentdate" value="[% shipmentdate | $KohaDates %]" readonly="readonly" class="datepicker" /></li>
+ <input type="text" size="10" id="shipmentdate" name="shipmentdate" value="[% shipmentdate | $KohaDates %]" class="datepicker" /></li>
<li><label for="billingdate">Billing date:</label>
- <input type="text" size="10" id="billingdate" name="billingdate" value="[% billingdate | $KohaDates %]" readonly="readonly" class="datepicker" /></li>
+ <input type="text" size="10" id="billingdate" name="billingdate" value="[% billingdate | $KohaDates %]" class="datepicker" /></li>
<li><label for="shipmentcost">Shipping cost:</label>
<input type="text" size="10" id="shipmentcost" name="shipmentcost" value="[% shipmentcost %]" /></li>
</table></li>
<li><label for="merge_invoicenumber">Invoice number:</label><span id="merge_invoicenumber"></span></li>
<li><label for="merge_shipmentdate">Shipment date:</label>
- <input type="text" size="10" id="merge_shipmentdate" name="shipmentdate" value="" readonly="readonly" class="datepicker" /></li>
+ <input type="text" size="10" id="merge_shipmentdate" name="shipmentdate" value="" class="datepicker" /></li>
<li><label for="merge_billingdate">Billing date:</label>
- <input type="text" size="10" id="merge_billingdate" name="billingdate" value="" readonly="readonly" class="datepicker" /></li>
+ <input type="text" size="10" id="merge_billingdate" name="billingdate" value="" class="datepicker" /></li>
<li><label for="merge_shipmentcost">Shipment cost:</label>
<input type="text" size="10" id="merge_shipmentcost" name="shipmentcost" value="" /></li>
[% END %]
} else {
$("#duedatespec").datetimepicker({
- onClose: function(dateText, inst) { $("#barcode").focus(); },
+ onClose: function(dateText, inst) {
+ if (validate_date(dateText, inst) ) {
+ $("#barcode").focus();
+ }
+ },
hour: 23,
minute: 59
});
[% IF ( DEBT ) %]<input type="hidden" name="debt_confirmed" value="1" />[% END %]
[% IF ( INVALID_DATE ) %]
<p>
- <input type="text" size="13" id="duedatespec" name="duedatespec" readonly="readonly" value="[% duedatespec %]" />
+ <input type="text" size="13" id="duedatespec" name="duedatespec" value="[% duedatespec %]" />
<label for="duedatespec">Due date</label>
</p>
[% ELSE %]
<div id="specify-due-date" class="checkout-setting">
<div class="hint">Specify due date [% INCLUDE 'date-format.inc' %]: </div>
[% IF ( duedatespec ) %]
- <input type="text" size="13" id="duedatespec" name="duedatespec" value="[% duedatespec %]" readonly="readonly" />
+ <input type="text" size="13" id="duedatespec" name="duedatespec" value="[% duedatespec %]" />
[% ELSE %]
- <input type="text" size="13" id="duedatespec" name="duedatespec" value="" readonly="readonly" />
+ <input type="text" size="13" id="duedatespec" name="duedatespec" value="" />
[% END %]
<label for="stickyduedate"> Remember for session:</label>
[% IF ( stickyduedate ) %]
[% IF noissues %]
<div class="onsite-checkout-only">
<input type="checkbox" id="onsite_checkout" name="onsite_checkout_forced" checked="checked" disabled="disabled" /> <label for="onsite_checkout">On-site checkouts only. Automatic due date: </label>
- <input type="text" name="duedatespec" id="duedatespec" readonly="readonly" />
+ <input type="text" name="duedatespec" id="duedatespec" />
<input type="hidden" name="onsite_checkout" checked="checked" value="1" />
</div>
[% ELSE %]
minute: 59
});
$("#duedatespec").datetimepicker({
- onClose: function(dateText, inst) { setTimeout(function() { $('#checkout-barcode').trigger('focus'), 1 }); },
+ onClose: function(dateText, inst) {
+ if (validate_date(dateText, inst) ) {
+ setTimeout(function() { $('#checkout-barcode').trigger('focus'), 1 });
+ }
+ },
hour: 23,
minute: 59
});
<div class="date-select">
<div class="hint">Specify due date [% INCLUDE 'date-format.inc' %]: </div>
- <input type="text" size="13" id="duedatespec" name="duedatespec" value="[% duedatespec %]" readonly="readonly" />
+ <input type="text" size="13" id="duedatespec" name="duedatespec" value="[% duedatespec %]" />
<label for="stickyduedate"> Remember for session:</label>
<input type="checkbox" id="stickyduedate" onclick="this.form.barcode.focus();" name="stickyduedate" checked="checked" />
<input type="button" class="action" id="cleardate" value="Clear" name="cleardate" onclick="this.checked = false; this.form.duedatespec.value = ''; this.form.stickyduedate.checked = false; this.form.barcode.focus(); return false;" />
}, columns_settings);
$("#return_date_override").datetimepicker({
- onClose: function(dateText, inst) { $("#barcode").focus(); },
+ onClose: function(dateText, inst) {
+ if (validate_date(dateText, inst) ) {
+ $("#barcode").focus();
+ }
+ },
defaultDate: -1,
hour: 23,
minute: 59,
<legend id="manual_restriction_lgd">Add manual restriction</legend>
<ol>
<li><label for="debarred_comment">Comment: </label><input type="text" id="debarred_comment" name="debarred_comment" onchange="$('#add_debarment').val(1);" /></li>
- <li><label for="debarred_expiration">Expiration: </label><input name="debarred_expiration" id="debarred_expiration" size="10" readonly="readonly" value="" class="datepicker" onchange="$('#add_debarment').val(1);" />
+ <li><label for="debarred_expiration">Expiration: </label><input name="debarred_expiration" id="debarred_expiration" size="10" value="" class="datepicker" onchange="$('#add_debarment').val(1);" />
<a href='javascript:void(0)' onclick="$('#debarred_expiration').val('');">Clear date</a></li>
</ol>
});[% END %]
$("#suspend_until").datepicker({ minDate: 1 }); // require that hold suspended until date is after today
- $("#newduedate").datetimepicker({
- minDate: 1, // require that renewal date is after today
- hour: 23,
- minute: 59
- });
$("#view_restrictions").on("click",function(){
$('#debarments-tab-link').click();
});
[% IF ( reserve_in_future ) %]
<li>
<label for="from">Hold starts on date:</label>
- <input name="reserve_date" id="from" size="10" readonly="readonly" class="datepickerfrom">
+ <input name="reserve_date" id="from" size="10" class="datepickerfrom">
<a href="#" id="clear-date-from" class="clear-date">Clear date</a>
</li>
[% END %]
<li>
<label for="to">Hold expires on date:</label>
- <input name="expiration_date" id="to" size="10" readonly="readonly" class="datepickerto" />
+ <input name="expiration_date" id="to" size="10" class="datepickerto" />
<a href="#" id="clear-date-to" class="clear-date">Clear date</a>
</li>
[% IF AutoResumeSuspendedHolds %]
<label for="suspend_until_[% reserveloo.reserve_id %]">[% IF ( reserveloo.suspend ) %] on [% ELSE %] until [% END %]</label>
- <input name="suspend_until" id="suspend_until_[% reserveloo.reserve_id %]" size="10" readonly="readonly" value="[% reserveloo.suspend_until | $KohaDates %]" class="datepicker suspend_until_datepicker" />
+ <input name="suspend_until" id="suspend_until_[% reserveloo.reserve_id %]" size="10" value="[% reserveloo.suspend_until | $KohaDates %]" class="datepicker suspend_until_datepicker" />
<a href='#' onclick="document.getElementById('suspend_until_[% reserveloo.reserve_id %]').value='';">Clear date</a>
[% ELSE %]
<input type="hidden" name="suspend_until" id="suspend_until_[% reserveloo.reserve_id %]" value=""/>
+[% USE Koha %]
[% USE KohaDates %]
[% INCLUDE 'doc-head-open.inc'%]
<title>Koha › Tools › Batch patron modification</title>
[% END %]
</label>
[% IF field.mandatory %]
- <input type="checkbox" title="This field is mandatory" name="disable_input" value="[% field.name %]" readonly="readonly" onclick="return false;" />
+ <input type="checkbox" title="This field is mandatory" name="disable_input" value="[% field.name %]" onclick="return false;" />
[% ELSE %]
<input type="checkbox" title="Check to delete this field" name="disable_input" value="[% field.name %]" />
[% END %]
[% END %]
[% END %]
[% IF ( field.type == 'date' ) %]
- <input type="text" name="[% field.name %]" id="[% field.name %]" value="" size="10" maxlength="10" readonly="readonly" class="datepicker" />
+ <input type="text" name="[% field.name %]" id="[% field.name %]" value="" size="10" maxlength="10" class="datepicker" />
<a href="#" onclick="clearDate('[% field.name %]');return false;"><i class="fa fa-fw fa-trash"></i> Clear</a>
[% END %]
[% IF field.mandatory %]
});
$("#newduedate").datetimepicker({
+ onClose: function(dateText, inst) {
+ validate_date(dateText, inst);
+ },
minDate: 1, // require that renewal date is after today
hour: 23,
minute: 59
});
$("#duedatespec").datetimepicker({
- onClose: function(dateText, inst) { $("#barcode").focus(); },
+ onClose: function(dateText, inst) {
+ if ( validate_date(dateText, inst) ) {
+ $("#barcode").focus();
+ }
+ },
hour: 23,
minute: 59
});