[FIX] revert change 3509, as it introduces a regression
authorRaphael Collet <rco@openerp.com>
Thu, 13 Oct 2011 12:12:25 +0000 (14:12 +0200)
committerRaphael Collet <rco@openerp.com>
Thu, 13 Oct 2011 12:12:25 +0000 (14:12 +0200)
bzr revid: rco@openerp.com-20111013121225-awh33vtku7c5zr3h

bin/report/render/rml2pdf/trml2pdf.py
bin/report/report_sxw.py

index 0d59c6b..f58f3fd 100644 (file)
@@ -118,7 +118,7 @@ class PageCount(platypus.Flowable):
     def draw(self):
         self.canv.beginForm("pageCount")
         self.canv.setFont("Helvetica", utils.unit_get(str(8)))
-        self.canv.drawString(0, 0, str(self.canv._pageCount))
+        self.canv.drawString(0, 0, str(self.canv.getPageNumber()))
         self.canv.endForm()
 
 class PageReset(platypus.Flowable):
index f6ead6b..3b8bd0e 100644 (file)
@@ -434,9 +434,9 @@ class report_sxw(report_rml, preprocess.report):
             context={}
         pool = pooler.get_pool(cr.dbname)
         attach = report_xml.attachment
-        results = []
         if attach:
             objs = self.getObjects(cr, uid, ids, context)
+            results = []
             for obj in objs:
                 aname = eval(attach, {'object':obj, 'time':time})
                 result = False
@@ -467,24 +467,18 @@ class report_sxw(report_rml, preprocess.report):
                         #TODO: should probably raise a proper osv_except instead, shouldn't we? see LP bug #325632
                         logging.getLogger('report').error('Could not create saved report attachment', exc_info=True)
                 results.append(result)
-        else:
-            for id in ids:
-                result = self.create_single_pdf(cr, uid, [id], data, report_xml, context)
-                if not result:
-                    return False
-                results.append(result)
-        if results:
-            if results[0][1] == 'pdf':
-                from pyPdf import PdfFileWriter, PdfFileReader
-                output = PdfFileWriter()
-                for r in results:
-                    reader = PdfFileReader(cStringIO.StringIO(r[0]))
-                    for page in range(reader.getNumPages()):
-                        output.addPage(reader.getPage(page))
-                s = cStringIO.StringIO()
-                output.write(s)
-                return s.getvalue(), results[0][1]
-        return False
+            if results:
+                if results[0][1]=='pdf':
+                    from pyPdf import PdfFileWriter, PdfFileReader
+                    output = PdfFileWriter()
+                    for r in results:
+                        reader = PdfFileReader(cStringIO.StringIO(r[0]))
+                        for page in range(reader.getNumPages()):
+                            output.addPage(reader.getPage(page))
+                    s = cStringIO.StringIO()
+                    output.write(s)
+                    return s.getvalue(), results[0][1]
+        return self.create_single_pdf(cr, uid, ids, data, report_xml, context)
 
     def create_single_pdf(self, cr, uid, ids, data, report_xml, context=None):
         if not context: