diff options
| author | Tejas Tank <tta@openerp.com> | 2013-03-25 12:03:22 +0530 |
|---|---|---|
| committer | Tejas Tank <tta@openerp.com> | 2013-03-25 12:03:22 +0530 |
| commit | c9d79bc1efd0b2505bc94571ff4fbbd75f2ec8fb (patch) | |
| tree | 17ab79ad7accd34134628e6cf0629c72739aa0b3 | |
| parent | 3cc6916ec1cfa0e473620a7929f31cd49632e970 (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.py | 35 |
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 |
