From 4e0654bcbbc1bb23d987ca4a2c4932939a1917b5 Mon Sep 17 00:00:00 2001 From: "Hardik Ansodariy (OpenERP)" Date: Tue, 6 Sep 2011 11:54:33 +0530 Subject: [PATCH 1/4] [IMP] set default journal_id according to picking type bzr revid: han@tinyerp.com-20110906062433-9hq607sc9ahs6q3r --- .../stock/wizard/stock_invoice_onshipping.py | 25 +++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/addons/stock/wizard/stock_invoice_onshipping.py b/addons/stock/wizard/stock_invoice_onshipping.py index 42add8019c4..f479c416101 100644 --- a/addons/stock/wizard/stock_invoice_onshipping.py +++ b/addons/stock/wizard/stock_invoice_onshipping.py @@ -25,6 +25,24 @@ from tools.translate import _ class stock_invoice_onshipping(osv.osv_memory): + def _get_journal(self, cr, uid, context=None): + if context is None: + context = {} + stock = self.pool.get('stock.picking') + stock_browse = stock.browse(cr, uid, context.get('active_id')) + if stock_browse.sale_id: + type_inv = 'out' + elif stock_browse.purchase_id: + type_inv = 'in' + user = self.pool.get('res.users').browse(cr, uid, uid, context=context) + company_id = context.get('company_id', user.company_id.id) + type2journal = {'out': 'sale', 'in': 'purchase'} + journal_obj = self.pool.get('account.journal') + res = journal_obj.search(cr, uid, [('type', '=', type2journal.get(type_inv)), + ('company_id', '=', company_id)], + limit=1) + return res and res[0] or False + def _get_journal_id(self, cr, uid, context=None): if context is None: context = {} @@ -61,7 +79,6 @@ class stock_invoice_onshipping(osv.osv_memory): vals.append(t1) return vals - _name = "stock.invoice.onshipping" _description = "Stock Invoice Onshipping" @@ -70,7 +87,11 @@ class stock_invoice_onshipping(osv.osv_memory): 'group': fields.boolean("Group by partner"), 'invoice_date': fields.date('Invoiced date'), } - + + _defaults = { + 'journal_id' : _get_journal, + } + def view_init(self, cr, uid, fields_list, context=None): if context is None: context = {} From 33abe0cd3a133ac772c1f3685c0062de4be6e72d Mon Sep 17 00:00:00 2001 From: "Hardik Ansodariy (OpenERP)" Date: Wed, 7 Sep 2011 18:06:00 +0530 Subject: [PATCH 2/4] [imp] made changes in method according to new changes in trunk bzr revid: han@tinyerp.com-20110907123600-wror3ptq3n9ltipo --- addons/stock/wizard/stock_invoice_onshipping.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/stock/wizard/stock_invoice_onshipping.py b/addons/stock/wizard/stock_invoice_onshipping.py index f479c416101..4dc037e3879 100644 --- a/addons/stock/wizard/stock_invoice_onshipping.py +++ b/addons/stock/wizard/stock_invoice_onshipping.py @@ -30,9 +30,9 @@ class stock_invoice_onshipping(osv.osv_memory): context = {} stock = self.pool.get('stock.picking') stock_browse = stock.browse(cr, uid, context.get('active_id')) - if stock_browse.sale_id: + if stock_browse.type == 'out': type_inv = 'out' - elif stock_browse.purchase_id: + elif stock_browse.type == 'in': type_inv = 'in' user = self.pool.get('res.users').browse(cr, uid, uid, context=context) company_id = context.get('company_id', user.company_id.id) From 74bf94d3cebeebbfc1ff820aea41ae43dd3f3135 Mon Sep 17 00:00:00 2001 From: "Hardik Ansodariy (OpenERP)" Date: Thu, 8 Sep 2011 10:21:30 +0530 Subject: [PATCH 3/4] [imp] set default journal using existing method bzr revid: han@tinyerp.com-20110908045130-zzd3lx987mqt1mng --- addons/stock/wizard/stock_invoice_onshipping.py | 17 +---------------- 1 file changed, 1 insertion(+), 16 deletions(-) diff --git a/addons/stock/wizard/stock_invoice_onshipping.py b/addons/stock/wizard/stock_invoice_onshipping.py index 4dc037e3879..f94f184ad42 100644 --- a/addons/stock/wizard/stock_invoice_onshipping.py +++ b/addons/stock/wizard/stock_invoice_onshipping.py @@ -26,22 +26,7 @@ from tools.translate import _ class stock_invoice_onshipping(osv.osv_memory): def _get_journal(self, cr, uid, context=None): - if context is None: - context = {} - stock = self.pool.get('stock.picking') - stock_browse = stock.browse(cr, uid, context.get('active_id')) - if stock_browse.type == 'out': - type_inv = 'out' - elif stock_browse.type == 'in': - type_inv = 'in' - user = self.pool.get('res.users').browse(cr, uid, uid, context=context) - company_id = context.get('company_id', user.company_id.id) - type2journal = {'out': 'sale', 'in': 'purchase'} - journal_obj = self.pool.get('account.journal') - res = journal_obj.search(cr, uid, [('type', '=', type2journal.get(type_inv)), - ('company_id', '=', company_id)], - limit=1) - return res and res[0] or False + return self._get_journal_id(cr, uid, context=context)[0][0] or False def _get_journal_id(self, cr, uid, context=None): if context is None: From 9520ed7bd7112b250bf2ceff4562068c5c217eee Mon Sep 17 00:00:00 2001 From: "Hardik Ansodariy (OpenERP)" Date: Thu, 8 Sep 2011 14:08:24 +0530 Subject: [PATCH 4/4] [imp] improved code working without demo data too bzr revid: han@tinyerp.com-20110908083824-97jl61vtyq2te0ko --- addons/stock/wizard/stock_invoice_onshipping.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/addons/stock/wizard/stock_invoice_onshipping.py b/addons/stock/wizard/stock_invoice_onshipping.py index f94f184ad42..395758b121b 100644 --- a/addons/stock/wizard/stock_invoice_onshipping.py +++ b/addons/stock/wizard/stock_invoice_onshipping.py @@ -26,7 +26,10 @@ from tools.translate import _ class stock_invoice_onshipping(osv.osv_memory): def _get_journal(self, cr, uid, context=None): - return self._get_journal_id(cr, uid, context=context)[0][0] or False + res = self._get_journal_id(cr, uid, context=context) + if res: + return res[0] + return False def _get_journal_id(self, cr, uid, context=None): if context is None: