diff --git a/addons/account/account_bank_statement.py b/addons/account/account_bank_statement.py index e5581f3f05d..52e1b20a744 100644 --- a/addons/account/account_bank_statement.py +++ b/addons/account/account_bank_statement.py @@ -49,9 +49,16 @@ class account_bank_statement(osv.osv): } def _default_journal_id(self, cr, uid, context={}): - if context.get('journal_id', False): - return context['journal_id'] - return False + journal_pool = self.pool.get('account.journal') + journal_type = context.get('journal_type', False) + journal_id = False + + if journal_type: + ids = journal_pool.search(cr, uid, [('type', '=', journal_type)]) + if ids: + journal_id = ids[0] + + return journal_id def _default_balance_start(self, cr, uid, context={}): cr.execute('select id from account_bank_statement where journal_id=%s order by date desc limit 1', (1,)) @@ -128,7 +135,7 @@ class account_bank_statement(osv.osv): 'date': fields.date('Date', required=True, states={'confirm': [('readonly', True)]}), 'journal_id': fields.many2one('account.journal', 'Journal', required=True, - states={'confirm': [('readonly', True)]}, domain=[('type', '=', 'cash')]), + states={'confirm': [('readonly', True)]}, domain=[('type', '=', 'bank')]), 'period_id': fields.many2one('account.period', 'Period', required=True, states={'confirm':[('readonly', True)]}), 'balance_start': fields.float('Starting Balance', digits_compute=dp.get_precision('Account'), diff --git a/addons/account/account_cash_statement.py b/addons/account/account_cash_statement.py index af92d59b89b..b222c45c783 100644 --- a/addons/account/account_cash_statement.py +++ b/addons/account/account_cash_statement.py @@ -118,18 +118,18 @@ class account_cash_statement(osv.osv): res2[statement.id]=encoding_total return res2 - def _default_journal_id(self, cr, uid, context={}): +# def _default_journal_id(self, cr, uid, context={}): - """ To get default journal for the object" - @param name: Names of fields. - @return: journal - """ - company_id = self.pool.get('res.users').browse(cr, uid, uid).company_id.id - journal = self.pool.get('account.journal').search(cr, uid, [('type', '=', 'cash'), ('company_id', '=', company_id)]) - if journal: - return journal[0] - else: - return False +# """ To get default journal for the object" +# @param name: Names of fields. +# @return: journal +# """ +# company_id = self.pool.get('res.users').browse(cr, uid, uid).company_id.id +# journal = self.pool.get('account.journal').search(cr, uid, [('type', '=', 'cash'), ('company_id', '=', company_id)]) +# if journal: +# return journal[0] +# else: +# return False def _end_balance(self, cursor, user, ids, name, attr, context=None): res_currency_obj = self.pool.get('res.currency') @@ -182,12 +182,12 @@ class account_cash_statement(osv.osv): 'pieces':rs, 'number':0 } - res.append((0,0,dct)) + res.append(dct) return res _columns = { 'company_id':fields.many2one('res.company', 'Company', required=False), - 'journal_id': fields.many2one('account.journal', 'Journal', required=True), + 'journal_id': fields.many2one('account.journal', 'Journal', required=True, domain=[('type', '=', 'cash')]), 'balance_end_real': fields.float('Closing Balance', digits_compute=dp.get_precision('Account'), states={'confirm':[('readonly', True)]}, help="closing balance entered by the cashbox verifier"), 'state': fields.selection( [('draft', 'Draft'), @@ -206,7 +206,6 @@ class account_cash_statement(osv.osv): 'state': lambda *a: 'draft', 'name': lambda *a: '/', 'date': lambda *a:time.strftime("%Y-%m-%d %H:%M:%S"), - 'journal_id': _default_journal_id, 'user_id': lambda self, cr, uid, context=None: uid, 'company_id': _get_company, 'starting_details_ids':_get_cash_box_lines, diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml index f8c38ccbf92..d1cb2558f38 100644 --- a/addons/account/account_view.xml +++ b/addons/account/account_view.xml @@ -551,6 +551,7 @@ form tree,form,graph [('journal_id.type', '=', 'bank')] + {'journal_type':'bank'} @@ -2568,6 +2569,7 @@ [('journal_id.type', '=', 'cash')] + {'journal_type':'cash'}