diff --git a/addons/account/report/report_vat.py b/addons/account/report/report_vat.py index 81e3bb64415..1c06bdc4037 100644 --- a/addons/account/report/report_vat.py +++ b/addons/account/report/report_vat.py @@ -30,12 +30,12 @@ except ImportError: import xlwt -class tax_report(osv.Model, common_report_header): +class tax_report(osv.AbstractModel, common_report_header): _name = 'report.account.report_vat' def render_html(self, cr, uid, ids, data=None, context=None): report_obj = request.registry['report'] - self.cr, self.uid = cr, uid + self.cr, self.uid, self.context = cr, uid, context res = {} self.period_ids = [] @@ -55,7 +55,7 @@ class tax_report(osv.Model, common_report_header): 'period_to': self.get_end_period(data), 'taxlines': self._get_lines(self._get_basedon(data), company_id=data['form']['company_id']), } - return report_obj.render(self.cr, self.uid, [], 'account.report_vat', docargs) + return report_obj.render(self.cr, self.uid, [], 'account.report_vat', docargs, context=context) def _get_basedon(self, form): return form['form']['based_on'] diff --git a/addons/mrp/report/bom_structure.py b/addons/mrp/report/bom_structure.py index f710cce74ed..eb238374293 100644 --- a/addons/mrp/report/bom_structure.py +++ b/addons/mrp/report/bom_structure.py @@ -22,7 +22,7 @@ from openerp.osv import osv -class bom_structure(osv.Model): +class bom_structure(osv.AbstractModel): _name = 'report.mrp.report_mrpbomstructure' def render_html(self, cr, uid, ids, data=None, context=None): diff --git a/addons/report/controllers/main.py b/addons/report/controllers/main.py index 672cae81f77..c843d92044e 100644 --- a/addons/report/controllers/main.py +++ b/addons/report/controllers/main.py @@ -32,13 +32,12 @@ class ReportController(Controller): #------------------------------------------------------ # Generic reports controller #------------------------------------------------------ - - @route(['/report//'], type='http', auth='user', website=True, multilang=True) + @route('/report//', type='http', auth='user', website=True, multilang=True) def report_html(self, reportname, docids): cr, uid, context = request.cr, request.uid, request.context return request.registry['report'].get_html(cr, uid, docids, reportname, context=context) - @route(['/report/pdf/report//'], type='http', auth="user", website=True) + @route('/report/pdf/report//', type='http', auth="user", website=True) def report_pdf(self, reportname, docids): cr, uid, context = request.cr, request.uid, request.context pdf = request.registry['report'].get_pdf(cr, uid, docids, reportname, context=context) @@ -48,15 +47,14 @@ class ReportController(Controller): #------------------------------------------------------ # Particular reports controller #------------------------------------------------------ - - @route(['/report/'], type='http', auth='user', website=True, multilang=True) + @route('/report/', type='http', auth='user', website=True, multilang=True) def report_html_particular(self, reportname, **data): cr, uid, context = request.cr, request.uid, request.context report_obj = request.registry['report'] data = report_obj.eval_params(data) # Sanitizing return report_obj.get_html(cr, uid, [], reportname, data=data, context=context) - @route(['/report/pdf/report/'], type='http', auth='user', website=True, multilang=True) + @route('/report/pdf/report/', type='http', auth='user', website=True, multilang=True) def report_pdf_particular(self, reportname, **data): cr, uid, context = request.cr, request.uid, request.context report_obj = request.registry['report'] @@ -66,15 +64,15 @@ class ReportController(Controller): return request.make_response(pdf, headers=pdfhttpheaders) #------------------------------------------------------ - # Misc. utils + # Misc. route utils #------------------------------------------------------ - @route(['/report/barcode', '/report/barcode//'], type='http', auth="user") def report_barcode(self, type, value, width=300, height=50): """Contoller able to render barcode images thanks to reportlab. Samples: - + :param type: Accepted types: 'Codabar', 'Code11', 'Code128', 'EAN13', 'EAN8', 'Extended39', 'Extended93', 'FIM', 'I2of5', 'MSI', 'POSTNET', 'QR', 'Standard39', 'Standard93', @@ -112,9 +110,8 @@ class ReportController(Controller): else: # Particular report: querystring = url.split('?')[1] - querystring = urlparse.parse_qsl(querystring) - dict_querystring = dict(querystring) - response = self.report_pdf_particular(reportname, **dict_querystring) + querystring = dict(urlparse.parse_qsl(querystring)) + response = self.report_pdf_particular(reportname, **querystring) response.headers.add('Content-Disposition', 'attachment; filename=%s.pdf;' % reportname) response.set_cookie('fileToken', token) diff --git a/addons/report/models/report.py b/addons/report/models/report.py index c685484c4af..79bf41158c0 100644 --- a/addons/report/models/report.py +++ b/addons/report/models/report.py @@ -187,29 +187,12 @@ class Report(osv.Model): qcontext['o'] = self.pool[model].browse(cr, uid, doc_id, context=ctx) return view_obj.render(cr, uid, template, qcontext, context=ctx) - current_user = self.pool['res.users'].browse(cr, uid, uid, context=context) - - # Website independance code - website = False - res_company = current_user.company_id - - try: - from openerp.addons.web.http import request - if request.website: - website = request.website - res_company = request.website.company_id - except: - pass - values.update({ 'time': time, - 'user': current_user, - 'user_id': current_user.id, 'formatLang': lambda *args, **kwargs: self.formatLang(*args, cr=cr, uid=uid, **kwargs), 'get_digits': self.get_digits, 'render_doc': render_doc, - 'website': website, - 'res_company': res_company, + 'editable': True, # Will active inherit_branding }) return view_obj.render(cr, uid, template, values, context=context) diff --git a/addons/report/static/src/js/qwebactionmanager.js b/addons/report/static/src/js/qwebactionmanager.js index cb04b8dc641..57163d58b20 100644 --- a/addons/report/static/src/js/qwebactionmanager.js +++ b/addons/report/static/src/js/qwebactionmanager.js @@ -49,7 +49,7 @@ openerp.report = function(instance) { } if (action.report_type == 'qweb-html' || action.report_type == 'controller') { // Open the html report in a popup - window.open(report_url, '_blank', 'height=768,width=1024'); + window.open(report_url, '_blank', 'height=900,width=1280'); instance.web.unblockUI(); return; } else { @@ -63,7 +63,7 @@ openerp.report = function(instance) { // Fallback of qweb-pdf if wkhtmltopdf is not installed if (!presence && action.report_type == 'qweb-pdf') { self.do_notify(_t('Report'), _t('Unable to find Wkhtmltopdf on this \ -system. The report will be shown in html.

\ +system. The report will be shown in html.

\ wkhtmltopdf.org'), true); window.open(report_url.substring(12), '_blank', 'height=768,width=1024'); instance.web.unblockUI(); diff --git a/addons/website_report/views/layouts.xml b/addons/website_report/views/layouts.xml index 091bb8dd3db..d3f6d69dd9e 100644 --- a/addons/website_report/views/layouts.xml +++ b/addons/website_report/views/layouts.xml @@ -42,16 +42,18 @@ - + + +