diff options
| author | Martin Trigaux <mat@odoo.com> | 2014-10-31 08:38:34 +0100 |
|---|---|---|
| committer | Martin Trigaux <mat@odoo.com> | 2014-10-31 08:40:30 +0100 |
| commit | aa9914568b8b8dcece03f64a1ba4d072d8bc2b4d (patch) | |
| tree | ed646b26b7761bca68c9af6e9d17d0f7a2fce246 | |
| parent | b8f1ed147eb742591111297ce3fd1ed5c96a5c10 (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.py | 9 |
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 |
