Пример #1
0
class AccountAddForm(Form):
    account = TextField(
        'Account',
        validators=[
            Email(message='Account must be a valid Google Mail Address.'),
            Length(max=64)
        ])
Пример #2
0
class OperatorForm(Form):
    next = HiddenField()
    id = HiddenField(default=0)
    username = TextField(u'帐号', [Required(u'请输入帐号')])
    password = PasswordField(u'密码')
    nickname = TextField(u'姓名', [Required(u'请输入姓名')])
    op_id = TextField(u'工号')
    email = TextField(u'邮箱地址',[Email(u'邮箱格式不正确')])
    team = SelectField(u"所属组", [AnyOf([str(val) for val in TEAMS.keys()+DEPARTMENTS.keys()])],choices=TEAM_CHOICES)
    role = QuerySelectField(u'角色',query_factory=lambda :Role.query.all(),get_label='name')
    is_admin = BooleanField(u'设为系统管理员')
    assign_user_type = SelectField(u"指派客户类型", [AnyOf([str(val) for val in OPEARTOR_ASSIGN_USER_TYPES.keys()])],choices=[(str(val), label) for val, label in OPEARTOR_ASSIGN_USER_TYPES.iteritems()])
    store_id = SelectField(u"仓库", [AnyOf([str(val) for val in STORES2.keys()])],choices=[(str(val), label) for val, label in STORES2.items()])
    #SelectField(u"角色", [AnyOf([str(val) for val in USER_ROLE.keys()])],choices=[(str(val), label) for val, label in USER_ROLE.items()])


    #SelectField(u"角色", [AnyOf([str(val) for val in USER_ROLE.keys()])],
    #    choices=[(str(val), label) for val, label in USER_ROLE.items()])

    #is_admin = BooleanField(u'是否设为管理员')

    def validate_password(self,field):
        operator_id = int(self.id.data)
        if not operator_id:
            if not field.data or len(field.data)<6:
                raise ValidationError(u'密码为空或小于6位')
        else:
            if field.data and len(field.data)<6:
                raise ValidationError(u'密码必须不小于6位')

    def validate_username(self, field):
        operator_id = int(self.id.data)
        if not operator_id:
            if Operator.query.filter_by(username=field.data).first() is not None:
                raise ValidationError(u'用户名已存在')
Пример #3
0
class SignupForm(Form):
    next = HiddenField()
    email = EmailField(u'Email', [Required(), Email()],
                       description=u"What's your email address?")
    password = PasswordField(
        u'Password',
        [Required(), Length(PASSWORD_LEN_MIN, PASSWORD_LEN_MAX)],
        description=u'%s characters or more! Be tricky.' % PASSWORD_LEN_MIN)
    name = TextField(
        u'Choose your username',
        [Required(), Length(USERNAME_LEN_MIN, USERNAME_LEN_MAX)],
        description=u"Don't worry. you can change it later.")
    agree = BooleanField(
        u'Agree to the ' +
        Markup('<a target="blank" href="/terms">Terms of Service</a>'),
        [Required()])
    submit = SubmitField('Sign up')

    def validate_name(self, field):
        if User.query.filter_by(name=field.data).first() is not None:
            raise ValidationError(u'This username is taken')

    def validate_email(self, field):
        if User.query.filter_by(email=field.data).first() is not None:
            raise ValidationError(u'This email is taken')
Пример #4
0
class ParticipantRegistration(Form):
    username = TextField(
        "Username",
        validators=[
            MatchesRegex(
                "[^0-9a-zA-Z\-_]",
                "Your username contains invalid characters. Only use alphanumeric characters, dashes and underscores."
            ),
            Not(UsernameExists(), message="That username already exists."),
            Length(
                min=3,
                max=80,
                message=
                "You have to enter a username of 3 to 80 characters length.")
        ])
    password = PasswordField(
        "Password",
        validators=[
            Length(min=8,
                   message="Please enter a password of at least 8 characters.")
        ])
    password2 = PasswordField(
        "Password, again",
        validators=[EqualTo("password", "Passwords do not match.")])
    email = EmailField(
        "Email",
        validators=[
            Not(EmailExists(),
                message="That email address is already in use."),
            Email(message="The email address you entered is invalid.")
        ])
    receive_emails = BooleanField("I want to receive email notifications.",
                                  default=True)
    captcha = RecaptchaField()
