summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Trigaux <mat@odoo.com>2014-10-31 08:38:34 +0100
committerMartin Trigaux <mat@odoo.com>2014-10-31 08:40:30 +0100
commitaa9914568b8b8dcece03f64a1ba4d072d8bc2b4d (patch)
treeed646b26b7761bca68c9af6e9d17d0f7a2fce246
parentb8f1ed147eb742591111297ce3fd1ed5c96a5c10 (diff)
[FIX] account: default partner format
When creating a new account.move.line, the computation of the default values should accept both `id` and `(id, name)` format. The key partner_id may be containing a tuple so browsing should only be done on the first element of the tuple. Fixes #3386
-rw-r--r--addons/account/account_move_line.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/addons/account/account_move_line.py b/addons/account/account_move_line.py
index 355db627846..6daa844ec6c 100644
--- a/addons/account/account_move_line.py
+++ b/addons/account/account_move_line.py
@@ -274,8 +274,13 @@ class account_move_line(osv.osv):
journal_data = journal_obj.browse(cr, uid, context['journal_id'], context=context)
account = total > 0 and journal_data.default_credit_account_id or journal_data.default_debit_account_id
#map the account using the fiscal position of the partner, if needed
- part = data.get('partner_id') and partner_obj.browse(cr, uid, data['partner_id'], context=context) or False
- if account and data.get('partner_id'):
+ if isinstance(data.get('partner_id'), (int, long)):
+ part = partner_obj.browse(cr, uid, data['partner_id'], context=context)
+ elif isinstance(data.get('partner_id'), (tuple, list)):
+ part = partner_obj.browse(cr, uid, data['partner_id'][0], context=context)
+ else:
+ part = False
+ if account and part:
account = fiscal_pos_obj.map_account(cr, uid, part and part.property_account_position or False, account.id)
account = account_obj.browse(cr, uid, account, context=context)
data['account_id'] = account and account.id or False