Ejemplo n.º 1
0
class UpdateNodeForm(Form):

    display_name = StringField('Name', validators=[Optional()])
    is_active = BooleanField('Active', validators=[Optional()])
Ejemplo n.º 2
0
class DNDServiceForm(BaseForm):
    enabled = BooleanField(l_('Do not disturb'), default=False)
Ejemplo n.º 3
0
class IncallFilterServiceForm(BaseForm):
    enabled = BooleanField(l_('Incall filtering'), default=False)
Ejemplo n.º 4
0
class NoAnswerForwardForm(BaseForm):
    enabled = BooleanField(l_('No answer'), default=False)
    destination = StringField(l_('Destination'), [Length(max=128)])
Ejemplo n.º 5
0
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')
Ejemplo n.º 7
0
class BusyForwardForm(BaseForm):
    enabled = BooleanField(l_('Busy'), default=False)
    destination = StringField(l_('Destination'), [Length(max=128)])
Ejemplo n.º 8
0
class LoginForm(FlaskForm):
    username = StringField('Your Username: '******'password', validators=[DataRequired()])
    remember_me = BooleanField("Keep me logged in")
    submit = SubmitField()
Ejemplo n.º 9
0
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'
            )
Ejemplo n.º 11
0
class LoginForm(Form):
    username = StringField('Username:'******'Password:'******'Keep me logged in')
    submit = SubmitField('Log In')
Ejemplo n.º 12
0
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'))
Ejemplo n.º 13
0
class LoginForm(Form):
    username = TextField('username', validators=[DataRequired()])
    password = PasswordField('password', validators=[DataRequired()])
    remember_me = BooleanField('remember_me', default=False)
Ejemplo n.º 14
0
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)