class Mailer(object): interface.implements(IMailer) def send(self, fromaddr, toaddrs, message): # log message if self.log_emails: logger.log(logging.INFO, toaddrs) logger.log(logging.INFO, message) if self.smtpuser and self.smtppass: mailer = SMTPMailer(self.hostname, self.port, self.smtpuser, self.smtppass) else: mailer = SMTPMailer(self.hostname, self.port) # delivery if self.disabled: logger.info("Mail delivery is disabled.") return try: mailer.send(fromaddr, toaddrs, message) except Exception, err: logger.exception(str(err)) controlpanel.registerConfiglet( 'system.mail', IMailer, Mailer, _('Mail settings'), _('Configure portal mail settings.'))
from memphis import controlpanel from interfaces import _, IUserProfileConfiglet controlpanel.registerConfiglet( name='principals.profile', schema=IUserProfileConfiglet, title = _('User profile'), description = _('This area allows you to configure user profile.'))
def get(self, name, default=None): try: return self[name] except KeyError: return default def __iter__(self): return iter(self.keys()) def __contains__(self, name): item = self.schema.query(self.schema.Type.oid==name).first() return item is not None def __getitem__(self, name): item = self.schema.query(self.schema.Type.oid==name).first() if item is None: raise KeyError(name) return LocationProxy(item, self, item.oid) def __delitem__(self, name): pass controlpanel.registerConfiglet( 'system.contenttypes', IContentTypesConfiglet, klass = ContentTypesConfiglet, title = 'Content types', description = 'Content types configuration.')
LettersCasePasswordError >>> checker.validate('Pass5word') By default password strength is always 100% >>> checker.passwordStrength('Pass5word') 100.0 """ if len(password) < self.min_length: raise exceptions.LengthPasswordError( _("Password should be at least ${count} characters.", mapping={"count": self.min_length}) ) elif self.letters_digits and (password.isalpha() or password.isdigit()): raise exceptions.LettersDigitsPasswordError() elif self.letters_mixed_case and (password.isupper() or password.islower()): raise exceptions.LettersCasePasswordError() def passwordStrength(self, password): return 100.0 controlpanel.registerConfiglet( "principals.password", IPasswordTool, PasswordTool, _("Password tool"), _("Password managing/generating configuration."), )
item = self.schema.query(self.schema.Type.oid==name).first() return item is not None def __getitem__(self, name): item = self.schema.query(self.schema.Type.oid==name).first() if item is None: raise KeyError(name) item = ISchema(storage.Item(item.oid)) item.__parent__ = self return item controlpanel.registerConfiglet( 'system.schemas', ISchemaManagement, SchemaManagement, title = u'Schemas', description = u'TTW Schemas management configlet.') class SchemaFactory(object): config.adapts(ISchemaManagement, 'schema') interface.implements(contenttype.IFactory) name = 'schema' schema = ISchema title = 'TTW Schema' description = 'Schema object editable through the web.' hiddenFields = ('model',) def __init__(self, context): self.context = context
class WidgetsManagement(object): """ widgets management configlet """ interface.implements(IWidgetsManagement) def updateWidgetMapping(self, data): self.data = data @interface.implementer(form.IDefaultWidget) @config.adapter(schema.interfaces.IField, IRequest) def getDefaultWidget(field, request): configlet = getUtility(IWidgetsManagement) if configlet.data: info = IFieldInformation(field, None) if info is not None: name = configlet.data.get(info.name) if name is not None: widget = queryMultiAdapter( (field, request), form.IWidget, name=name) if widget is not None: return widget return getMultiAdapter((field, request), form.IWidget) controlpanel.registerConfiglet( 'system.widgets', IWidgetsManagement, WidgetsManagement, title = u'Widgets', description = u'Widgets management configlet.')
from zope import interface from memphis import controlpanel from interfaces import _, ISiteRegistration class SiteRegistration(object): interface.implements(ISiteRegistration) controlpanel.registerConfiglet( 'principals.registration', ISiteRegistration, SiteRegistration, _("Site registration"), _("Site registration configuration."))