Ejemplo n.º 1
0
class SignUpForm(ModelForm):
    username = StringField('ID', [
        DataRequired(message='ID는 필수 항목입니다.'),
        Length(min=4, max=20, message='%(min)d글자 이상 %(max)d글자 이하로 입력해주세요.'),
        Unique(UserModel.username, message='이미 존재하는 아이디입니다.')
    ])
    password = PasswordField('Password', [
        required(message='비밀번호는 필수 항목입니다.'),
        Length(min=6, max=20, message='%(min)d 이상 %(max)d 이하로 입력해주세요.')
    ])
    confirm_password = PasswordField('Confirm Password', [
        required(message='비밀번호 확인값은 필수 항목입니다.'),
        EqualTo('password', message='비밀번호와 비밀번호 확인값이 일치하지 않습니다.')
    ])
    name = StringField('Name', [required(message='이름은 필수 항목입니다.')])
    nickname = StringField('Nickname', [
        required(message='닉네임은 필수 항목입니다.'),
        Length(min=4, max=16),
        Unique(UserModel.nickname, message='이미 존재하는 닉네임입니다.')
    ])
    email = EmailField('Email', [
        required(message='이메일은 필수 항목입니다.'),
        Email(message='유효한 이메일 주소를 입력해주세요.'),
        Unique(UserModel.email, message='이미 존재하는 이메일입니다.')
    ])
    gender = SelectField('Gender', choices=[('male', '남자'), ('female', '여자')])
Ejemplo n.º 2
0
class RegistrationForm(ModelForm, FlaskForm):
    username = StringField('Username',
                           validators=[
                               DataRequired(),
                               Unique(User.username,
                                      message="User with username exists")
                           ])

    email = StringField(
        'Email',
        validators=[
            DataRequired(),
            validators.Email(message="Must be a valid email address"),
            Unique(User.email, message="User with email exists")
        ])

    mobile = IntegerField('Mobile', validators=[DataRequired()])

    password = PasswordField('Password',
                             validators=[
                                 DataRequired(),
                                 validators.EqualTo(
                                     'confirm_password',
                                     message='Passwords must match')
                             ])
    confirm_password = PasswordField('Repeat Password')
Ejemplo n.º 3
0
 def __init__(self,
              column=None,
              get_session=None,
              message='déjà associée à un compte'):
     Unique.__init__(self,
                     column=column,
                     get_session=get_session,
                     message=message)
Ejemplo n.º 4
0
 def __init__(
     self,
     column=None,
     get_session=None,
     message="déjà associé(e) à un compte Collectives. Vous souhaitez peut-être récupérer un compte existant ?",
 ):
     Unique.__init__(self,
                     column=column,
                     get_session=get_session,
                     message=message)
    def _test_syntax(self, column, expected_dict):
        class MyForm(ModelForm):
            name = TextField()
            email = TextField()

        validator = Unique(column, get_session=lambda: self.session)
        form = MyForm()
        if not hasattr(form, 'Meta'):
            form.Meta = lambda: None
        form.Meta.model = User
        result = validator._syntaxes_as_tuples(form, form.name, column)
        assert result == expected_dict
Ejemplo n.º 6
0
class AccountForm(ModelForm):
    class Meta:
        model = Account

    first_name = StringField('First name',
                             validators=[DataRequired(),
                                         Length(max=50)])
    last_name = StringField('Last name',
                            validators=[DataRequired(),
                                        Length(max=50)])
    username = StringField('Username',
                           validators=[
                               DataRequired(),
                               Length(max=30),
                               Unique(Account.username,
                                      get_session=lambda: db.session)
                           ])
    email = EmailField('Email',
                       validators=[
                           DataRequired(),
                           Length(max=50),
                           Email(),
                           Unique(Account.email,
                                  get_session=lambda: db.session)
                       ])
    mobile = StringField(
        'Mobile number',
        validators=[
            DataRequired(),
            Length(min=10, max=11),
            Regexp(
                '^(\d{10,11})|(\d{3,4}-\d{3}-\d{4})$',
                message='Input valid mobile number format (e.g. 9123456789)')
        ])
    password = PasswordField(
        'Password',
        validators=[EqualTo('confirm_pass', message='Passwords should match')])
    confirm_pass = PasswordField(
        'Confirm Password',
        validators=[EqualTo('password', message='Passwords should match')])
    role = SelectField('Account Type',
                       coerce=str,
                       choices=choices_from_dict(Account.ROLE,
                                                 prepend_blank=False))
    old_password = PasswordField('Current Password',
                                 validators=[
                                     EqualTo('confirm_old_pass',
                                             message='Passwords should match')
                                 ])
    confirm_old_pass = PasswordField(
        'Confirm Current Password',
        validators=[EqualTo('old_password', message='Passwords should match')])
    def _test_syntax(self, column, expected_dict):
        class MyForm(ModelForm):
            name = TextField()
            email = TextField()

        validator = Unique(
            column,
            get_session=lambda: self.session
        )
        form = MyForm()
        if not hasattr(form, 'Meta'):
            form.Meta = lambda: None
        form.Meta.model = User
        result = validator._syntaxes_as_tuples(form, form.name, column)
        assert result == expected_dict
 class MyForm(ModelForm):
     name = TextField(
         validators=[Unique(
             User.name,
             get_session=lambda: self.session
         )]
     )
Ejemplo n.º 9
0
class SignupForm(ModelForm):
    email = EmailField(validators=[
        DataRequired(),
        Email(),
        Unique(User.email, get_session=lambda: db.session)
    ])
    password = PasswordField('Password', [DataRequired(), Length(8, 128)])
Ejemplo n.º 10
0
class SignupForm(ModelForm):
    email = EmailField(validators=[
        DataRequired(),
        Email(),
        Unique(User.email, get_session=lambda: db.session)
    ])
    username = db.Column(db.String(24), unique=True, index=True)
    password = PasswordField('Password', [DataRequired(), Length(8, 128)])
Ejemplo n.º 11
0
class AccountForm(ModelForm):
    class Meta:
        model = Account

    first_name = StringField('First name',
                             validators=[DataRequired(),
                                         Length(max=50)])
    last_name = StringField('Last name',
                            validators=[DataRequired(),
                                        Length(max=50)])
    username = StringField('Username',
                           validators=[
                               DataRequired(),
                               Length(max=30),
                               Unique(Account.username,
                                      get_session=lambda: db.session)
                           ])
    email = EmailField('Email',
                       validators=[
                           DataRequired(),
                           Length(max=50),
                           Email(),
                           Unique(Account.email,
                                  get_session=lambda: db.session)
                       ])
    password = PasswordField('Password',
                             validators=[
                                 Optional(),
                                 EqualTo('confirm_pass',
                                         message='Passwords should match')
                             ])
    confirm_pass = PasswordField('Confirm Password',
                                 validators=[
                                     Optional(),
                                     EqualTo('password',
                                             message='Passwords should match')
                                 ])
    old_password = PasswordField('Current Password',
                                 validators=[
                                     EqualTo('confirm_old_pass',
                                             message='Passwords should match')
                                 ])
    confirm_old_pass = PasswordField(
        'Confirm Current Password',
        validators=[EqualTo('old_password', message='Passwords should match')])
 class MyForm(ModelForm):
     name = TextField(validators=[
         Unique([User.name, User.favorite_color],
                get_session=lambda: self.session)
     ])
     email = TextField()
     favorite_color = QuerySelectField(
         query_factory=lambda: self.session.query(Color).all(),
         allow_blank=True)
Ejemplo n.º 13
0
class WelcomeForm(ModelForm):
    username_message = 'Letters, numbers and underscores only please.'

    username = StringField(validators=[
        Unique(User.username, get_session=lambda: db.session),
        DataRequired(),
        Length(1, 16),
        Regexp('^\w+$', message=username_message)
    ])
Ejemplo n.º 14
0
class BlogNewsLetterForm(BaseModelForm):
    email = EmailField('Email',
                       validators=[
                           InputRequired(),
                           Length(1, 64),
                           Email(),
                           Unique(BlogNewsLetter.email)
                       ])
    submit = SubmitField('Submit')
Ejemplo n.º 15
0
class WelcomeForm(ModelForm):
    username_message = 'Letters, numbers and underscores only please.'

    username = StringField(validators=[
        Unique(User.username),
        DataRequired(),
        Length(1, 16),
        Regexp('^[A-Za-z][A-Za-z0-9_]*$', message=username_message)
    ])
Ejemplo n.º 16
0
class UpdateCredentials(ModelForm):
    current_password = PasswordField(
        'Current password',
        [DataRequired(),
         Length(8, 128), ensure_existing_password_matches])

    email = EmailField(validators=[
        Email(), Unique(User.email, get_session=lambda: db.session)
    ])
    password = PasswordField('Password', [Optional(), Length(8, 128)])
Ejemplo n.º 17
0
class SignupForm(ModelForm):
    name = StringField(validators=[DataRequired()])

    username = StringField(validators=[
        Unique(User.username,
               get_session=lambda: db.session,
               message='This username is already taken!')
    ])

    email = EmailField(validators=[
        DataRequired(),
        Email(),
        Unique(User.email,
               get_session=lambda: db.session,
               message='This email is already in use. Login instead?')
    ])

    password = PasswordField('Create a password',
                             [DataRequired(), Length(8, 128)])
Ejemplo n.º 18
0
class WelcomeForm(ModelForm):
    username_message = 'Letters, numbers and underscores only please.'

    username = StringField(validators=[
        Unique(User.username, get_session=lambda: db.session),
        DataRequired(),
        Length(1, 16),
        # Part of the Python 3.7.x update included updating flake8 which means
        # we need to explicitly define our regex pattern with r'xxx'.
        Regexp(r'^\w+$', message=username_message)
    ])
Ejemplo n.º 19
0
class NewUserForm(ModelForm):
    role_list = role_list()
    username = StringField('Username', validators=[Unique(User.username)])
    email = EmailField('Email Address', validators=[
        InputRequired(),
        Email(),
        Unique(User.email),
        EqualTo('email2', message='Email addresses must match')
    ])
    email2 = EmailField('Confirm Email', validators=[InputRequired()])
    password = PasswordField('Password', validators=[
        EqualTo('password2', message='Passwords must match')
    ])
    password2 = PasswordField('Confirm Password')
    first_name = StringField('First Name')
    last_name = StringField('Last Name')
    display_name = StringField('Display Name')
    image = StringField('Image URL', validators=[URL(), Optional()])
    role = RadioField('Role', choices=role_list, default='member')
    is_enabled = BooleanField('Enabled?')
Ejemplo n.º 20
0
class UserForm(FlaskForm, ModelForm):
    username_message = "Only Letters,  Numbers and Special Characters are Considered "
    username = StringField(
        validators=[(Unique(User.username, get_session=lambda: db.session)),
                    Optional(),
                    Length(1, 20),
                    Regexp('^/w+$', message=username_message)])
    role = SelectField("Privledges",
                       validators=[DataRequired()],
                       choices=choices_from_dict(User.ROLE,
                                                 prepend_blank=False))
    active = BooleanField('Yes, allow this user to sign in')
Ejemplo n.º 21
0
class ProfileForm(ModelForm, FlaskForm):
    username = StringField('Username',
                           validators=[
                               DataRequired(),
                               Unique(User.username,
                                      message="User with username exists")
                           ])

    email = StringField(
        'Email',
        validators=[
            DataRequired(),
            validators.Email(message="Must be a valid email address"),
            Unique(User.email, message="User with email exists")
        ])

    mobile = IntegerField('Mobile', validators=[DataRequired()])
    first_name = StringField('First Name', validators=[DataRequired()])
    last_name = StringField('First Name', validators=[DataRequired()])
    email_notifications = BooleanField('Email Notifications')
    text_notifications = BooleanField('Text Notifications')
Ejemplo n.º 22
0
class UpdateCredentials(ModelForm):
    current_password = PasswordField(
        'Current password',
        [DataRequired(),
         Length(8, 128), ensure_existing_password_matches])

    email = EmailField(validators=[
        Email(), Unique(User.email, get_session=lambda: db.session)
    ])

    name = StringField('Full name')

    username = StringField(validators=[
        Unique(User.username,
               get_session=lambda: db.session,
               message='That username is already in use.')
    ])

    password = PasswordField('New Password', [Optional(), Length(8, 128)])
    confirm = PasswordField(
        "Repeat New Password",
        [EqualTo("password", message="Passwords don't match")])
