Exemplo n.º 1
0
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.'))
Exemplo n.º 2
0
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.'))
Exemplo n.º 3
0
    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.')
Exemplo n.º 4
0
    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."),
)
Exemplo n.º 5
0
        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
Exemplo n.º 6
0
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.')
Exemplo n.º 7
0
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."))