def getSyndicationLinkShown(self):
     actions = getToolByName(self.context, 'portal_actions')
     if 'rss' in actions.document_actions.objectIds():
         return actions.document_actions.rss.getProperty('visible')
     else:
         IStatusMessage(self.request).addStatusMessage(
             _(u"Missing rss link action."), "warn")
 def getSyndicationSettingsButtonShown(self):
     actions = getToolByName(self.context, 'portal_actions')
     if 'syndication' in actions.object.objectIds():
         return actions.object.syndication.getProperty('visible')
     else:
         IStatusMessage(self.request).addStatusMessage(
             _(u"Missing syndication settings action."), "warn")
    def handleSave(self, action):
        """
        Again, we're customizing this to handle saving
        portal_actions related setting data.
        """
        data, errors = self.extractData()
        if errors:
            self.status = self.formErrorsMessage
            return

        self.setSyndicationActionSettings(data)
        self.applyChanges(data)
        IStatusMessage(self.request).addStatusMessage(
            _(u"Changes saved."), "info")
        self.request.response.redirect("%s/%s" % (
            self.context.absolute_url(), self.control_panel_view))
 def handleCancel(self, action):
     IStatusMessage(self.request).addStatusMessage(
         _(u"Edit cancelled."), "info")
     self.request.response.redirect("%s/%s" % (
         self.context.absolute_url(), self.control_panel_view)
     )