From c0c3b934829d55012ef92f0db989ed2e335c0df6 Mon Sep 17 00:00:00 2001 From: Julian Maurice <julian.maurice@biblibre.com> Date: Thu, 19 Dec 2013 12:00:04 +0100 Subject: [PATCH] [PASSED QA] Bug 11386 - Mandatory fields in subscription add form should use standard formatting Use jQuery.validate plugin for subscription add/edit form and remove readonly attribute on date fields, as datepicker is not available for everyone. Signed-off-by: Owen Leonard <oleonard@myacpl.org> Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de> Works as described, passes tests, and QA script. --- .../prog/en/modules/serials/subscription-add.tt | 42 ++++++++-------------- 1 file changed, 15 insertions(+), 27 deletions(-) diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-add.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-add.tt index f206802..1402135 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-add.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-add.tt @@ -77,22 +77,10 @@ function Check_page2(){ return false; } [% END %] - if($("#frequency").val().length == 0){ - alert(_("You must choose a frequency")); - return false; - } - if($("input[name='startdate']").val().length == 0){ - alert(_("You must choose a start date")); - return false; - } if($("#sublength").val().length == 0 && $("input[name='enddate']").val().length == 0){ alert(_("You must choose a subscription length or an end date.")); return false; } - if($("#numberpattern").val().length == 0){ - alert(_("You must choose a numbering pattern")); - return false; - } if(advancedpatternlocked == 0){ alert(_("You have modified the advanced prediction pattern. Please save your work or cancel modifications.")); return false; @@ -109,7 +97,7 @@ function frequencyload(){ $.getJSON("subscription-frequency.pl",{"frequency_id":document.f.frequency.value,ajax:'true'}, function(freqdata){ globalfreqdata=freqdata; - if ( globalfreqdata.unit.length == 0 ) { + if ( globalfreqdata.unit && globalfreqdata.unit.length == 0 ) { var option = $("#subtype option[value='issues']"); $(option).attr('selected', 'selected'); $("#subtype option[value!='issues']").attr('disabled', 'disabled') @@ -473,7 +461,7 @@ $(document).ready(function() { <div id="bd"> <div class="yui-g"> <h1>[% IF ( modify ) %] Modify subscription for <i>[% bibliotitle |html %]</i>[% ELSE %]Add a new subscription[% END %] (<span id="page_number">1/2</span>)</h1> - <form method="post" name="f" action="/cgi-bin/koha/serials/subscription-add.pl"> + <form method="post" name="f" action="/cgi-bin/koha/serials/subscription-add.pl" class="validated" onsubmit="return Check_page2();" > [% IF ( modify ) %] <input type="hidden" name="op" value="modsubscription" /> <input type="hidden" name="subscriptionid" value="[% subscriptionid %]" /> @@ -634,9 +622,9 @@ $(document).ready(function() { <legend>Serials planning</legend> <ol> <li> - <label for="firstacquidate">First issue publication date: (*)</label> + <label for="firstacquidate" class="required">First issue publication date:</label> [% UNLESS (more_than_one_serial) %] - <input type="text" size="10" id="acqui_date" name="firstacquidate" value="[% firstacquidate | $KohaDates %]" class="datepicker" readonly="readonly"/> + <input type="text" size="10" id="acqui_date" name="firstacquidate" value="[% firstacquidate | $KohaDates %]" class="datepicker required" required="required" /> [% ELSE %] [% firstacquidate | $KohaDates %] <input type="hidden" size="10" id="acqui_date" name="firstacquidate" value="[% firstacquidate | $KohaDates %]"/> @@ -645,12 +633,12 @@ $(document).ready(function() { [% IF (more_than_one_serial) %] <li> <label for="nextacquidate">Next issue publication date:</label> - <input type="text" size="10" id="nextacquidate" name="nextacquidate" value="[% nextacquidate | $KohaDates %]" class="datepicker" readonly="readonly"/> + <input type="text" size="10" id="nextacquidate" name="nextacquidate" value="[% nextacquidate | $KohaDates %]" class="datepicker" /> </li> [% END %] <li> - <label for="frequency">Frequency: (*)</label> - <select name="frequency" size="1" id="frequency"> + <label for="frequency" class="required">Frequency:</label> + <select name="frequency" size="1" id="frequency" class="required" required="required"> <option value="">-- please choose --</option> [% FOREACH frequency IN frequencies %] [% IF (frequency.selected) %] @@ -680,16 +668,16 @@ $(document).ready(function() { <input type="hidden" name="issuelengthcount"> </li> <li> - <label for="startdate"> Subscription start date: (*)</label> - <input type="text" size="10" id="from" name="startdate" value="[% startdate | $KohaDates %]" class="datepickerfrom" readonly="readonly"/> + <label for="startdate" class="required"> Subscription start date:</label> + <input type="text" size="10" id="from" name="startdate" value="[% startdate | $KohaDates %]" class="datepickerfrom required" required="required" /> </li> <li> <label for="enddate">Subscription end date:</label> - <input type="text" size="10" id="to" name="enddate" value="[% enddate | $KohaDates %]" class="datepickerto" readonly="readonly"/> + <input type="text" size="10" id="to" name="enddate" value="[% enddate | $KohaDates %]" class="datepickerto" /> </li> <li> - <label for="numberpattern">Numbering pattern:</label> - <select name="numbering_pattern" size="1" id="numberpattern"> + <label for="numberpattern" class="required">Numbering pattern:</label> + <select name="numbering_pattern" size="1" id="numberpattern" class="required" required="required"> <option value="">-- please choose --</option> [% FOREACH numberpattern IN numberpatterns %] [% IF (numberpattern.selected) %] @@ -751,8 +739,8 @@ $(document).ready(function() { <li><a style="cursor:pointer" onclick="toggleAdvancedPattern();">Show/Hide advanced pattern</a></li> <div id="advancedpredictionpattern" style="display:none"> <li> - <label for="patternname">Pattern name: (*)</label> - <input id="patternname" name="patternname" type="text" readonly="readonly" /> + <label for="patternname" class="required">Pattern name:</label> + <input id="patternname" name="patternname" type="text" readonly="readonly" class="required" required="required" /> </li> <li> <label for="numberingmethod">Numbering formula:</label> @@ -838,7 +826,7 @@ $(document).ready(function() { <fieldset class="action"> <input type="button" value="<< Previous" onclick="show_page_1();" style="float:left;"/> <input id="testpatternbutton" type="button" value="Test prediction pattern" onclick="testPredictionPattern();" /> - <input type="button" value="Save subscription" onclick="if (Check_page2()) submit();" style="float:right;" accesskey="w" /> + <input type="submit" value="Save subscription" style="float:right;" accesskey="w" /> </fieldset> </div> </div> -- 1.8.3.2