[FIX] Correction when no account or no company
authorJosse Colpaert <jco@openerp.com>
Wed, 19 Dec 2012 11:55:17 +0000 (12:55 +0100)
committerJosse Colpaert <jco@openerp.com>
Wed, 19 Dec 2012 11:55:17 +0000 (12:55 +0100)
bzr revid: jco@openerp.com-20121219115517-uj3t8embox155kty

addons/account_voucher/account_voucher.py

index 59399a7..609a196 100644 (file)
@@ -49,19 +49,24 @@ class account_config_settings(osv.osv_memory):
             'company_id', 'income_currency_exchange_account_id',
             type='many2one',
             relation='account.account',
-            string="Gain Exchange Rate Account"),
+            string="Gain Exchange Rate Account", 
+            domain="[('type', '=', 'other')]"),
         'expense_currency_exchange_account_id': fields.related(
             'company_id', 'expense_currency_exchange_account_id',
             type="many2one",
             relation='account.account',
-            string="Loss Exchange Rate Account"),
+            string="Loss Exchange Rate Account",
+            domain="[('type', '=', 'other')]"),
     }
     def onchange_company_id(self, cr, uid, ids, company_id):
         res = super(account_config_settings, self).onchange_company_id(cr, uid, ids, company_id)
         if company_id:
             company = self.pool.get('res.company').browse(cr, uid, company_id)
-            res['value'].update({'income_currency_exchange_account_id': company.income_currency_exchange_account_id and company.income_currency_exchange_account_id.id, 
-                                 'expense_currency_exchange_account_id': company.expense_currency_exchange_account_id and company.expense_currency_exchange_account_id.id})
+            res['value'].update({'income_currency_exchange_account_id': company.income_currency_exchange_account_id and company.income_currency_exchange_account_id.id or False, 
+                                 'expense_currency_exchange_account_id': company.expense_currency_exchange_account_id and company.expense_currency_exchange_account_id.id or False})
+        else: 
+            res['value'].update({'income_currency_exchange_account_id': False, 
+                                 'expense_currency_exchange_account_id': False})
         return res
 
 class account_voucher(osv.osv):