Exemple #1
0
class LoginForm(Form):
    """
    登录表单
    """
    login = TextField(_("Email address"),
                      validators=[
                          required(message=_("You must provide an email")),
                          email(message=_("A valid email address is required"))
                      ])

    password = PasswordField(
        _("Password"),
        validators=[required(message=_("You must provide an password"))])

    recaptcha = TextField(
        _("Recaptcha"),
        validators=[])  # required(message=_("You must provide an captcha"))

    remember = BooleanField(_("Remember me"))

    next = HiddenField()

    def validate_recaptcha(self, field):
        if 'need_verify' not in session or not session['need_verify']:
            return

        if 'verify' not in session or session['verify'] != str(
                field.data).upper():
            raise ValidationError, gettext("This captcha is not matching")

    submit = SubmitField(_("Login"))
Exemple #2
0
class LoginForm(Form):
    openid = TextField('openid', validators=[Required()])
    email = TextField('Email', validators=[Required()])
    password = PasswordField('Password', validators=[Required()])
    remember = BooleanField('Remember Me', default=False)
    next = HiddenField('next')
    submit = SubmitField('submit')
Exemple #3
0
class QuestionForm(Form):
    """Form that receives questions from users to the "Answer" tool"""

    theme = SelectField(
        _('Theme'),
        [
            validators.Required(
                message=_(u'You need to choose one of the options above'))
        ],
    )

    title = TextField(
        _('Contribution title'),
        [
            validators.Length(min=5,
                              message=_(
                                  u'Your title is too short! It needs to have '
                                  u'at least 5 chars')),
            validators.Length(max=256,
                              message=_(
                                  u'Your title is too long! It needs to have '
                                  u'at most 256 chars'))
        ],
    )

    question = TextField(
        _('Content'),
        [
            validators.Length(
                min=5,
                message=_(u'Your contribution is too short! It needs to have '
                          u'at least 50 chars')),
        ],
    )
Exemple #4
0
class EditMachineForm(Form):
    name = TextField(_(u"机器名:"),
                     validators=[required(_(u"请输入机器名")), is_legal_name])
    description = TextAreaField(_(u"描述:"))
    status = RadioField(_(u"状态:"),
                        default=Machine.OK,
                        coerce=int,
                        choices=((Machine.OK, _(u"正常")), (Machine.REALLY,
                                                          _(u"停用"))))
    username = TextField(_(u"用户名:"), validators=[required(_(u"请输入用户名"))])
    password = TextField(_(u"密码:"), validators=[required(message=_(u"请输入密码"))])
    url_hudson = TextField(_(u"Hudson地址:"),
                           validators=[required(_(u"请输入Hudson地址"))])
    key = TextField(_(u"SSH Key:"))
    submit = SubmitField(_(u"保存"))

    def __init__(self, machine, *args, **kwargs):
        self.machine = machine
        kwargs['obj'] = self.machine
        super(EditMachineForm, self).__init__(*args, **kwargs)

    def validate_name(self, field):
        machine = Machine.query.filter(
            db.and_(Machine.name.like(field.data),
                    db.not_(Machine.id == self.machine.id))).first()
        if machine:
            raise ValidationError(gettext(u"机器名已经存在"))
Exemple #5
0
class SignupForm(Form):
    next = HiddenField()
    name = TextField(_('Username'), [required()])
    password = PasswordField(
        _('Password'),
        [required(), length(min=PASSLEN_MIN, max=PASSLEN_MAX)])
    password_again = PasswordField(_('Password again'), [
        required(),
        length(min=PASSLEN_MIN, max=PASSLEN_MAX),
        equal_to('password')
    ])
    email = TextField(
        _('Email address'),
        [required(),
         email(message=_('A valid email address is required'))])
    invitation_code = TextField(
        _('Invitation Code'),
        [required(message=_('Please fill in the invitation code!'))])
    submit = SubmitField(_('Signup'))

    def validate_name(self, field):
        if g.db.users.find_one({"_id": field.data}) is not None:
            raise ValidationError, _('This username is taken')

    def validate_email(self, field):
        if g.db.users.find_one({"email": field.data}) is not None:
            raise ValidationError, _('This email is taken')

    def validate_invitation_code(self, field):
        if g.db.invitates.find_one({
                "code": field.data,
                "used": 'False'
        }) is None:
            raise ValidationError, _('Invalid code')