Ejemplo n.º 23
0
class UserForm(ModelForm):
    username_message = 'Letters, numbers and underscores only please.'

    username = StringField(validators=[
        Unique(User.username, get_session=lambda: db.session),
        Optional(),
        Length(1, 16),
        Regexp('^\w+$', message=username_message)
    ])

    role = SelectField('Privileges', [DataRequired()],
                       choices=choices_from_dict(User.ROLE,
                                                 prepend_blank=False))
    active = BooleanField('Yes, allow this user to sign in')
Ejemplo n.º 24
0
class UserForm(ModelForm):
    username = StringField(validators=[
        Unique(User.username),
        Optional(),
        Length(1, 16),
        Regexp(
            '^[A-Za-z][A-Za-z0-9_.]*$', 0,
            'Usernames must have only letters, numbers, dots or '
            'underscores')
    ])

    role = SelectField('Privileges', [DataRequired()],
                       choices=choices_from_dict(User.ROLE,
                                                 prepend_blank=False))
    active = BooleanField('Yes, allow this user to sign in')
Ejemplo n.º 25
0
 class Meta:
     model = User
     only = ('name', 'email', 'bio')
     field_args = {
         'name': {
             'label': 'Name'
         },
         'email': {
             'label': 'Email',
             'validators': (Email(), Unique(User.email)),
         },
         'bio': {
             'label': 'Biography'
         },
     }
Ejemplo n.º 26
0
class UserForm(ModelForm):
    username_message = 'Letters, numbers and underscores only please.'

    username = StringField(validators=[
        Unique(User.username, get_session=lambda: db.session),
        Optional(),
        Length(1, 16),
        # Part of the Python 3.7.x update included updating flake8 which means
        # we need to explicitly define our regex pattern with r'xxx'.
        Regexp(r'^\w+$', message=username_message)
    ])

    role = SelectField('Privileges', [DataRequired()],
                       choices=choices_from_dict(User.ROLE,
                                                 prepend_blank=False))
    active = BooleanField('Yes, allow this user to sign in')
Ejemplo n.º 27
0
 def _gen_form_dict(self, table_schema):
     dic = {}
     for field in table_schema['fields']:
         validators = []
         if field['unique'] == "true":
             validators.append(
                 Unique(
                     getattr(self.models[table_schema['table_name']],
                             field['name'])))
         if field['nullable'] == "true":
             validators.append(DataRequired())
         dic[field['name']] = self.FIELD_DICT[field['type']](field['name'])
     dic['submit'] = SubmitField('Add ' + table_schema['table_name'])
     dic['reset'] = SubmitField('Reset')
     print(dic)
     return dic
Ejemplo n.º 28
0
class RegisterForm(FlaskForm, ModelForm):
    email = StringField('Email',
                        validators=[
                            Email(),
                            DataRequired(),
                            Length(2, 150),
                            Unique(User.email, get_session=lambda: db.session)
                        ])
    password = PasswordField('Password',
                             validators=[
                                 Length(6, 64, "At least 6 characters long"),
                                 DataRequired(),
                                 EqualTo('confirm',
                                         message='Passwords must match')
                             ])
    confirm = PasswordField('Repeat Password')
Ejemplo n.º 29
0
class SignupForm(ModelForm):
    email = EmailField(validators=[
        DataRequired(),
        Email(),
        Unique(User.email, get_session=lambda: db.session)
    ])

    password = PasswordField('Password', [
        DataRequired(),
        EqualTo("confirm", message="Passwords don't match!"),
        Length(8, 128)
    ])
    confirm = PasswordField("Repeat Password", [
        DataRequired(),
        EqualTo("password", message="Passwords don't match!"),
        Length(8, 128)
    ])
Ejemplo n.º 30
0
class ProfileForm(ModelForm):
    """Form for editing :class:`~pygotham.models.User` instances."""

    id = HiddenField()
    twitter_handle = TwitterField('Twitter',
                                  validators=(Unique(User.twitter_handle),
                                              Optional()))

    class Meta:
        model = User
        only = ('name', 'email', 'bio')
        field_args = {
            'name': {
                'label': 'Name'
            },
            'email': {
                'label': 'Email',
                'validators': (Email(), Unique(User.email)),
            },
            'bio': {
                'label': 'Biography'
            },
        }
Ejemplo n.º 31
0
 def unique(column, get_session):
     return Unique(
         column, get_session=get_session, message='Not unique'
     )