From 534f64d79843709d8640c814b746a35fd427ce59 Mon Sep 17 00:00:00 2001 From: "Rucha (Open ERP)" Date: Wed, 1 Feb 2012 17:14:41 +0530 Subject: [PATCH] [IMP]: account: [FOR TESTING ONLY] try to fix problem of opening move form view from web client bzr revid: rpa@tinyerp.com-20120201114441-bmmn15cwr76bd6p7 --- addons/account/account.py | 11 +++++++++++ addons/account/account_move_line.py | 15 ++++++++------- addons/account/account_view.xml | 5 ++++- 3 files changed, 23 insertions(+), 8 deletions(-) diff --git a/addons/account/account.py b/addons/account/account.py index b97fd870749..da5bd82b7f9 100644 --- a/addons/account/account.py +++ b/addons/account/account.py @@ -1271,7 +1271,9 @@ class account_move(osv.osv): 'date': fields.date('Date', required=True, states={'posted':[('readonly',True)]}, select=True), 'narration':fields.text('Internal Note'), 'company_id': fields.related('journal_id','company_id',type='many2one',relation='res.company',string='Company', store=True, readonly=True), + 'balance': fields.float('balance', digits_compute=dp.get_precision('Account')), } + _defaults = { 'name': '/', 'state': 'draft', @@ -1354,6 +1356,15 @@ class account_move(osv.osv): 'WHERE id IN %s', ('draft', tuple(ids),)) return True + def onchange_line_id(self, cr, uid, ids, line_ids, context=None): + print 'onchange_line_id..........', ids, line_ids + balance = 0.0 + for line in line_ids: + if line[2]: + print line[2]['debit'], line[2]['credit'] + balance += (line[2]['debit'] or 0.00)- (line[2]['credit'] or 0.00) + return {'value': {'balance': balance}} + def write(self, cr, uid, ids, vals, context=None): if context is None: context = {} diff --git a/addons/account/account_move_line.py b/addons/account/account_move_line.py index 4d92d8159ba..4cd8affc040 100644 --- a/addons/account/account_move_line.py +++ b/addons/account/account_move_line.py @@ -212,6 +212,7 @@ class account_move_line(osv.osv): return context def _default_get(self, cr, uid, fields, context=None): + print '___default get', context.get('lines') if context is None: context = {} if not context.get('journal_id', False) and context.get('search_default_journal_id', False): @@ -228,13 +229,13 @@ class account_move_line(osv.osv): # Compute simple values data = super(account_move_line, self).default_get(cr, uid, fields, context=context) # Starts: Manual entry from account.move form - if context.get('lines',[]): - total_new = 0.00 - for i in context['lines']: - if i[2]: - total_new += (i[2]['debit'] or 0.00)- (i[2]['credit'] or 0.00) - for item in i[2]: - data[item] = i[2][item] + if context.get('lines'): + total_new = context.get('lines', 0.00) +# for i in eval(context['lines']): +# if i[2]: +# total_new += (i[2]['debit'] or 0.00)- (i[2]['credit'] or 0.00) +# for item in i[2]: +# data[item] = i[2][item] if context['journal']: journal_data = journal_obj.browse(cr, uid, context['journal'], context=context) if journal_data.type == 'purchase': diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml index e7686919d22..fc6085af72e 100644 --- a/addons/account/account_view.xml +++ b/addons/account/account_view.xml @@ -1364,7 +1364,10 @@ - + +