def __call__(self): strategy = self.request["media_option"] # We reallly want to edit folder settings, # this magic this juts work (tm) self.context_state = getMultiAdapter((self.context, self.request), name='plone_context_state') isDefaultPage = self.context_state.is_default_page() if isDefaultPage: # Use parent folder, no point of changing the # folder front page setting instance = self.context.aq_inner.aq_parent else: instance = self.context filter = getConvergenceMediaFilter() filter.setContentMedia(instance, strategy) # Update portal_catalog to reflect new changes #self.context.reindexObject(idxs=["getContentMedias"]) # Go back to the object front page self.request.response.redirect(self.context.absolute_url())
def media_status(self): """ Get human-readable text on which medias the context is available """ context = self.context.aq_inner filter = getConvergenceMediaFilter() media = filter.solveContentMedia(context) # Translate vocabulary for id, text in media_options_vocabulary: if id == media: return text
def __init__(self, context, request, view, manager, data): base.Renderer.__init__(self, context, request, view, manager, data) self.site_url = getToolByName(context, 'portal_url') self.filter = getConvergenceMediaFilter() self.discriminator = getUtility(IMobileRequestDiscriminator) self.context_state = getMultiAdapter((self.context, self.request), name='plone_context_state') isDefaultPage = self.context_state.is_default_page() if isDefaultPage: # Use parent folder, no point of changing the # folder front page setting self.actual_context = self.context.aq_inner.aq_parent else: self.actual_context = self.context