Exemple #6
0
class NodeForm(BaseForm):
    title = TextField(
        _('Title'), validators=[DataRequired()],
        description=_('The screen title of the node')
    )
    urlname = TextField(
        _('URL'), validators=[DataRequired()],
        description=_('The url name of the node')
    )
    description = TextAreaField(_('Description'))
    role = SelectField(
        description=_('Required role'),
        choices=[
            ('user', _('User')),
            ('staff', _('Staff')),
            ('admin', _('Admin'))
        ],
        default='user',
    )

    def validate_urlname(self, field):
        if self._obj and self._obj.urlname == field.data:
            return
        if Node.query.filter_by(urlname=field.data).count():
            raise ValueError(_('The node exists'))

    def save(self):
        node = Node(**self.data)
        node.save()
        return node
Exemple #7
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')
Exemple #8
0
class Signup_Form(Form):
    email = TextField("email", validators=[email(message='Is this a valid email?'),
                        Required(message='Email address is required')])

    username = TextField("username", validators=[Length(min=3, message='Username must be 3 characters or longer'),
                            Length(max=20, message="Username cannot be longer than 20 characters"),
                            Required(message='Username is required')])
    password = TextField("password", validators=[Length(min=6, message="Password must be 6 characters or longer"),
                            Length(max=50, message="Password cannot be longer than 50 characters"),
                            Required(message='Password is required')])
    submit = SubmitField("submit")

    def __init__(self, *args, **kwargs):
        Form.__init__(self, *args, **kwargs)

    def validate(self):
        rv = Form.validate(self)
        num_errors = 0
        if not rv:
            num_errors = num_errors + 1

        if not User.is_email_available(self.email.data):
            self.email.errors.append('This email has been registered. Try a different one')
            num_errors = num_errors + 1

        if not User.is_username_available(self.username.data):
            self.username.errors.append('This username has been registered. Try a different one')
            num_errors = num_errors + 1

        if num_errors > 0:
            return False

        return True
Exemple #9
0
class SignupForm(Form):

    next = HiddenField()

    username = TextField(
        u"用户名",
        validators=[required(message=_("Username required")), is_username])

    password = PasswordField(
        u"密码", validators=[required(message=_("Password required"))])

    password_again = PasswordField(u"密码确认", validators=[
                                   equal_to("password", message=\
                                            _("Passwords don't match"))])

    email = TextField(u"邮箱",
                      validators=[
                          required(message=_("Email address required")),
                          email(message=_("A valid email address is required"))
                      ])

    recaptcha = RecaptchaField(_("Copy the words appearing below"))

    submit = SubmitField(u"注册")

    def validate_username(self, field):
        user = User.query.filter(User.username.like(field.data)).first()
        if user:
            raise ValidationError, u"改用户名已存在"

    def validate_email(self, field):
        user = User.query.filter(User.email.like(field.data)).first()
        if user:
            raise ValidationError, gettext("This email is taken")
Exemple #10
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')
Exemple #11
0
class CommodityForm(Form):
    symbol = TextField('Ticker Symbol',
                       description='Usually 3 or 4 letters',
                       validators=univals)

    name = TextField('Name', description='Commodity name', validators=univals)
    type_id = SelectField('Type', description='Type of commodity', coerce=int)
    data_source_id = SelectField('Data Source',
                                 description='Data source',
                                 coerce=int)
    exchange_id = SelectField('Exchange',
                              description='Stock exchange',
                              coerce=int)

    @classmethod
    def new(self):
        form = self()
        helper = help()
        table = 'commodity_type'
        form.type_id.choices = helper.get_choices(table, 'id', 'name')
        form.type_id.validators = helper.get_validators(table, 'id')
        form.data_source_id.choices = helper.get_choices(
            'data_source', 'id', 'name')
        form.data_source_id.validators = helper.get_validators(
            'data_source', 'id')
        form.exchange_id.choices = helper.get_choices('exchange', 'id',
                                                      'symbol')
        form.exchange_id.validators = helper.get_validators('exchange', 'id')
        return form
