def view(self, doc=None, renderer=None, tabScript=None): "Inline draw view" if doc is None: doc = self.getCompoundDoc() renderer = renderer or self.getConfig('renderer') if self.getTabActive(): editname = self.getDisplayName() menu = [] url = doc.absolute_url_path() for name, clickableName, cssClass, queryDict, query in self.getTabOrder( doc=doc, tabScript=tabScript): selected = 0 if self.getTabMapping( name) == editname and utility.dictInQuery( queryDict, query): selected = 1 query = query.copy() query.update(queryDict) menu.append(('%s/manage_workspace/%s' % (url, name), clickableName, selected, cssClass, query, '')) cssClass = ' class="tabControl"' if renderer != 'Themeroller Tabs' else '' return '<div%s>%s</div>' % (cssClass, NestedListURL.listRenderer( renderer, menu, self.columns)) return ""
def view(self, doc=None, tabScript=None, columns=None): "Inline draw view" if columns is None: columns = self.columns displayName = self.getDisplayName() menu = [] doc = doc or self.getCompoundDoc() url = doc.absolute_url_path() tabOrder = self.getTabOrder(doc=doc, tabScript=tabScript) tabMapping = self.getConfig("tabMapping") if tabMapping is not None: tabOrder = [ (tabMapping[name], clickableName, cssClass, queryDict, query) for name, clickableName, cssClass, queryDict, query in tabOrder ] for name, clickableName, cssClass, queryDict, query in tabOrder: selected = 0 if name == displayName and utility.dictInQuery(queryDict, query): selected = 1 query = query.copy() query.update(queryDict) menu.append((os.path.join(url, name), clickableName, selected, cssClass, query, "")) return NestedListURL.listRenderer(self.getConfig("renderer"), menu, columns)
def view(self, doc=None, tabScript=None, columns=None): "Inline draw view" if columns is None: columns = self.columns displayName = self.getDisplayName() menu = [] doc = doc or self.getCompoundDoc() url = doc.absolute_url_path() tabOrder = self.getTabOrder(doc=doc, tabScript=tabScript) tabMapping = self.getConfig('tabMapping') if tabMapping is not None: tabOrder = [ (tabMapping[name], clickableName, cssClass, queryDict, query) for name, clickableName, cssClass, queryDict, query in tabOrder ] for name, clickableName, cssClass, queryDict, query in tabOrder: selected = 0 if name == displayName and utility.dictInQuery(queryDict, query): selected = 1 query = query.copy() query.update(queryDict) menu.append((os.path.join(url, name), clickableName, selected, cssClass, query, '')) return NestedListURL.listRenderer(self.getConfig('renderer'), menu, columns)
def view(self, cssClassVar=None, menuFunc=None, openContainers=None, baseContainer=None, depth=None, docBase=None, sortFunc=None, renderer=None, openAll=False, columns=None): "Inline draw view" openContainers = openContainers or [] container = baseContainer or self.getContainer() if depth is None: depth = self.depth if columns is None: columns = self.columns docBase = docBase or self renderer = renderer or self.renderer if openAll: nodes = None leafs = () path = None else: nodes = [] for node in itertools.chain(self.REQUEST.PARENTS, docBase.aq_chain, [container], openContainers): try: if node.meta_type in self.folderTypes: nodes.append(node) except AttributeError: pass leafs = set(self.getCurrentLeafNodes(nodes)) path = set([aq_base(node) for node in nodes]) temp = self.traverseContainer(level=depth, container=container, path=path, leafs=leafs, sortFunc=sortFunc, openAll=openAll) if self.renderScriptPath: self.log(self.absolute_url_path()) temp = self.resolveObjects(temp, menuFunc) return NestedListURL.listRenderer(renderer, temp, columns)
def manage_absolute_urls(self, REQUEST={}): "create an absolute url sequence for management" url = self.absolute_url_path() manageTab = self.REQUEST.URLPATH0.replace('%s/' % url, '').split('/')[0] cssClasses = '' otherAttributes = '' queryDict = utility.getQueryDict(self.REQUEST.environ.get('QUERY_STRING', '')) menu = [] for i in self.filtered_manage_options(): selected = i['action'] == manageTab menu.append((os.path.join(url, i['action']),i['label'],selected,cssClasses,queryDict,otherAttributes)) return NestedListUrl.listRenderer('Themeroller Tabs',menu, None)
def edit(self, *args, **kw): """This draws the inline forms for the objects present.""" origin = self.getOrigin() path = self.getFixedUpPath() if path or (not path and self.drawBlankPath) and origin is not None: obj = origin.unrestrictedTraverse(path, None) else: obj = None if obj is not None: queryString = self.REQUEST.environ.get('QUERY_STRING', '') draw_mode = self.getModeFromREQUEST(obj.drawDict) modes = sorted(obj.drawDict.keys()) path = obj.absolute_url_path() temp = ['<div class="%s">' % self.cssClass] menu = [] otherAttributes = '' cssClasses = '' queryDict = utility.getQueryDict(queryString) for mode in modes: selected = draw_mode == mode queryDict['renderType'] = mode menu.append((self.REQUEST.URL, mode, selected, cssClasses, queryDict.copy(), otherAttributes)) temp.append( NestedListUrl.listRenderer('Themeroller Tabs', menu, None)) tab_format = '<div id="%s">%s<div>%s</div></div>' config_object = obj.getConfigObject() if config_object is not None and config_object is not self: mode_url = obj.drawDict[draw_mode] tabs = ((obj.absolute_url_path() + '/' + mode_url, 'Local'), (config_object.absolute_url_path() + '/' + mode_url, 'Config')) temp.append('<div>%s</div>' % self.submitChanges()) temp.append(com.javascript.tabs_html('control_tabs', tabs)) else: temp.append(obj.draw(draw_mode)) temp.append('<div>%s</div>' % self.submitChanges()) return ''.join(temp) return ""
def view(self, doc=None, renderer=None, tabScript=None): "Inline draw view" if doc is None: doc = self.getCompoundDoc() renderer = renderer or self.getConfig('renderer') if self.getTabActive(): editname = self.getDisplayName() menu = [] url = doc.absolute_url_path() for name,clickableName,cssClass,queryDict, query in self.getTabOrder(doc=doc, tabScript=tabScript): selected = 0 if self.getTabMapping(name) == editname and utility.dictInQuery(queryDict, query): selected = 1 query = query.copy() query.update(queryDict) menu.append(('%s/manage_workspace/%s' % (url,name),clickableName,selected, cssClass, query, '')) cssClass = ' class="tabControl"' if renderer != 'Themeroller Tabs' else '' return '<div%s>%s</div>' % (cssClass, NestedListURL.listRenderer(renderer,menu, self.columns)) return ""
def edit(self, *args, **kw): """This draws the inline forms for the objects present.""" origin = self.getOrigin() path = self.getFixedUpPath() if path or (not path and self.drawBlankPath) and origin is not None: obj = origin.unrestrictedTraverse(path, None) else: obj = None if obj is not None: queryString = self.REQUEST.environ.get('QUERY_STRING', '') draw_mode = self.getModeFromREQUEST(obj.drawDict) modes = sorted(obj.drawDict.keys()) path = obj.absolute_url_path() temp = ['<div class="%s">' % self.cssClass] menu = [] otherAttributes = '' cssClasses = '' queryDict = utility.getQueryDict(queryString) for mode in modes: selected = draw_mode == mode queryDict['renderType'] = mode menu.append((self.REQUEST.URL,mode,selected,cssClasses,queryDict.copy(),otherAttributes)) temp.append(NestedListUrl.listRenderer('Themeroller Tabs',menu, None)) tab_format = '<div id="%s">%s<div>%s</div></div>' config_object = obj.getConfigObject() if config_object is not None and config_object is not self: mode_url = obj.drawDict[draw_mode] tabs = ((obj.absolute_url_path() + '/' + mode_url,'Local'), (config_object.absolute_url_path() + '/' + mode_url,'Config')) temp.append('<div>%s</div>' % self.submitChanges()) temp.append(com.javascript.tabs_html('control_tabs', tabs)) else: temp.append(obj.draw(draw_mode)) temp.append('<div>%s</div>' % self.submitChanges()) return ''.join(temp) return ""
def view(self, cssClassVar=None, menuFunc=None, openContainers=None, baseContainer=None, depth=None, docBase=None, sortFunc=None, renderer=None, openAll=False, columns=None): "Inline draw view" openContainers = openContainers or [] container = baseContainer or self.getContainer() if depth is None: depth = self.depth if columns is None: columns = self.columns docBase = docBase or self renderer = renderer or self.renderer if openAll: nodes = None leafs = () path = None else: nodes = [] for node in itertools.chain(self.REQUEST.PARENTS, docBase.aq_chain, [container], openContainers): try: if node.meta_type in self.folderTypes: nodes.append(node) except AttributeError: pass leafs = set(self.getCurrentLeafNodes(nodes)) path = set([aq_base(node) for node in nodes]) temp = self.traverseContainer(level=depth, container=container, path=path, leafs=leafs, sortFunc=sortFunc, openAll=openAll) if self.renderScriptPath: self.log(self.absolute_url_path()) temp = self.resolveObjects(temp, menuFunc) return NestedListURL.listRenderer(renderer,temp, columns)