[FIX] payment mode - account must belong to company

lp bug: https://launchpad.net/bugs/739562 fixed

bzr revid: skh@tinyerp.com-20110405123958-savml2himnvrhsr3
This commit is contained in:
skh 2011-04-05 18:09:58 +05:30
parent 838512af0b
commit e21a561cb1
2 changed files with 13 additions and 3 deletions

View File

@ -33,7 +33,9 @@ class payment_mode(osv.osv):
required=True,help='Bank Account for the Payment Mode'),
'journal': fields.many2one('account.journal', 'Journal', required=True,
domain=[('type', 'in', ('bank','cash'))], help='Bank or Cash Journal for the Payment Mode'),
'company_id': fields.many2one('res.company', 'Company', required=True),
'company_id': fields.many2one('res.company', 'Company',required=True),
'partner_id':fields.related('company_id','partner_id',type='many2one',relation='res.partner',string='Partner',store=True,),
}
_defaults = {
'company_id': lambda self,cr,uid,c: self.pool.get('res.users').browse(cr, uid, uid, c).company_id.id
@ -49,6 +51,13 @@ class payment_mode(osv.osv):
JOIN payment_mode pm ON (pm.bank_id = pb.id)
WHERE pm.id = %s """, [payment_code])
return [x[0] for x in cr.fetchall()]
def onchange_company_id (self,cr,uid,ids,company_id,context=None):
vals={}
if company_id:
partner = self.pool.get('res.company').read(cr, uid, [company_id], ['partner_id'])[0]['partner_id']
return {'value': {'partner_id': partner}}
payment_mode()

View File

@ -79,8 +79,9 @@
<form string="Payment Mode">
<field name="name" select="1"/>
<field name="journal" select="1"/>
<field name="bank_id"/>
<field name="company_id" select="1" widget='selection' groups="base.group_multi_company"/>
<field name="bank_id" domain="[('partner_id','=',partner_id)]" />
<field name="company_id" select="1" widget='selection' groups="base.group_multi_company" on_change="onchange_company_id(company_id)"/>
<field name="partner_id" select="1" widget='selection' invisible="1"/>
</form>
</field>
</record>