Exemple #12
0
class UserForm(Form):
    nickname = TextField('nickname')
    about_me = TextAreaField('about_me', validators = [Length(min = 0, max = 140)])
    email = TextField('email', validators = [Required(), Length(min = 0, max = 120)])
    roles = TextField('roles', validators = [Required()]) # FIXME:
#    roles = HiddenField('roles', validators = [Required()])
    
    def __init__(self, user, *args, **kwargs):
        Form.__init__(self, *args, **kwargs)
        self.original_nickname = user.nickname
        
    def validate(self):
        if not Form.validate(self):
            print 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
            return False
        if self.nickname.data == self.original_nickname:
            return True
        if self.nickname.data != User.make_valid_nickname(self.nickname.data):
            self.nickname.errors.append(gettext('This nickname has invalid characters. Please use letters, numbers, dots and underscores only.'))
            return False
        user = User.query.filter_by(nickname = self.nickname.data).first()
        if user != None:
            self.nickname.errors.append(gettext('This nickname is already in use. Please choose another one.'))
            return False
        return True
Exemple #13
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')
Exemple #14
0
class RoleForm(Form):
    name = TextField('name', validators=[Required()])
    role_id = TextField('role_id',
                        validators=[Required(),
                                    Length(min=3, max=8)])

    def __init__(self, original_role, *args, **kwargs):
        Form.__init__(self, *args, **kwargs)
        self.the_original_id = ""
        print ' . . . . . . . . . . . . . . .' + str(original_role.id)
        if original_role.id is not None:
            self.the_original_id = original_role.id.upper()

    def validate(self):
        print 'A'
        if not self.role_id.data:
            self.role_id.data = self.the_original_id
        self.role_id.data = self.role_id.data.upper()
        if not Form.validate(self):
            print 'B'
            return False
        if self.role_id.data == self.the_original_id:
            print 'C1 ' + str(self.role_id.data)
            return True
        print 'D'
        role = Role.query.filter_by(name=self.name.data).first()
        print 'E'
        if role != None:
            print 'F'
            self.name.errors.append(
                gettext(
                    'This nickname is already in use. Please choose another one.'
                ))
            return False
        return True
Exemple #15
0
class NewCustomFieldForm(Form):
    """Form for a new custom field"""

    field_name      = TextField(u'Name', validators=[optional()])
    field_value     = TextField(u'Value', validators=[optional()])                

    def validate_field_name(form, field):
        if field.data and not form.field_value.data:
            raise ValidationError('Please specify a value')

    def validate_field_value(form, field):
        if field.data and not form.field_name.data:
            raise ValidationError('Please name this field')
    
    def save_if_data(self):
        if self.field_name.data and self.field_value.data:
            custom_field = CustomField()
            custom_field.user_id = current_user.id
            custom_field.name = self.field_name.data
            custom_field.value = self.field_value.data
            db.session.add(custom_field)
            db.session.commit()
            return custom_field
        else:
            return None
Exemple #16
0
class SignupForm(Form):
    firstname = TextField(
        "First name", [validators.Required("Please enter your first name.")])
    lastname = TextField("Last name",
                         [validators.Required("Please enter your last name.")])
    email = TextField("Email", [
        validators.Required("Please enter your email address."),
        validators.Email("Please enter your email address.")
    ])
    password = PasswordField('Password',
                             [validators.Required("Please enter a password.")])
    submit = SubmitField("Create account")

    def __init__(self, *args, **kwargs):
        Form.__init__(self, *args, **kwargs)

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

        user = User.query.filter_by(email=self.email.data.lower()).first()
        if user:
            self.email.errors.append("That email is already taken")
            return False
        else:
            return True