Пример #5
0
class UserRegForm(Form):
    name = TextField(
        u"用户名",
        validators=[Required(),
                    Length(min=3, max=32),
                    Regexp(re_username)])
    email = TextField(u'Email', validators=[Required(), Email()])
    gender = RadioField(u'性别',
                        coerce=int,
                        choices=[(0, u'男'), (1, u'女')],
                        default=0,
                        widget=BSListWidget())
    password = PasswordField(u'密码',
                             validators=[
                                 Required(),
                                 Length(min=5, max=60),
                                 EqualTo('confirm',
                                         message='Passwords must match')
                             ])
    confirm = PasswordField(u'确认密码',
                            validators=[Required(),
                                        Length(min=5, max=60)])

    def validate_name(form, field):
        name = field.data.lower()
        if name in reserved_words:
            raise ValidationError(u'用户名不能为系统保留字')
        user = User.query.filter(User.username == field.data).first()
        if user:
            raise ValidationError(u'该用户名已被注册')

    def validate_email(form, field):
        user = User.query.filter(User.email == field.data).first()
        if user:
            raise ValidationError(u'该email已被注册')
Пример #6
0
class UserForm(Form):
    first_name = TextField(u'First name', validators=[required()])
    last_name = TextField(u'Last name', validators=[required()])
    email_address = TextField(u'Email address',
                              validators=[required(), Email()])
    password = PasswordField(
        u'New password', validators=[Optional(),
                                     EqualTo('password_confirm')])
    password_confirm = PasswordField(u'Password confirm',
                                     validators=[Optional()])

    def __init__(self, formdata=None, obj=None, prefix='', **kwargs):
        super(UserForm, self).__init__(formdata, obj, prefix, **kwargs)
        if obj:
            self.user = obj
        else:
            self.user = None

    def validate_email_address(self, field):
        user = User.query.filter_by(email_address=field.data) \
                         .filter(User.id != self.user.id).first()
        if user:
            raise ValidationError('That email address is already in use')

    def save(self):
        self.user.first_name = self.first_name.data
        self.user.last_name = self.last_name.data
        self.user.email_address = self.email_address.data

        if len(self.password.data) > 1:
            self.user.password = self.password.data

        db.session.add(self.user)
        db.session.commit()
        return self.user
Пример #7
0
class ProfileForm(Form):
    multipart = True
    next = HiddenField()
    email = EmailField(u'Email', [Required(), Email()])
    # Don't use the same name as model because we are going to use populate_obj().
    avatar_file = FileField(u"Avatar", [Optional()])
    sex_code = RadioField(u"Sex",
                          [AnyOf([str(val) for val in SEX_TYPE.keys()])],
                          choices=[(str(val), label)
                                   for val, label in SEX_TYPE.items()])
    age = IntegerField(u'Age', [Optional(), NumberRange(AGE_MIN, AGE_MAX)])
    phone = TelField(u'Phone', [Length(max=64)])
    url = URLField(u'URL', [Optional(), URL()])
    deposit = DecimalField(
        u'Deposit',
        [Optional(), NumberRange(DEPOSIT_MIN, DEPOSIT_MAX)])
    location = TextField(u'Location', [Length(max=64)])
    bio = TextAreaField(u'Bio', [Length(max=1024)])
    submit = SubmitField(u'Save')

    def validate_name(form, field):
        user = User.get_by_id(current_user.id)
        if not user.check_name(field.data):
            raise ValidationError("Please pick another name.")

    def validate_avatar_file(form, field):
        if field.data and not allowed_file(field.data.filename):
            raise ValidationError("Please upload files with extensions: %s" %
                                  "/".join(ALLOWED_AVATAR_EXTENSIONS))
