コード例 #1
0
class ExtendedRegisterForm(RegisterForm):
    first_name = StringField('Nombre', [Required()])
    last_name = StringField('Apellidos', [Required()])
    telegram = StringField('Telegram', [
        validators.Optional(),
        validators.Regexp(
            '[a-zA-Z0-9_-]{5,}',
            message=u'Introduzca un usuario válido de Telegram sin @')
    ])
    year = SelectField('Curso', [Required()],
                       choices=[('1', 'Primero'), ('2', 'Segundo'),
                                ('3', 'Tercero'), ('4', 'Cuarto')])
    school = SelectField(
        'Escuela',
        choices=json_choices_centros('./static/json/centros.json'),
        id='select_school',
        default=59)
    degree = SelectField(
        'Plan de Estudios',
        choices=json_choices_planes('./static/json/planes.json'),
        id='select_degree',
        default='59EC')
    dni = StringField(
        'DNI o NIE',
        validators=[
            unique_user_dni,
            validators.Regexp(
                '[0-9A-Z][0-9]{7}[A-Z]',
                message=u'Introduzca un DNI o NIE válido en mayúsculas.'),
            Required()
        ])
    self_edit = HiddenField()
コード例 #2
0
class LoginForm(SecurityLoginForm):
    username = StringField(
        get_form_field_label("username"),
        validators=[],
    )

    jwt = StringField(
        get_form_field_label("jwt"),
        validators=[],
    )

    def validate(self):
        username = self.data.get('username', '')
        password = self.data.get('password', '')
        ip = get_ip()

        err, jwt = validate_user(username, password, ip)
        if err:
            return False

        err, result = pyutil_mongo.db_find_one('user', {'user_id': username},
                                               ["_id"])
        if err:
            return False

        the_id = str(result.get("_id", ''))

        self.user = User()
        self.user.id = the_id
        self.user.is_active = True
        self.user.jwt = jwt

        return True
コード例 #3
0
class ResetEmailForOauthForm(SendConfirmationForm):
    origin_email = StringField('Current Email(ReadOnly',
                               render_kw={'readonly': True},
                               validators=[valid_user_email_for_oauth])
    email = StringField('New Email',
                        validators=[
                            email_required, email_validator, unique_user_email,
                            unique_email
                        ])
    password = PasswordField('Password(optional)')
コード例 #4
0
class ResetEmailForOauthForm(SendConfirmationForm):
    origin_email = StringField('当前邮箱(只读)',
                               render_kw={'readonly': True},
                               validators=[valid_user_email_fro_oauth])
    email = StringField('新邮箱',
                        validators=[
                            email_required, email_validator, unique_user_email,
                            unique_email
                        ])
    password = PasswordField('账户密码(可选)')
コード例 #5
0
class ExtendedRegisterForm(RegisterForm):
    name = StringField(
        '名字', validators=[name_required, name_length, unique_user_name])
    email = StringField(
        '邮箱', validators=[email_required, email_validator, unique_user_email])
    password = PasswordField('密码', validators=[password_required])
    password_confirm = PasswordField(
        '密码确认',
        validators=[
            EqualTo('password', message='RETYPE_PASSWORD_MISMATCH'),
            password_required
        ])
コード例 #6
0
class ExtendedRegisterForm(RegisterForm):
    name = StringField(
        "名字", validators=[name_required, name_length, unique_user_name])
    email = StringField(
        "邮箱", validators=[email_required, email_validator, unique_user_email])
    password = PasswordField("密码", validators=[password_required])
    password_confirm = PasswordField(
        "确认密码",
        validators=[
            EqualTo("password", message="RETYPE_PASSWORD_MISMATCH"),
            password_required,
        ],
    )
コード例 #7
0
class ToolForm(Form):
    self_edit = HiddenField()
    name = StringField('Nombre', validators=[unique_tool_name, Required()])
    description = TextAreaField('Descripcion')
    location = StringField('Lugar', [Required()])
    manual = StringField('Manual')
    documentation = StringField(u'Documentación')
    image = FileField(u'Fotografía',
                      [is_image(u'Solo se permiten subir imágenes')])
    maintainer = SelectField('Maintainer',
                             choices=choices_users(),
                             id='select_maintainer',
                             validators=[Required()])
コード例 #8
0
ファイル: forms.py プロジェクト: Kxnr/kxnr.me
class ExtendedRegisterForm(ConfirmRegisterForm):
    username = StringField('Username',
                           validators=[
                               Required(message='EMAIL_NOT_PROVIDED'),
                               unique_identity_attribute
                           ])
    email = None
コード例 #9
0
ファイル: test_misc.py プロジェクト: imfht/flaskapps
 class MyForgotPasswordForm(ForgotPasswordForm):
     email = StringField(
         'My Forgot Email Address Field',
         validators=[
             email_required,
             email_validator,
             valid_user_email])
