class AdmUtilRequirementDisplayAll(AdmUtilRequirementDisplay): """for all Requirements """ label = _(u'display all requirements') columns = ( GetterColumn(title=_('Title'), getter=getTitle, cell_formatter=link('overview.html')), GetterColumn(title=_('Modified'), getter=getModifiedDate, subsort=True, cell_formatter=raw_cell_formatter), GetterColumn(title=_('Size'), getter=getSize, cell_formatter=raw_cell_formatter), GetterColumn(title=_('Actions'), getter=getActionBottons, cell_formatter=raw_cell_formatter), ) pos_colum_index = 3 sort_columns = [0, 1, 2] status = None def objs(self): """List of Content objects""" retList = [] for reqObj in self.context.values(): if IRequirement.providedBy(reqObj): retList.extend(getRequirementList(reqObj)) return retList
class ViewAdmUtilSupervisorGenerationsForm(BrowserPagelet): """Generation Pagelet""" label = _(u'Generations') columns = ( GetterColumn(title=_('Name'), getter=formatGenerationName), GetterColumn(title=_('Generation'), getter=formatGenerationNbr), GetterColumn(title=_('Minimum Generation'), getter=formatGenerationMinimum), ) def objs(self): """list of generation manager objects""" retList = [] for (genManagerName, genManagerObj) in findManagers(): retList.append(genManagerObj) return retList def table(self): """ Properties of table are defined here""" directlyProvides(self.columns[0], ISortableColumn) directlyProvides(self.columns[1], ISortableColumn) directlyProvides(self.columns[2], ISortableColumn) formatter = StandaloneFullFormatter(self.context, self.request, self.objs(), columns=self.columns, sort_on=((_('Name'), False), )) formatter.batch_size = 150 formatter.cssClasses['table'] = 'listing' return formatter()
class History(BrowserPagelet): """History Pagelet""" columns = ( GetterColumn(title=_('Level'), getter=formatEntryLevel), DateGetterColumn(title=_('Date'), getter=formatEntryDate, cell_formatter=raw_cell_formatter), GetterColumn(title=_('R'), getter=formatEntryRepeatCounter), GetterColumn(title=_('Text'), getter=formatEntryText, cell_formatter=raw_cell_formatter), ) def objs(self): """List of Content objects""" obj = removeAllProxies(self.context) historyList = obj.history.get() return historyList def table(self): """ Properties of table are defined here""" directlyProvides(self.columns[0], ISortableColumn) #directlyProvides(self.columns[1], ISortableColumn) directlyProvides(self.columns[3], ISortableColumn) formatter = StandaloneFullFormatter(self.context, self.request, self.objs(), columns=self.columns, sort_on=((_('Date'), True), )) formatter.cssClasses['table'] = 'listing' return formatter()
class AllNetworks(Overview): """Overview Pagelet""" columns = ( GetterColumn(title="", getter=getStateIcon, cell_formatter=raw_cell_formatter), GetterColumn(title=_('Title'), getter=getTitel), GetterColumn(title=_('Network'), getter=getNetworkIp), GetterColumn(title=_('Modified On'), getter=getModifiedDate, cell_formatter=raw_cell_formatter), GetterColumn(title=_('Actions'), getter=getActionBottons, cell_formatter=raw_cell_formatter), ) def objs(self): """List of Content objects""" return getAllNetworks() def table(self): """ Properties of table are defined here""" directlyProvides(self.columns[1], ISortableColumn) directlyProvides(self.columns[2], ISortableColumn) directlyProvides(self.columns[3], ISortableColumn) formatter = StandaloneFullFormatter(self.context, self.request, self.objs(), columns=self.columns, sort_on=((_('Title'), False), )) formatter.cssClasses['table'] = 'listing' return formatter()
def columns(self): title = LocaleAwareGetterColumn(name='title', title=_(u'Title'), getter=lambda i, f: i.title, subsort=True) directlyProvides(title, ISortableColumn) type = GetterColumn(name='type', title=_(u'Type'), getter=lambda i, f: i.type, subsort=True) directlyProvides(type, ISortableColumn) manufacturer = GetterColumn(name='manufacturer', title=_(u'Manufacturer'), getter=lambda i, f: i.manufacturer, subsort=True) directlyProvides(manufacturer, ISortableColumn) model = GetterColumn(name='model', title=_(u'Model'), getter=lambda i, f: i.model, subsort=True) directlyProvides(model, ISortableColumn) serialNumber = GetterColumn(name='serialNumber', title=_(u'Serial Number'), getter=lambda i, f: i.serialNumber, subsort=True) directlyProvides(serialNumber, ISortableColumn) purchaseDate = GetterColumn(name='purchaseDate', title=_(u'Purchase Date'), getter=lambda i, f: i.purchaseDate, subsort=True) directlyProvides(purchaseDate, ISortableColumn) return [title, type, manufacturer, model, serialNumber, purchaseDate]
class Overview(SuperclassOverview): """Overview Pagelet""" columns = ( GetterColumn(title="", getter=superclass.getStateIcon, cell_formatter=superclass.raw_cell_formatter), GetterColumn(title=_('Title'), getter=superclass.getTitle, cell_formatter=superclass.link('')), GetterColumn(title=_('Modified'), getter=superclass.getModifiedDate, cell_formatter=superclass.raw_cell_formatter), GetterColumn(title=_('Size'), getter=superclass.getSize), GetterColumn(title=_('Actions'), getter=superclass.getActionBottons, cell_formatter=superclass.raw_cell_formatter), ) def objs(self): """List of Content objects""" objWithPermisson = [] # allObj = getAllUtilitiesRegisteredFor(ISuperclass) # allObj = getAllUtilitiesRegisteredFor(Interface, context=self.context) smFolder = self.context.getParent() allObj = smFolder.values() for obj in allObj: if ISuperclass.providedBy(obj): myAdapter = zapi.queryMultiAdapter((obj, self.request), name='details.html') if myAdapter is not None and canAccess(myAdapter, 'render'): objWithPermisson.append(obj) return objWithPermisson
def email_container_table_columns(): from_address = GetterColumn(name='from_address', title=_(u'From'), getter=lambda i, f: i.from_address, subsort=True) directlyProvides(from_address, ISortableColumn) to_addresses = GetterColumn(name='to_addresses', title=_(u'To'), getter=lambda i, f: i.to_addresses, cell_formatter=to_addresses_formatter, subsort=True) directlyProvides(to_addresses, ISortableColumn) subject = GetterColumn(name='subject', title=_(u'Subject'), getter=lambda i, f: i.subject, cell_formatter=subject_formatter, subsort=True) directlyProvides(subject, ISortableColumn) time_created = GetterColumn(name='time_created', title=_(u'Created on'), getter=lambda i, f: i.time_created, cell_formatter=table.table.datetime_formatter, subsort=True) directlyProvides(time_created, ISortableColumn) time_sent = GetterColumn(name='time_sent', title=_(u'Last time tried'), getter=lambda i, f: i.time_sent, cell_formatter=table.table.datetime_formatter, subsort=True) directlyProvides(time_sent, ISortableColumn) return [from_address, to_addresses, subject, time_created, time_sent]
class DetailsAdmUtilRequirementForm(Overview): """ Display form for the object """ label = _(u'settings of Requirement') factory = Requirement omitFields = AdmUtilRequirementDetails.omit_viewfields fields = fieldsForFactory(factory, omitFields) columns = ( GetterColumn(title=_('Title'), getter=getTitle, cell_formatter=link('overview.html')), GetterColumn(title=_('Modified'), getter=getModifiedDate, subsort=True, cell_formatter=raw_cell_formatter), GetterColumn(title=_('Size'), getter=getSize, cell_formatter=raw_cell_formatter), GetterColumn(title=_('Actions'), getter=getActionBottons, cell_formatter=raw_cell_formatter), ) pos_colum_index = 3 sort_columns = [1] status = None def objs(self): """List of Content objects""" return [ obj for obj in self.context.values() if IRequirement.providedBy(obj) ]
class ViewAdmUtilSupervisorEventsForm(BrowserPagelet): """History Pagelet""" label = _(u'Supervisor events') columns = ( GetterColumn(title=_('Start number'), getter=formatEntryNbr), DateGetterColumn(title=_('Date'), getter=formatEntryDate, cell_formatter=superclass.raw_cell_formatter), GetterColumn(title=_('Message'), getter=formatEntryMessage), ) def objs(self): """List of Content objects""" eventList = self.context.getlastEvents() return eventList[:1000] def table(self): """ Properties of table are defined here""" directlyProvides(self.columns[0], ISortableColumn) directlyProvides(self.columns[1], ISortableColumn) directlyProvides(self.columns[2], ISortableColumn) formatter = StandaloneFullFormatter(self.context, self.request, self.objs(), columns=self.columns, sort_on=((_('Date'), True), )) formatter.batch_size = 30 formatter.cssClasses['table'] = 'listing' return formatter()
def update(self): self.columns = (\ GetterColumn(title="1111", ), GetterColumn(title="2222", ), GetterColumn(title="3333", ), )
def columns(self): title = GetterColumn(name='title', title=_(u"Title"), getter=lambda i, f: i.title, subsort=True) type = GetterColumn(name='type', title=_(u"Type"), getter=lambda i, f: i.cal_type, subsort=True) return [title, type]
class Overview(BrowserPagelet): """Overview Pagelet""" columns = ( GetterColumn(title="", getter=getStateIcon, cell_formatter=raw_cell_formatter), GetterColumn(title=_('Title'), getter=getTitel), GetterColumn(title=_('Modified On'), getter=getModifiedDate, subsort=True, cell_formatter=raw_cell_formatter), GetterColumn(title=_('Actions'), getter=getActionBottons, cell_formatter=raw_cell_formatter), ) status = None def objs(self): """List of Content objects""" retList = [] try: for obj in self.context.values(): if ISuperclass.providedBy(obj): retList.append(obj) except: pass return retList def table(self): """ Properties of table are defined here""" columnList = list(self.columns) containerIsOrderd = IOrderedContainer.providedBy(self.context) directlyProvides(columnList[1], ISortableColumn) directlyProvides(columnList[2], ISortableColumn) if containerIsOrderd: columnList.insert(1, GetterColumn(title=_('Pos'), getter=getPosition)) directlyProvides(columnList[3], ISortableColumn) formatter = StandaloneFullFormatter(self.context, self.request, self.objs(), columns=columnList, sort_on=((_('Pos'), False), )) else: formatter = StandaloneFullFormatter(self.context, self.request, self.objs(), columns=columnList, sort_on=((_('Title'), False), )) formatter.cssClasses['table'] = 'listing' return formatter()
class EditContent(BrowserPagelet): """Overview Pagelet""" columns = ( CheckboxColumn(_(' ')), GetterColumn(title=_('Title'), getter=getTitle, cell_formatter=link('edit.html')), GetterColumn(title="", getter=getStateIcon, cell_formatter=raw_cell_formatter), GetterColumn(title=_('Modified'), getter=getModifiedDate, cell_formatter=raw_cell_formatter), ) status = None def objs(self): """List of Content objects""" return [ obj for obj in self.context.values() if ISuperclass.providedBy(obj) ] def table(self): """ Properties of table are defined here""" directlyProvides(self.columns[1], ISortableColumn) directlyProvides(self.columns[3], ISortableColumn) formatter = StandaloneFullFormatter(self.context, self.request, self.objs(), columns=self.columns, sort_on=((_('Title'), False), )) formatter.cssClasses['table'] = 'listing' return formatter() def update(self): """update all widgets""" if 'DELETE' in self.request: if self.request.get('confirm_delete') != 'yes': self.status = _('You did not confirm the deletion correctly.') return if 'selected' in self.request: for myid in self.request['selected']: try: del self.context[myid] except KeyError: pass self.status = _('Objects were successfully deleted.') else: self.status = _('No objects were selected.')
def table(self): """ Properties of table are defined here""" columnList = list(self.columns) containerIsOrderd = IOrderedContainer.providedBy(self.context) if containerIsOrderd: getterC = GetterColumn(title=_('Pos'), getter=getPosition) #directlyProvides(getterC, ISortableColumn) columnList.insert(self.pos_column_index, getterC) #directlyProvides(columnList[3], ISortableColumn) formatter = StandaloneFullFormatter(self.context, self.request, self.objs(), columns=columnList, sort_on=((_('Pos'), False), )) else: for i in self.sort_columns: directlyProvides(columnList[i], ISortableColumn) #formatter = StandaloneFullFormatter( #self.context, self.request, self.objs(), #columns=columnList, sort_on=((_('Title'), False),)) formatter = StandaloneFullFormatter(self.context, self.request, self.objs(), columns=columnList) formatter.cssClasses['table'] = 'listing' return formatter()
def columns(self): title = GetterColumn(name='title', title=_(u"Title"), getter=lambda i, f: i.title, subsort=True) directlyProvides(title, ISortableColumn) return [title]
class FSearchForm(Overview): """ Search Form """ # form.extends(form.Form) label = _(u"Search for what?") fsearchText = None columns = ( GetterColumn(title="", getter=getStateIcon, cell_formatter=raw_cell_formatter), GetterColumn(title=_('Health'), getter=getHealth), #TitleGetterColumn(title=_('Title'), #getter=getTitle), GetterColumn(title=_('Type'), getter=getTypeName, cell_formatter=raw_cell_formatter), IctGetterColumn(title=_('Title'), getter=getTitle, cell_formatter=link('overview.html')), GetterColumn(title=_('Modified'), getter=getModifiedDate, subsort=True, cell_formatter=raw_cell_formatter), GetterColumn(title=_('Actions'), getter=getActionBottons, cell_formatter=raw_cell_formatter), ) pos_column_index = 1 sort_columns = [1, 2, 3, 4] status = None firstSortOn = _('Title') def objs(self): """List of Content objects""" retList = [] if self.fsearchText is not None and \ len(self.fsearchText) > 0: my_catalog = zapi.getUtility(ICatalog) try: res = my_catalog.searchResults( all_fulltext_index=self.fsearchText) for obj in res: retList.append(obj) except ParseError, errText: self.status = u"Error: '%s'" % errText return retList
class Overview(BrowserPagelet): """Overview Pagelet""" columns = ( GetterColumn(title="", getter=getStateIcon, cell_formatter=raw_cell_formatter), GetterColumn(title=_('Title'), getter=getTitle, cell_formatter=link('overview.html')), GetterColumn(title=_('Actions'), getter=getActionBottons, cell_formatter=raw_cell_formatter), ) def update(self): self.title = _(u"Overview Linux HA") def objs(self): """List of Content objects""" retList = [] #self.context.connect2HaCluster() ##try: ##for obj in self.context.values(): ##if ISuperclass.providedBy(obj): ##retList.append(obj) ##except: ##pass for obj in self.context.values(): #if ILinuxHaObj.providedBy(obj): retList.append(obj) return retList #return [obj #for obj in self.context.values() #if ISuperclass.providedBy(obj)] def table(self): """ Properties of table are defined here""" directlyProvides(self.columns[1], ISortableColumn) formatter = StandaloneFullFormatter(self.context, self.request, self.objs(), columns=self.columns, sort_on=((_('Title'), False), )) formatter.cssClasses['table'] = 'listing' return formatter()
class AllHosts(Overview): """Overview Pagelet""" columns = ( GetterColumn(title="", getter=getStateIcon, cell_formatter=raw_cell_formatter), GetterColumn(title=_('Health'), getter=getHealth), TitleGetterColumn(title=_('Title'), getter=getTitle), IPsGetterColumn(title=_('IP'), getter=getHostIp), GetterColumn(title=_('Modified'), getter=getModifiedDate, cell_formatter=raw_cell_formatter), GetterColumn(title=_('Actions'), getter=getActionBottons, cell_formatter=raw_cell_formatter), ) sort_columns = [1, 2, 3, 4] objListInterface = IHost
def columns(self): default = super(TemporalRelationshipRemoveTableMixin, self).columns() state = GetterColumn( name='state', title=_('State'), getter=self.makeTextGetter(), cell_formatter=get_state_column_formatter(self), ) return default + [state]
class AddSnmpByVendorClass(BrowserPagelet): columns = ( GetterColumn(title=_('Title'), getter=getTitle, cell_formatter=raw_cell_formatter), ) def update(self): if self.request.has_key('ictvendor'): if self.request.has_key('ictproduct'): self.label = _(u"Please select template for") else: self.label = _(u"Please select product for") else: self.label = _(u"Please select vendor") BrowserPagelet.update(self) def objs(self): """List of Content objects an object will be: {'title': u'title', 'vendor': u'quoted vendor title', 'product': u'quoted product title', """ snmpd_utility = getUtility(IAdmUtilSnmpd) retList = [] if self.request.has_key('ictvendor'): if self.request.has_key('ictproduct'): for name in snmpd_utility.mrtg_data[self.request['ictvendor']]\ [self.request['ictproduct']].keys(): retList.append({'title': unicode(name), 'view': 'add_snmpvalue.html', 'vendor': URLQuote(self.request['ictvendor']).quote(), 'product': URLQuote(self.request['ictproduct']).quote(), 'template': URLQuote(name).quote()}) else: for name in snmpd_utility.mrtg_data[self.request['ictvendor']].keys(): retList.append({'title': unicode(name), 'view': 'add_snmps_by_vendor.html', 'vendor': URLQuote(self.request['ictvendor']).quote(), 'product': URLQuote(name).quote()}) else: for name in snmpd_utility.mrtg_data.keys(): retList.append({'title': unicode(name), 'view': 'add_snmps_by_vendor.html', 'vendor': URLQuote(name).quote()}) return retList def table(self): """ Properties of table are defined here""" columnList = list(self.columns) directlyProvides(columnList[0], ISortableColumn) formatter = StandaloneFullFormatter( self.context, self.request, self.objs(), columns=columnList, sort_on=((_('Title'), False),)) formatter.cssClasses['table'] = 'listing' return formatter()
def columns(self): from_address = GetterColumn(name='from_address', title=_(u'From'), getter=lambda i, f: i.from_address, subsort=True) time_created = GetterColumn( name='time_created', title=_(u'Created on'), getter=lambda i, f: i.time_created, cell_formatter=table.table.datetime_formatter, subsort=True) time_sent = GetterColumn(name='time_sent', title=_(u'Last time tried'), getter=lambda i, f: i.time_sent, cell_formatter=table.table.datetime_formatter, subsort=True) directlyProvides(from_address, ISortableColumn) directlyProvides(time_created, ISortableColumn) directlyProvides(time_sent, ISortableColumn) return [from_address, time_created, time_sent]
class AdmUtilEvalTodo(Overview): """for all Evaluations """ label = _(u'display all Evaluations Todo') columns = ( GetterColumn(title=_('Component'), getter=getTupleObjTitle, cell_formatter=link('overview.html')), GetterColumn(title=_('Requirement'), getter=getTitle, cell_formatter=link('overview.html')), #GetterColumn(title=_('Modified'), #getter=getModifiedDate, #subsort=True, #cell_formatter=raw_cell_formatter), #GetterColumn(title=_('Size'), #getter=getSize, #cell_formatter=raw_cell_formatter), #GetterColumn(title=_('Actions'), #getter=getActionBottons, #cell_formatter=raw_cell_formatter), ) #pos_colum_index = 3 #sort_columns = [0, 1, 2] status = None sort_columns = [0, 1] pos_colum_index = 0 firstSortOn = _('Component') def objs(self): #import pdb #pdb.set_trace() retList = [] uidutil = getUtility(IIntIds) for (myid, myobj) in uidutil.items(): if IComponent.providedBy(myobj.object): base_reqs = getEvaluationsTodo(myobj.object) for req in base_reqs: retList.append({'obj': req, 'component': myobj.object}) #retList.append((req, myobj.object)) return retList
def columns(self): title = LocaleAwareGetterColumn(name='title', title=_(u'Title'), getter=lambda i, f: i.title, subsort=True) directlyProvides(title, ISortableColumn) capacity = GetterColumn(name='capacity', title=_(u'Capacity'), getter=lambda i, f: i.capacity, subsort=True) directlyProvides(capacity, ISortableColumn) return [title, capacity]
class AllNetworks(Overview): """Overview Pagelet""" columns = ( GetterColumn(title="", getter=getStateIcon, cell_formatter=raw_cell_formatter), GetterColumn(title=_('Health'), getter=getHealth), TitleGetterColumn(title=_('Title'), getter=getTitle), IPsGetterColumn(title=_('Network'), getter=getNetworkIp), GetterColumn(title=_('Modified'), getter=getModifiedDate, cell_formatter=raw_cell_formatter), GetterColumn(title=_('Actions'), getter=getActionBottons, cell_formatter=raw_cell_formatter), ) sort_columns = [1, 2, 3, 4] def objs(self): """List of Content objects""" return AllNets()
class Overview(SuperclassOverview): """Overview Pagelet""" columns = ( GetterColumn(title="", getter=superclass.getStateIcon, cell_formatter=superclass.raw_cell_formatter), GetterColumn(title=_('Title'), getter=superclass.getTitel, cell_formatter=superclass.link('')), GetterColumn(title=_('Modified On'), getter=superclass.getModifiedDate, cell_formatter=superclass.raw_cell_formatter), GetterColumn(title=_('Size'), getter=superclass.getSize), GetterColumn(title=_('Actions'), getter=superclass.getActionBottons, cell_formatter=superclass.raw_cell_formatter), ) def objs(self): """List of Content objects""" return getAllUtilitiesRegisteredFor(ISuperclass)
def columns(self): title = table.column.LocaleAwareGetterColumn( name='title', title=_(u"Title"), getter=lambda i, f: i.title, subsort=True) starts = GetterColumn( name='starts', title=_(u"First Day"), getter=lambda i, f: i.first, cell_formatter=date_cell_formatter, subsort=True) ends = GetterColumn( name='ends', title=_(u"Last Day"), getter=lambda i, f: i.last, cell_formatter=date_cell_formatter, subsort=True) directlyProvides(title, ISortableColumn) directlyProvides(starts, ISortableColumn) directlyProvides(ends, ISortableColumn) return [title, starts, ends]
class AdmUtilRequirementDisplay(Overview): """for 1st level Requirements """ label = _(u'display requirements') columns = ( GetterColumn(title=_('Title'), getter=getTitle, cell_formatter=link('overview.html')), GetterColumn(title=_('Size'), getter=getSize, cell_formatter=raw_cell_formatter), GetterColumn(title=_('Actions'), getter=getActionBottons, cell_formatter=raw_cell_formatter), ) sort_columns = [0, 1] status = None def objs(self): """List of Content objects""" return [obj for obj in self.context.values() if IRequirement.providedBy(obj)]
def getDisplayColumns(self): from zc.table.column import GetterColumn columns = [] for i in self.annotation.values(): if i.get('table_column') is not True: continue def getter(ob, format, name=i['name']): return getattr(ob, name) column = GetterColumn(title=i['label'], name=i['name'], getter=getter) columns.append(column) return columns
def table(self, arg_objList=None): """ Properties of table are defined here""" if arg_objList is None: objList = self.objs() else: if type(arg_objList) is list: objList = arg_objList else: objList = [] columnList = list(self.columns) containerIsOrderd = IOrderedContainer.providedBy(self.context) userManagement = queryUtility(IAdmUtilUserManagement) if userManagement is not None: batch_size = userManagement.listLen else: batch_size = 50 if containerIsOrderd: getterC = GetterColumn(title=_('Pos'), getter=getPosition) #directlyProvides(getterC, ISortableColumn) columnList.insert(self.pos_column_index, getterC) #directlyProvides(columnList[3], ISortableColumn) #StandaloneFullFormatter #BatchedFormatter formatter = BatchedFormatter( self.context, self.request, objList, columns=columnList, sort_on=((_('Pos'), False),), batch_size=batch_size) else: for i in self.sort_columns: directlyProvides(columnList[i], ISortableColumn) #formatter = StandaloneFullFormatter( #self.context, self.request, self.objs(), #columns=columnList, sort_on=((_('Title'), False),)) #StandaloneFullFormatter #BatchedFormatter formatter = BatchedFormatter( self.context, self.request, objList, columns=columnList, sort_on=((self.firstSortOn, False),), batch_size=batch_size) formatter.cssClasses['table'] = 'listing' return formatter()
class Overview(BrowserPagelet): """Overview Pagelet""" columns = ( GetterColumn(title="", getter=getStateIcon, cell_formatter=raw_cell_formatter), GetterColumn(title=_('Health'), getter=getHealth), #TitleGetterColumn(title=_('Title'), #getter=getTitle), IctGetterColumn(title=_('Title'), getter=getTitle, cell_formatter=link('overview.html')), GetterColumn(title=_('Modified'), getter=getModifiedDate, subsort=True, cell_formatter=raw_cell_formatter), GetterColumn(title=_('Actions'), getter=getActionBottons, cell_formatter=raw_cell_formatter), ) pos_column_index = 1 sort_columns = [1, 2, 3] status = None firstSortOn = _('Title') def getHrefTitle(self, obj, displayShort=False): href = zapi.absoluteURL(obj, self.request) if hasattr(obj, 'getDisplayTitle'): title = obj.getDisplayTitle() else: title = obj.ikName if displayShort and hasattr(obj, 'shortName'): return u'<a href="%s">%s [%s]</a>' % (href, title, obj.shortName) else: return u'<a href="%s">%s</a>' % (href, title) def convert2UserTimezone(self, argTS): if argTS is not None: return convert2UserTimezone(argTS) else: return None def getTabClass(self): if hasattr(self.request, 'tabClass'): return self.request.tabClass return 'cb_wht' def getNextTabClass(self): if hasattr(self.request, 'tabClass'): if self.request.tabClass == 'cb_wht': self.request.tabClass = 'cb_ixl' else: self.request.tabClass = 'cb_wht' else: self.request.tabClass = 'cb_wht' return self.request.tabClass def isEmpty(self): """ Table is empty """ if hasattr(self, "objListInterface"): return len(objectsWithInterface(self.objListInterface)) < 1 else: return len(self.context) < 1 def objs(self): """List of Content objects""" compactView = False userManagement = queryUtility(IAdmUtilUserManagement) if userManagement is not None and\ userManagement.compactView is True: compactView = True if hasattr(self, "objListInterface"): if compactView: return [obj for obj in objectsWithInterface(self.objListInterface) if (IComponentFolder.providedBy(obj) and len(obj)>0) \ or not IComponentFolder.providedBy(obj)] else: return objectsWithInterface(self.objListInterface) else: #return [obj for obj in self.context.values()] if compactView: return [obj for obj in self.context.values() if (IComponentFolder.providedBy(obj) and len(obj)>0) \ or not IComponentFolder.providedBy(obj)] else: return self.context.values() def table(self, arg_objList=None): """ Properties of table are defined here""" if arg_objList is None: objList = self.objs() else: if type(arg_objList) is list: objList = arg_objList else: objList = [] columnList = list(self.columns) containerIsOrderd = IOrderedContainer.providedBy(self.context) userManagement = queryUtility(IAdmUtilUserManagement) if userManagement is not None: batch_size = userManagement.listLen else: batch_size = 50 if containerIsOrderd: getterC = GetterColumn(title=_('Pos'), getter=getPosition) #directlyProvides(getterC, ISortableColumn) columnList.insert(self.pos_column_index, getterC) #directlyProvides(columnList[3], ISortableColumn) #StandaloneFullFormatter #BatchedFormatter formatter = BatchedFormatter( self.context, self.request, objList, columns=columnList, sort_on=((_('Pos'), False),), batch_size=batch_size) else: for i in self.sort_columns: directlyProvides(columnList[i], ISortableColumn) #formatter = StandaloneFullFormatter( #self.context, self.request, self.objs(), #columns=columnList, sort_on=((_('Title'), False),)) #StandaloneFullFormatter #BatchedFormatter formatter = BatchedFormatter( self.context, self.request, objList, columns=columnList, sort_on=((self.firstSortOn, False),), batch_size=batch_size) formatter.cssClasses['table'] = 'listing' return formatter()