def query(self, default=None): status = ISubmittedDraftContent.providedBy(self.content) if status: return translate(u'Not Yet Approved', 'zojax.personal.content') else: return translate(u'Draft', 'zojax.personal.content')
def listDrafts(self): ids = getUtility(IIntIds) request = self.request context = self.context drafts = [] for name in context: draft = context[name] if not checkPermission('zope.View', draft): continue try: loc = ids.queryObject(draft.location) locTitle = loc.title locUrl = '%s/'%absoluteURL(loc, request) except: locTitle = _('Unknown') locUrl = u'' dc = ICMFDublinCore(draft.content) info = {'name': name, 'title': draft.title or _('[No title]'), 'description': draft.description, 'url': '%s/'%absoluteURL(draft, request), 'location': locTitle, 'locationURL': locUrl, 'icon': queryMultiAdapter((draft, request), name='zmi_icon'), 'draft': draft, 'modified': dc.modified, 'status': ISubmittedDraftContent.providedBy(draft), 'contentType': IContentType(draft.content)} drafts.append(info) return drafts
def publishTraverse(self, request, name): view = queryMultiAdapter((self, request), name=name) if view is not None: return view try: draft = getUtility(IIntIds).getObject(int(name)) except: raise NotFound(self, request, name) if ISubmittedDraftContent.providedBy(draft) and draft.isPublishable(): return LocationProxy(draft, self, name) raise NotFound(self, request, name)
def __init__(self, content, default=None): self.status = default if IDraftContent.providedBy(content) and \ ISubmittedDraftContent.providedBy(content): self.status = u'submitted'