[FIX] account: fixed multi-company related stuffs on cash/bank statements
bzr revid: qdp-launchpad@openerp.com-20120124152747-5ygkcu5z3i9awnw7
This commit is contained in:
parent
947f584162
commit
6400a55c68
|
@ -52,8 +52,9 @@ class account_bank_statement(osv.osv):
|
|||
journal_pool = self.pool.get('account.journal')
|
||||
journal_type = context.get('journal_type', False)
|
||||
journal_id = False
|
||||
company_id = self.pool.get('res.company')._company_default_get(cr, uid, 'account.bank.statement',context=context)
|
||||
if journal_type:
|
||||
ids = journal_pool.search(cr, uid, [('type', '=', journal_type)])
|
||||
ids = journal_pool.search(cr, uid, [('type', '=', journal_type),('company_id','=',company_id)])
|
||||
if ids:
|
||||
journal_id = ids[0]
|
||||
return journal_id
|
||||
|
@ -169,30 +170,21 @@ class account_bank_statement(osv.osv):
|
|||
'company_id': lambda self,cr,uid,c: self.pool.get('res.company')._company_default_get(cr, uid, 'account.bank.statement',context=c),
|
||||
}
|
||||
|
||||
def onchange_date(self, cr, user, ids, date, context=None):
|
||||
def onchange_date(self, cr, uid, ids, date, company_id, context=None):
|
||||
"""
|
||||
Returns a dict that contains new values and context
|
||||
@param cr: A database cursor
|
||||
@param user: ID of the user currently logged in
|
||||
@param date: latest value from user input for field date
|
||||
@param args: other arguments
|
||||
@param context: context arguments, like lang, time zone
|
||||
@return: Returns a dict which contains new values, and context
|
||||
Find the correct period to use for the given date and company_id, return it and set it in the context
|
||||
"""
|
||||
res = {}
|
||||
period_pool = self.pool.get('account.period')
|
||||
|
||||
if context is None:
|
||||
context = {}
|
||||
|
||||
pids = period_pool.search(cr, user, [('date_start','<=',date), ('date_stop','>=',date)])
|
||||
ctx = context.copy()
|
||||
ctx.update({'company_id': company_id})
|
||||
pids = period_pool.find(cr, uid, dt=date, context=ctx)
|
||||
if pids:
|
||||
res.update({
|
||||
'period_id':pids[0]
|
||||
})
|
||||
context.update({
|
||||
'period_id':pids[0]
|
||||
})
|
||||
res.update({'period_id': pids[0]})
|
||||
context.update({'period_id': pids[0]})
|
||||
|
||||
return {
|
||||
'value':res,
|
||||
|
@ -385,8 +377,10 @@ class account_bank_statement(osv.osv):
|
|||
ORDER BY date DESC,id DESC LIMIT 1', (journal_id, 'draft'))
|
||||
res = cr.fetchone()
|
||||
balance_start = res and res[0] or 0.0
|
||||
account_id = self.pool.get('account.journal').read(cr, uid, journal_id, ['default_debit_account_id'], context=context)['default_debit_account_id']
|
||||
return {'value': {'balance_start': balance_start, 'account_id': account_id}}
|
||||
journal_data = self.pool.get('account.journal').read(cr, uid, journal_id, ['default_debit_account_id', 'company_id'], context=context)
|
||||
account_id = journal_data['default_debit_account_id']
|
||||
company_id = journal_data['company_id']
|
||||
return {'value': {'balance_start': balance_start, 'account_id': account_id, 'company_id': company_id}}
|
||||
|
||||
def unlink(self, cr, uid, ids, context=None):
|
||||
stat = self.read(cr, uid, ids, ['state'], context=context)
|
||||
|
|
|
@ -594,7 +594,7 @@
|
|||
<form string="Bank Statement">
|
||||
<group col="7" colspan="4">
|
||||
<field name="name" select="1"/>
|
||||
<field name="date" select="1" on_change="onchange_date(date)"/>
|
||||
<field name="date" select="1" on_change="onchange_date(date, company_id)"/>
|
||||
<field name="journal_id" domain="[('type', '=', 'bank')]" on_change="onchange_journal_id(journal_id)" select="1" widget="selection"/>
|
||||
<newline/>
|
||||
<field name="period_id"/>
|
||||
|
@ -655,7 +655,8 @@
|
|||
<form string="Bank Statement">
|
||||
<group col="7" colspan="4">
|
||||
<field name="name" select="1"/>
|
||||
<field name="date" select="1" on_change="onchange_date(date)"/>
|
||||
<field name="date" select="1" on_change="onchange_date(date, company_id)"/>
|
||||
<field name='company_id' widget="selection" groups="base.group_multi_company" />
|
||||
<field name="journal_id" domain="[('type', '=', 'bank')]" on_change="onchange_journal_id(journal_id)" widget="selection"/>
|
||||
<newline/>
|
||||
<field name="period_id"/>
|
||||
|
@ -2620,7 +2621,7 @@ action = pool.get('res.config').next(cr, uid, [], context)
|
|||
<form string="Statement">
|
||||
<group col="6" colspan="4">
|
||||
<field name="name" select="1"/>
|
||||
<field name="company_id" select="1" groups="base.group_multi_company"/>
|
||||
<field name='company_id' widget="selection" groups="base.group_multi_company" />
|
||||
<field name="journal_id" on_change="onchange_journal_id(journal_id)" select="1" widget="selection"/>
|
||||
<field name="user_id" select="1" readonly="1"/>
|
||||
<field name="period_id" select="1"/>
|
||||
|
@ -2693,7 +2694,7 @@ action = pool.get('res.config').next(cr, uid, [], context)
|
|||
<group col="6" colspan="4">
|
||||
<group col="2" colspan="2">
|
||||
<separator string="Dates" colspan="4"/>
|
||||
<field name="date" select="1" attrs="{'readonly':[('state','!=','draft')]}" on_change="onchange_date(date)"/>
|
||||
<field name="date" select="1" attrs="{'readonly':[('state','!=','draft')]}" on_change="onchange_date(date, company_id)"/>
|
||||
<field name="closing_date" select="1" readonly="1"/>
|
||||
</group>
|
||||
<group col="2" colspan="2">
|
||||
|
|
Loading…
Reference in New Issue