diff --git a/addons/account/account_move_line.py b/addons/account/account_move_line.py index 5003fe10942..12f3682cf56 100644 --- a/addons/account/account_move_line.py +++ b/addons/account/account_move_line.py @@ -70,6 +70,33 @@ class account_move_line(osv.osv): # Compute simple values data = super(account_move_line, self).default_get(cr, uid, fields, context) + # Starts: Manual entry from account.move form + if context.get('lines',[]): + + total_new=0.00 + for i in context['lines']: + 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_obj=self.pool.get('account.journal').browse(cr,uid,context['journal']) + if journal_obj.type == 'purchase': + if total_new>0: + account = journal_obj.default_credit_account_id + else: + account = journal_obj.default_debit_account_id + else: + if total_new>0: + account = journal_obj.default_credit_account_id + else: + account = journal_obj.default_debit_account_id + data['account_id'] = account.id + s = -total_new + data['debit'] = s>0 and s or 0.0 + data['credit'] = s<0 and -s or 0.0 + return data + # Ends: Manual entry from account.move form + if not 'move_id' in fields: #we are not in manual entry return data @@ -649,7 +676,6 @@ class account_move_line(osv.osv): def create(self, cr, uid, vals, context=None, check=True): if not context: context={} - account_obj = self.pool.get('account.account') tax_obj=self.pool.get('account.tax') diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml index 1785fefcf92..6099ec57535 100644 --- a/addons/account/account_view.xml +++ b/addons/account/account_view.xml @@ -801,7 +801,7 @@ - +
@@ -828,7 +828,6 @@ -