summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTejas Tank <tta@openerp.com>2013-03-25 12:03:22 +0530
committerTejas Tank <tta@openerp.com>2013-03-25 12:03:22 +0530
commitc9d79bc1efd0b2505bc94571ff4fbbd75f2ec8fb (patch)
tree17ab79ad7accd34134628e6cf0629c72739aa0b3
parent3cc6916ec1cfa0e473620a7929f31cd49632e970 (diff)
[IMP] account.cash.statement: onchange of journal_id, cashbox will be reflected as per journal.
bzr revid: tta@openerp.com-20130325063322-57r9edxi0l4mx74j
-rw-r--r--addons/account/account_cash_statement.py35
1 files changed, 18 insertions, 17 deletions
diff --git a/addons/account/account_cash_statement.py b/addons/account/account_cash_statement.py
index 6520ad0ec8a..95e7e0581cb 100644
--- a/addons/account/account_cash_statement.py
+++ b/addons/account/account_cash_statement.py
@@ -148,21 +148,19 @@ class account_cash_statement(osv.osv):
return result
def onchange_journal_id(self, cr, uid, ids, journal_id, context=None):
- result = super(account_cash_statement, self).onchange_journal_id(cr, uid, ids, journal_id)
- if not journal_id:
- return result
- result['value']['opening_details_ids'] = self._get_cash_open_box_lines(cr, uid, journal_id, context)
- statement_ids = self.search(cr, uid,
- [('journal_id', '=', journal_id),('state', '=', 'confirm')],
- order='create_date desc',
- limit=1,
- context=context
- )
- if not statement_ids:
- return result
-
- st = self.browse(cr, uid, statement_ids[0], context=context)
- result.setdefault('value', {}).update({'last_closing_balance' : st.balance_end_real})
+ result = {}
+ if journal_id:
+ result = super(account_cash_statement, self).onchange_journal_id(cr, uid, ids, journal_id)
+ statement_ids = self.search(cr, uid,
+ [('journal_id', '=', journal_id),('state', '=', 'confirm')],
+ order='create_date desc',
+ limit=1,
+ context=context
+ )
+ if statement_ids:
+ st = self.browse(cr, uid, statement_ids[0], context=context)
+ result.setdefault('value', {}).update({'last_closing_balance' : st.balance_end_real})
+ result['value']['opening_details_ids'] = self._get_cash_open_box_lines(cr, uid, ids, journal_id, context)
return result
_columns = {
@@ -185,7 +183,7 @@ class account_cash_statement(osv.osv):
'user_id': lambda self, cr, uid, context=None: uid,
}
- def _get_cash_open_box_lines(self, cr, uid, journa_id, context):
+ def _get_cash_open_box_lines(self, cr, uid, ids, journa_id, context):
details_ids = []
journal = self.pool.get('account.journal').browse(cr, uid, journa_id, context=context)
if journal and (journal.type == 'cash'):
@@ -228,7 +226,10 @@ class account_cash_statement(osv.osv):
@return: True on success, False otherwise
"""
-
+ cashbox_pool = self.pool.get('account.cashbox.line')
+ if vals.get('journal_id', False):
+ cashbox_ids = cashbox_pool.search(cr, uid, [('bank_statement_id', 'in', ids)], context=context)
+ cashbox_pool.unlink(cr, uid, cashbox_ids, context)
res = super(account_cash_statement, self).write(cr, uid, ids, vals, context=context)
self._update_balances(cr, uid, ids, context)
return res