コード例 #10
0
ファイル: extforms.py プロジェクト: xggrnx/pasta
class ExtendedRegisterForm(RegisterForm):
    name = StringField('Name', [Required()])
    api_key = HiddenField('api_key')

    def __init__(self, *args, **kwargs):
        super(ExtendedRegisterForm, self).__init__(*args, **kwargs)
        self.api_key.data = uuid.uuid4().hex
コード例 #11
0
ファイル: forms.py プロジェクト: Kxnr/kxnr.me
class ExtendedLoginForm(LoginForm):
    # This is a hack--we're just using email to run through
    # default validation. The validation function looks up
    # users based on configured auth methods, rather than
    # field name
    email = StringField('Username',
                        validators=[Required(message='EMAIL_NOT_PROVIDED')])
コード例 #12
0
class ExtendedRegisterForm(RegisterForm):
    username = StringField('username', [Required()])
    email = StringField('email', [Required()])

    def validate(self):
        success = True
        if not super(ExtendedRegisterForm, self).validate():
            success = False
        if db.session.query(User).filter(
                User.username == self.username.data.strip()).first():
            self.username.errors.append("Username already taken")
            success = False
        if db.session.query(User).filter(
                User.email == self.email.data.strip()).first():
            self.email.errors.append("Email address already taken")
            success = False
        return success
コード例 #13
0
class ExtendedLoginForm(LoginForm):

    email = StringField(_l('Email or Username'),
                        validators=[Required('Email required')])
    password = PasswordField(_l('Password'),
                             validators=[Required('Password required')])
    remember = BooleanField(_l('Remember Me'))
    submit = SubmitField(_l('Login'))
コード例 #14
0
class LoginForm(SecurityLoginForm):
    """customized login form. validating with backend.

    Attributes:
        jwt (TYPE): Description
        user (TYPE): Description
        username (TYPE): Description
    """

    username = StringField(
        get_form_field_label("username"),
        validators=[],
    )

    jwt = StringField(
        get_form_field_label("jwt"),
        validators=[],
    )

    def validate(self):
        """validate user.

        Returns:
            TYPE: Description
        """
        username = self.data.get('username', '')
        password = self.data.get('password', '')

        err, jwt = validate_user(username, password)
        if err:
            return False

        err, result = pyutil_mongo.db_find_one('user', {'user_id': username},
                                               ["_id"])
        if err:
            return False

        the_id = str(result.get("_id", ''))

        self.user = User()
        self.user.id = the_id
        self.user.is_active = True
        self.user.jwt = jwt

        return True
コード例 #15
0
class ExtendedConfirmRegisterForm(ConfirmRegisterForm):

    email = StringField(_l('Email address'),
                        validators=[Required('Email required')])
    agree = BooleanField(
        _l("I have read and agree the <a href='static/termsofuse.html'>Terms of use</a>"
           ))
    password = PasswordField(_l('Password'),
                             validators=[Required('Password required')])
    submit = SubmitField(_l('Register'))

    def validate_agree(self, field):
        if not field.data:
            raise ValidationError(
                _('Please indicate that you have read and agree to the Terms and Conditions'
                  ), 'error')
        else:
            return True

    def validate_email(self, field):
        allowed_email = UserAdmin.find_allowed_email(field.data)
        if allowed_email:
            if allowed_email.confirmed_at != None:
                raise ValidationError(
                    _('Email address has been confirmed earlier'))
            elif (allowed_email.creator
                  == 'system') and not allowed_email.approved:
                raise ValidationError(
                    _('Email address has not been approved yet'))
#            if (allowed_email.creator != 'system') or allowed_email.approved:
            else:
                return True
        raise ValidationError(_('Email address must be an authorized one'))

    def validate_username(self, field):
        user = shareds.user_datastore.get_user(field.data)
        if user:
            raise ValidationError(_('Username has been reserved already'))

    username = StringField(_l('Username'),
                           validators=[Required('Username required')])
    name = StringField(_l('Name'), validators=[Required('Name required')])
    language = SelectField(_l('Language'),
                           choices=shareds.app.config.get('LANGUAGES'),
                           validators=[Required(_('Language required'))])
コード例 #16
0
class ResetEmailForm(SendConfirmationForm):
    origin_email = StringField(
        'Current Email(ReadOnly)',
        render_kw={'readonly': True},
        validators=[email_required, email_validator, valid_user_email])
    email = StringField('New Email',
                        validators=[
                            email_required, email_validator, unique_user_email,
                            unique_email
                        ])
    password = PasswordField('Password', validators=[password_required])

    def validate(self):
        if not super(SendConfirmationForm, self).validate():
            return False
        if not verify_and_update_password(self.password.data, current_user):
            self.password.errors.append('Invalid password')
            return False
        return True
