From 4ab3faacb5c2411e7f66b503289c648c60e1febc Mon Sep 17 00:00:00 2001 From: "ksa (Open ERP)" Date: Tue, 19 Apr 2011 11:49:53 +0530 Subject: [PATCH] [IMP]: Solve the cursor problem in report bzr revid: ksa@tinyerp.co.in-20110419061953-sdn1drm3wufa47tm --- openerp/addons/base/res/res_company.py | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/openerp/addons/base/res/res_company.py b/openerp/addons/base/res/res_company.py index 6c384669855..bd6755aba64 100644 --- a/openerp/addons/base/res/res_company.py +++ b/openerp/addons/base/res/res_company.py @@ -284,16 +284,15 @@ class res_company(osv.osv): ] def createReport(self, cr, uid, ids, context=None): + # Used new cursor as it was closed explicitly somewhere and because of this partner data was not printed + # Tocheck: its not closed + cr = pooler.get_db(cr.dbname).cursor() company = self.browse(cr, uid, ids, context=context)[0] -# partner, address, country, phone, email = company.partner_id.name, company.partner_id.address and company.partner_id.address[0].street or '',\ -# company.partner_id.address and company.partner_id.address[0].country_id and company.partner_id.address[0].country_id.name or '',\ -# company.partner_id.address and company.partner_id.address[0].phone or '',\ -# company.partner_id.address and company.partner_id.address[0].email or '', + class company_parser(report_sxw.rml_parse): def __init__(self, cr, uid, name, context): super(company_parser, self).__init__(cr, uid, name, context=context) self.setCompany(company) - rml = etree.XML(company.rml_header) rml = rml.getchildren()[0] header_xml = """ @@ -301,13 +300,13 @@ class res_company(osv.osv): """ - tmppath= '/tmp/previews.rml' - fp = open(tmppath, 'wb+') + tempfilename= os.tempnam() + fp = open(tempfilename, 'wb+') fp.write(header_xml) fp.close() if netsvc.Service._services.get('report.company.report'): netsvc.Service._services.pop('report.company.report') - myreport = report_sxw.report_sxw('report.company.report', 'res.company', tmppath, parser=company_parser) + myreport = report_sxw.report_sxw('report.company.report', 'res.company', tempfilename, parser=company_parser) return { 'type': 'ir.actions.report.xml', 'report_name': 'company.report',