def getTOC(self, current=None, root=None): """ See HelpCenterReferenceManual.getTOC for documentation. We're only overriding the query. """ # from ipdb import set_trace; set_trace() if not root: root = self class Strategy(NavtreeStrategyBase): rootPath = '/'.join(root.getPhysicalPath()) showAllParents = False strategy = Strategy() # Custom query for Bungeni: query= {'path' : '/'.join(root.getPhysicalPath()), 'portal_type' : ('HansardSection', 'HansardPage',), 'sort_on' : 'getObjPositionInParent'} toc = buildFolderTree(self, current, query, strategy)['children'] def buildNumbering(nodes, base=""): idx = 1 for n in nodes: numbering = "%s%d." % (base, idx,) n['numbering'] = numbering buildNumbering(n['children'], numbering) idx += 1 buildNumbering(toc) return toc
def getTOC(self, current=None, root=None): """Get the table-of-contents of this manual. The parameter 'current' gives the object that is the current page or section being viewed. The parameter 'root' gives the root of the manual - if not given, this ReferenceManual object is used, but you can pass in a ReferenceManualSection instead to root the TOC at this element. The root element itself is not included in the table-of-contents. The return value is a list of dicts, recursively representing the table-of-contents of this manual. Each element dict contains: item -- a catalog brain for the item (a section or page) numbering -- The dotted numbering of this item, e.g. 1.3.2 depth -- The depth of the item (0 == top-level item) currentItem -- True if this item corresponds to the object 'current' children -- A list of dicts The list 'children' recursively contains the equivalent dicts for children of each section. If the parameter 'current' is not given, no element will have current == True. """ if not root: root = self class Strategy(NavtreeStrategyBase): rootPath = '/'.join(root.getPhysicalPath()) showAllParents = False strategy = Strategy() query = { 'path': '/'.join(root.getPhysicalPath()), 'portal_type': ( 'BungeniHelpCenterReferenceManualSection', 'BungeniHelpCenterReferenceManualPage', ), 'sort_on': 'getObjPositionInParent' } toc = buildFolderTree(self, current, query, strategy)['children'] def buildNumbering(nodes, base=""): idx = 1 for n in nodes: numbering = "%s%d." % ( base, idx, ) n['numbering'] = numbering buildNumbering(n['children'], numbering) idx += 1 buildNumbering(toc) return toc
def getTOC(self, current=None, root=None):##worked with self.folder... if not root: root = self.folder class Strategy(NavtreeStrategyBase): rootPath = '/'.join(root.getPhysicalPath()) showAllParents = False strategy = Strategy() query= {'path' : '/'.join(root.getPhysicalPath()), 'object_provides' : 'uwosh.bulletin.content.interfaces.IBatchPrintable', 'sort_on' : 'getObjPositionInParent'} toc = buildFolderTree(self.folder, current, query, strategy)['children']##looks like here <---causing the problem... something to do with self.context? def buildNumbering(nodes, base=""): idx = 1 for n in nodes: numbering = "%s%d." % (base, idx,) n['numbering'] = numbering buildNumbering(n['children'], numbering) idx += 1 buildNumbering(toc) return toc
def getTOC(self, current=None, root=None): """ See HelpCenterReferenceManual.getTOC for documentation. We're only overriding the query. """ if not root: root = self class Strategy(NavtreeStrategyBase): rootPath = "/".join(root.getPhysicalPath()) showAllParents = False strategy = Strategy() # Custom query for Bungeni: query = { "path": "/".join(root.getPhysicalPath()), "portal_type": ("BillSection", "BillPage"), "sort_on": "getObjPositionInParent", } toc = buildFolderTree(self, current, query, strategy)["children"] def buildNumbering(nodes, base=""): idx = 1 for n in nodes: numbering = "%s%d." % (base, idx) n["numbering"] = numbering buildNumbering(n["children"], numbering) idx += 1 buildNumbering(toc) return toc
def getTOC(self, current=None, root=None): """Get the table-of-contents of this manual. The parameter 'current' gives the object that is the current page or section being viewed. The parameter 'root' gives the root of the manual - if not given, this ReferenceManual object is used, but you can pass in a ReferenceManualSection instead to root the TOC at this element. The root element itself is not included in the table-of-contents. The return value is a list of dicts, recursively representing the table-of-contents of this manual. Each element dict contains: item -- a catalog brain for the item (a section or page) numbering -- The dotted numbering of this item, e.g. 1.3.2 depth -- The depth of the item (0 == top-level item) currentItem -- True if this item corresponds to the object 'current' children -- A list of dicts The list 'children' recursively contains the equivalent dicts for children of each section. If the parameter 'current' is not given, no element will have current == True. """ if not root: root = self class Strategy(NavtreeStrategyBase): rootPath = '/'.join(root.getPhysicalPath()) showAllParents = False strategy = Strategy() query= {'path' : '/'.join(root.getPhysicalPath()), 'portal_type' : ('BungeniHelpCenterReferenceManualSection', 'BungeniHelpCenterReferenceManualPage',), 'sort_on' : 'getObjPositionInParent'} toc = buildFolderTree(self, current, query, strategy)['children'] def buildNumbering(nodes, base=""): idx = 1 for n in nodes: numbering = "%s%d." % (base, idx,) n['numbering'] = numbering buildNumbering(n['children'], numbering) idx += 1 buildNumbering(toc) return toc
def getTOC(self, current=None, root=None): """ See HelpCenterReferenceManual.getTOC for documentation. We're only overriding the query. """ # from ipdb import set_trace; set_trace() if not root: root = self class Strategy(NavtreeStrategyBase): rootPath = '/'.join(root.getPhysicalPath()) showAllParents = False strategy = Strategy() # Custom query for Bungeni: query = { 'path': '/'.join(root.getPhysicalPath()), 'portal_type': ( 'HansardSection', 'HansardPage', ), 'sort_on': 'getObjPositionInParent' } toc = buildFolderTree(self, current, query, strategy)['children'] def buildNumbering(nodes, base=""): idx = 1 for n in nodes: numbering = "%s%d." % ( base, idx, ) n['numbering'] = numbering buildNumbering(n['children'], numbering) idx += 1 buildNumbering(toc) return toc