[FIX] dynamic wizards for comparisons

pull/7/merge
Guewen Baconnier @ Camptocamp 2012-12-11 16:34:07 +01:00
parent 8a824acdb6
commit 1b29cf15e8
1 changed files with 52 additions and 20 deletions

View File

@ -142,26 +142,58 @@ class AccountBalanceCommonWizard(osv.osv_memory):
placeholder = placeholder[0] placeholder = placeholder[0]
for index in range(self.COMPARISON_LEVEL): for index in range(self.COMPARISON_LEVEL):
page = etree.Element('page', {'name': "comp%s" % (index,), 'string': _("Comparison %s") % (index+1,)}) page = etree.Element('page', {'name': "comp%s" % (index,), 'string': _("Comparison %s") % (index+1,)})
page.append(etree.Element('field', {'name': "comp%s_filter" % (index,), group = etree.Element('group')
'colspan': '4', page.append(group)
'on_change': "onchange_comp_filter(%(index)s, filter, comp%(index)s_filter, fiscalyear_id, date_from, date_to)" % {'index': index}})) def modifiers_and_append(elem):
page.append(etree.Element('field', {'name': "comp%s_fiscalyear_id" % (index,), orm.setup_modifiers(elem)
'colspan': '4', group.append(elem)
'attrs': "{'required': [('comp%(index)s_filter','in',('filter_year','filter_opening'))], 'readonly':[('comp%(index)s_filter','not in',('filter_year','filter_opening'))]}" % {'index': index}}))
page.append(etree.Element('separator', {'string': _('Dates'), 'colspan':'4'})) modifiers_and_append(etree.Element(
page.append(etree.Element('field', {'name': "comp%s_date_from" % (index,), 'colspan':'4', 'field',
'attrs': "{'required': [('comp%(index)s_filter','=','filter_date')], 'readonly':[('comp%(index)s_filter','!=','filter_date')]}" % {'index': index}})) {'name': "comp%s_filter" % index,
page.append(etree.Element('field', {'name': "comp%s_date_to" % (index,), 'colspan':'4', 'on_change': "onchange_comp_filter(%(index)s, filter, comp%(index)s_filter, fiscalyear_id, date_from, date_to)" % {'index': index}}))
'attrs': "{'required': [('comp%(index)s_filter','=','filter_date')], 'readonly':[('comp%(index)s_filter','!=','filter_date')]}" % {'index': index}})) modifiers_and_append(etree.Element(
page.append(etree.Element('separator', {'string': _('Periods'), 'colspan':'4'})) 'field',
page.append(etree.Element('field', {'name': "comp%s_period_from" % (index,), {'name': "comp%s_fiscalyear_id" % index,
'colspan': '4', 'attrs':
'attrs': "{'required': [('comp%(index)s_filter','=','filter_period')], 'readonly':[('comp%(index)s_filter','!=','filter_period')]}" % {'index': index}, "{'required': [('comp%(index)s_filter','in',('filter_year','filter_opening'))]," \
'domain': "[('special', '=', False)]"})) " 'invisible': [('comp%(index)s_filter','not in',('filter_year','filter_opening'))]}" % {'index': index}}))
page.append(etree.Element('field', {'name': "comp%s_period_to" % (index,),
'colspan': '4',
'attrs': "{'required': [('comp%(index)s_filter','=','filter_period')], 'readonly':[('comp%(index)s_filter','!=','filter_period')]}" % {'index': index}, dates_attrs = "{'required': [('comp%(index)s_filter','=','filter_date')], " \
'domain': "[('special', '=', False)]"})) " 'invisible': [('comp%(index)s_filter','!=','filter_date')]}" % {'index': index}
modifiers_and_append(etree.Element(
'separator',
{'string': _('Dates'),
'colspan': '4',
'attrs': dates_attrs}))
modifiers_and_append(etree.Element(
'field',
{'name': "comp%s_date_from" % index,
'attrs': dates_attrs}))
modifiers_and_append(etree.Element(
'field',
{'name': "comp%s_date_to" % index,
'attrs': dates_attrs}))
periods_attrs = "{'required': [('comp%(index)s_filter','=','filter_period')]," \
" 'invisible': [('comp%(index)s_filter','!=','filter_period')]}" % {'index': index}
periods_domain = "[('special', '=', False)]"
modifiers_and_append(etree.Element(
'separator',
{'string': _('Periods'),
'colspan': '4',
'attrs': periods_attrs}))
modifiers_and_append(etree.Element(
'field',
{'name': "comp%s_period_from" % index,
'attrs': periods_attrs,
'domain': periods_domain}))
modifiers_and_append(etree.Element(
'field',
{'name': "comp%s_period_to" % index,
'attrs': periods_attrs,
'domain': periods_domain}))
placeholder.addprevious(page) placeholder.addprevious(page)
placeholder.getparent().remove(placeholder) placeholder.getparent().remove(placeholder)