summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--addons/account/account_bank_statement.py32
-rw-r--r--addons/account/account_view.xml9
2 files changed, 18 insertions, 23 deletions
diff --git a/addons/account/account_bank_statement.py b/addons/account/account_bank_statement.py
index bd31b01a41d..c255775b83b 100644
--- a/addons/account/account_bank_statement.py
+++ b/addons/account/account_bank_statement.py
@@ -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)
diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml
index 3d34396248b..3a28ea9a244 100644
--- a/addons/account/account_view.xml
+++ b/addons/account/account_view.xml
@@ -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">