Пример #1
0
class ModifyWorkQueueTaskForm(Form):
    """Form for modifying a work queue task."""

    task_id = HiddenField()
    action = HiddenField()
    delete = SubmitField('Delete')
    retry = SubmitField('Retry')
Пример #2
0
class ResponseMessageForm(Form):
    message_id = HiddenField()
    offset = HiddenField()
    comment = TextField(_("Comment"),description=_("What do you have to say about this post"))
    yes = SubmitField(_('Yes')) 
    no = SubmitField(_('No')) 

    def add_response(self,user,parent_id):
        self.populate_obj(user)
        comment = self.comment.data
        resp = self.yes.data
        resp = None if resp == "None" else resp
        if resp:
            timeline = TimeLine()
            timeline.add(user.id, parent_id, agreed = True)

        if(comment == '' and resp == None):
    		return False
        parent = Message()
        parent = parent.get_by_id(parent_id)
        response = Message()
        response.root_id = parent_id if parent.root_id is None else parent_id.root_id
        response.user_id = user.id
        response.parent_id = parent_id
        response.text = comment
        response.response = resp
        response.save()
        parent.last_activity = response.last_activity
        parent.save()
        return True
Пример #3
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')
Пример #4
0
Файл: forms.py Проект: mbr/qwapp
class EditPageForm(Form):
    body = TextAreaField(u'Page contents', validators=[Required()])
    commit_msg = TextField(u'Commit message',
                           validators=[Required()],
                           default='Minor edit.')
    preview = SubmitField(u'Preview')
    save = SubmitField(u'Save')
Пример #5
0
class CommentForm(Form):

    comment = TextAreaField(
        validators=[required(message=_("Comment is required"))])

    submit = SubmitField(_("Save"))
    cancel = SubmitField(_("Cancel"))
Пример #6
0
class TemplateForm(Form):

    html = TextAreaField(_("HTML"), validators=[
        required(message=_("HTML required"))])

    submit = SubmitField(_("Save"))
    cancel = SubmitField(_("Cancel"))
Пример #7
0
class BillForm(Form):
    date = DateField(_("Date"), validators=[Required()], default=datetime.now)
    what = TextField(_("What?"), validators=[Required()])
    payer = SelectField(_("Payer"), validators=[Required()], coerce=int)
    amount = CommaDecimalField(_("Amount paid"), validators=[Required()])
    payed_for = SelectMultipleField(_("For whom?"),
            validators=[Required()], widget=select_multi_checkbox, coerce=int)
    submit = SubmitField(_("Submit"))
    submit2 = SubmitField(_("Submit and add a new one"))

    def save(self, bill, project):
        bill.payer_id = self.payer.data
        bill.amount = self.amount.data
        bill.what = self.what.data
        bill.date = self.date.data
        bill.owers = [Person.query.get(ower, project)
            for ower in self.payed_for.data]

        return bill

    def fill(self, bill):
        self.payer.data = bill.payer_id
        self.amount.data = bill.amount
        self.what.data = bill.what
        self.date.data = bill.date
        self.payed_for.data = [int(ower.id) for ower in bill.owers]

    def set_default(self):
        self.payed_for.data = self.payed_for.default

    def validate_amount(self, field):
        if field.data < 0:
            field.data = abs(field.data)
        elif field.data == 0:
            raise ValidationError(_("Bills can't be null"))
Пример #8
0
class PageEditForm(Form):
    types = [('1', 'RST'), ('2', 'Markdown')]
    rawtext = TextAreaField(u"编辑", id="page_edit")
    texttype = SelectField(u"选择文件类型", choices=types, default='1')
    save = SubmitField(u"保存")
    preview = SubmitField(u"预览")
    cancel = SubmitField(u"取消")

    def set_default_text(self, text=None):
        self.rawtext.data = text
Пример #9
0
def createFoodsILike(foodIdsArg, foodNamesArg):
    #foodDict has key as ID and value as foodnames - This helps the quick reflection of the current status of the session
    class FoodsILike(Form):
        foodIds = foodIdsArg
        foodNames = foodNamesArg

    FoodsILike.submit = SubmitField('Generate My Diet')
    FoodsILike.remove = SubmitField("Remove")
    FoodsILike.toggle = SubmitField("Select/Deselect All")
    for i in range(len(FoodsILike.foodIds)):
        setattr(FoodsILike, FoodsILike.foodIds[i],
                BooleanField(FoodsILike.foodNames[i], [validators.Optional()]))
    form = FoodsILike()
    return form
Пример #10
0
class PrintQueueControlsForm(Form):

    id = HiddenField(validators=[Required()])
    stay_id = HiddenField(validators=[Required()])
    hotel_id = HiddenField(validators=[Required()])
    printer_id = SelectField(validators=[Required()])
    print_item = SubmitField("Print")
