Bug 8637: Lack of control on mandatory in orderreveive.tt
authorChristophe Croullebois <christophe.croullebois@biblibre.com>
Mon, 13 Aug 2012 15:09:30 +0000 (17:09 +0200)
committerPaul Poulain <paul.poulain@biblibre.com>
Fri, 31 Aug 2012 11:48:52 +0000 (13:48 +0200)
Just add a check in Jscript when the form is submited, the same as in additem.tt
On Owen's suggestion I have added the red color and 'Required', the same as in additem.
On Jonathan's suggestion I have used the CSS class for red and italic and I have changed a variable's name (alertString2).
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Mandatory fields are now correctly checked on saving.

On other Jonathan's suggestion I have created a new class "missing" and I have added the background to staff-global.css.
The same for additem.tt.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Retested because of minor CSS change. Works nicely.

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
koha-tmpl/intranet-tmpl/prog/en/css/staff-global.css
koha-tmpl/intranet-tmpl/prog/en/modules/acqui/orderreceive.tt
koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/additem.tt
koha-tmpl/intranet-tmpl/prog/en/modules/services/itemrecorddisplay.tt

index 436b728..c642d0d 100644 (file)
@@ -1260,6 +1260,10 @@ span.required {
        margin-left : .5em;
 }
 
+.missing{
+    background-color : #FFFFCC;
+}
+
 .term {
     background-color: #FFC;
         color : #990000;
index 821dcd3..1e19f8b 100644 (file)
@@ -7,6 +7,28 @@
 //<![CDATA[
     function Check(form) {
         [% IF (AcqCreateItemReceiving) %]
+            var total_errors=0;
+            $("input[name='mandatory'],select[name='mandatory']").each(function(i){
+                if($(this).val() == 1){
+                    var mandatory_field = $("input[name='field_value'],select[name='field_value']").eq(i);
+                    if(mandatory_field.val() == ''){
+                        mandatory_field.addClass("missing");
+                        total_errors++;
+                    }
+                }
+            });
+
+            var alertString;
+            if (total_errors==0) {
+                return true;
+            } else {
+                alertString  = _("Form not submitted because of the following problem(s)");
+                alertString += "\n------------------------------------------------------------------------------------\n";
+                alertString += "\n- "+ total_errors+_(" mandatory fields empty (highlighted)");
+                alert(alertString);
+                return false;
+            }
+
             // Remove last itemblock if it is not in items_list
             var lastitemblock = $("#outeritemblock > div:last");
             var tobedeleted = true;
index 6692274..05750b2 100644 (file)
@@ -44,7 +44,7 @@ function Check(f) {
         if($(this).val() == 1){
             var mandatory_field = $("input[name='field_value'],select[name='field_value']").eq(i);
             if(mandatory_field.val() == ''){
-                mandatory_field.css("background-color","#FFFFCC");
+                mandatory_field.addClass("missing");
                 total_errors++;
             }
         }
index 6790b3d..005a0a8 100644 (file)
@@ -2,22 +2,18 @@
   [% FOREACH iteminfo IN iteminformation %]
     <li>
       <div class="subfield_line" style="[% iteminfo.hidden %];" id="subfield[% iteminfo.serialid %][% iteminfo.countitems %][% iteminfo.subfield %][% iteminfo.random %]">
-        <label>
-            [% iteminfo.subfield %] -
-            [% IF ( iteminfo.mandatory ) %]
-                <b>
-            [% END %]
-            [% iteminfo.marc_lib %]
-            [% IF ( iteminfo.mandatory ) %]
-                *</b>
-            [% END %]
-        </label>
+        [% IF (iteminfo.mandatory) %]
+            <label class="required">[% iteminfo.subfield %] - [% iteminfo.marc_lib %]</label>
+        [% ELSE %]
+            <label>[% iteminfo.subfield %] - [% iteminfo.marc_lib %]</label>
+        [% END %]
         [% iteminfo.marc_value %]
         <input type="hidden" name="itemid" value="1" />
         <input type="hidden" name="kohafield" value="[% iteminfo.kohafield %]" />
         <input type="hidden" name="tag" value="[% iteminfo.tag %]" />
         <input type="hidden" name="subfield" value="[% iteminfo.subfield %]" />
         <input type="hidden" name="mandatory" value="[% iteminfo.mandatory %]" />
+        [% IF (iteminfo.mandatory) %] <span class="required">Required</span>[% END %]
       </div>
     </li>
   [% END %]