From 91dfd728a18998a34078b66bc8236ffb51eacd2c Mon Sep 17 00:00:00 2001 From: "Nimesh (Open ERP)" Date: Wed, 31 Oct 2012 13:29:40 +0530 Subject: [PATCH] [IMP] if not invoice then open wizard to create invoice. bzr revid: nco@tinyerp.com-20121031075940-jqm230de227lcsoj --- addons/purchase/stock.py | 22 +++++++++++++++++++--- addons/purchase/stock_view.xml | 2 +- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/addons/purchase/stock.py b/addons/purchase/stock.py index 0aab70ed7d6..d3cf16c42a8 100644 --- a/addons/purchase/stock.py +++ b/addons/purchase/stock.py @@ -138,11 +138,27 @@ class stock_picking_in(osv.osv): 'purchase_invoice_method': fields.related('purchase_id', 'invoice_method', type='selection', selection=[('manual','Based on Purchase Order lines'),('order','Based on generated draft invoice'),('picking','Based on incoming shipments')], string='Purchase Invoice Method'), 'warehouse_id': fields.related('purchase_id', 'warehouse_id', type='many2one', relation='stock.warehouse', string='Destination Warehouse'), } - def create_draft_invoice(self, cr, uid, ids, context=None): + def view_invoice(self, cr, uid, ids, context=None): pur_obj = self.pool.get('purchase.order') + models_data = self.pool.get('ir.model.data') pur_ids = [] + inv_ids = [] for pur_id in self.browse(cr, uid, ids, context=context): pur_ids.append(pur_id.purchase_id.id) - pur_obj.action_invoice_create(cr, uid, pur_ids, context=context) - return pur_obj.view_invoice(cr, uid, pur_ids, context=context) + for po in pur_obj.browse(cr, uid, pur_ids, context=context): + inv_ids+= [invoice.id for invoice in po.invoice_ids] + form_view = models_data.get_object_reference(cr, uid, 'stock', 'view_stock_invoice_onshipping') + if inv_ids: + return pur_obj.view_invoice(cr, uid, pur_ids, context=context) + else: + return { + 'name': _('Create Supplier Invoice'), + 'view_type': 'form', + 'view_mode': 'form', + 'res_model': 'stock.invoice.onshipping', + 'view_id': False, + 'views': [(form_view and form_view[1] or False, 'form')], + 'target': 'new', + 'type': 'ir.actions.act_window', + } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/purchase/stock_view.xml b/addons/purchase/stock_view.xml index a16ac34bf55..379e95400c4 100644 --- a/addons/purchase/stock_view.xml +++ b/addons/purchase/stock_view.xml @@ -46,7 +46,7 @@ -