Removed Old Journal creation scheme,Bugfixed and added code digit on charts of template

bzr revid: jvo@tinyerp.com-20080908124049-x49oomo3hssda985
This commit is contained in:
Jay Vora 2008-09-08 18:10:49 +05:30
parent 4e3ba5e112
commit 33ea18e51f
2 changed files with 73 additions and 67 deletions

View File

@ -1563,65 +1563,64 @@ class account_config_fiscalyear(osv.osv_memory):
account_config_fiscalyear()
class account_config_journal_bank_accounts(osv.osv_memory):
_name='account.config.journal.bank.account'
_columns = {
'name':fields.char('Journal Name', size=64),
'lines_id': fields.one2many('account.config.journal.bank.account.line', 'journal_id', 'Journal Lines'),
}
def action_cancel(self,cr,uid,ids,conect=None):
return {
'view_type': 'form',
"view_mode": 'form',
'res_model': 'ir.module.module.configuration.wizard',
'type': 'ir.actions.act_window',
'target':'new',
}
def action_create(self, cr, uid, ids, context=None):
config_res=self.read(cr,uid,ids)[0]
res_obj = self.pool.get('account.journal')
line_obj=self.pool.get('account.config.journal.bank.account.line')
if 'lines_id' in config_res and config_res['lines_id']:
lines=line_obj.read(cr,uid,config_res['lines_id'])
for res in lines:
sequence_ids=self.pool.get('ir.sequence').search(cr,uid,[('name','=','Account Journal')])
if 'name' in res and 'bank_account_id' in res and 'view_id' in res and sequence_ids and len(sequence_ids):
vals={
'name':res['name'],
'type':'cash',
'view_id':res['view_id'],
'default_credit_account_id':res['bank_account_id'],
'default_debit_account_id':res['bank_account_id'],
'sequence_id':sequence_ids[0]
}
res_obj.create(cr, uid, vals, context=context)
return {
'view_type': 'form',
"view_mode": 'form',
'res_model': 'ir.module.module.configuration.wizard',
'type': 'ir.actions.act_window',
'target':'new',
}
account_config_journal_bank_accounts()
class account_config_journal_bank_accounts_line(osv.osv_memory):
_name='account.config.journal.bank.account.line'
def _journal_view_get(self, cr, uid, context={}):
journal_obj = self.pool.get('account.journal.view')
ids = journal_obj.search(cr, uid, [])
res = journal_obj.read(cr, uid, ids, ['id', 'name'], context)
return [(r['id'], r['name']) for r in res]
_columns = {
'name':fields.char('Journal Name', size=64,required=True),
'bank_account_id':fields.many2one('account.account', 'Bank Account', required=True, domain=[('type','=','cash')]),
'view_id':fields.selection(_journal_view_get, 'Journal View', required=True),
'journal_id':fields.many2one('account.config.journal.bank.account', 'Journal', required=True),
}
account_config_journal_bank_accounts_line()
#class account_config_journal_bank_accounts(osv.osv_memory):
# _name='account.config.journal.bank.account'
# _columns = {
# 'name':fields.char('Journal Name', size=64),
# 'lines_id': fields.one2many('account.config.journal.bank.account.line', 'journal_id', 'Journal Lines'),
# }
#
# def action_cancel(self,cr,uid,ids,conect=None):
# return {
# 'view_type': 'form',
# "view_mode": 'form',
# 'res_model': 'ir.module.module.configuration.wizard',
# 'type': 'ir.actions.act_window',
# 'target':'new',
# }
#
# def action_create(self, cr, uid, ids, context=None):
# config_res=self.read(cr,uid,ids)[0]
# res_obj = self.pool.get('account.journal')
# line_obj=self.pool.get('account.config.journal.bank.account.line')
# if 'lines_id' in config_res and config_res['lines_id']:
# lines=line_obj.read(cr,uid,config_res['lines_id'])
# for res in lines:
# sequence_ids=self.pool.get('ir.sequence').search(cr,uid,[('name','=','Account Journal')])
# if 'name' in res and 'bank_account_id' in res and 'view_id' in res and sequence_ids and len(sequence_ids):
# vals={
# 'name':res['name'],
# 'type':'cash',
# 'view_id':res['view_id'],
# 'default_credit_account_id':res['bank_account_id'],
# 'default_debit_account_id':res['bank_account_id'],
# 'sequence_id':sequence_ids[0]
# }
# res_obj.create(cr, uid, vals, context=context)
# return {
# 'view_type': 'form',
# "view_mode": 'form',
# 'res_model': 'ir.module.module.configuration.wizard',
# 'type': 'ir.actions.act_window',
# 'target':'new',
# }
#
#account_config_journal_bank_accounts()
#
#class account_config_journal_bank_accounts_line(osv.osv_memory):
# _name='account.config.journal.bank.account.line'
# def _journal_view_get(self, cr, uid, context={}):
# journal_obj = self.pool.get('account.journal.view')
# ids = journal_obj.search(cr, uid, [])
# res = journal_obj.read(cr, uid, ids, ['id', 'name'], context)
# return [(r['id'], r['name']) for r in res]
# _columns = {
# 'name':fields.char('Journal Name', size=64,required=True),
# 'bank_account_id':fields.many2one('account.account', 'Bank Account', required=True, domain=[('type','=','cash')]),
# 'view_id':fields.selection(_journal_view_get, 'Journal View', required=True),
# 'journal_id':fields.many2one('account.config.journal.bank.account', 'Journal', required=True),
# }
#account_config_journal_bank_accounts_line()
# ----------------------------------------------
# Account Templates : Account, Tax and charts.
@ -1867,6 +1866,9 @@ class wizard_multi_charts_accounts(osv.osv_memory):
obj_journal = self.pool.get('account.journal')
obj_acc_template = self.pool.get('account.account.template')
if obj_multi.code_digits<=5:
raise osv.except_osv(_('User Error'), _('Account code should be of more than 5 digits.'))
# Creating Account
obj_acc_root = obj_multi.chart_template_id.account_root_id
tax_code_root_id = obj_multi.chart_template_id.tax_code_root_id.id
@ -1889,7 +1891,7 @@ class wizard_multi_charts_accounts(osv.osv_memory):
'name': (tax_code_root_id == tax_code_template.id) and obj_multi.company_id.name or tax_code_template.name,
'code': tax_code_template.code,
'info': tax_code_template.info,
'parent_id': tax_code_template.parent_id and tax_code_template_ref[tax_code_template.parent_id.id] or False,
'parent_id': tax_code_template.parent_id and ((tax_code_template.parent_id.id in tax_code_template_ref) and tax_code_template_ref[tax_code_template.parent_id.id]) or False,
'company_id': company_id,
'sign': tax_code_template.sign,
}
@ -1907,7 +1909,7 @@ class wizard_multi_charts_accounts(osv.osv_memory):
'type':tax.type,
'applicable_type': tax.applicable_type,
'domain':tax.domain,
'parent_id': tax.parent_id and tax_template_ref[tax.parent_id.id] or False,
'parent_id': tax.parent_id and ((tax.parent_id.id in tax_template_ref) and tax_template_ref[tax.parent_id.id]) or False,
'child_depend': tax.child_depend,
'python_compute': tax.python_compute,
'python_compute_inv': tax.python_compute_inv,
@ -1933,7 +1935,6 @@ class wizard_multi_charts_accounts(osv.osv_memory):
}
tax_template_ref[tax.id] = new_tax
#deactivate the parent_store functionnality on account_account for rapidity purpose
self.pool._init = True
children_acc_template = obj_acc_template.search(cr, uid, [('parent_id','child_of',[obj_acc_root.id])])
@ -1942,17 +1943,22 @@ class wizard_multi_charts_accounts(osv.osv_memory):
for tax in account_template.tax_ids:
tax_ids.append(tax_template_ref[tax.id])
#create the account_account
dig=obj_multi.code_digits
code_main=len(account_template.code)
code_acc=account_template.code
if code_main<=dig:
code_acc=str(code_acc) + (str('0'*(dig-code_main)))
vals={
'name': (obj_acc_root.id == account_template.id) and obj_multi.company_id.name or account_template.name,
#'sign': account_template.sign,
'currency_id': account_template.currency_id and account_template.currency_id.id or False,
'code': account_template.code,
'code': code_acc[:dig],
'type': account_template.type,
'user_type': account_template.user_type or False,
'reconcile': account_template.reconcile,
'shortcut': account_template.shortcut,
'note': account_template.note,
'parent_id': account_template.parent_id and acc_template_ref[account_template.parent_id.id] or False,
'parent_id': account_template.parent_id and ((account_template.parent_id.id in acc_template_ref) and acc_template_ref[account_template.parent_id.id]) or False,
'tax_ids': [(6,0,tax_ids)],
'company_id': company_id,
}
@ -2015,7 +2021,7 @@ class wizard_multi_charts_accounts(osv.osv_memory):
#'sign': ref_acc_bank.sign,
'currency_id': line.currency_id and line.currency_id.id or False,
'code': ref_acc_bank.code+str(current_num),
'type': 'cash',
'type': 'other',
'user_type': account_template.user_type or False,
'reconcile': True,
'parent_id': acc_template_ref[ref_acc_bank.id] or False,

View File

@ -1463,12 +1463,12 @@
<field name="state">open</field>
</record>
<record id="config_journal_bank_account" model="ir.module.module.configuration.step">
<!--<record id="config_journal_bank_account" model="ir.module.module.configuration.step">
<field name="name">Define journal for bank accounts</field>
<field name="note">Define journal for bank accounts</field>
<field name="action_id" ref="action_config_journal_bank_account"/>
<field name="state">open</field>
</record>
</record>-->
<!-- Account Templates -->