diff --git a/product/ERP5Form/MatrixBox.py b/product/ERP5Form/MatrixBox.py index f9330c1c5f8d850c8dba90a41db3c1a30ea7f31b..1f5b233672194a0f095fdb741a18644ff9099eed 100755 --- a/product/ERP5Form/MatrixBox.py +++ b/product/ERP5Form/MatrixBox.py @@ -79,7 +79,7 @@ class MatrixBoxWidget(Widget.Widget): couple[0] is the variation, and couple[1] is the name displayed to the user. For example (('color/bleu','bleu'),('color/red','red')), Required"""), default=[], - required=1) + required=0) lines = fields.ListTextAreaField('lines', title="Lines", @@ -158,6 +158,8 @@ class MatrixBoxWidget(Widget.Widget): # This is required when we have no tabs if len(tabs) == 0: tabs = [(None,None)] + # This is required when we have no columns + if len(columns) == 0: columns = [(None,None)] column_ids = map(lambda x: x[0], columns) line_ids = map(lambda x: x[0], lines) @@ -224,12 +226,16 @@ class MatrixBoxWidget(Widget.Widget): list_body = list_body + '<tr><td class=\"%s\">%s</td>' % (td_css, str(l[1])) j = 0 - line_id = l[0] for c in columns: - if line_id is None and tab_id is None: - kw = [line_id] - if tab_id is None: + #if column_id is None and tab_id is None: + # kw = [] + column_id = c[0] + if type(column_id) is not type(()) and type(column_id) is not type([]) and column_id is not None: + column_id = [column_id] + if column_id is None: + kw = [l[0]] + elif tab_id is None: kw = [l[0], c[0]] else: kw = [l[0], c[0]] + tab_id