class ModifyWorkQueueTaskForm(Form): """Form for modifying a work queue task.""" task_id = HiddenField() action = HiddenField() delete = SubmitField('Delete') retry = SubmitField('Retry')
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
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')
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')
class CommentForm(Form): comment = TextAreaField( validators=[required(message=_("Comment is required"))]) submit = SubmitField(_("Save")) cancel = SubmitField(_("Cancel"))
class TemplateForm(Form): html = TextAreaField(_("HTML"), validators=[ required(message=_("HTML required"))]) submit = SubmitField(_("Save")) cancel = SubmitField(_("Cancel"))
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"))
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
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
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")
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')
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"模块名已经存在"))
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"机器名已经存在"))
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")
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"保存")
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")
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"邮箱地址已经存在"))
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')
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
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
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))
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"邮箱地址已经存在"))
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"))
class RecoverPasswordForm(Form): email = TextField( "Your email address", validators=[email(message=_("A valid email address is required"))]) submit = SubmitField(_("Find password"))
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')
class LoginForm(Form): """ 登錄用的表單 """ account = TextField(u"帳號", validators=[required()]) password = PasswordField(u"密碼", validators=[required()]) submit = SubmitField(u"登入")
class AvatarForm(Form): next = HiddenField() avatar = FileField( label = _("Username"), validators = [Required()] ) submit = SubmitField(_('Save'))
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')
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"名称已经存在"))
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')