From 44c948caf4e4beec8863e2848aef7a56d789442b Mon Sep 17 00:00:00 2001
From: "Denis Ledoux dle@openerp.com" <>
Date: Thu, 22 Nov 2012 16:06:45 +0100
Subject: [PATCH] [FIX]Possibility to choose journal none and period none
bzr revid: dle@openerp.com-20121122150645-kxfuwdfy6qxvjvxu
---
addons/account/account_move_line.py | 11 ++++++++---
addons/account/account_view.xml | 5 +++--
.../static/src/js/account_move_line_quickadd.js | 3 ++-
3 files changed, 13 insertions(+), 6 deletions(-)
diff --git a/addons/account/account_move_line.py b/addons/account/account_move_line.py
index 1128ff465fe..4fb78392326 100644
--- a/addons/account/account_move_line.py
+++ b/addons/account/account_move_line.py
@@ -505,11 +505,11 @@ class account_move_line(osv.osv):
'amount_residual_currency': fields.function(_amount_residual, string='Residual Amount', multi="residual", help="The residual amount on a receivable or payable of a journal entry expressed in its currency (maybe different of the company currency)."),
'amount_residual': fields.function(_amount_residual, string='Residual Amount', multi="residual", help="The residual amount on a receivable or payable of a journal entry expressed in the company currency."),
'currency_id': fields.many2one('res.currency', 'Currency', help="The optional other currency if it is a multi-currency entry."),
- 'journal_id': fields.related('move_id', 'journal_id', string='Journal', type='many2one', relation='account.journal', required=True, select=True, readonly=True,
+ 'journal_id': fields.related('move_id', 'journal_id', string='Journal', type='many2one', relation='account.journal', required=True, select=True,
store = {
'account.move': (_get_move_lines, ['journal_id'], 20)
}),
- 'period_id': fields.related('move_id', 'period_id', string='Period', type='many2one', relation='account.period', required=True, select=True, readonly=True,
+ 'period_id': fields.related('move_id', 'period_id', string='Period', type='many2one', relation='account.period', required=True, select=True,
store = {
'account.move': (_get_move_lines, ['period_id'], 20)
}),
@@ -565,6 +565,9 @@ class account_move_line(osv.osv):
"""
Return default account period value
"""
+ context = context or {}
+ if context.get('period_id', False):
+ return context['period_id']
account_period_obj = self.pool.get('account.period')
ids = account_period_obj.find(cr, uid, context=context)
period_id = False
@@ -576,7 +579,9 @@ class account_move_line(osv.osv):
"""
Return journal based on the journal type
"""
-
+ context = context or {}
+ if context.get('journal_id', False):
+ return context['journal_id']
journal_id = False
journal_pool = self.pool.get('account.journal')
diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml
index c62607e12a1..eae8f902d78 100644
--- a/addons/account/account_view.xml
+++ b/addons/account/account_view.xml
@@ -991,8 +991,8 @@
-
-
+
+
@@ -1010,6 +1010,7 @@
+
diff --git a/addons/account/static/src/js/account_move_line_quickadd.js b/addons/account/static/src/js/account_move_line_quickadd.js
index 2535a888bc9..8eda55876e3 100644
--- a/addons/account/static/src/js/account_move_line_quickadd.js
+++ b/addons/account/static/src/js/account_move_line_quickadd.js
@@ -91,7 +91,8 @@ openerp.account.quickadd = function (instance) {
if (self.current_journal !== null) domain.push(["journal_id", "=", self.current_journal]);
if (self.current_period !== null) domain.push(["period_id", "=", self.current_period]);
self.last_context["journal_id"] = self.current_journal === null ? false : self.current_journal;
- self.last_context["period_id"] = self.current_period === null ? false : self.current_period;
+ if (self.current_period === null) delete self.last_context["period_id"];
+ else self.last_context["period_id"] = self.current_period;
self.last_context["journal_type"] = self.current_journal_type;
self.last_context["currency"] = self.current_journal_currency;
self.last_context["analytic_journal_id"] = self.current_journal_analytic;