diff --git a/addons/account/installer.py b/addons/account/installer.py index b1be04f7c70..0301126a373 100644 --- a/addons/account/installer.py +++ b/addons/account/installer.py @@ -95,6 +95,25 @@ class account_installer(osv.osv_memory): 'bank_accounts_id': _get_default_accounts, 'charts': _get_default_charts } + + def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False): + res = super(account_installer, self).fields_view_get(cr, uid, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar,submenu=False) + configured_cmp = [] + unconfigured_cmp = [] + cmp_select = [] + company_ids = self.pool.get('res.company').search(cr, uid, [], context=context) + cr.execute("SELECT company_id FROM account_account WHERE account_account.parent_id IS NULL") + for r in cr.fetchall(): + configured_cmp.append(r[0]) + unconfigured_cmp = list(set(company_ids)-set(configured_cmp)) + if unconfigured_cmp: + for line in self.pool.get('res.company').browse(cr, uid, unconfigured_cmp): + cmp_select.append((line.id,line.name)) + for field in res['fields']: + if field == 'company_id': + res['fields'][field]['domain'] = unconfigured_cmp + res['fields'][field]['selection'] = cmp_select + return res def on_change_tax(self, cr, uid, id, tax): return {'value': {'purchase_tax': tax}}