Пример #8
0
class RegisterForm(Form):
    first_name = TextField('First Name',
                           validators=[Required()],
                           description="Your first name")
    last_name = TextField('Last Name',
                          validators=[Required()],
                          description="Your last name")
    email = TextField('Email address',
                      validators=[Required(), Email()],
                      description="Your email address")
    phone = TextField('Phone number',
                      validators=[Required()],
                      description="Your phone number")
    password = PasswordField('Password',
                             validators=[
                                 Required(),
                                 EqualTo('confirm',
                                         message='Passwords must match')
                             ],
                             description="Your password")
    confirm = PasswordField('',
                            validators=[Required()],
                            description="Confirm your password")

    def validate_phone(form, field):
        if not is_us_phone_number(field.data):
            raise ValidationError('Use the phone number format XXX-XXX-XXXX')
Пример #9
0
class CreateUserForm(Form):

    # TODO: NAME字段格式检查的中文支持

    next_page = HiddenField()

    email = TextField(u'Email', description=u'Unique',
                      validators=[Required(message=u'Email is required'),
                                  Email(message=u'Incorrect email format'),
                                  Unique(User, User.email, message=u'The current email is already in use')])
    username = TextField(u'Username', description=u'Unique',
                         validators=[Required(message=u'Username is required'),
                                     Regexp(u'^[a-zA-Z0-9\_\-\.]{5,20}$', message=u'Incorrect username format'),
                                     Unique(User, User.username, message=u'The current name is already in use')])
    name = TextField(u'Name', description=u'Unique',
                     validators=[Required(message=u'Name is required'),
                                 Regexp(u'^[a-zA-Z0-9\_\-\.\ ]{1,20}$', message=u'Incorrect name format'),
                                 Unique(User, User.name, message=u'The current name is already in use')])
    weixin = TextField(u'Weixin OpenID', description=u'Unique, Using the command <code>openid</code> get in WeiXin',
                       validators=[Optional(),
                                   Unique(User, User.weixin, message=u'The current weixin OpenID is already in use')])
    groups = QuerySelectMultipleField(u'Group', description=u'Multiple Choice',
                                      query_factory=Group.query.all, get_label='desc',
                                      validators=[Required(message=u'Group is required')])
    password = TextField(u'Password', description=u'At least five characters',
                         validators=[Required(message=u'Password is required'),
                                     Regexp(u'^.{5,20}$', message=u'Password are at least five chars')])
    status = BooleanField(u'Status', description=u'Check to enable this user')

    submit = SubmitField(u'Submit', id='submit')
Пример #10
0
class SignupForm(Form):
    next = HiddenField()
    name = TextField(
        'Username',
        [Required(), Length(USERNAME_LEN_MIN, USERNAME_LEN_MAX)],
    )
    password = PasswordField(
        'Password',
        [Required(), Length(PASSWORD_LEN_MIN, PASSWORD_LEN_MAX)],
    )
    password_again = PasswordField(
        'Password again',
        [
            Required(),
            Length(PASSWORD_LEN_MIN, PASSWORD_LEN_MAX),
            EqualTo('password')
        ],
    )
    email = EmailField(
        'Email',
        [Required(), Email()],
    )
    submit = SubmitField('Sign up')

    def validate_name(self, field):
        if User.query.filter_by(name=field.data).first() is not None:
            raise ValidationError, gettext('This username is taken')

    def validate_email(self, field):
        if User.query.filter_by(email=field.data).first() is not None:
            raise ValidationError, gettext('This email is taken')
Пример #11
0
class RegisterForm(Form):
    """
    Registration Form to fill out initial User object.
    """
    name = TextField(u'Full Name', [Required()])
    netid = TextField(u'NetID', [Required()])
    email = TextField(u'Email address', [Required(), Email()])
    standing = SelectField(u'Class Standing', [Required()],
                           choices=[('freshman', 'Freshman'),
                                    ('soph', 'Sophomore'),
                                    ('junior', 'Junior'), ('senior', 'Senior'),
                                    ('alum', 'Alumni'),
                                    ('grad', 'Graduate Student'),
                                    ('faculty', 'Faculty')])

    major = SelectField(u'Major', [Required()],
                        choices=[('CS', 'CS (Computer Science)'),
                                 ('CE', 'CE (Computer Engineering)'),
                                 ('BI', 'BI (Business Informatics)'),
                                 ('Other', 'Other')])

    shirt_size = SelectField(u'T-Shirt Size', [Required()],
                             choices=[('S', 'Small'), ('M', 'Medium'),
                                      ('L', 'Large'), ('XL', 'X-Large'),
                                      ('XXL', '2X-Large')])

    description = TextAreaField(u'Describe yourself! '
                                '(Github Flavored Markdown Allowed!)')

    reg_only = SubmitField(u'<i class="icon-group"></i> Register Only')
    reg_and_pay = SubmitField(u'<i class="icon-credit-card"></i> '
                              'Register and Pay Membership')
Пример #12
0
class SignupForm(RedirectForm):
    username = TextField('username',
                         validators=[Required(),
                                     Length(min=5, max=30)])
    email = TextField('email', validators=[Required(), Email()])
    password = PasswordField('password',
                             validators=[Required(),
                                         Length(min=8, max=30)])

    def validate_email(self, field):
        if current_app.db.get('select * from account where email=%s',
                              field.data):
            raise ValueError(
                "This email has been registed! choose another one!")

    def save(self):
        current_app.db.execute(
            """
           insert into account
           (email, username, password, created_at)
           values(%s, %s, %s, UTC_TIMESTAMP())
           """, self.email.data, self.username.data,
            generate_password_hash(self.password.data))
        user = current_app.db.get('select * from account where email=%s',
                                  self.email.data)
        return user
Пример #13
0
class SignupForm(BaseForm):
    username = TextField(
        _('Username'),
        validators=[
            DataRequired(),
            Length(min=3, max=20),
            Regexp(r'^[a-z0-9A-Z]+$')
        ],
        description=_('English Characters Only.'),
    )
    email = EmailField(_('Email'), validators=[DataRequired(), Email()])
    password = PasswordField(_('Password'), validators=[DataRequired()])

    def validate_username(self, field):
        data = field.data.lower()
        if data in RESERVED_WORDS:
            raise ValueError(_('This name is a reserved name.'))
        if data in current_app.config.get('RESERVED_WORDS', []):
            raise ValueError(_('This name is a reserved name.'))
        if Account.query.filter_by(username=data).count():
            raise ValueError(_('This name has been registered.'))

    def validate_email(self, field):
        if Account.query.filter_by(email=field.data.lower()).count():
            raise ValueError(_('This email has been registered.'))

    def save(self, role=None):
        user = Account(**self.data)
        if role:
            user.role = role
        user.save()
        return user
Пример #14
0
class RegisterForm(Form):
    username = TextField(
        label=_('Username'),
        validators=[
            Required()
            ]
        )
    email = EmailField(
        label=_('Email address'),
        validators=[
            Required(),
            Email("That doesn't look like an email.")
            ]
        )
    password = PasswordField(
        label=_('Password'),
        validators=[
            Required(),
            Length(
                min=PASSWORD_LEN_MIN,
                max=PASSWORD_LEN_MAX,
                )
            ]
        )
    password_again = PasswordField(
        label=_('Repeat Password'),
        validators=[
            Required(),
            EqualTo('password_again', message=_('Passwords must match.'))
            ]
        )
    #recaptcha = RecaptchaField()
    submit = SubmitField(_('Create account'))
Пример #15
0
class MainRegisterForm(Form):
    """A form that includes just the main info necessary for registration:
    username(optional), email, password, timezone.
    """

    name = TextField('Username', [
        Required(),
    ])
    email = TextField('Email address', [Required(), Email()])
    password = PasswordField('Password', [
        Required(),
    ])
    timezone = SelectField('Timezone', [
        Required(),
    ],
                           choices=([
                               (None, 'Choose your timezone...'),
                           ] + [(timezone, timezone)
                                for timezone in get_timezone_list()]))

    def validate(self):
        rv = Form.validate(self)
        if not rv:
            return False

        self.email.data = self.email.data.lower()
        return True
