dabo Commit
Revision 4845
Date: 2008-12-16 20:11:37 -0800 (Tue, 16 Dec 2008)
Author: Paul
Trac: http://trac.dabodev.com/dabo/changeset/4845

Changed:
U   trunk/dabo/lib/reportWriter.py

Log:
[4750] introduced a recursion problem with the report designer. This is a 
better fix for providing PageNumber, and won't affect existing report designs.

Diff:
Modified: trunk/dabo/lib/reportWriter.py
===================================================================
--- trunk/dabo/lib/reportWriter.py      2008-12-16 23:19:20 UTC (rev 4844)
+++ trunk/dabo/lib/reportWriter.py      2008-12-17 04:11:37 UTC (rev 4845)
@@ -131,12 +131,6 @@
                if self.Record.has_key(att):
                        return self.Record.get(att)
 
-               # 4) Try the Report object:
-               try:
-                       return getattr(self.Report, att)
-               except AttributeError:
-                       pass
-
                raise AttributeError, "Can't get attribute '%s'." % att
 
 
@@ -357,10 +351,6 @@
 class Report(ReportObject):
        """Represents the report."""
 
-       def __init__(self, *args, **kwargs):
-               self._pageNumber = 0
-               super(Report, self).__init__(*args, **kwargs)
-
        def initAvailableProps(self):
                super(Report, self).initAvailableProps()
 
@@ -382,13 +372,7 @@
                self.setdefault("Groups", Groups(self))
                self.setdefault("Variables", Variables(self))
 
-       def _getPageNumber(self):
-               return self._pageNumber
 
-       PageNumber = property(_getPageNumber, None, None, 
-                       _("""Returns the current page number at runtime."""))
-
-
 class Page(ReportObject):
        """Represents the page."""
        def initAvailableProps(self):
@@ -1334,6 +1318,7 @@
 
                pageSize = self.getPageSize()           
                pageWidth, pageHeight = pageSize
+               self._pageNumber = 0
 
                c = self.Canvas
                if not c:
@@ -1528,7 +1513,7 @@
 
                def beginPage():
                        # Print the static bands that appear below detail in 
z-order:
-                       self.ReportForm._pageNumber += 1
+                       self._pageNumber += 1
                        for band in ("pageBackground", "pageHeader", 
"pageFooter"):
                                printBand(band)
                        self._brandNewPage = True
@@ -1591,9 +1576,9 @@
                                if vv["curVal"] != group.getProp("expr"):
                                        rp = eval(group.get("resetPageNumber", 
"False"))
                                        if rp and self._recordNumber == 0:
-                                               self.ReportForm._pageNumber = 1
+                                               self._pageNumber = 1
                                        elif rp:
-                                               self.ReportForm._pageNumber = 0
+                                               self._pageNumber = 0
                                        vv["curVal"] = group.getProp("expr")
                                        np = eval(group.get("startOnNewPage", 
"False")) \
                                                        and self.RecordNumber > 0
@@ -1952,6 +1937,8 @@
                        else:
                                raise ValueError, "Path '%s' doesn't exist." % 
s[0]
 
+       def _getPageNumber(self):
+               return self._pageNumber
 
        def _getRecord(self):
                try:
@@ -2089,6 +2076,9 @@
        OutputFile = property(_getOutputFile, _setOutputFile, None,
                _("Specifies the output PDF file (name or file object)."))
 
+       PageNumber = property(_getPageNumber, None, None, 
+                       _("""Returns the current page number at runtime."""))
+
        Record = property(_getRecord, _setRecord, None,
                _("""Specifies the dictionary that represents the current 
record.
 




_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://leafe.com/mailman/listinfo/dabo-dev
Searchable Archives: http://leafe.com/archives/search/dabo-dev
This message: 
http://leafe.com/archives/byMID/[email protected]

Reply via email to