def hidden(self): """ Make sure we don't show the root node of a tree if we don't have permission on it or any of its children """ # always show the root Device organizer so restricted users can see # all of the devices they have access to if self.uid == '/zport/dmd/Devices': return False # make sure we are looking at a root node pieces = self.uid.split('/') if len(pieces) != 4: return False # check for our permission manager = getSecurityManager() obj = self._object.unrestrictedTraverse(self.uid) if manager.checkPermission("View", obj): return False # search the catalog to see if we have permission with any of the children cat = ICatalogTool(obj) numInstances = cat.count('Products.ZenModel.DeviceOrganizer.DeviceOrganizer', self.uid) # if anything is returned we have view permissions on a child return not numInstances > 0
def hidden(self): """ Make sure we don't show the root node of a tree if we don't have permission on it or any of its children """ # always show the root Device organizer so restricted users can see # all of the devices they have access to if self.uid == '/zport/dmd/Devices': return False # make sure we are looking at a root node pieces = self.uid.split('/') if len(pieces) != 4: return False # check for our permission manager = getSecurityManager() obj = self._object.unrestrictedTraverse(self.uid) if manager.checkPermission("View", obj): return False # search the catalog to see if we have permission with any of the children cat = ICatalogTool(obj) numInstances = cat.count( 'Products.ZenModel.DeviceOrganizer.DeviceOrganizer', self.uid) # if anything is returned we have view permissions on a child return not numInstances > 0
def deviceCount(self, uid=None): cat = ICatalogTool(self._getObject(uid)) return cat.count('Products.ZenModel.Device.Device')