In below example, I have written Python script to remove 'provision' from selection list when configuring Cash Flow Codes. Use below python code in your .py file :
def fields_get(self, cr, uid, fields=None, context=None):
res = super(account_cashflow_code, self).fields_get(cr, uid, fields, context)
if context.get('manage_cfc') and res.get('type'):
res['type']['selection'].remove(('provision', u'Provision'))
# rename date fields
format_date = self.format_date
if context.has_key('date_start'):
date_start = datetime.strptime(context.get('date_start'), '%Y-%m-%d').date()
nbr_days = int(context.get('nbr_days'))
days = [format_date(cr, uid, date_start, context)] + [format_date(cr, uid, date_start + timedelta(days=x), context) for x in range(1, nbr_days)]
for x in range(1, nbr_days + 1):
if x < 10:
field = 'balance_day0' + str(x)
else:
field = 'balance_day' + str(x)
if res.get(field, None):
res[field]['string'] = days[x-1]
return res
def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):
res = super(account_cashflow_code, self).fields_view_get(cr, uid, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar, submenu=False)
if context.has_key('nbr_days') and view_type=='tree':
view_obj = etree.XML(res['arch'])
nbr_days = int(context.get('nbr_days'))
for el in view_obj:
if 'balance_day' in el.get('name'):
day = int(el.get('name')[11:])
if day > nbr_days:
el.getparent().remove(el)
res['arch'] = etree.tostring(view_obj)
return res
0 Comment(s)