Пример #16
0
class SignupForm(Form):
    next = HiddenField()
    email = EmailField(_('Email'), [Required(), Email()],
            description=_("What's your email address?"))
    password = PasswordField(_('Password'), [Required(), Length(PASSWORD_LEN_MIN, PASSWORD_LEN_MAX)],
            description=_('%(minChar)s characters or more! Be tricky.', minChar = PASSWORD_LEN_MIN) )
    name = TextField(_('Choose your username'), [Required(), Length(USERNAME_LEN_MIN, USERNAME_LEN_MAX)],
            description=_("Don't worry. you can change it later."))
    agree = BooleanField(_('Agree to the ') +
        Markup('<a target="blank" href="/terms">'+_('Terms of Service')+'</a>'), [Required()])
    submit = SubmitField('Sign up')

    def validate_name(self, field):
        if User.query.filter_by(name=field.data).first() is not None:
            raise ValidationError(_('This username is taken'))

    def validate_email(self, field):
        if User.query.filter_by(email=field.data).first() is not None:
            raise ValidationError(_('This email is taken'))

    def signup(self):
        user = User()
        user.user_detail = UserDetail()
        self.populate_obj(user)
        db.session.add(user)
        db.session.commit()
        return user
Пример #17
0
class AddUser(Form):
    user = TextField('user', [Required()])
    password = PasswordField('password', [Required()])
    confirm_pass = PasswordField('confirm_pass', [Required()])
    email = TextField('username', [Required(), Email()])
    perm = SelectField('perm',
                       choices=[('steve', 'Steve'), ('helpdesk', 'Helpdesk'),
                                ('admin', 'Admin')])
Пример #18
0
class RecoverPasswordForm(Form):
    email = EmailField(
        label=_('Your email'),
        validators=[
            Email(message=_("That doesn't look like an email."))
            ]
        )
    submit = SubmitField(_('Send instructions'))
Пример #19
0
class RegistrationForm(Form):
	name = TextField('Username', [Required()])
	email = TextField('Email address', [Required(), Email()])
	password = PasswordField('Password', [Required()])
	confirm = PasswordField('Repeat Password', [
        Required(),
        EqualTo('password', message='Passwords must match')
        ])
Пример #20
0
class ResetMailForm(RedirectForm):
    """docstring for ResetMailForm"""
    email = TextField('email', validators=[Required(), Email()])

    def validate_email(self, field):
        if not current_app.db.get('select * from account where email=%s',
                                  field.data):
            raise ValueError('No account asociate with the email!!')
Пример #21
0
class Create_persona_form(Form):
    """ Generate form for creating a persona """
    name = TextField('Name', validators=[
        Required(),
    ])
    email = TextField('Email (optional)', validators=[
        Email(),
    ])
Пример #22
0
class SettingsForm(Form):
    """Form for modifying build settings."""

    name = TextField(validators=[Length(min=1, max=200)])
    send_email = BooleanField('Send notification emails')
    email_alias = TextField('Mailing list for notifications',
                            validators=[Optional(), Email()])
    build_id = HiddenField(validators=[NumberRange(min=1)])
    save = SubmitField('Save')
Пример #23
0
class RegistrationForm(Form):
    """
    This is the form that registers a new attendee.
    """
    email = TextField("Email Address", [Required(), Email()])
    name = TextField("Your Full Name", [Required()])
    plan = SelectField(label="Extra Guests",
                       choices=[('0', '0'), ('1', '1')],
                       validators=[Required()])
Пример #24
0
class RegisterForm(Form):
    name = TextField('NickName', [Required()])
    email = TextField('Email address', [Required(), Email()])
    password = PasswordField('Password', [Required()])
    confirm = PasswordField(
        'Repeat Password',
        [Required(),
         EqualTo('confirm', message='Passwords must match')])
    accept_tos = BooleanField('I accept the TOS', [Required()])
