class ProfileForm(Form): password = PasswordField('New Password', validators=[ Optional(), Length(min=8, max=80), EqualTo('confirm', message='Passwords must match') ]) confirm = PasswordField('Repeat Password') default_ipv4_mask = IntegerField( label='IPv4 Mask', validators=[ Optional(), NumberRange(min=0, max=32, message='IPv4 Mask must between %(min)s and %(max)s'), ]) default_ipv6_mask = IntegerField( label='IPv6 Mask', validators=[ Optional(), NumberRange(min=0, max=128, message='IPv6 Mask must between %(min)s and %(max)s'), ]) timezone = QuerySelectField(get_label='name', allow_blank=True) submit = SubmitField('Update Profile')
class JqGridForm(Form): search = JqSearchField('') page = IntegerField('') rows = IntegerField('') page = IntegerField('') sidx = TextField('') sord = TextField('') filters = JsonField('')
class UpdateProfileForm(Form): id = IntegerField(label=None, widget=HiddenInput()) fullname = TextField('Full name', [ validators.Length( min=3, max=35, message="Full name must be between 3 and 35 characters long") ]) name = TextField('User name', [ validators.Length( min=3, max=35, message="User name must be between 3 and 35 characters long"), Unique(model.Session, model.User, model.User.name, message="The user name is already taken") ]) email_addr = TextField('Email Address', [ validators.Length( min=3, max=35, message="Email must be between 3 and 35 characters long"), validators.Email(), Unique(model.Session, model.User, model.User.email_addr, message="Email is already taken") ])
class TaskRedundancyForm(Form): n_answers = IntegerField(lazy_gettext('Redundancy'), [validators.Required(), validators.NumberRange( min=1, max=1000, message=lazy_gettext('Number of answers should be a \ value between 1 and 1,000'))])
class ThreadCrudForm(Form): question_id = HiddenField(validators=[Required(), valid_question]) author_id = SelectMultipleField("Author", validators=[check_if_user_does_not_exist]) yesno = SelectField("Yes or No?", validators=[AnyOf(["1", "0"]), Required()], choices=[("1", 'Yes'), ("0", 'No')]) text = TextAreaField( "Opinion", validators=[ Length(min=1, max=140, message="Post must be between 2 and 140 characters"), Required(), does_not_have_bad_words ]) likes = IntegerField("Likes", validators=[Optional()]) def __init__(self, question_id=None, *args, **kwargs): super(ThreadCrudForm, self).__init__(*args, **kwargs) if question_id: self.question_id.data = question_id self.author_id.choices = [(str(u.id),'%s (%s)' % (u.username, u.origin)) \ for u in cdw.users.with_fields(isAdmin=True).order_by("+username")]
class AppForm(Form): id = IntegerField(label=None, widget=HiddenInput()) name = TextField(lazy_gettext('Name'), [ validators.Required(), pb_validator.Unique(db.session, model.App, model.App.name, message="Name is already taken.") ]) short_name = TextField(lazy_gettext('Short Name'), [ validators.Required(), pb_validator.NotAllowedChars(), pb_validator.Unique( db.session, model.App, model.App.short_name, message=lazy_gettext("Short Name is already taken.")) ]) description = TextField(lazy_gettext('Description'), [ validators.Required( message=lazy_gettext("You must provide a description.")) ]) thumbnail = TextField(lazy_gettext('Icon Link')) allow_anonymous_contributors = SelectField( lazy_gettext('Allow Anonymous Contributors'), choices=[('True', lazy_gettext('Yes')), ('False', lazy_gettext('No'))]) long_description = TextAreaField(lazy_gettext('Long Description')) sched = SelectField( lazy_gettext('Task Scheduler'), choices=[('default', lazy_gettext('Default')), ('breadth_first', lazy_gettext('Breadth First')), ('depth_first', lazy_gettext('Depth First')), ('random', lazy_gettext('Random'))], ) hidden = BooleanField(lazy_gettext('Hide?'))
class CategoryForm(Form): id = IntegerField(label=None, widget=HiddenInput()) name = TextField(lazy_gettext('Name'), [validators.Required(), pb_validator.Unique(db.session, model.Category, model.Category.name, message="Name is already taken.")]) description = TextField(lazy_gettext('Description'), [validators.Required()])
class PDFForm(Form): #name = TextField(name, validators=[Required()]) pdf = FileField("source pdf file") # URLField landscape = BooleanField("landscape") maxcol = IntegerField("max number of columns", default=2) bpc = IntegerField("bit per color", default=4) dithering = BooleanField("dithering", default=True) # m = DecimalField("default margin", default=0.25) mb = DecimalField("bottom margin", default=0) ml = DecimalField("left margin", default=0) mr = DecimalField("right margin", default=0) mt = DecimalField("top margin", default=0) # color = BooleanField("color", default=False) height = IntegerField("height", default=735) width = IntegerField("width", default=560) astraighten = BooleanField("automatically straighten", default=False) text_justification = RadioField(u'Output Text Justification', default="1", choices=[("0", 'Left'), ("1", 'Center'), ("2", 'Right')]) idpi = IntegerField("pixels per inch for input file", default=300) odpi = IntegerField("pixels per inch for output file", default=167)
class MyForm(Form): """ Create cloudforest form""" def validate_S3_url(form, field): """Checks that field is a valid S3 url. Needs improvement. :) """ if field.data == "s3://": raise ValidationError(u'This field must be an S3 url.') # Setup fields aws_id = TextField('AWS ID', validators=[Required()]) aws_secret_key = TextField('AWS Secret Key', validators=[Required()]) aws_region = SelectField('AWS Region', choices=[('us_east_1', 'US East'), ('us_west_1', 'US West')]) input_url = TextField('Input Url', validators=[Required(), validate_S3_url]) output_url = TextField('Output Url', validators=[Required(), validate_S3_url]) job_name = TextField('Job Name', default="CloudForest", validators=[Required()]) job_type = SelectField('Job Type', choices=[('genetrees', 'Gene Trees'), ('bootstraps','Bootstraps')]) mraic = BooleanField('Use MrAIC to infer models',default=False) map_tasks = IntegerField('Map Tasks', default=19) reduce_tasks = IntegerField('Reduce Tasks', default=1) bootstraps = IntegerField('Bootstrap Replicates', default=0) ec2_instance_type = SelectField('EC2 Instance Type:', choices=[("m1.small","m1.small")])
class GeneralInfoForm(Form): realname = TextField(u'姓名', validators=[required(message=u'必填')]) sex = HiddenField(u'性别', validators=[required(message=u'必选')]) #, value='1') birthday = HiddenField(validators=[required(message=u'必填') ]) #, value='1990-10-21') current_address = HiddenField(u'当前居住地址', validators=[required(message=u'必填') ]) #, value='浙江,杭州') account_address = HiddenField(u'户口所在地址', validators=[required(message=u'必填') ]) #, value='浙江,台州') phone_num = IntegerField(u'', validators=[required(message=u'必填')])
class EntryForm(Form): title = TextField('Title', [validators.Length(min=1, max=255, message="You must provide a title")]) body = TextAreaField('Body', [validators.Length(min=4, max=1048576, message="The body is required")]) time = DateTimeField('Time', display_format="%H:%M") date = DateTimeField('Date', display_format="%m/%d/%Y") tags = TextField('Tags') is_draft = BooleanField('Draft?') is_deleted = BooleanField('Delete?') post_id = IntegerField('id', widget=HiddenInput())
class PostCrudForm(Form): yesno = SelectField("Yes or No?", validators=[AnyOf(["1", "0"]), Required()], choices=[("1", 'Yes'), ("0", 'No')]) debate_id = HiddenField(validators=[check_if_thread_exists]) text = TextAreaField(validators=[ Length(min=1, max=140, message="Post must be between 2 and 140 characters"), Required(), does_not_have_bad_words ]) author_id = SelectMultipleField("Author", validators=[check_if_user_does_not_exist]) origin = SelectField(validators=[ Required(), AnyOf(["web", "kiosk", "cell"]), ], choices=[("web", 'Web'), ("kiosk", 'Kiosk'), ("cel", "Cell")]) likes = IntegerField("Likes", validators=[Optional()]) def __init__(self, debate_id=None, *args, **kwargs): super(PostCrudForm, self).__init__(*args, **kwargs) if debate_id: self.debate_id.data = debate_id self.author_id.choices = [(str(u.id),'%s (%s)' % (u.username, u.origin)) \ for u in cdw.users.with_fields(isAdmin=True).order_by("+username")] def to_post(self): try: responseTo = cdw.posts.with_id(self.responseto.data) except: responseTo = None return Post(yesNo=int(self.yesno.data), text=self.text.data, author=User.objects.with_id(self.author_id.data[0]), origin=self.origin.data, likes=self.likes.data, responseTo=responseTo)
class UpdateProfileForm(Form): """Form Class for updating PyBossa's user Profile.""" id = IntegerField(label=None, widget=HiddenInput()) err_msg = lazy_gettext("Full name must be between 3 and 35 " "characters long") fullname = TextField(lazy_gettext('Full name'), [validators.Length(min=3, max=35, message=err_msg)]) err_msg = lazy_gettext("User name must be between 3 and 35 " "characters long") err_msg_2 = lazy_gettext("The user name is already taken") name = TextField(lazy_gettext('User name'), [validators.Length(min=3, max=35, message=err_msg), pb_validator.NotAllowedChars(), pb_validator.Unique( db.session, model.User, model.User.name, err_msg_2)]) err_msg = lazy_gettext("Email must be between 3 and 35 characters long") err_msg_2 = lazy_gettext("Email is already taken") email_addr = TextField(lazy_gettext('Email Address'), [validators.Length(min=3, max=35, message=err_msg), validators.Email(), pb_validator.Unique( db.session, model.User, model.User.email_addr, err_msg_2)]) locale = SelectField(lazy_gettext('Default Language')) ckan_api = TextField(lazy_gettext('CKAN API Key')) def set_locales(self, locales): """Fill the locale.choices.""" choices = [] for locale in locales: if locale == 'en': lang = gettext("English") if locale == 'es': lang = gettext("Spanish") if locale == 'fr': lang = gettext("French") choices.append((locale, lang)) self.locale.choices = choices
class TeamForm(Form): ''' Modify Team ''' id = IntegerField(label=None, widget=HiddenInput()) err_msg = lazy_gettext( "Team Name must be between 3 and 35 characters long") err_msg_2 = lazy_gettext("The team name is already taken") name = TextField(lazy_gettext('Team Name'), [ validators.Length(min=3, max=35, message=err_msg), pb_validator.Unique(db.session, Team, Team.name, err_msg_2) ]) err_msg = lazy_gettext( "Team Description must be between 3 and 35 characters long") description = TextField( lazy_gettext('Description'), [validators.Length(min=3, max=35, message=err_msg)]) public = BooleanField(lazy_gettext('Public'), default=True)
class AppForm(Form): id = IntegerField(label=None, widget=HiddenInput()) name = TextField('Name', [ validators.Required(), Unique(model.Session, model.App, model.App.name, message="Name is already taken.") ]) short_name = TextField('Short Name', [ validators.Required(), Unique(model.Session, model.App, model.App.short_name, message="Short Name is already taken.") ]) description = TextField( 'Description', [validators.Required(message="You must provide a description.")]) hidden = BooleanField('Hide?')
class KeyForm(Form): key_name = TextField('Key', validators=[Required()]) key_ttl = IntegerField('TTL')
class TaskPresenterForm(Form): id = IntegerField(label=None, widget=HiddenInput()) editor = TextAreaField('')
class ImportarForm(Form): montos = TextAreaField('Montos a retirar', validators=[Required()]) concepto = TextAreaField('Concepto', validators=[Required()]) fecha = DateField("Fecha", format='%d/%m/%Y', validators=[Required()]) del_anio = IntegerField(u'del año', default=lambda: datetime.now().year)
class ImageForm(Form): img_msg = 'You have to provide a file to upload' image = FileField(u'Image', validators=[file_required(message=img_msg)]) side = SelectField("Resize side", choices=[('', ''),('0', 'Width'), ('1', 'Height')]) resize_to = IntegerField('Resize to', validators=[validators.Optional()]) caption = TextField('Caption', validators=[validators.Optional()])
class MeasForm(Form): sys = IntegerField('Systolic', [Required()]) dia = IntegerField('Diastolic', [Required()]) pulse = IntegerField('Pulse', [Required()])