class ArticleForm(Form): image_path = FileField('Image', validators=[FileAllowed(['jpg', 'png'], 'Images only!')]) title = StringField('Title', [validators.Length(min=1, max=200)]) body = TextAreaField('Body', [validators.Length(min=30)])
class ImageSelectorForm(FlaskForm): image_used = RadioField( "Image Selection: ",choices=[('sample', 'Use the default Sample'), ("custom",'OR upload your own image')]) photo_upload=FileField('Image (Leave empty in order to use the default sample)', validators=[FileAllowed(photos, 'PNG Images only!')]) message= TextAreaField("Message", validators=[DataRequired()]) message_key=TextAreaField("Key",validators=[DataRequired()]) message_terminator= BooleanField("Use a message terminator") image_submit= SubmitField("Encode")
class PostForm(FlaskForm): title = StringField('Title', validators=[DataRequired()]) content = TextAreaField('Content', validators=[DataRequired()]) picture = FileField('Update Profile Picture', validators=[FileAllowed(['jpg', 'png'])]) submit = SubmitField('Post')
class hpForm(FlaskForm): photo = FileField(validators=[ FileAllowed(photos, u'只能上传图片!'), FileRequired(u'请选择一个头像吧!') ]) submit = SubmitField(u'确认上传', render_kw={"class": "btn btn-primary"})
class PostForm(Form): image = FileField('Image', validators=[FileAllowed(['jpg', 'png'], 'Images only!')]) title = StringField('Title', [validators.Required(), validators.Length(max=80)]) body = TextAreaField('Content', validators=[validators.Required()]) category = QuerySelectField('Category', query_factory=categories, allow_blank=True) new_category = StringField('New Category')
class MuUpForm(FlaskForm): file = FileField('上传文件', validators=[FileRequired(), FileAllowed(file_zip)])
class UploadForm(Form): """Upload Form.""" workout_data = FileField( 'Workout Data', validators=[FileRequired(), FileAllowed(uploads, 'Data files only!')])
class UploadForm(FlaskForm): file = FileField('image', validators=[ FileRequired(), FileAllowed(['jpg', 'jpeg', 'png'], 'Images only!') ])
class BlogPostForm(FlaskForm): title = StringField('Title', validators=[DataRequired()]) text = TextAreaField('Text', validators=[DataRequired()]) post_image = FileField('Add a post image', validators=[FileAllowed(images, 'Images only!')]) submit = SubmitField("Post")
class UploadFileForm(FlaskForm): data_files = MultipleFileField('File(s) Upload', validators = [FileAllowed('csv', 'txt')]) submit = SubmitField('Proceed')
class UploadForm(FlaskForm): photo = FileField(validators=[FileAllowed(photos, u'Image Only!'), FileRequired(u'Choose a file!')]) submit = SubmitField(u'Upload')
class EditWordForm(FlaskForm): image = FileField( 'Image', validators=[FileAllowed(['jpg', 'jpeg', 'png'], 'Images only!')]) note = TextAreaField('Note', [])
class UploadForm(FlaskForm): file = FileField(validators=[ FileRequired(), FileAllowed(['jpg', 'png', 'pdf'], 'Only JPG, PNG and PDF files are supported') ])
class StudentPaymentForm(FlaskForm): receipt = FileField('Select document containing evidence of payment', validators=[FileAllowed(['jpg', 'png', 'pdf', 'jpeg'])]) submit = SubmitField('Make Payment')
class SeqUploadForm(FlaskForm): file = FileField('上传文件', validators=[FileRequired(), FileAllowed(file_seq)])
class UploadForm(FlaskForm): description = TextAreaField('Description', validators=[DataRequired()]) photo = FileField('photo', validators=[FileRequired(), FileAllowed(['jpg', 'png'])])
class ZipUploadForm(FlaskForm): name = StringField('报告编号', [DataRequired(), Length(max=25)]) file = FileField('上传文件', validators=[FileRequired(), FileAllowed(file_zip)])
class OneSavegameSelectForm(FlaskForm): savegame = FileField("Select savegame", validators = [DataRequired(), FileAllowed(['eu4'], "Only EU4-Saves")]) savegame_name = StringField("Save name (optional)") map = FileField("Upload map (optional)", validators = [FileAllowed(['png', 'jpg'])]) submit = SubmitField("Parse")
class ProfileForm(FlaskForm): picture = FileField('Update Profile Picture', validators=[FileAllowed(['jpg', 'png'])]) submit = SubmitField('update picture')
class MapSelectForm(FlaskForm): map = FileField("Upload map", validators = [DataRequired(), FileAllowed(['png', 'jpg'])]) submit = SubmitField("Parse")
class AddNodes(FlaskForm): validators = [ FileAllowed(['xls', 'xlsx', 'csv'], 'Excel or CSV file only') ] file = FileField('', validators=validators)
class SubmitJob(Form): email = StringField('Email Address', description="When job is complete this e-mail will receive the download links", render_kw={ "autofocus": "", }, validators=[ InputRequired(), Email() ]) chrom = StringField('Chromosome', description="ID of the chromosome to modify", validators=[ InputRequired() ]) # POSITION position = StringField('Position', description="Position in chromosome at which to insert <in_fasta>. Can use -1 to add to end " "of chromosome. Note: Position is 0-based", validators=[Optional()]) # OR upstream_fasta = FileField('Upstream Sequence', description="FASTA file with upstream sequence.", validators=[ Optional() ]) downstream_fasta = FileField('Downstream Sequence', description="FASTA file with downstream sequence.", validators=[ Optional() ]) # Uploads in_fasta = FileField('Inserted Sequence (FASTA)', description="New sequence to be inserted into reference genome.", validators=[ Optional(), FileAllowed([ALLOWED_EXTENSIONS], 'Invalid File Type'), FileRequired() ]) in_gff = FileField('Inserted Reference (gff3 or gtf)', description="GFF file describing new FASTA sequence to be inserted.", validators=[ Optional(), FileAllowed([ALLOWED_EXTENSIONS], 'Invalid File Type'), InputRequired() ]) # Downloads ref_fasta = StringField('Reference Sequence (FASTA)', description="URL to reference FASTA file.", render_kw={ "placeholder": "Enter Reference URL", }, validators=[ URL(), InputRequired() ]) ref_gff = StringField('Reference Annotation (gff3 or gtf)', description="URL to reference gff file.", render_kw={ "placeholder": "Enter Reference URL", }, validators=[ URL(), InputRequired() ])
class UploadForm(FlaskForm): script_file = FileField('Upload Script', validators=[FileAllowed(['txt'])]) submit_file = SubmitField('Upload')
class SampleUploadForm(FlaskForm): file = FileField( '上传文件', validators=[FileRequired(), FileAllowed(file_sample_info)])
class ImageSelectorUploadForm(FlaskForm): photo_upload=FileField('Image', validators=[FileRequired(), FileAllowed(photos, 'PNG Images only!')]) message_key=TextAreaField("Key",validators=[DataRequired()]) image_submit= SubmitField("Decode")
class FastqUploadForm(FlaskForm): file = FileField('上传文件', validators=[FileRequired(), FileAllowed(file_fastq_qc)])
class UploadForm(FlaskForm): photo = FileField('photo',validators=[FileRequired(), FileAllowed(['jpg', 'png', 'jpeg'], 'Images Only')]) description = TextAreaField('description', validators=[InputRequired()])
class BamUploadForm(FlaskForm): file = FileField('上传文件', validators=[FileRequired(), FileAllowed(file_bam_qc)])
class CreateActivityForm(Form): name = StringField('活动标题', render_kw={'placeholder': '填写活动标题(100字以内)'}, validators=[DataRequired('必填字段'), Length(1, 100)]) cover = FileField('活动封面(建议上传宽高比2:1的封面以获得最佳浏览效果)', validators=[FileAllowed(coverPost, '请上传图片格式')]) travel_type = MultiCheckboxField('使用了自定义字段的活动类型', coerce=int, validators=[DataRequired('请至少选择一个活动类型')]) start_date = DateField('活动开始日期', validators=[DataRequired('必填字段')]) end_date = DateField('活动结束日期', validators=[DataRequired('必填字段')]) # 自动计算活动天数 phone = StringField('咨询电话', validators=[Length(0, 15)]) maximum = IntegerField('活动参与人数') #TODO 不填为不限人数 rally_site = StringField('活动集合地点', render_kw={'placeholder': '填写活动集合地点(20字以内)'}, validators=[DataRequired('必填字段'), Length(1, 20)]) destination = StringField('活动目的地', render_kw={'placeholder': '填写活动目的地(20字以内)'}, validators=[DataRequired('必填字段'), Length(1, 20)]) price = IntegerField('活动价格', render_kw={'placeholder': '填写活动价格(仅数字,不加单位)'}) child_price = IntegerField('活动儿童价格', [Optional()], render_kw={'placeholder': '填写活动价格(仅数字,不加单位)'}) #TODO-------------指数选择改成star selector----- intensity_index = IntegerField('强度指数(请填写数字1-5)', default='5', render_kw={ 'min': '1', 'max': '5' }, validators=[ DataRequired('必填字段'), NumberRange(min=1, max=5, message='数字只能在1-5之间') ]) landscape_index = IntegerField('风景指数(请填写数字1-5)', default='5', render_kw={ 'min': '1', 'max': '5' }, validators=[ DataRequired('必填字段'), NumberRange(min=1, max=5, message='数字只能在1-5之间') ]) introduce = TextAreaField('活动介绍(上传图片请先压缩到1M以下大小)', [DataRequired('必填字段')]) registration_way = MultiCheckboxField('报名方式', [DataRequired('必填项')], coerce=int) team_letter = TextAreaField('如果含团队报名,可以在这里输入只有团队领队可以看到的话') submit = SubmitField('发布活动') def __init__(self, activity=None, *args, **kwargs): super(CreateActivityForm, self).__init__(*args, **kwargs) self.travel_type.choices = [(item.id, item.name) for item in OutdoorType.show_list()] self.registration_way.choices = [(k, registration_way[k]) for k in registration_way] self.activity = activity def validate_end_date(self, field): if field.data < self.start_date.data: raise ValidationError('活动结束日期必须晚于活动开始日期') def validate_start_date(self, field): if field.data < date.today(): raise ValidationError('活动日期必须在今天之后') def validate_name(self, field): if self.activity and self.activity.name == field.data: return True if Activity.query.filter_by(name=field.data).count(): raise ValidationError('您使用的活动名和站内其他活动重名啦!请修改一下活动名~')
class UploadForm(FlaskForm): photo = FileField(validators=[FileAllowed(photos, u'Image only!')\ , FileRequired(u'File was empty!')]) submit = SubmitField(u'Upload')