Exemple #1
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 #2
0
class SapplyForm(Form):
    name = TextField(u'简述', validators=[required(), length(max=64)])
    s_id = SelectField(u'机器型号', coerce=int, validators=[required()])
    s_num = TextField(u'数量', validators=[required(), regexp(u'^[0-9]+$'), length(max=11)])
    status = TextField(u'状态', validators=[])
    days = TextField(u'天数', validators=[regexp(u'^[0-9]*$')])
    desc = TextAreaField(u'描述', validators=[])
Exemple #3
0
class IDCForm(Form):
    name = TextField(u'名称',
                     validators=[
                         Required(message=u"名称不能为空"),
                         length(max=20, message=u"名称最大长度20字节")
                     ])
    chinese_name = TextField(
        u'中文名称', validators=[length(max=20, message=u"中文名最大长度20字节")])
Exemple #4
0
class AccountForm(Form):
    next = HiddenField()
    password = PasswordField(_('Password'), [required()])
    new_password = PasswordField(
        _('New password'), [required(), length(min=6, max=16)])
    password_again = PasswordField(
        _('Password again'),
        [required(),
         length(min=6, max=16),
         equal_to('new_password')])
    submit = SubmitField(_('Save'))

    def validate_password(form, field):
        user = User.query.filter_by(name=current_user.name).first()
        if not user.check_password(field.data):
            raise ValidationError(_("Password is wrong."))
Exemple #5
0
class LoginForm(Form):
    next = HiddenField()
    remember = BooleanField(_('Remember me'))
    login = TextField(_('Username or email address'), [required()])
    password = PasswordField(_('Password'),
                             [required(), length(min=6, max=16)])
    submit = SubmitField(_('Login'))
Exemple #6
0
class SmodelForm(Form):
    name = TextField(u'型号', validators=[required(), length(max=20)])
    stype_id = SelectField(u'所属栏目', coerce=int, validators=[required()])
    approver_id = SelectField(u'审核流程', coerce=int, validators=[required()])
    cpucores = TextField(
        u'CPU核数', validators=[required(),
                              regexp(u'^[0-9]+$'),
                              length(max=11)])
    memsize = TextField(
        u'内存/G', validators=[required(),
                             regexp(u'^[0-9]+$'),
                             length(max=11)])
    disk = TextField(u'磁盘', validators=[required(), length(max=128)])
    if_v = SelectField(u'机器类型',
                       default='0',
                       choices=[('1', u'虚拟机'), ('0', u'物理机')],
                       validators=[required()])
    template = TextAreaField(u'模板', validators=[])
Exemple #7
0
class UProfileForm(Form):
    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'))])
    submit = SubmitField(_('Commit'))

    def validate_email(self, field):
        if g.db.users.find_one({"email": field.data}) is not None:
            raise ValidationError, _('This email is taken')
Exemple #8
0
class CommentForm(Form):
    author_name = TextField(u'Name', validators=[required(message=u"Need an name"), length(max=50)])
    author_email = TextField(u"Email", validators=[
                             required(message=u"Need an email address"),
                             email(message=u"Need a valid email address")])
    author_url = TextField(u"Url")
    content = TextAreaField(u"Content")
    post_id = TextField()
    #recaptcha = RecaptchaField(u"Copy the words appearing below")
    submit = SubmitField(u"Save")
Exemple #9
0
class SignupForm(Form):
    next = HiddenField()
    name = TextField(_('Username'), [required()])
    password = PasswordField(_('Password'),
                             [required(), length(min=6, max=16)])
    password_again = PasswordField(
        _('Password again'),
        [required(), length(min=6, max=16),
         equal_to('password')])
    email = TextField(
        _('Email address'),
        [required(),
         email(message=_('A valid email address is required.'))])
    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')
Exemple #10
0
class ReauthForm(Form):
    next = HiddenField()
    password = PasswordField(
        _('Password'),
        [required(), length(min=PASSLEN_MIN, max=PASSLEN_MAX)])
    submit = SubmitField(_('Reauthenticate'))