Пример #11
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')
Пример #12
0
class EditModuleForm(Form):

    name = TextField(_(u"模块名:"),
                     validators=[required(_(u"请输入模块名称")), is_legal_name])

    description = TextAreaField(_(u"描述:"))

    parent_id = SelectField(_(u"所属模块:"), default=0, coerce=int)

    input_template = TextAreaField(_(u"输入用例模板:"))

    output_template = TextAreaField(_(u"输出用例模板:"))

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

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

    def validate_name(self, field):
        moduleType = ModuleType.query.filter(
            db.and_(ModuleType.name.like(field.data),
                    db.not_(ModuleType.id == self.moduleType.id))).first()
        if moduleType:
            raise ValidationError(gettext(u"模块名已经存在"))
Пример #13
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"机器名已经存在"))
Пример #14
0
class LoginForm(Form):
    next = HiddenField()
    remember = BooleanField("Remember me in this computer")
    login = TextField("Account: ", validators=[ required(message=\
                               "you must input valid username")])
    password = PasswordField("Password: "******"Login")
Пример #15
0
class ResetPasswordForm(Form):
    activation_key = HiddenField()
    password = PasswordField(u"新密码", validators=[required(message=u"新密码是必须的")])
    password_again = PasswordField(u"密码 <small>(再一次)</small>", validators=[
                                   equal_to("password", message=\
                                            u"密码不匹配")])
    submit = SubmitField(u"保存")
Пример #16
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")
Пример #17
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"邮箱地址已经存在"))
Пример #18
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')
Пример #19
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
Пример #20
0
class MemberForm(Form):

    name = TextField(_("Name"), validators=[Required()])
    weight = CommaDecimalField(_("Weight"), default=1)
    submit = SubmitField(_("Add"))

    def __init__(self, project, edit=False, *args, **kwargs):
        super(MemberForm, self).__init__(*args, **kwargs)
        self.project = project
        self.edit = edit

    def validate_name(form, field):
        if field.data == form.name.default:
            raise ValidationError(_("User name incorrect"))
        if (not form.edit and Person.query.filter(
                Person.name == field.data,
                Person.project == form.project,
                Person.activated == True).all()):
            raise ValidationError(_("This project already have this member"))

    def save(self, project, person):
        # if the user is already bound to the project, just reactivate him
        person.name = self.name.data
        person.project = project
        person.weight = self.weight.data

        return person

    def fill(self, member):
        self.name.data = member.name
        self.weight.data = member.weight
Пример #21
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))
Пример #22
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"邮箱地址已经存在"))
Пример #23
0
class PasswordReminder(Form):
    id = TextField(_("Project identifier"), validators=[Required()])
    submit = SubmitField(_("Send me the code by email"))

    def validate_id(form, field):
        if not Project.query.get(field.data):
            raise ValidationError(_("This project does not exists"))
Пример #24
0
class RecoverPasswordForm(Form):

    email = TextField(
        "Your email address",
        validators=[email(message=_("A valid email address is required"))])

    submit = SubmitField(_("Find password"))
Пример #25
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')
Пример #26
0
class LoginForm(Form):
    """
    登錄用的表單
    """
    account = TextField(u"帳號", validators=[required()])
    password = PasswordField(u"密碼", validators=[required()])
    submit = SubmitField(u"登入")
Пример #27
0
class AvatarForm(Form):
    next = HiddenField()
    avatar = FileField(
            label = _("Username"),
            validators = [Required()]
            )
    submit = SubmitField(_('Save'))
Пример #28
0
class ChangePasswordForm(Form):
    activation_key = HiddenField()
    password = PasswordField(u'Password', [Required()])
    password_again = PasswordField(
        u'Password again',
        [EqualTo('password', message="Passwords don't match")])
    submit = SubmitField('Save')
Пример #29
0
class EditCodeForm(Form):
    '''It is used for editing codes, defines edit codes form.'''

    next = HiddenField()
    name = TextField(_(u"名称:"),
                     validators=[required(_(u"请输入名称")), is_legal_name])

    description = TextAreaField(_(u"描述:"))

    related_module = SelectField(_(u"所属模块:"), default=0, coerce=int)

    path = FileField(u"代码文件", validators=[required(message=_(u"请选择文件"))])

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

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

    def validate_name(self, field):
        code = Code.query.filter(
            db.and_(Code.name.like(field.data),
                    db.not_(Code.id == self.code.id))).first()
        if code:
            raise ValidationError(gettext(u"名称已经存在"))
Пример #30
0
class AddAdminForm(Form):
    """Form for adding a build admin."""

    email_address = TextField('Email address',
                              validators=[Length(min=1, max=200)])
    build_id = HiddenField(validators=[NumberRange(min=1)])
    add = SubmitField('Add')