[FIX] Report : Proper Message notification when RML file is not found
lp bug: https://launchpad.net/bugs/499501 fixed bzr revid: jvo@tinyerp.com-20100106063308-dh5ktjs7mkvvhky1
This commit is contained in:
parent
710e5029ac
commit
f5ec8210a5
|
@ -361,7 +361,10 @@ class report_sxw(report_rml, preprocess.report):
|
|||
fnct = self.create_source_html2html
|
||||
else:
|
||||
raise 'Unknown Report Type'
|
||||
return fnct(cr, uid, ids, data, report_xml, context)
|
||||
fnct_ret = fnct(cr, uid, ids, data, report_xml, context)
|
||||
if not fnct_ret:
|
||||
return (False,False)
|
||||
return fnct_ret
|
||||
|
||||
def create_source_odt(self, cr, uid, ids, data, report_xml, context=None):
|
||||
return self.create_single_odt(cr, uid, ids, data, report_xml, context or {})
|
||||
|
@ -390,6 +393,8 @@ class report_sxw(report_rml, preprocess.report):
|
|||
results.append((d,'pdf'))
|
||||
continue
|
||||
result = self.create_single_pdf(cr, uid, [obj.id], data, report_xml, context)
|
||||
if not result:
|
||||
return False
|
||||
try:
|
||||
if aname:
|
||||
name = aname+'.'+result[1]
|
||||
|
@ -427,6 +432,9 @@ class report_sxw(report_rml, preprocess.report):
|
|||
context = context.copy()
|
||||
title = report_xml.name
|
||||
rml = report_xml.report_rml_content
|
||||
# if no rml file is found
|
||||
if not rml:
|
||||
return False
|
||||
rml_parser = self.parser(cr, uid, self.name2, context=context)
|
||||
objs = self.getObjects(cr, uid, ids, context)
|
||||
rml_parser.set_context(objs, data, ids, report_xml.report_type)
|
||||
|
|
|
@ -696,15 +696,19 @@ class report_spool(netsvc.Service):
|
|||
|
||||
def go(id, uid, ids, datas, context):
|
||||
cr = pooler.get_db(db).cursor()
|
||||
import traceback
|
||||
import sys
|
||||
try:
|
||||
obj = netsvc.LocalService('report.'+object)
|
||||
(result, format) = obj.create(cr, uid, ids, datas, context)
|
||||
if not result:
|
||||
tb = sys.exc_info()
|
||||
self._reports[id]['exception'] = ExceptionWithTraceback('RML is not available at specified location or not enough data to print!', tb)
|
||||
self._reports[id]['result'] = result
|
||||
self._reports[id]['format'] = format
|
||||
self._reports[id]['state'] = True
|
||||
except Exception, exception:
|
||||
import traceback
|
||||
import sys
|
||||
|
||||
tb = sys.exc_info()
|
||||
tb_s = "".join(traceback.format_exception(*tb))
|
||||
logger = netsvc.Logger()
|
||||
|
|
Loading…
Reference in New Issue