예제 #1
0
    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')
예제 #2
0
    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
예제 #3
0
    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)
예제 #4
0
    def __init__(self, content, default=None):
        self.status = default

        if IDraftContent.providedBy(content) and \
                ISubmittedDraftContent.providedBy(content):
            self.status = u'submitted'