From 24b72cdbcef8739fa66b20b55201bc10740179aa Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Thu, 21 Aug 2008 07:23:27 +0000
Subject: [PATCH] MultiItemsWidget should have at least one child in order to
 produce valid XHTML which should be disabled so user can not select it.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@23074 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Form/FormulatorPatch.py | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/product/ERP5Form/FormulatorPatch.py b/product/ERP5Form/FormulatorPatch.py
index 8ce3c4f032..ffd8948aaf 100644
--- a/product/ERP5Form/FormulatorPatch.py
+++ b/product/ERP5Form/FormulatorPatch.py
@@ -712,6 +712,12 @@ def MultiItemsWidget_render_items(self, field, key, value, REQUEST, render_prefi
   css_class = field.get_value('css_class')
   extra_item = field.get_value('extra_item')
   rendered_items = []
+  
+  # multi items widget should have at least one child in order to produce 
+  # valid XHTML disable it so user can not select it
+  if not len(items) :
+    return [self.render_item('','', '', '', 'disabled="1"')]
+ 
   for item in items:
       try:
           item_text, item_value = item
@@ -736,7 +742,6 @@ def MultiItemsWidget_render_items(self, field, key, value, REQUEST, render_prefi
                key,
                css_class,
                extra_item)
-
       rendered_items.append(rendered_item)
 
   # XXX We want to make sure that we always have the current value in items. -yo
-- 
2.30.9