summaryrefslogtreecommitdiff
path: root/bin/report/interface.py
diff options
context:
space:
mode:
authorxrg <>2009-11-20 20:01:04 +0530
committerHarry (Open ERP) <hmo@tinyerp.com>2009-11-20 20:01:04 +0530
commitdad1ff955b636ccbad687f2f3f731ee8f512bd6f (patch)
treee3405d96ef59f72094e5e300db24fb713e2b8838 /bin/report/interface.py
parentb2a9a804ebf6c93ebe98751dd6b1008b8fe09306 (diff)
parentf566ea57a83bab87a8c7fa9743d190b4520c89e2 (diff)
[merge] merge from lp:~xrg/openobject-server/optimize-5.0 and removed some confilts
bzr revid: hmo@tinyerp.com-20091120143104-tb6136unkdw7yfy9
Diffstat (limited to 'bin/report/interface.py')
-rw-r--r--bin/report/interface.py15
1 files changed, 11 insertions, 4 deletions
diff --git a/bin/report/interface.py b/bin/report/interface.py
index 8c44bc38de9..b5f465c81ec 100644
--- a/bin/report/interface.py
+++ b/bin/report/interface.py
@@ -48,7 +48,7 @@ def toxml(val):
class report_int(netsvc.Service):
def __init__(self, name, audience='*'):
- assert not netsvc.service_exist(name), 'The report "%s" already exist!' % name
+ assert not self.service_exist(name), 'The report "%s" already exist!' % name
super(report_int, self).__init__(name, audience)
if name[0:7]<>'report.':
raise Exception, 'ConceptionError, bad report name, should start with "report."'
@@ -56,7 +56,7 @@ class report_int(netsvc.Service):
self.id = 0
self.name2 = '.'.join(name.split('.')[1:])
self.title = None
- self.joinGroup('report')
+ #self.joinGroup('report')
self.exportMethod(self.create)
def create(self, cr, uid, ids, datas, context=None):
@@ -80,6 +80,7 @@ class report_rml(report_int):
'html': self.create_html,
'raw': self.create_raw,
'sxw': self.create_sxw,
+ 'txt': self.create_txt,
'odt': self.create_odt,
'html2html' : self.create_html2html,
'makohtml2html' :self.create_makohtml2html,
@@ -204,11 +205,17 @@ class report_rml(report_int):
obj.render()
return obj.get()
+ def create_txt(self, rml,localcontext, logo=None, title=None):
+ obj = render.rml2txt(rml, localcontext, self.bin_datas)
+ obj.render()
+ return obj.get().encode('utf-8')
+
def create_html2html(self, rml, localcontext = None, logo=None, title=None):
obj = render.html2html(rml, localcontext, self.bin_datas)
obj.render()
return obj.get()
+
def create_raw(self,rml, localcontext = None, logo=None, title=None):
obj = render.odt2odt(etree.XML(rml),localcontext)
obj.render()
@@ -237,8 +244,9 @@ def register_all(db):
cr.execute("SELECT * FROM ir_act_report_xml WHERE auto=%s ORDER BY id", (True,))
result = cr.dictfetchall()
cr.close()
+ svcs = netsvc.Service._services
for r in result:
- if netsvc.service_exist('report.'+r['report_name']):
+ if svcs.has_key('report.'+r['report_name']):
continue
if r['report_rml'] or r['report_rml_content_data']:
report_sxw('report.'+r['report_name'], r['model'],
@@ -250,4 +258,3 @@ def register_all(db):
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-