def show(self): user = getToolByName( self.context, 'portal_membership').getAuthenticatedMember() if (not IATDocument.providedBy(self.context) and not IATFolder.providedBy(self.context)): return False if user.has_permission('Modify portal content', self.context): return True if self.links() != []: return True return False
def testInterfaces(self): """ Test presence of interfaces (+z3 interfaces obtained by ZCML) """ from Products.PloneArticle.interfaces import INonStructuralFolder from Products.PloneArticle.interfaces import IPloneArticle from Products.ATContentTypes.interface import IATDocument article = self.article self.failUnless(INonStructuralFolder.providedBy(article)) self.failUnless(IPloneArticle.providedBy(article)) self.failUnless(IATDocument.providedBy(article))
def links(self): if (not IATDocument.providedBy(self.context) and not IATFolder.providedBy(self.context)): return [] urls = ILinkList(self.context).urls if not urls: return [] portal = getSite() maps = [] if type(urls) not in (ListType, TupleType): urls = [urls] for url in urls: if url.startswith('/'): url = url[1:] ob = portal.restrictedTraverse(url, None) if ob is not None: maps.append(dict(title=ob.Title(), url=url, uid=ob.UID())) return maps
def raw(self): if (not IATDocument.providedBy(self.context) and not IATFolder.providedBy(self.context)): return [] urls = ILinkList(self.context).urls return urls
def test_alias_interfaces(self): self.failUnless(IATDocument.providedBy(self.folder['a1'])) self.failUnless(IAlias.providedBy(self.folder['a1'])) self.failIf(IAlias.providedBy(self.folder['d1']))