From d941bce0766c9ed2ca68a31b4da2abd106937022 Mon Sep 17 00:00:00 2001 From: Simon Lejeune Date: Thu, 20 Mar 2014 15:25:20 +0100 Subject: [PATCH] [FIX] Adapted mrp bom structure (exit controller, added model) bzr revid: sle@openerp.com-20140320142520-3qapc7039q46eg9k --- addons/mrp/report/bom_structure.py | 18 ++++++++---------- addons/report/models/report.py | 13 ++++++------- 2 files changed, 14 insertions(+), 17 deletions(-) diff --git a/addons/mrp/report/bom_structure.py b/addons/mrp/report/bom_structure.py index 9af4e91b8ce..f710cce74ed 100644 --- a/addons/mrp/report/bom_structure.py +++ b/addons/mrp/report/bom_structure.py @@ -19,24 +19,22 @@ # ############################################################################## -from openerp.addons.web import http -from openerp.addons.web.http import request +from openerp.osv import osv -class bom_structure(http.Controller): +class bom_structure(osv.Model): + _name = 'report.mrp.report_mrpbomstructure' - @http.route(['/report/mrp.report_mrpbomstructure/'], type='http', auth='user', website=True, multilang=True) - def report_mrpbomstructure(self, docids): - ids = [int(i) for i in docids.split(',')] - ids = list(set(ids)) - report_obj = request.registry['mrp.bom'] - docs = report_obj.browse(request.cr, request.uid, ids, context=request.context) + def render_html(self, cr, uid, ids, data=None, context=None): + mrpbom_obj = self.pool['mrp.bom'] + report_obj = self.pool['report'] + docs = mrpbom_obj.browse(cr, uid, ids, context=context) docargs = { 'docs': docs, 'get_children': self.get_children, } - return request.registry['report'].render(request.cr, request.uid, [], 'mrp.report_mrpbomstructure', docargs) + return report_obj.render(cr, uid, [], 'mrp.report_mrpbomstructure', docargs) def get_children(self, object, level=0): result = [] diff --git a/addons/report/models/report.py b/addons/report/models/report.py index 174ec71fab2..9a713a014eb 100644 --- a/addons/report/models/report.py +++ b/addons/report/models/report.py @@ -228,13 +228,12 @@ class Report(osv.Model): # If the report is using a custom model to render its html, we must use it. # Otherwise, fallback on the generic html rendering. - if data is not None: - try: - report_model_name = 'report.%s' % report_name - particularreport_obj = self.pool[report_model_name] - return particularreport_obj.render_html(cr, uid, [], data=data, context=context) - except: - pass + try: + report_model_name = 'report.%s' % report_name + particularreport_obj = self.pool[report_model_name] + return particularreport_obj.render_html(cr, uid, ids, data=data, context=context) + except: + pass if isinstance(ids, (str, unicode)): ids = [int(i) for i in ids.split(',')]