Bug 21089: Overlapping elements in ordering information on acqui/supplier.pl
authorOwen Leonard <oleonard@myacpl.org>
Mon, 7 Jan 2019 13:48:55 +0000 (13:48 +0000)
committerNick Clemens <nick@bywatersolutions.com>
Mon, 28 Jan 2019 11:37:09 +0000 (11:37 +0000)
This patch changes the HTML structure of the vendor edit page so that
the markup is a little simpler. CSS is modified to match. This structure
should serve as a model for other similar form structures:

 <fieldset class="rows">
     <ol>
         <li>
             <label>General label:</label>
             <label class="radio">
                 Specific label 1 <input type="radio" />
             </label>
             <label class="radio">
                 Specific label 2 <input type="radio" />
             </label>
         </li>
     </ol>
 </fieldset>

To test, apply the patch and regenerate the staff client CSS.

 - Go to Acquisitions -> Vendor search -> Vendor -> Edit vendor
 - In the "Ordering information" section, confirm that the position of
   radio buttons looks correct.
 - Confirm that radio button labels work correctly.
 - Confirm that the adjacent dropdown menus work well.

Signed-off-by: David Cook <dcook@prosentient.com.au>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>

koha-tmpl/intranet-tmpl/prog/css/src/staff-global.scss
koha-tmpl/intranet-tmpl/prog/en/modules/acqui/supplier.tt

index 2a70eff..f6ce884 100644 (file)
@@ -1055,6 +1055,13 @@ fieldset {
                 margin-left: 1em;
             }
 
