[FIX] layouting of groups when row with too fee cols
authorFabien Pinckaers <fp@tinyerp.com>
Mon, 4 Jun 2012 20:44:49 +0000 (22:44 +0200)
committerFabien Pinckaers <fp@tinyerp.com>
Mon, 4 Jun 2012 20:44:49 +0000 (22:44 +0200)
bzr revid: fp@tinyerp.com-20120604204449-ci68yf3p1837170h

addons/web/static/src/js/view_form.js

index 9a674e7..810eef6 100644 (file)
@@ -1135,13 +1135,13 @@ instance.web.form.FormRenderingEngine = instance.web.form.FormRenderingEngineInt
                         if ($child.attr('orientation') === 'vertical') {
                             $td.addClass('oe_vertical_separator').attr('width', '1');
                             $td.empty();
-                            row_cols--;
+                            row_cols-= $td.attr('colspan') || 1;
                         }
                         break;
                     case 'label':
                         if ($child.attr('for')) {
                             $td.attr('width', '1%').addClass('oe_form_group_cell_label');
-                            row_cols--;
+                            row_cols-= $td.attr('colspan') || 1;
                             total--;
                         }
                         break;
@@ -1158,15 +1158,15 @@ instance.web.form.FormRenderingEngine = instance.web.form.FormRenderingEngineInt
                             }
                             $td.attr('width', width);
                             $child.removeAttr('width');
-                            row_cols--;
                         } else {
                             to_compute.push($td);
                         }
+                        row_cols-= $td.attr('colspan') || 1;
 
                 }
             });
             var unit = Math.floor(total / row_cols);
-            if (!$(this).is('.oe_form_group_row_incomplete')) {
+            if (!row_cols && !$(this).is('.oe_form_group_row_incomplete')) {
                 _.each(to_compute, function($td, i) {
                     var width = parseInt($td.attr('colspan'), 10) * unit;
                     $td.attr('width', ((i == to_compute.length - 1) ? total : width) + '%');