[MERGE][FIX] OPW 591344 : internal reports don't show images
authorDenis Ledoux <dle@openerp.com>
Wed, 26 Mar 2014 09:15:29 +0000 (10:15 +0100)
committerDenis Ledoux <dle@openerp.com>
Wed, 26 Mar 2014 09:15:29 +0000 (10:15 +0100)
Cleaner method, and shows images.

bzr revid: dle@openerp.com-20140326091529-g7rlqc8tfxlk5u3b

1  2 
openerp/report/render/rml2pdf/trml2pdf.py

@@@ -85,36 -85,27 +85,27 @@@ def _open_image(filename, path=None)
  class NumberedCanvas(canvas.Canvas):
      def __init__(self, *args, **kwargs):
          canvas.Canvas.__init__(self, *args, **kwargs)
-         self._codes = []
-         self._flag=False
-         self._pageCount=0
-         self._currentPage =0
-         self._pageCounter=0
-         self.pages={}
+         self._saved_page_states = []
  
      def showPage(self):
-         self._currentPage +=1
-         if not self._flag:
-             self._pageCount += 1
-         else:
-             self.pages.update({self._currentPage:self._pageCount})
-         self._codes.append({'code': self._code, 'stack': self._codeStack})
+         self._saved_page_states.append(dict(self.__dict__))
          self._startPage()
-         self._flag=False
-     def pageCount(self):
-         if self.pages.get(self._pageCounter,False):
-             self._pageNumber=0
-         self._pageCounter +=1
-         key=self._pageCounter
-         if not self.pages.get(key,False):
-             while not self.pages.get(key,False):
-                 key += 1
+     def save(self):
+         """add page info to each page (page x of y)"""
 -        num_pages = len(self._saved_page_states)
+         for state in self._saved_page_states:
+             self.__dict__.update(state)
 -            self.draw_page_number(num_pages)
++            self.draw_page_number()
+             canvas.Canvas.showPage(self)
+         canvas.Canvas.save(self)
 -    def draw_page_number(self, page_count):
++    def draw_page_number(self):
++        page_count = len(self._saved_page_states)
 +        self.setFont("Helvetica", 8)
          self.drawRightString((self._pagesize[0]-30), (self._pagesize[1]-40),
              " %(this)i / %(total)i" % {
 -               'this': self._pageNumber,
 +               'this': self._pageNumber+1,
-                'total': self.pages.get(key,False),
+                'total': page_count,
              }
          )