class UpdateNodeForm(Form): display_name = StringField('Name', validators=[Optional()]) is_active = BooleanField('Active', validators=[Optional()])
class DNDServiceForm(BaseForm): enabled = BooleanField(l_('Do not disturb'), default=False)
class IncallFilterServiceForm(BaseForm): enabled = BooleanField(l_('Incall filtering'), default=False)
class NoAnswerForwardForm(BaseForm): enabled = BooleanField(l_('No answer'), default=False) destination = StringField(l_('Destination'), [Length(max=128)])
class UnconditionalForwardForm(BaseForm): enabled = BooleanField(l_('Unconditional'), default=False) destination = StringField(l_('Destination'), [Length(max=128)])
class EditDescriptorSearchableForm(Form): is_searchable = BooleanField('Searchable') submit = SubmitField('Update')
class BusyForwardForm(BaseForm): enabled = BooleanField(l_('Busy'), default=False) destination = StringField(l_('Destination'), [Length(max=128)])
class LoginForm(FlaskForm): username = StringField('Your Username: '******'password', validators=[DataRequired()]) remember_me = BooleanField("Keep me logged in") submit = SubmitField()
class ProblemForm(FlaskForm): author = StringField( "Problem Author", validators=[InputRequired("Please enter the author.")]) title = StringField( "Problem Title", validators=[InputRequired("Please enter a problem title.")]) name = StringField( "Problem Name (slug)", validators=[InputRequired("Please enter a problem name.")]) category = StringField( "Problem Category", validators=[InputRequired("Please enter a problem category.")]) description = TextAreaField( "Description", validators=[InputRequired("Please enter a description.")]) value = IntegerField("Value", validators=[InputRequired("Please enter a value.")]) programming = BooleanField(default=False, validators=[Optional()]) autogen = BooleanField("Autogen", validators=[Optional()]) grader = TextAreaField( "Grader", validators=[InputRequired("Please enter a grader.")]) generator = TextAreaField("Generator", validators=[Optional()]) source_verifier = TextAreaField("Source Verifier", validators=[Optional()]) test_cases = IntegerField("Test Cases", validators=[Optional()]) time_limit = FloatField("Time Limit", validators=[Optional()]) memory_limit = IntegerField("Memory Limit", validators=[Optional()]) submit = SubmitField("Submit") def validate_name(self, field): if not VALID_PROBLEM_NAME.match(field.data): raise ValidationError( "Problem name must be an all-lowercase, slug-style string.") # if Problem.query.filter(Problem.name == field.data).count(): # raise ValidationError("That problem name already exists.") def validate_grader(self, field): grader = imp.new_module("grader") if self.programming.data: # TODO validation pass else: try: exec(field.data, grader.__dict__) assert hasattr(grader, "grade"), \ "Grader is missing a 'grade' function." if self.autogen.data: assert hasattr( grader, "generate"), "Grader is missing a 'generate' function." seed1 = generate_string() import random random.seed(seed1) data = grader.generate(random) assert type(data) is dict, "'generate' must return dict" else: result = grader.grade(None, "") assert type( result ) is tuple, "'grade' must return (correct, message)" correct, message = result assert type( correct) is bool, "'correct' must be a boolean." assert type(message) is str, "'message' must be a string." except Exception as e: raise ValidationError("%s: %s" % (e.__class__.__name__, str(e)))
class ExampleForm(FlaskForm): string_field = StringField( "StringField", widget=GovTextInput(), validators=[InputRequired(message="StringField is required")], description="StringFieldHint", ) date_field = DateField( "DateField", format="%d %m %Y", widget=GovDateInput(), validators=[InputRequired(message="Date is required")], description="DateFieldHint", ) date_field_default = DateField( "DateField", default=datetime.datetime(day=23, month=11, year=2020), format="%d %m %Y", widget=GovDateInput(), validators=[InputRequired(message="Date is required")], description="DateFieldHint", ) email_field = StringField( "EmailField", widget=GovTextInput(), validators=[ InputRequired(message="EmailField is required"), Email(message="Email is not valid"), ], description="EmailFieldHint", ) float_field = FloatField( "FloatField", widget=GovTextInput(), validators=[InputRequired(message="FloatField is required")], description="FloatFieldHint", ) integer_field = IntegerField( "IntegerField", widget=GovTextInput(), validators=[InputRequired(message="IntegerField is required")], description="IntegerFieldHint", ) decimal_field = DecimalField( "DecimalField", widget=GovTextInput(), validators=[InputRequired(message="DecimalField is required")], description="DecimalFieldHint", ) textarea_field = TextAreaField( "TextAreaField", widget=GovTextArea(), validators=[InputRequired(message="TextAreaField is required")], description="TextAreaFieldHint", ) charactercount_field = TextAreaField( "CharacterCountField", widget=GovCharacterCount(), validators=[InputRequired(message="CharacterCountField is required")], description="CharacterCountFieldHint", ) boolean_field = BooleanField( "BooleanField", widget=GovCheckboxInput(), validators=[InputRequired(message="Please tick the box")], description="BooleanFieldHint", ) select_field = SelectField( "SelectField", widget=GovSelect(), validators=[InputRequired(message="Please select an option")], choices=[ ("", "Please select"), ("one", "One"), ("two", "Two"), ("three", "Three"), ], default="", description="SelectFieldHint", ) select_multiple_field = SelectMultipleField( "SelectMultipleField", widget=GovCheckboxesInput(), validators=[InputRequired(message="Please select an option")], choices=[("one", "One"), ("two", "Two"), ("three", "Three")], description="SelectMultipleFieldHint", ) radio_field = RadioField( "RadioField", widget=GovRadioInput(), validators=[InputRequired(message="Please select an option")], choices=[("one", "One"), ("two", "Two"), ("three", "Three")], description="RadioFieldHint", ) file_field = FileField( "FileField", widget=GovFileInput(), validators=[InputRequired(message="Please upload a file")], description="FileFieldHint", ) multiple_file_field = MultipleFileField( "MultipleFileField", widget=GovFileInput(multiple=True), validators=[InputRequired(message="Please upload a file")], description="MultipleFileFieldHint", ) password_field = PasswordField( "PasswordField", widget=GovPasswordInput(), validators=[ InputRequired("Password is required"), EqualTo( "password_retype_field", message="Please ensure both password fields match", ), ], description="PasswordFieldHint", ) password_retype_field = PasswordField( "Re-type your password", widget=GovPasswordInput(), validators=[InputRequired("Please retype your password")], description="PasswordFieldHint", ) nested_form = FieldList( FormField(ExampleChildForm), min_entries=1, ) submit_button = SubmitField("SubmitField", widget=GovSubmitInput()) def validate_string_field(self, field): if field.data != "John Smith": raise ValidationError( 'Example serverside error - type "John Smith" into this field to suppress it' )
class LoginForm(Form): username = StringField('Username:'******'Password:'******'Keep me logged in') submit = SubmitField('Log In')
class MobileForm(BaseForm): fcm_api_key = StringField(l_('Firebase Cloud Messaging Api Key'), widget=PasswordInput(hide_value=False)) fcm_sender_id = StringField(l_('Firebase Cloud Messaging Sender ID'), widget=PasswordInput(hide_value=False)) ios_apn_certificate = TextAreaField(l_('Ios APN Certificate')) ios_apn_private = TextAreaField(l_('Ios APN Private certificate')) is_sandbox = BooleanField(l_('Use sandbox'))
class LoginForm(Form): username = TextField('username', validators=[DataRequired()]) password = PasswordField('password', validators=[DataRequired()]) remember_me = BooleanField('remember_me', default=False)
class SearchIndexForm(BaseForm): """Form to create a searchindex.""" searchindex_name = StringField('name', validators=[DataRequired()]) es_index_name = StringField('Index', validators=[DataRequired()]) public = BooleanField( 'Public', false_values={False, 'false', ''}, default=False)