Exemple #17
0
class PageForm(Form):
    """ This class extends the base Form class from the wtforms package,
        which takes care of validation and other details for us. """
    title = TextField('Event title (e.g. Lowell GOTV Rally)',
                      [validators.Required()])

    date = TextField('Date (e.g. June 24, 2013)')

    time = TextField('Time (e.g. 2:30 pm)')

    address = TextAreaField('Address')

    description = TextAreaField('Description')

    entry = TextAreaField('Event info to be submitted to the Google Doc')

    filename = TextField(
        'Short name for this signup page, to be used for the '
        'filename (e.g. lowell-rally)', [validators.Length(min=6, max=35)])

    production = BooleanField('I have previewed by submitting once without '
                              'checking this box, and am now ready to upload '
                              'it as final (if left unchecked, the page will '
                              'be uploaded to the staging bucket for preview)')

    password = PasswordField('Password')
Exemple #18
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已被注册')
Exemple #19
0
class EditForm(Form):
    """
    Form used to edit user profile information.
    """
    name = TextField(u'Name', [Required()])
    netid = TextField(u'NetID', [Required()])
    email = TextField(u'Email address', [Required()])

    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!)')
Exemple #20
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
Exemple #21
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
Exemple #22
0
class ProfileSettingsForm(Form):
    # to do some check
    email = TextField(validators=[email(message='你的邮箱不合法')])
    nickname = TextField()
    website = TextField()
    signature = TextField()
    introduction = TextField()
Exemple #23
0
class CreateUserForm(RedirectForm):
    name = TextField('name', validators=[Required()])
    email1 = TextField('email1', validators=[Required()])
    email2 = TextField('email2', validators=[Required()])

    pass1 = PasswordField('pass1', validators=[Required()])
    pass2 = PasswordField('pass2', validators=[Required()])

    def validate(self):
        if request.form['button'] == 'Cancel':
            return True
        rv = Form.validate(self)
        if not rv:
            return False

        if self.email1.data != self.email2.data:
            self.email2.errors.append("Email addresses do not match")
            return False

        user = User.query.filter_by(email=self.email1.data).first()
        if user is not None:
            self.email2.errors.append("Email address is already registered")
            return False

        if self.pass1.data != self.pass2.data:
            self.pass2.errors.append("Passwords do not match")
            return False

        self.user = user
        return True
Exemple #24
0
class EditMyAccountForm(Form):

    username = TextField(_(u"用户名:"), validators=[
                         required(_(u"请输入用户名")), is_legal_name])

    email = TextField(_(u"邮箱地址:"), validators=[
                      required(message=_(u"请输入邮箱地址")),
                      email(message=_(u"请输入有效的邮箱地址"))])

    email_alerts = BooleanField(_(u"开启邮件提醒"))

    status = BooleanField(_(u"账号状态"))

    submit = SubmitField(_(u"保存"))

    def __init__(self, user, *args, **kwargs):
        self.user = user
        kwargs['obj'] = self.user
        super(EditMyAccountForm, self).__init__(*args, **kwargs)

    def validate_username(self, field):
        user = User.query.filter(db.and_(
                                 User.username.like(field.data),
                                 db.not_(User.id == self.user.id))).first()

        if user:
            raise ValidationError(gettext(u"用户名已经存在"))

    def validate_email(self, field):
        user = User.query.filter(db.and_(
                                 User.email.like(field.data),
                                 db.not_(User.id == self.user.id))).first()
        if user:
            raise ValidationError(gettext(u"邮箱地址已经存在"))
Exemple #25
0
class PostForm(Form):

    title = TextField('Title', [validators.Length(min=4, max=60)])
    author = TextField('Author', [validators.Length(min=4, max=25)])
    published = BooleanField('Publish')
    permalink = TextField('Permanent Link',
                          [validators.Length(min=10, max=60)])
Exemple #26
0
class SignupForm(Form):
    '''It is used for sign up, defines sign up form.'''

    next = HiddenField()

    username = TextField(_(u"用户名:"), validators=[
                         required(message=_(u"请输入用户名或者邮箱地址")),
                         is_legal_name])

    password = PasswordField(_(u"密码:"), validators=[
                             required(message=_(u"请输入密码"))])

    password_again = PasswordField(_(u"确认密码:"), validators=[
                                   equal_to(u"password", message=
                                            _(u"密码不一致"))])

    email = TextField(_(u"邮箱地址:"), validators=[
                      required(message=_(u"请输入邮箱地址")),
                      email(message=_(u"请输入有效的邮箱地址"))])

    submit = SubmitField(_(u"注册"))

    def validate_username(self, field):
        user = User.query.filter(User.username.like(field.data)).first()
        if user:
            raise ValidationError(gettext(u"用户名已经存在"))

    def validate_email(self, field):
        user = User.query.filter(User.email.like(field.data)).first()
        if user:
            raise ValidationError(gettext(u"邮箱地址已经存在"))
