# -*- coding: utf-8 -*-

import colander
from deform.widget import SelectWidget, CheckedPasswordWidget

class UserData(colander.MappingSchema):

    def none_off(value):
        if value in ('admin','superuser'):
            return False
        else:
            return True
    
    name = colander.SchemaNode(colander.String(), 
        validator = colander.Function(none_off,
            message = u'nicht erlaubter Benutzername'))
    birthday = colander.SchemaNode(colander.Date(),
        missing = '0000-00-00')
    gender = colander.SchemaNode(colander.String(),
        widget = SelectWidget(values=(
            (u'männlich',u'männlich'),(u'weiblich',u'weiblich'))))
    
class LoginForm(colander.MappingSchema):
    email = colander.SchemaNode(colander.String(),
        validator = colander.Email(
            msg = u'Dies ist keine gültige E-Mail Adresse'))
    password = colander.SchemaNode(colander.String(),
        widget = CheckedPasswordWidget())

