from plone.portlets.interfaces import IPortletDataProvider from plone.app.portlets.portlets import base from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile from zope.interface import implements from zope.component import getMultiAdapter from Products.CMFCore.utils import getToolByName class IMemfolderPortlet(IPortletDataProvider): """ portlet """ class Assignment(base.Assignment): implements(IMemfolderPortlet) title = 'Memories folder' class Renderer(base.Renderer): _template = ViewPageTemplateFile('memfolder.pt') updated = False render = _template def is_anonymous(self): membership = getToolByName(self.context, 'portal_membership', None) if membership is None or membership.isAnonymousUser(): return True return False def is_owner(self): mtool = getToolByName(self.context, 'portal_membership') user = mtool.getAuthenticatedMember().getId() creator = self.context.getOwnerId() if user == creator: return True else: return False def get_review_state(self, request): return getMultiAdapter((self.context, request), name='plone_context_state').workflow_state() def portal_url(self): portal_url = getToolByName(self.context, 'portal_url') return portal_url() class AddForm(base.NullAddForm): def create(self): return Assignment()