Exemple #11
0
class TestForm(TestBaseForm):
    name = TextField(validators=[length(min=3, max=8)])
Exemple #12
0
class PostForm(Form):

    title = TextField(default='',
                      validators=[length(min=4, max=50, message=u'标题太短或者太长')])
    content = TextField()
Exemple #13
0
class UserForm(Form):
    username = TextField(u'用户名', validators=[])
    chinese_name = TextField(u'中文名', validators=[])
    email = TextField(u'邮箱', validators=[required(), length(max=32)])
    ssh_pubkey = TextAreaField(u'SSH公钥', validators=[])
Exemple #14
0
class StypeForm(Form):
    name = TextField(u'栏目名称', validators=[Required(), length(max=20)])
    if_t = SelectField(u'是否为测试机',
                       default='0',
                       choices=[('1', u'是'), ('0', u'否')],
                       validators=[Required()])
Exemple #15
0
class SignupForm(Form):
    next = HiddenField()

    first_name = TextField('First name',
                           [required('Your first name is required')])
    last_name = TextField('Last name',
                          [required('Your last name is required')])
    username = TextField(
        _('Username'),
        [required('Please enter a valid subdomain for your account')])
    business_name = TextField(_('Business name'),
                              [required('Please supply a business name')])
    business_type = SelectField(
        'Company type', [required('Please supply the type of company')])
    password = PasswordField(
        _('Password'),
        [required('Please enter a password'),
         length(min=6, max=16)])
    password_again = PasswordField(_('Password again'), [
        required('Please confirm your password'),
        length(min=6, max=16),
        equal_to('password')
    ])
    email_address = TextField(_('Email address'), [
        required('Your email address is required'),
        email(message=_('A valid email address is required'))
    ])
    country_id = SelectField('Country', [required('Please select a country')])
    plan_id = SelectField('Plan', [required('Please select a plan')])

    def __init__(self, formdata=None, obj=None, prefix='', **kwargs):
        super(SignupForm, self).__init__(formdata, obj, prefix, **kwargs)
        self.business_type.choices = self.get_company_type_options()
        self.country_id.choices = self.get_country_options()
        self.plan_id.choices = self.get_plan_options()

    def get_plan_options(self):
        """Get a list of plans"""
        choices = []
        for plan in Plan.query.all():
            choices.append((str(plan.id), plan.name))
        return choices

    def get_country_options(self):
        """Get options for country list"""
        choices = []
        countries = Country.query.all()
        for country in countries:
            choices.append((country.iso, country.printable_name))
        return choices

    def get_company_type_options(self):
        choices = []
        types = CompanyType.query.all()
        for t in types:
            choices.append((str(t.id), t.name))
        return choices

    def save(self):
        """Create a new user account"""

        user = User()
        user.username = self.username.data
        user.first_name = self.first_name.data
        user.last_name = self.last_name.data
        user.email_address = self.email_address.data
        user.password = self.password.data
        db.session.add(user)
        db.session.commit()

        company = Company()
        company.user_id = user.id
        company.name = self.business_name.data
        company.company_type_id = self.business_type.data
        company.country = self.country_id.data
        db.session.add(company)
        db.session.commit()

        subscription = Subscription()
        subscription.user_id = user.id
        subscription.plan_id = self.plan_id.data
        subscription.start_date = datetime.now()
        subscription.end_date = None
        db.session.add(subscription)
        db.session.commit()

        return user, subscription

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

    def validate_email_address(self, field):
        if User.query.filter_by(email_address=field.data).first() is not None:
            raise ValidationError, gettext('This email address is taken')
Exemple #16
0
class ApproverForm(Form):
    name = TextField(u'名称', validators=[Required(), length(max=32)])
    value = TextField(u'审核流程', validators=[length(max=128)])