+            &.radio {
+                display: inline-block;
+                margin: 0 1em 0 0;
+                padding: 0;
+                width: auto;
+            }
+
             &.yesno {
                 float: none;
                 width: auto;
index e4f15e7..0028f71 100644 (file)
 
         <fieldset class="rows">
             <legend>Ordering information</legend>
-            <ol class="radio"><li><label for="activestatus" class="radio">Vendor is:</label>
+            <ol><li><label for="activestatus">Vendor is:</label>
                     [% IF ( active ) %]
-                        <label for="activestatus">Active</label> <input type="radio" id="activestatus" name="status" value="1" checked="checked" />
-                        <label for="inactivestatus">Inactive</label> <input type="radio" id="inactivestatus" name="status" value="0" />
+                        <label class="radio" for="activestatus">
+                            Active <input type="radio" id="activestatus" name="status" value="1" checked="checked" />
+                        </label>
+                        <label class="radio" for="inactivestatus">
+                            Inactive <input type="radio" id="inactivestatus" name="status" value="0" />
+                        </label>
                     [% ELSE %]
-                        <label for="activestatus">Active</label> <input type="radio" id="activestatus" name="status" value="1" />
-                        <label for="inactivestatus">Inactive</label> <input type="radio" id="inactivestatus" name="status" value="0" checked="checked" />
+                        <label class="radio" for="activestatus">
+                            Active <input type="radio" id="activestatus" name="status" value="1" />
+                        </label>
+                        <label class="radio" for="inactivestatus">
+                            Inactive <input type="radio" id="inactivestatus" name="status" value="0" checked="checked" />
+                        </label>
                     [% END %]</li>
-            </ol>
-            <ol>
             <li><label for="list_currency">List prices are: </label>
                 <select name="list_currency" id="list_currency">
                     [% FOREACH c IN currencies %]
                     [% END %]
                 </select>
             </li>
-            </ol>
-            <ol class="radio">
-            <li><label for="gstyes" class="radio">Tax number registered:</label>
+            <li><label for="gstyes">Tax number registered:</label>
                 [% IF ( gstreg ) %]
-                    <label for="gstyes">Yes</label> <input type="radio" name="gst" id="gstyes" value="1" checked="checked" />
-                    <label for="gstno">No</label> <input type="radio" name="gst" id="gstno" value="0" />
+                    <label class="radio" for="gstyes">
+                        Yes <input type="radio" name="gst" id="gstyes" value="1" checked="checked" />
+                    </label>
+                    <label class="radio" for="gstno">
+                        No <input type="radio" name="gst" id="gstno" value="0" />
+                    </label>
                 [% ELSE %]
-                    <label for="gstyes">Yes</label> <input type="radio" name="gst" id="gstyes" value="1" />
-                    <label for="gstno">No</label> <input type="radio" name="gst" id="gstno" value="0" checked="checked" />
+                    <label class="radio" for="gstyes">
+                        Yes <input type="radio" name="gst" id="gstyes" value="1" />
+                    </label>
+                    <label class="radio" for="gstno">
+                        No <input type="radio" name="gst" id="gstno" value="0" checked="checked" />
+                    </label>
                 [% END %]</li>
-            
-            <li><label for="list_gstyes" class="radio">List prices:</label>
+
+            <li><label for="list_gstyes">List prices:</label>
                 [% IF ( listincgst ) %]
-                    <label for="list_gstyes">Include tax</label> <input type="radio" id="list_gstyes" name="list_gst" value="1" checked="checked" />
-                    <label for="list_gstno">Don't include tax</label> <input type="radio" id="list_gstno" name="list_gst" value="0" />
+                    <label class="radio" for="list_gstyes">
+                        Include tax <input type="radio" id="list_gstyes" name="list_gst" value="1" checked="checked" />
+                    </label>
+                    <label class="radio" for="list_gstno">
+                        Don't include tax <input type="radio" id="list_gstno" name="list_gst" value="0" />
+                    </label>
                 [% ELSE %]
-                    <label for="list_gstyes">Include tax</label> <input type="radio" id="list_gstyes" name="list_gst" value="1" />
-                    <label for="list_gstno">Don't include tax</label> <input type="radio" id="list_gstno" name="list_gst" value="0" checked="checked" />
+                    <label class="radio" for="list_gstyes">
+                        Include tax <input type="radio" id="list_gstyes" name="list_gst" value="1" />
+                    </label>
+                    <label class="radio" for="list_gstno">
+                        Don't include tax <input type="radio" id="list_gstno" name="list_gst" value="0" checked="checked" />
+                    </label>
                 [% END %]</li>
-            
-            <li><label for="invoice_gstyes" class="radio">Invoice prices:</label>
+
+            <li><label for="invoice_gstyes">Invoice prices:</label>
                 [% IF ( invoiceincgst ) %]
-                    <label for="invoice_gstyes">Include tax</label> <input type="radio" id="invoice_gstyes" name="invoice_gst" value="1" checked="checked" />
-                    <label for="invoice_gstno">Don't include tax</label> <input type="radio" id="invoice_gstno" name="invoice_gst" value="0" />
+                    <label class="radio" for="invoice_gstyes">
+                        Include tax <input type="radio" id="invoice_gstyes" name="invoice_gst" value="1" checked="checked" />
+                    </label>
+                    <label class="radio" for="invoice_gstno">
+                        Don't include tax <input type="radio" id="invoice_gstno" name="invoice_gst" value="0" />
+                    </label>
                     [% ELSE %]
-                    <label for="invoice_gstyes">Include tax</label> <input type="radio" id="invoice_gstyes" name="invoice_gst" value="1" />
-                    <label for="invoice_gstno">Don't include tax</label> <input type="radio" id="invoice_gstno" name="invoice_gst" value="0" checked="checked" />
+                    <label class="radio" for="invoice_gstyes">
+                        Include tax <input type="radio" id="invoice_gstyes" name="invoice_gst" value="1" />
+                    </label>
+                    <label class="radio" for="invoice_gstno">
+                        Don't include tax <input type="radio" id="invoice_gstno" name="invoice_gst" value="0" checked="checked" />
+                    </label>
                 [% END %]</li>
-            </ol>
+
             [% IF gst_values %]
-                <ol>
-                  <li>
-                    <label for="tax_rate">Tax rate: </label>
-                    <select name="tax_rate" id="tax_rate">
-                    [% FOREACH gst IN gst_values %]
-                      [% IF ( tax_rate == gst.option ) %]
-                        <option value="[% gst.option | html %]" selected="selected">[% gst.option * 100 | html %] %</option>
-                      [% ELSE %]
-                        <option value="[% gst.option | html %]">[% gst.option * 100 | html %] %</option>
-                      [% END %]
+                <li>
+                  <label for="tax_rate">Tax rate: </label>
+                  <select name="tax_rate" id="tax_rate">
+                  [% FOREACH gst IN gst_values %]
+                    [% IF ( tax_rate == gst.option ) %]
+                      <option value="[% gst.option | html %]" selected="selected">[% gst.option * 100 | html %] %</option>
+                    [% ELSE %]
+                      <option value="[% gst.option | html %]">[% gst.option * 100 | html %] %</option>
                     [% END %]
-                    </select>
-                  </li>
-                </ol>
+                  [% END %]
+                  </select>
+                </li>
             [% ELSE %]
                 <input type="hidden" name="tax_rate" value="0" />
             [% END %]
-            <ol>
             <li><label for="discount">Discount: </label>
                 <input type="text" size="6" id="discount" name="discount" value="[% discount | format ("%.1f") %]" />%</li>
             <li>
                 <input type="text" size="2" id="deliverytime" name="deliverytime" value="[% deliverytime | html %]" /> days
             </li>
             <li><label for="notes">Notes: </label>
-                <textarea cols="40" rows="4" id="notes" name="notes" >[% notes | html %]</textarea></li></ol>
+                <textarea cols="40" rows="4" id="notes" name="notes" >[% notes | html %]</textarea></li>
+            </ol>
         </fieldset>
         <fieldset class="action"><input type="submit" value="Save" /> [% IF ( booksellerid ) %]
         <a class="cancel" href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% booksellerid | html %]">[% ELSE %]<a class="cancel" href="/cgi-bin/koha/acqui/acqui-home.pl">