Exemple #27
0
class AddProductForm(Form):
    user_id = HiddenField('user_id')
    name = TextField('name', validators=[Required()])
    asin = TextField('Amazon Id')
    category_id = TextField('Category')
    default_photo = TextField('Default Photo')
    custom_photo = TextField('Photo')
Exemple #28
0
class CreateLogin(Form):
    fname = TextField('*First Name', validators=[Required()])
    lname = TextField('Last Name',
                      validators=[Optional(strip_whitespace=True)])
    mobile = TextField(
        'Mobile',
        validators=
        # sets optional entry and strips whitespace
        [
            Optional(strip_whitespace=True),
            v.Length(max=15, message='Mobile exceeds length')
        ])
    zipcode = IntegerField('Zipcode',
                           validators=[Optional(strip_whitespace=True)])
    # v.NumberRange(max=9,
    # message='Zipcode exceeds length')])
    email = TextField('*Email',
                      validators=[
                          Required(),
                          v.Email(),
                          v.EqualTo('confirm_email',
                                    message="Emails must match")
                      ])
    confirm_email = TextField('*Confirm Email')
    bio = TextAreaField('Bio', validators=[Length(min=0, max=140)])
    password = PasswordField('*Password',
                             validators=[
                                 Required(),
                                 v.EqualTo('confirm_password',
                                           message='*Passwords must match')
                             ])
    confirm_password = PasswordField('Confirm Password')
    remember_me = BooleanField('Remember Me', default=False)
    recaptcha = RecaptchaField('*Person Test')
Exemple #29
0
class RegistrationForm(Form):
    full_name = TextField(lazy_gettext('School name'),
                          [validators.Required(),
                           validators.Length(min=4)] +
                          forms.SCHOOL_FULL_NAME_VALIDATORS,
                          description=lazy_gettext('School name.'))
    short_name = TextField(
        lazy_gettext('Short name'),
        [validators.Required()] + forms.SCHOOL_SHORT_NAME_VALIDATORS,
        description=lazy_gettext(
            'Short name (lower case, all letters, dots and numbers).'))
    url = TextField(lazy_gettext('School URL'), [
        validators.Length(min=6, max=200),
        validators.URL(),
        validators.Required()
    ],
                    description=lazy_gettext('Address of your school.'))
    user_full_name = TextField(
        lazy_gettext('User name'),
        [validators.Required(),
         validators.Length(min=4)] + forms.USER_FULL_NAME_VALIDATORS,
        description=lazy_gettext('Your name and last name.'))
    user_login = TextField(lazy_gettext('Login'), [validators.Required()] +
                           forms.USER_LOGIN_DEFAULT_VALIDATORS,
                           description=lazy_gettext(
                               'Your new login (you can create more later).'))
    user_password = PasswordField(
        lazy_gettext('Password'),
        [validators.Required()] + forms.USER_PASSWORD_DEFAULT_VALIDATORS,
        description=lazy_gettext('Your access password.'))
Exemple #30
0
class PaymentForm(Form):
    """Form for a new custom field"""

    DATE_FORMAT = '%a %b %d %Y'

    invoice_id = HiddenField()
    amount = TextField('Amount', [required()])
    description = TextField()
    date = TextField('Date', [required()])

    def __init__(self, formdata=None, obj=None, prefix='', **kwargs):
        super(PaymentForm, self).__init__(formdata, obj, prefix, **kwargs)
        if obj is not None:
            self.payment = obj
        else:
            self.payment = None

    def save(self):
        """Save the payment model"""
        self.payment.amount = self.amount.data
        self.payment.date = datetime.strptime(self.date.data, self.DATE_FORMAT)
        self.payment.description = self.description.data

        db.session.add(self.payment)
        db.session.commit()

        self.payment.invoice.update_payment_status()

        return self.payment