-
How to remove 'provision' from selection list when configuring Cash Flow in Odoo
over 9 years ago
over 9 years ago
In below example, I have written Python script to remove 'provision' from selection list when configuring Cash Flow Codes. Paste below python code in .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
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)