[FIX] account: display in the widget selection of companies, only the companies that haven't been configured yet (but don't care about the demo chart of accounts)

bzr revid: qdp-launchpad@tinyerp.com-20101223151639-pmqdohf0y03kh8zm
This commit is contained in:
qdp-launchpad@tinyerp.com 2010-12-23 16:16:39 +01:00
parent 2c5035fe44
commit ba90e6841c
2 changed files with 23 additions and 6 deletions

View File

@ -2601,6 +2601,24 @@ class wizard_multi_charts_accounts(osv.osv_memory):
'seq_journal': True
}
def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):
res = super(wizard_multi_charts_accounts, 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)
#display in the widget selection of companies, only the companies that haven't been configured yet (but don't care about the demo chart of accounts)
cr.execute("SELECT company_id FROM account_account WHERE active = 't' AND account_account.parent_id IS NULL AND name != %s", ("Chart For Automated Tests",))
configured_cmp = [r[0] for r in cr.fetchall()]
unconfigured_cmp = list(set(company_ids)-set(configured_cmp))
if unconfigured_cmp:
cmp_select = [(line.id, line.name) for line in self.pool.get('res.company').browse(cr, uid, unconfigured_cmp)]
for field in res['fields']:
if field == 'company_id':
res['fields'][field]['domain'] = unconfigured_cmp
res['fields'][field]['selection'] = cmp_select
return res
def execute(self, cr, uid, ids, context=None):
obj_multi = self.browse(cr, uid, ids[0])
obj_acc = self.pool.get('account.account')

View File

@ -63,7 +63,7 @@ class account_installer(osv.osv_memory):
'bank_accounts_id': fields.one2many('account.bank.accounts.wizard', 'bank_account_id', 'Your Bank and Cash Accounts'),
'sale_tax': fields.float('Sale Tax(%)'),
'purchase_tax': fields.float('Purchase Tax(%)'),
'company_id': fields.many2one('res.company', 'Company'),
'company_id': fields.many2one('res.company', 'Company', required=True),
}
def _default_company(self, cr, uid, context=None):
@ -102,13 +102,12 @@ class account_installer(osv.osv_memory):
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])
#display in the widget selection of companies, only the companies that haven't been configured yet (but don't care about the demo chart of accounts)
cr.execute("SELECT company_id FROM account_account WHERE active = 't' AND account_account.parent_id IS NULL AND name != %s", ("Chart For Automated Tests",))
configured_cmp = [r[0] for r in cr.fetchall()]
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))
cmp_select = [(line.id, line.name) for line in self.pool.get('res.company').browse(cr, uid, unconfigured_cmp)]
for field in res['fields']:
if field == 'company_id':
res['fields'][field]['domain'] = unconfigured_cmp