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'}