Пример #25
0
class SettingsForm(Form):
    email = TextField('Email', validators=[Required(), Email()])
    password = PasswordField('New Password',
                             validators=[
                                 Required(),
                                 EqualTo('confirm',
                                         message='Passwords must match.')
                             ])
    confirm = PasswordField('Confirm', validators=[Required()])
Пример #26
0
class ProfileForm(Form):
    next = HiddenField()
    name = TextField(
            label = _("Username"),
            validators = [
                Required(),
                Length(USERNAME_LEN_MIN, USERNAME_LEN_MAX),
                ],
            description = u"Combination of letters/digits/underscore, at least %s characters." % USERNAME_LEN_MIN,
            )
    email = EmailField(
            label = _('Email'), 
            validators = [Email()],
            )
    created_time = DateField(
            label = _('Created time'),
            )
    role_id = RadioField(
            label = "Role",
            validators = [AnyOf([str(val) for val in USER_ROLE.keys()])],
            choices = [(str(val), label) for val, label in USER_ROLE.items()],
            )
    status_id = RadioField(
            label = "Status",
            validators = [AnyOf([str(val) for val in USER_STATUS.keys()])],
            choices = [(str(val), label) for val, label in USER_STATUS.items()],
            )
    real_name = TextField(
            label = _('Real name'),
            validators = [
                Length(REALNAME_LEN_MIN, REALNAME_LEN_MAX),
                ]
            )
    age = IntegerField(
            label = _('Age'), 
            validators = [NumberRange(AGE_MIN, AGE_MAX)],
            )
    phone = TelField(
            label = _('Phone'), 
            )
    url = URLField(
            label = _('URL'), 
            validators = [URL()],
            )
    deposit = DecimalField(
            label = _('Deposit'), 
            validators = [NumberRange(DEPOSIT_MIN, DEPOSIT_MAX)],
            )
    location = TextField(
            label = _('Location'), 
            validators = [Length(max=50)]
            )
    bio = TextAreaField(
            label = _('Bio'), 
            validators = [Length(max=1024)]
            )
    submit = SubmitField(_('Save'))
Пример #27
0
class RegistrationForm(Form):
    name = fields.TextField(validators=[Required()])
    email = fields.TextField(validators=[Email()])
    password = fields.PasswordField(validators=[Required()])
    conf_password = fields.PasswordField(validators=[Required()])

    def validate_login(self, field):
        if db.session.query(User).filter_by(
                username=self.username.data).count() > 0:
            raise validators.ValidationError('Duplicate username')
Пример #28
0
class ContactForm(Form):
    """Contact form"""
    name = TextField(label="Name", validators=[Length(max=35), Required()])
    email = EmailField(label="Email address",
                       validators=[Length(min=6, max=120),
                                   Email()])
    message = TextAreaField(label="Message",
                            validators=[Length(max=1000),
                                        Required()])
    recaptcha = RecaptchaField(label="reCAPTCHA")
Пример #29
0
class EditUserForm(Form):
    """docstring for EditUserForm"""

    username = TextField('Username', validators=[Required()])
    email = TextField('Email', validators=[Required(), Email()])
    password = PasswordField('Password', validators=[Required()])
    confirm = PasswordField('Confirm password',
                            validators=[
                                Required(),
                                EqualTo('confirm',
                                        message='Passwords must match')
                            ])
Пример #30
0
class SettingsForm(Form):
    """Form for modifying build settings."""

    name = TextField(validators=[Length(min=1, max=200)])
    send_email = BooleanField('Send notification emails')
    email_alias = TextField('Mailing list for notifications',
                            validators=[Optional(), Email()])
    build_id = HiddenField(validators=[NumberRange(min=1)])
    teamcityUrl = TextField(
        label=
        "Base TeamCity URL to Notify Upon Successful Testrun Completion (Optional)"
    )
    save = SubmitField('Save')