コード例 #17
0
class VotingForm(Form):
    name = StringField(u'Nombre', validators=[Required()])
    description = TextAreaField(u'Descripción')
    start_date = DateField(u'Fecha de inicio',
                           validators=[Required()],
                           default=date.today(),
                           format='%Y-%m-%d')
    end_date = DateField(u'Fecha de finalización',
                         validators=[date_is_older, Required()],
                         default=date.today() + timedelta(days=1),
                         format='%Y-%m-%d')
    options = TextAreaField(u'Opciones', validators=[Required()])
コード例 #18
0
class WorkshopForm(Form):
    name = StringField('Nombre', validators=[Required()])
    description = TextAreaField(u'Descripción')
    location = StringField('Lugar', [Required()])
    instructor = SelectField('Instructor',
                             choices=choices_users(),
                             id='select_instructor',
                             validators=[Required()])
    date = DateField('Fecha',
                     validators=[Required()],
                     default=date.today(),
                     format='%Y-%m-%d')
    participants = IntegerField('Participantes')
    tooling = SelectField('Habilita',
                          coerce=int,
                          choices=choices_tools(),
                          id='select_tool',
                          default=0)
    members_only = BooleanField('Solo miembros')
    image = FileField(u'Fotografía',
                      [is_image(u'Solo se permiten subir imágenes')])
コード例 #19
0
class CustomRegisterForm(RegisterForm):
    username = StringField('Username', [Required()])

    def validate(self):
        if user_datastore.find_user(username=self.username.data):
            self.username.errors = ["Username already taken"]
            return False

        if not super(CustomRegisterForm, self).validate():
            return False

        return True
コード例 #20
0
class ExtendedConfirmRegisterForm(ConfirmRegisterForm):
    username = StringField('username',
                           [validators.Regexp("[^' ']+"),
                            Required()])
    email = StringField('email', [Required()])
    if globalvars.recaptchaEnabled is True:
        recaptcha = RecaptchaField()

    def validate(self):
        success = True
        if not super(ExtendedConfirmRegisterForm, self).validate():
            success = False
        if db.session.query(User).filter(
                User.username == self.username.data.strip()).first():
            self.username.errors.append("Username already taken")
            success = False
        if db.session.query(User).filter(
                User.email == self.email.data.strip()).first():
            self.email.errors.append("Email address already taken")
            success = False
        return success
コード例 #21
0
ファイル: security_forms.py プロジェクト: mrosata/doc-docs
class ExtendedRegistrationForm(RegisterForm):
    """
    Additional information for the registration form
    """
    username = StringField(None, [
        Required(),
        Length(min=6,
               max=20,
               message="Username musty be between 6 and 20 characters.")
    ])

    def validate_username(self, field):
        """
        This will be called by Flask Security when the user registers their account. It will be check to
        make sure that the username is valid because it's not a typical Flask-Security field.

        :param field: object with the username field data sent from form submission
        :return:
        """
        # Make sure that the username is of proper length.
        username_length = str().count(field.data.strip())
        if not username_length >= 6 and not username_length < 20:
            return False

        # Make sure that the username is not empty
        if field.data.strip() == '':
            field.username.errors.append(
                unicode(utils.option("REGISTER_USERNAME_EMPTY_MSG")))
            return False

        # Make sure that the username is unique
        user = db.session.query(User).filter_by(username=field.data).first()
        if user is not None:
            # The username is already taken by another user (the query above came back with a result)
            self.username.errors.append(
                unicode(utils.option("REGISTER_USERNAME_UNAVAILABLE_MSG")))
            return False

        return True
コード例 #22
0
 class MyRegisterForm(RegisterForm):
     email = StringField("My Register Email Address Field")
コード例 #23
0
 class MyLoginForm(LoginForm):
     email = StringField("My Login Email Address Field")
コード例 #24
0
 class MyLoginForm(LoginForm):
     myfield = StringField("My Custom Field", validators=[Required(message="hi")])
コード例 #25
0
 class MyPasswordlessLoginForm(PasswordlessLoginForm):
     email = StringField("My Passwordless Email Address Field")
コード例 #26
0
 class MySendConfirmationForm(SendConfirmationForm):
     email = StringField("My Send Confirmation Email Address Field")
コード例 #27
0
 class MyResetPasswordForm(ResetPasswordForm):
     password = StringField("My Reset Password Field")
コード例 #28
0
 class MyRegisterForm(RegisterForm):
     additional_field = StringField("additional_field")
コード例 #29
0
 class MyRegisterForm(ConfirmRegisterForm):
     username = StringField("Username")
コード例 #30
0
ファイル: appfamilia.py プロジェクト: Lutmak/FamilyTasksAdmin
class ExtendedRegisterForm(RegisterForm):
    username = StringField('Username', [Required()])