def add_fields_to_indexing_schema(schemata): for t in TYPE_CONFIGURATION: title = ' '.join(t.split('_')) meta_robots_index_override = schema.Bool( title=_("label_meta_robots_override_%s" % t, default=u"Override the default for %s" % title), default=False, required=False) meta_robots_index_override.__name__ = 'meta_robots_index_override_%s' % t meta_robots_index_override.interface = schemata schemata._InterfaceClass__attrs[meta_robots_index_override.__name__] = meta_robots_index_override meta_robots_follow = schema.Choice( title=_("label_meta_robots_follow_%s" % t, default=u"Meta Robots Follow Tag for %s" % title), values=['follow', 'nofollow'], required=False) meta_robots_follow.__name__ = 'meta_robots_follow_%s' % t meta_robots_follow.interface = schemata schemata._InterfaceClass__attrs[meta_robots_follow.__name__] = meta_robots_follow meta_robots_index = schema.Choice( title=_("label_meta_robots_index_%s" % t, default=u"Meta Robots Index Tag for %s" % title), values=['index', 'noindex'], required=False) meta_robots_index.__name__ = 'meta_robots_index_%s' % t meta_robots_index.interface = schemata schemata._InterfaceClass__attrs[meta_robots_index.__name__] = meta_robots_index meta_robots_advanced = schema.List( title=_("label_meta_robots_advanced_%s" % t, default=u"Meta Robots Advanced Tag for %s" % title), value_type=schema.Choice( values=['noodp', 'noydir', 'noarchive', 'nosnippet'] ), required=False) meta_robots_advanced.__name__ = 'meta_robots_advanced_%s' % t meta_robots_advanced.interface = schemata schemata._InterfaceClass__attrs[meta_robots_advanced.__name__] = meta_robots_advanced
def handleApply(self, action): # pylint: disable=W0613 data, errors = self.extractData() if errors: return annotations = IAnnotations(self.context) annotations[PERSEO] = PersistentMapping() for k, v in data.items(): if v: annotations[PERSEO][k] = v self.setStatusMessage(self.message_ok) self.redirectAction() @button.buttonAndHandler(_(u"Cancel")) def handleCancel(self, action): # pylint: disable=W0613 self.setStatusMessage(self.message_cancel) self.redirectAction() manageSEOContext = wrap_form( SEOContextForm, label=_(u"PerSEO settings"), description=_(u"Manage PerSEO settings for this content.") ) class PerseoTabAvailable(BrowserView): def checkPerseoTabAvailable(self): """ Checks visibility of SEO tab for context """ return not IPloneSiteRoot.providedBy(self.context) and IAnnotatable.providedBy(self.context)