class SubmitFeedback(Form): category = fields.SelectField(choices=[ ('', ''), ('not_working', 'Call not working'), ('deprecated', 'Deprecated'), ('doc_link', 'Documentation link broken'), ('missing', 'Missing call'), ('need_variable', 'Missing variable'), ('other', 'Other') ], validators=[validators.required()]) feedback = fields.TextAreaField('Feedback:', validators=[validators.required()]) call_id = fields.HiddenField() product_db = fields.HiddenField()
class DocumentImageForm(NoCsrfForm): file_name = FileField(validators=[ FileAllowed(['jpg', 'png', 'pdf'], 'Allowed file types are .jpg, .png, and .pdf') ]) file_description = fields.TextField( _('Description'), [RequiredIf('file_name'), validators.Length(max=64)]) # The fields below aren't used for input, they just allow us to automatically # populate DocumentImage objects from the form object with populate_obj data_full = fields.HiddenField() data_large = fields.HiddenField() data_small = fields.HiddenField()
class UserTransactionForm(flask_wtf.FlaskForm): user_name = fields.HiddenField('Namn', default=user.full_name) user_id = fields.HiddenField('ID', default=user.id) value = html5_fields.DecimalField( 'Transaktionsvärde', default=0, render_kw={ 'step': .01, 'min': -10000, 'max': 10000 }, validators=[validators.NumberRange(min=-10000, max=10000)]) text = fields.StringField('Meddelande')
class BlogForm(form.Form): """Formulário para criação da postagem no blog""" titulo = fields.StringField('Titulo', [validators.required()]) slug = fields.HiddenField('Slug') texto = fields.TextAreaField('Texto') autor = fields.StringField('Autor') publicado = fields.BooleanField('Publicado', default=True)
class EditForm(Form): login = fields.HiddenField('Username') first_name = fields.StringField('First name', validators=[validators.InputRequired()]) last_name = fields.StringField('Last name', validators=[validators.InputRequired()]) email = fields.StringField('Email', validators=[validators.InputRequired(), \ validators.Email(message=(u'Not a valid email address.'))]) old_password = fields.PasswordField('Password', \ validators=[validators.InputRequired(), validators.Length(min=8)]) password = fields.PasswordField('New Password', \ validators=[\ validators.EqualTo('confirm_password', \ message='Passwords do not match.')]) confirm_password = fields.PasswordField('Repeat Password') def validate_login(self, field): user = self.get_user() if user is None: raise validators.ValidationError('Invalid user.') def validate_old_password(self, field): user = self.get_user() if not sha512_crypt.verify(str(field.data), user.passhash): raise validators.ValidationError('Invalid old password.') def validate_password(self, field): password = str(field.data) if password != 'None' and password != '': if len(password) < 8: raise validators.ValidationError('Password is too short.')
class ContactUsForm(Form): name = fields.StringField('Name',validators=[validators.InputRequired()]) email = fields.StringField('Email',validators=[validators.InputRequired()]) subject = fields.SelectField('Subject',validators=[validators.Optional()],choices=get_choices()) message = fields.TextAreaField('Message',validators=[validators.InputRequired()]) recaptcha = RecaptchaField('are you a human') ip_address = fields.HiddenField()
def AreYouARobotFormFactory(*args, **kwargs): def make_hash(n): s = (flask.current_app.config['SECRET_KEY'] + str(n)).encode() h = hashlib.sha256(s).hexdigest() return h class F(flask_wtf.FlaskForm): def validate(self): if self.answer.data != make_hash(self.question.data): errors = list(self.question.errors) errors.append(_l("Fel svar.")) self.question.errors = errors self.answer.data = self.answer.default return False self.answer.data = self.answer.default return True x, y = random.randint(1, 9), random.randint(1, 9) answer = x + y ans_hash = make_hash(answer) F.question = html5_fields.IntegerField( _l("Vad är %(x)d + %(y)d?", x=x, y=y), validators=[validators.InputRequired()]) F.answer = fields.HiddenField(default=ans_hash) return F(*args, **kwargs)
class Topic(Form): title = fields.TextField('Title', validators=[validators.InputRequired()]) description = fields.TextAreaField('Description', validators=[validators.InputRequired()]) # tags = fields.TextField('Tags', validators=[validators.InputRequired()]) tags = fields.HiddenField( 'Tags', validators=[validators.InputRequired(), announce_tag_allow])
class UnscheduledMxCheckForm(form.Form): id = fields.StringField('编号') description = fields.StringField('描述') interval = InlineFormField(IntervalDescForm, '间隔类型') relateDoc = InlineFormField(RelateDocForm, '相关文件') remark = fields.StringField('备注') accessory = InlineFormField(AccessoryFileForm, '附件') etag = fields.HiddenField('etag')
class TrainingCentreForm(BaseForm): name = fields.StringField(('Name'), [validators.Required(), validators.Length(max=FIELD_MAXLENGTH, message=( "Field cannot be longer than %(max)d characters."))]) sport = fields.SelectField(u'Sport', choices=[(key, value) for key, value in constants.SPORTS_LIST.items()], default='others') locality = fields.StringField(('Area/Locality'), [validators.Required(), validators.Length(max=NAME_FILED_MAXLENGTH, message=( "Field cannot be longer than %(max)d characters."))]) city = fields.StringField(('City'), [validators.Required(), validators.Length(max=NAME_FILED_MAXLENGTH, message=( "Field cannot be longer than %(max)d characters."))]) description = fields.TextAreaField('Description') featured = fields.BooleanField('Featured') media = fields.FieldList(fields.FormField(MediaForm), min_entries=1) business_id = fields.HiddenField() address = fields.FormField(Address) contact_info = fields.FormField(ContactInfo) locality_id = fields.HiddenField() #custom_info = fields.FieldList(fields.FormField(CustomInfo), min_entries=2) pass
class CreditTransferForm(flask_wtf.FlaskForm): payer_id = fields.HiddenField() payee_id = fields.HiddenField() message = fields.StringField(_l('Meddelande'), validators=[validators.Length(max=50)]) value = html5_fields.DecimalField(_l('Summa'), render_kw={ 'step': .01, 'min': 1, 'max': 10000 }, validators=[ validators.NumberRange(min=1, max=10000), ])
class UnscheduledMxCheckForm(form.Form): id = fields.StringField('编号') category = fields.SelectField('类别', choices=bell_unscheduled_category) description = fields.StringField('维修描述') relateDoc = InlineFormField(RelateDocForm, '相关文件') remark = fields.StringField('备注') accessory = InlineFormField(AccessoryFileForm, '附件') etag = fields.HiddenField('etag')
class RedirectForm(FlaskForm): returnto = fields.HiddenField() def redirect(self, endpoint='front_page'): returnto = self.returnto.data or flask.url_for(endpoint) if is_safe_url(returnto): return flask.redirect(returnto) return flask.redirect(flask.url_for('front_page'))
class FlightLineCheckForm(form.Form): id = fields.StringField('编号') category = fields.SelectField('类别', choices=da40d_flight_line_category) description = fields.StringField('维修描述') relateDoc = InlineFormField(RelateDocForm, '相关文件') remark = fields.StringField('备注') accessory = InlineFormField(AccessoryFileForm, '附件') etag = fields.HiddenField('etag')
class ParkingCheckForm(form.Form): id = fields.StringField('编号', [DataRequired()]) source = fields.SelectField('来源', choices=y5b_scheduled_source) remark = fields.StringField('备注') description = fields.StringField('维修描述', [DataRequired()]) relateDoc = InlineFormField(RelateDocForm, '相关文件') accessory = MxpMultiFileuploadField(label='附件') etag = fields.HiddenField('etag')
class CreateContactInfoForm(Form): title = fields.StringField() user_id = fields.HiddenField() phone_number = TelField("Phone Number", validators=[validators.Optional()]) email = EmailField("Email Address", validators=[validators.Optional(), validators.Email()]) message = fields.TextAreaField() address = fields.FormField(AddressForm)
class ApplianceForm(BaseForm): name = fields.TextField('Name', [validators.Required(), validators.Length(max=50)]) token = fields.TextField( 'Token', [validators.Required(), validators.Length(max=64)]) group = fields.SelectField('Group') custom = fields.HiddenField('Custom')
class SettingsForm(Form): login = fields.HiddenField('Username') setting1 = fields.StringField('Setting 1', validators=[validators.InputRequired()]) setting2 = fields.StringField('Setting 2', validators=[validators.InputRequired()]) def validate_login(self, field): user = self.get_user() if user is None: raise validators.ValidationError('Invalid user.')
class TokenForm(flask_wtf.FlaskForm): displayed_password = fields.StringField( _('Your token (write it down, as it will never be displayed again)')) raw_password = fields.HiddenField([validators.DataRequired()]) comment = fields.StringField(_('Comment')) ip = fields.StringField( _('Authorized IP'), [validators.Optional(), validators.IPAddress()]) submit = fields.SubmitField(_('Create'))
class SentMailForm(Form): ids = fields.HiddenField() is_origin = fields.BooleanField(label=u"Expéditeur et destinataires originaux") sender = fields.StringField(label=u"Expéditeur") rcpts = InlineFieldList(StringField(u"Destinaires"))
class ManageProduct(Form): title = fields.TextField('Title:', validators=[validators.required()]) us_url = fields.TextField('US URL:', validators=[validators.required()]) uk_url = fields.TextField('UK URL:', validators=[validators.required()]) doc_url = fields.TextField('Docs URL:', validators=[validators.required()]) pitchfork_url = fields.TextField('Pitchfork URL:') require_region = fields.BooleanField('Require Region:') active = fields.BooleanField('Active to Use:') db_name = fields.HiddenField()
class AircraftInformationForm(form.Form): id = fields.StringField('飞行器注册号', [DataRequired('请输入飞行器注册号')]) # TODO: 这个应该是选择列表 planeType = RefreshPlaneTypeSelectField('机型') # sn = fields.StringField('飞行器串号', [DataRequired('请输入飞行器串号')]) importedDate = DateInt('引进日期', [DataRequired('请输入引进日期')]) permanentAirport = fields.StringField('常驻机场', [DataRequired('请输入常驻机场')]) acn = fields.StringField('适航证编号', [DataRequired('请输入适航证编号')]) acnDeadline = DateInt('适航证编号到期时间') nrn = fields.StringField('国籍登记证编号', [DataRequired('请输入国籍登记证编号')]) slnDeadline = DateInt('国籍登记编号到期时间') sln = fields.StringField('电台执照编号', [DataRequired('请输入电台执照编号')]) nrnDeadline = DateInt('电台执照编号到期时间', [DataRequired('请输入电台执照编号到期时间')]) manufacturer = fields.StringField('制造商', [DataRequired('请输入制造商')]) manufactureDate = DateInt('制造日期', [DataRequired('请输入制造日期')]) landTimes = fields.IntegerField('初始起落次数', [DataRequired('请输入初始起落次数(整数)')]) engineNumber = fields.StringField('发动机序号', [DataRequired('请输入发动机序号')]) flightTime = HourMinuteField('初始飞行时间', [DataRequired('请输入初始飞行时间(格式00:00)')]) engineTime = HourMinuteField('初始发动机时间', [DataRequired('请输入初始发动机时间(格式00:00)')]) propellerTime = HourMinuteField('初始螺旋桨时间', [DataRequired('请输入初始螺旋桨时间(格式00:00)')]) machinist = fields.StringField('机械师') # displayName = fields.StringField('型号') # 暂时不支持设置飞机图片 imageUrl = fields.HiddenField() remark = fields.StringField('备注') etag = fields.HiddenField('etag') def validate_manufactureDate(form, field): if field.data > form['importedDate'].data: raise ValidationError('制造日期应早于引进日期') def validate_id(form, field): if field.object_data: if field.object_data != field.data: raise ValidationError('不能更改飞行器注册号') return if get_aircraft_info(field.data) is not None: raise ValidationError('这个飞行器注册号已经注册过')
class NameForm(self.form_base_class): """ Form with a filename input field. Validates if provided name is valid for *nix and Windows systems. """ name = fields.StringField( lazy_gettext('Name'), validators=[validators.Required(), validate_name]) path = fields.HiddenField()
class UnscheduledMxCheckForm(form.Form): id = fields.StringField('方案编号') category = fields.SelectField('类别', choices=unscheduled_category) description = fields.StringField('维修描述') relateDoc = InlineFormField(RelateDocForm, '相关文件') remark = fields.StringField('备注信息') accessory = InlineFormField(AccessoryFileForm, '附件') aircraftsSers = fields.StringField('飞机注册号') reference = fields.StringField('参考章节') etag = fields.HiddenField('etag')
class TimeControlUnitForm(form.Form): id = fields.StringField('编号') name = fields.StringField('部件名') pn = fields.StringField('Pn件号') description = fields.StringField('维修描述') interval = InlineFormField(IntervalDescForm, '间隔类型') relateDoc = InlineFormField(RelateDocForm, '相关文件') remark = fields.StringField('备注') accessory = InlineFormField(AccessoryFileForm, '附件') etag = fields.HiddenField('etag')
class ScheduledMxCheckForm(form.Form): id = fields.StringField('编号', [DataRequired()]) source = fields.SelectField('来源', choices=y5b_scheduled_source) ataCode = fields.StringField('ATA章节') remark = fields.StringField('备注') description = fields.StringField('维修描述', [DataRequired()]) interval = InlineFormField(Y5BIntervalDescForm, '间隔类型 *') relateDoc = InlineFormField(RelateDocForm, '相关文档') accessory = MxpMultiFileuploadField(label='附件') etag = fields.HiddenField('etag')
class CodeForm(Form): content = CodeMirrorField('content') file_name = fields.HiddenField('file_name') submit = fields.SubmitField('submit') theme = fields.SelectField('Theme', choices=theme_choice) mode = fields.SelectField('mode', choices=mode_choice) test_select = fields.SelectField( 'test', choices=test_choice, option_widget=widgets.RadioInput(), widget=widgets.ListWidget(prefix_label=False))
class MaintenanceLogForm(form.Form): id = fields.StringField('编号') aircraftId = fields.StringField('飞行器注册号') type = fields.StringField('类型') description = fields.StringField('维修描述信息') completeDate = DateFieldInt('完成日期') generateTime = DateFieldInt('生成时间') remark = fields.StringField('备注') serialNumber = fields.StringField('时控/寿件的序号') etag = fields.HiddenField('etag')
class ColumnForm(Form): col_id = fields.HiddenField() column_width = fields.IntegerField( 'col width', description='width of columms per bootstrap3 grid') push = fields.IntegerField( 'push', description='push column x col width to the right') pull = fields.IntegerField( 'pull', description='pull column x col width to the left') offset = fields.IntegerField( 'offset', description='place column offset x col width from normal placement')
class POUnitForm(form.Form): id = fields.StringField('编号') description = fields.StringField('维修描述') interval = InlineFormField(IntervalDescForm, '间隔类型') relateDoc = InlineFormField(RelateDocForm, '相关文件') remark = fields.StringField('备注') accessory = InlineFormField(AccessoryFileForm, '附件') ataCode = fields.IntegerField('ATA章节') aircraftsSers = fields.StringField('飞机注册号') reference = fields.StringField('参考章节') etag = fields.HiddenField('etag')