class IndexForm(FlaskForm):
    """
    Form on the index page.
    This form is compose of two select fields for each team.
    """

    team = SelectField(
        'Team 1',
        [DataRequired(),
         NoneOf(['Choose a country'], 'Invalid country.')])
    opponent = SelectField(
        'Team 2',
        [DataRequired(),
         NoneOf(['Choose a country'], 'Invalid country.')])
    submit = SubmitField('And the winner is...')

    def init_choice(self, choice: list, default_choice='Choose a country'):
        """
        Initialize the choice list for team and opponent SelectField
        and add a default value.

        Parameters
        ----------
        choice : list
            list of values to put in the choice attribute
        default_choice : str 
            default value for SelectField (the default is 'Choose a country').
        """
        if type(choice) != type(list()):
            choice = list(choice)
        choice = list_to_list_two_tuples([default_choice] + choice)
        self.team.choices = choice
        self.opponent.choices = choice
Esempio n. 2
0
class JoinForm(FlaskForm):
    username = StringField(
        'Username',
        validators=[
            NoneOf(get_users(),
                   message=
                   "This username is already in use, please pick another one")
        ])
    password = PasswordField(
        'Password',
        validators=[
            Length(min=8,
                   message=
                   "Please make sure your password has eight letters or more")
        ])
    learner_name = StringField('Learner Name', validators=[DataRequired()])
    email = StringField(
        'Email',
        validators=[
            Email(),
            NoneOf(
                get_user_emails(),
                message=
                "This email address is already in use, please check you are not already a member"
            )
        ])
    submit = SubmitField(label='Register')
Esempio n. 3
0
    class InputForm(FlaskForm):
        if not csrf:

            class Meta:
                csrf = False

        # setup input type choices for drop down list
        input_type_tags = ('empty', 'constant', 'normal', 'uniform')

        input_type_labels = ('', 'Constant', 'Normal', 'Uniform')

        input_type_choices = tuple(zip(input_type_tags, input_type_labels))

        # setup form choices and labels for input details
        input_detail_field_forms = (EmptyInputDetailsForm,
                                    ConstantInputDetailsForm,
                                    NormInputDetailsForm,
                                    UniformInputDetailsForm)

        input_detail_field_form_labels = tuple(
        '{} Input Details Form'.format(input_type_label) \
            if not input_type_label == '' else '' \
                for input_type_label in input_type_labels
        )

        keyed_input_detail_field_forms = dict(
            zip(input_type_tags, input_detail_field_forms))

        keyed_input_detail_labels = dict(
            zip(input_type_tags, input_detail_field_form_labels))

        # create input fields for generic input form
        input_name = StringField(
            'Input Name',
            default='',
            validators=[
                DataRequired(),
                NoneOf(
                    none_of,
                    message=
                    'Input name must be unique. (Cannot be any of: %(values)s.)'
                )
            ],
            render_kw={
                'onchange': 'this.form.submit()',
                'onkeypress': 'return event.keyCode != 13;'
            })

        input_type = SelectField(
            'Input Distribution Type',
            choices=input_type_choices,
            default='empty',
            validators=([NoneOf(('empty'),
                                message='This field is required.')]),
            render_kw={
                'onchange': 'this.form.submit()',
                'onkeypress': 'return event.keyCode != 13;'
            })
Esempio n. 4
0
class CareerForm(FlaskForm):

    career = SelectField(
        'Career Field',
        validators=[NoneOf(["-1"], message="select a field to search")],
        choices=careers,
        default="-1")

    pathway = SelectField('Career Area')

    state = SelectField(
        'State to Work In',
        validators=[NoneOf(["-1"], message="select your state")],
        choices=states,
        default=["-1"])

    education = SelectField(
        "Highest Current Level of Education",
        validators=[NoneOf(["-1"], message="select your education level")],
        choices=edufield,
        default=["-1"])

    experience = SelectField(
        "Years of Work Experience in Field",
        validators=[NoneOf(["-1"], message="select your experience level")],
        choices=explevel,
        default=["-1"])

    submit = SubmitField("Search")
    clear = SubmitField("Clear")
    choose = SubmitField("Select Field")

    return_data = None

    test_bls = SubmitField("test BLS data")
    test_onet = SubmitField("test O*NET data")
    test_educ = SubmitField("test educ data")

    def paths_for_career(self, data):
        '''
        generate a filtered list of pathways for each
        career area to keep those drop downs tidy.
        '''

        valid_codes = links.get(data, ["-1"])
        path_choices = []

        for code, choice in pathways:
            if code in valid_codes:
                path_choices.append((code, choice))

        return path_choices
Esempio n. 5
0
 class CRNForm(FlaskForm):
     course = IntegerField(
         'Enter Course CRN',
         validators=[
             AnyOf(course_valid(),
                   message='That course number could not be found.'),
             NoneOf(course_invalid(),
                    message="""This course is not full! 
                        It is available for sign up on Banner."""),
             NoneOf(wishlist_get(current_user.id),
                    message='This course is already on your wishlist.')
         ])
     addcourse = SubmitField('Add to wishlist')
Esempio n. 6
0
 class WishAdd(FlaskForm):
     CRN = IntegerField(
         'Course Number',
         validators=[
             DataRequired(),
             AnyOf(course_valid(),
                   message='That course number could not be found.'),
             NoneOf(course_invalid(),
                    message="""This course is not full!  
                     It is available for sign up on Banner."""),
             NoneOf(wishlist_get(current_user.id),
                    message='This course is already on your wishlist.')
         ])
     submit = SubmitField('Add Wish')
Esempio n. 7
0
    class SignUpForm(FlaskForm):
        name = TextField('Full Name', validators=[DataRequired()])
        studentID = TextField(
            'Student ID',
            validators=[
                DataRequired(),
                NoneOf(id_list(), message='That ID is in use already.'),
                Length(8, message='Field must be 8 characters long.'),
                Regexp('^[0-9]*$', message='Input must be numerical.')
            ])
        year = SelectField('Class',
                           choices=[('Freshman', 'Freshman'),
                                    ('Sophomore', 'Sophomore'),
                                    ('Junior', 'Junior'),
                                    ('Senior', 'Senior')])
        user = TextField('Email', validators=[DataRequired(), Email()])
        passw = PasswordField('Password',
                              validators=[
                                  DataRequired(),
                                  EqualTo('pass2',
                                          message='Passwords must match')
                              ])
        pass2 = PasswordField('Enter Password Again')

        submit = SubmitField('Sign Up')
Esempio n. 8
0
class RegisterForm(Form):
    nickname = StringField(
        'Name',
        validators=[
            DataRequired(),
            Length(*NICKNAME_LENGTH),
            NonDuplicate(User, 'nickname'),
            NoneOf([arbiter.NO_PLAYER_NAME]),
        ])

    email = StringField(
        'E-mail',
        validators=[
            DataRequired(),
            Email(),
            NonDuplicate(User, 'email')
        ])

    password = PasswordField(
        'Password',
        validators=[DataRequired(), Length(*PASSWORD_LENGTH)])

    password_check = PasswordField(
        'Re-enter password',
        validators=[
            DataRequired(),
            EqualTo('password', message="Passwords must match.")
        ])

    submit = SubmitField('Sign up')
Esempio n. 9
0
class EditProfileForm(FlaskForm):
    username = StringField(
        'Username',
        validators=[InputRequired(),
                    Length(min=1, max=64),
                    NoneOf(['admin'])])
    email = StringField(
        'Email', validators=[InputRequired(),
                             Email(),
                             Length(min=1, max=120)])
    password = PasswordField('Password')
    password2 = PasswordField('Repeat Password',
                              validators=[EqualTo('password')])
    submit = SubmitField('OK')
    cancel = SubmitField('Cancel')

    def __init__(self, original_username, original_email, *args, **kwargs):
        super(EditProfileForm, self).__init__(*args, **kwargs)
        self.original_username = original_username
        self.original_email = original_email
        self.password.description = 'Leave the password fields empty if you don' 't want to change your password'

    def validate_username(self, username):
        if username.data != self.original_username:
            user = User.query.filter_by(username=self.username.data).first()
            if user is not None:
                raise ValidationError('Please use a different username.')

    def validate_email(self, email):
        if email.data != self.original_email:
            user = User.query.filter_by(email=self.email.data).first()
            if user is not None:
                raise ValidationError('Please use a different email.')
Esempio n. 10
0
class ExportSelectionForm(FlaskForm):
    data_list = [
        ('', ''),
        ("SURVEY_SUBSAMPLE", "Survey Subsample"),
        ("PS_FINAL", "Final Weight Summary"),
        ("SHIFT_DATA", "Shift"),
        ("NON_RESPONSE_DATA", "Non-Response"),
        ("PS_SHIFT_DATA", "Shift Weight Summary"),
        ("PS_NON_RESPONSE", "Non Response Weight Summary"),
        ("PS_MINIMUMS", "Minimum Weight Summary"),
        ("PS_TRAFFIC", "Traffic Weight Summary"),
        ("PS_UNSAMPLED_OOH", "Unsampled Traffic Weight Summary"),
        ("PS_IMBALANCE", "Imbalance Weight Summary")
    ]
    # ("ALL_DATA", "All Data"),
    # ("SAS_AIR_MILES", "Air Miles"),
    # ("ALCOHOL", "Alcohol"),
    # ("REGIONAL", "Regional"),
    # ("CONTACT", "Contact"),
    # ("MIGRATION", "Migration")]

    filename = StringField(label='Save file as',
                           validators=[InputRequired(), Regexp(r'^[\w+-]+$'), NoneOf([" ", ".", ",", "'"])])
    data_selection = SelectField(label='Select Data', choices=data_list, validators=[InputRequired()])
    display_data = SubmitField(label='Export Data')
    cancel_button = SubmitField(label='Cancel')
Esempio n. 11
0
class SignUpForm(Form):
    """Simple form to upload SSH keys and choose the username."""

    name_len = "Provided username length is not valid (3 <= length <= 32)."
    username = StringField(
        id="username",
        label="Username",
        description="The username to use with the system",
        render_kw={
            "aria-describedby": "usernameHelp",
            "placeholder": "Choose a username."
        },
        validators=[
            InputRequired(message="A username is required."),
            Length(min=3, max=32, message=name_len),
            NoneOf(config_get("INVALID_USERNAMES"),
                   message="Provided username is not valid."),
            username_characters_check, username_duplicates_check
        ])
    ssh_key = TextAreaField(
        id="sshkey",
        label="SSH Key",
        description="Your public SSH key",
        render_kw={
            "autocomplete": "off",
            "rows": 10,
            "aria-describedby": "sshkeyHelp",
            "placeholder": "Copy and paste your public SSH key."
        },
        validators=[
            InputRequired(message="An SSH key is required."),
            sshkey_valid_check
        ])
Esempio n. 12
0
def add_date_fields(form: Any) -> None:
    validator_day = [Optional(), NumberRange(min=1, max=31)]
    validator_month = [Optional(), NumberRange(min=1, max=12)]
    validator_year = [Optional(), NumberRange(min=-4713, max=9999), NoneOf([0])]

    setattr(form, 'begin_year_from', IntegerField(
        render_kw={'placeholder': _('YYYY')}, validators=validator_year))
    setattr(form, 'begin_month_from', IntegerField(
        render_kw={'placeholder': _('MM')}, validators=validator_month))
    setattr(form, 'begin_day_from', IntegerField(
        render_kw={'placeholder': _('DD')}, validators=validator_day))
    setattr(form, 'begin_year_to', IntegerField(
        render_kw={'placeholder': _('YYYY')}, validators=validator_year))
    setattr(form, 'begin_month_to', IntegerField(
        render_kw={'placeholder': _('MM')}, validators=validator_month))
    setattr(form, 'begin_day_to', IntegerField(
        render_kw={'placeholder': _('DD')}, validators=validator_day))
    setattr(form, 'begin_comment', StringField(
        render_kw={'placeholder': _('comment')}))
    setattr(form, 'end_year_from', IntegerField(
        render_kw={'placeholder': _('YYYY')}, validators=validator_year))
    setattr(form, 'end_month_from', IntegerField(
        render_kw={'placeholder': _('MM')}, validators=validator_month))
    setattr(form, 'end_day_from', IntegerField(
        render_kw={'placeholder': _('DD')}, validators=validator_day))
    setattr(form, 'end_year_to', IntegerField(
        render_kw={'placeholder': _('YYYY')}, validators=validator_year))
    setattr(form, 'end_month_to', IntegerField(
        render_kw={'placeholder': _('MM')}, validators=validator_month))
    setattr(form, 'end_day_to', IntegerField(
        render_kw={'placeholder': _('DD')}, validators=validator_day))
    setattr(form, 'end_comment', StringField(
        render_kw={'placeholder': _('comment')}))
Esempio n. 13
0
class RegistrationForm(FlaskForm):
    username = StringField('Username (ideally: short, memorable, no spaces)',
                           validators=[DataRequired(),
                                       NoneOf(['now'])])
    email = StringField('E-mail (please use & enter your corporate e-mail)',
                        validators=[DataRequired(), Email()])
    lunch_time = TimeField('I usually go for lunch at (HH:MM)',
                           validators=[DataRequired()])
    invite_me = BooleanField(
        'Every workday, invite me for lunch, if there\'s a match')
    site = StringField('What\'s your company\'s Site name or nearby City',
                       validators=[Length(min=0, max=32),
                                   DataRequired()])
    canteen = StringField('Canteen (an empty value means: ALL at your Site)',
                          validators=[Length(min=0, max=32)])
    password = PasswordField('Password', validators=[DataRequired()])
    password2 = PasswordField('Repeat Password',
                              validators=[DataRequired(),
                                          EqualTo('password')])
    #recaptcha = RecaptchaField()
    submit = SubmitField('Register')

    def validate_username(self, username):
        user = User.query.filter_by(username=username.data).first()
        if user is not None:
            raise ValidationError('Please use a different username.')

    def validate_email(self, email):
        user = User.query.filter_by(email=email.data.lower()).first()
        if user is not None:
            raise ValidationError('Please use a different email address.')
Esempio n. 14
0
class EditProfileForm(FlaskForm):
    username = StringField(
        'Username (ideally: short, memorable, no spaces)',
        validators=[DataRequired(),
                    Length(min=0, max=32),
                    NoneOf(['now'])])
    about_me = TextAreaField('About me (free text)',
                             validators=[Length(min=0, max=140)])
    topics = TextAreaField('Topics (please use keywords separated by space)',
                           validators=[Length(min=0, max=140)])
    lunch_time = TimeField('I usually go for lunch at (HH:MM)',
                           validators=[DataRequired()])
    invite_me = BooleanField(
        'Every workday, invite me for lunch, if there\'s a match')
    site = StringField('What\'s your company\'s Site name or nearby City',
                       validators=[Length(min=0, max=32),
                                   DataRequired()])
    canteen = StringField('Canteen (an empty value means: ALL at your Site)',
                          validators=[Length(min=0, max=32)])
    submit = SubmitField('Submit')

    def __init__(self, original_username, *args, **kwargs):
        super(EditProfileForm, self).__init__(*args, **kwargs)
        self.original_username = original_username

    def validate_username(self, username):
        if username.data != self.original_username:
            user = User.query.filter_by(username=self.username.data).first()
            if user is not None:
                raise ValidationError('Please use a different username.')
Esempio n. 15
0
def set_match_form_choices_validators(
        form: Union[MatchForm, MatchSearchForm], team_id: int,
        *args) -> MatchForm:
    """
    Set the choices and validators in a MatchForm.
    :param form: form to configure
    :param team_id: id of team setting up the match
    :return:
    """
    teams, team_options = _team_choices_validators(
        [get_unassigned_team_id(), team_id])

    form.opposition.choices = teams
    form.opposition.validators = [
        AnyOf(team_options, message="Please select a team from the list"),
        NoneOf([team_id], message="Duplicate home and away team")
    ] if FormArgs.TEAM_REQ in args or FormArgs.TEAM_NOT_REQ not in args \
        else []

    if FormArgs.FREE_MIN in args:
        form.start_time.validators = [
            InputRequired(),
            ValidateDateTime(dt_format=APP_DATETIME_FMT)
        ]

    return form
Esempio n. 16
0
class SicknessForm(BaseForm):
    name = StringField('name',
                       validators=[NoneOf(['"', "'", ";", "/", "\\"], message="\", ', ;, /, \\ are not allowed")])
    description = TextAreaField('description', validators=[Regexp(".*")])
    severity = StringField('prescription', validators=[Regexp("[1-5]", message="Введите тяжесть от 1 до 5")])

    def get_item(self, index):
        return {
            0: self.name,
            1: self.description,
            2: self.severity
        }[index]

    def __len__(self):
        return 3

    def create_instance(self, _id=0):
        if _id == 0:
            sick = Sickness(name=self.name.data, description=self.description.data, severity=self.severity.data)
        else:
            sick = Sickness.get_by_id(_id)
            sick.name = self.name.data
            sick.description = self.description.data
            sick.severity = self.severity.data
        sick.save()

    def delete_instance(self, _id):
        sick = Sickness.get_by_id(_id)
        sick.delete_instance()
Esempio n. 17
0
class SymptomForm(BaseForm):
    name = StringField('name',
                       validators=[NoneOf(['"', "'", ";", "/", "\\"], message="\", ', ;, /, \\ are not allowed")])
    description = TextAreaField('description', validators=[Regexp(".*")])

    def get_item(self, index):
        return {
            0: self.name,
            1: self.description
        }[index]

    def __len__(self):
        return 2

    def create_instance(self, _id=0):
        if _id == 0:
            sym = Symptom(name=self.name.data, description=self.description.data)
        else:
            sym = Symptom.get_by_id(_id)
            sym.name = self.name.data
            sym.description = self.description.data
        sym.save()

    def delete_instance(self, _id):
        sym = Symptom.get_by_id(_id)
        sym.delete_instance()
Esempio n. 18
0
class DrugForm(BaseForm):
    name = StringField('name',
                       validators=[NoneOf(['"', "'", ";", "/", "\\"], message="\", ', ;, /, \\ are not allowed")])
    description = TextAreaField('description', validators=[Regexp(".*")])
    prescription = StringField('prescription', validators=[Regexp("[01]", message="0 - без рецета, 1 - по рецепту")])

    def get_item(self, index):
        return {
            0: self.name,
            1: self.description,
            2: self.prescription
        }[index]

    def __len__(self):
        return 3

    def create_instance(self, _id=0):
        if _id == 0:
            drug = Drug(name=self.name.data, description=self.description.data, prescription=self.prescription.data)
        else:
            drug = Drug.get_by_id(_id)
            drug.name = self.name.data
            drug.description = self.description.data
            drug.prescription = self.prescription.data
        drug.save()

    def delete_instance(self, _id):
        drug = Drug.get_by_id(_id)
        drug.delete_instance()
Esempio n. 19
0
class DowntimeBarForm(FlaskForm):
    form_template = "key_date_time"
    graph_name = "Downtime Bar Chart"
    description = "A bar chart showing the total amount of each activity for selected machines between two times"
    key = SelectField(validators=[
        NoneOf(MACHINES_CHOICES_HEADERS, message="Pick a machine or group")
    ],
                      id="downtime_bar_machines")
    start_date = DateField(validators=[DataRequired()],
                           format=DATE_FORMAT,
                           id="downtime_bar_start_date",
                           label="Start Date (DD-MM-YYYY)",
                           default=datetime.now())
    end_date = DateField(validators=[DataRequired()],
                         format=DATE_FORMAT,
                         id="downtime_bar_end_date",
                         label="End Date (DD-MM-YYYY)",
                         default=datetime.now() + timedelta(days=1))
    start_time = TimeField(validators=[DataRequired()],
                           format=TIME_FORMAT,
                           default=midnight,
                           id="downtime_bar_start_time")
    end_time = TimeField(validators=[DataRequired()],
                         format=TIME_FORMAT,
                         default=midnight,
                         id="downtime_bar_end_time")

    submit = SubmitField('Submit', id="downtime_bar_submit")
Esempio n. 20
0
class NewCategoryForm(FlaskForm):
    new_category_name = StringField('分类', [
        DataRequired(),
        Length(1, 50, message='请将分类名限制在1-20字内'),
        NoneOf('未分类', message='无法创建该分类')
    ])
    submit = SubmitField('提交')
Esempio n. 21
0
def test_none_of_passes(dummy_form, dummy_field):
    """
    it should pass if the value is not present in list
    """
    dummy_field.data = "d"
    validator = NoneOf(["a", "b", "c"])
    validator(dummy_form, dummy_field)
Esempio n. 22
0
File: forms.py Progetto: DickJ/fitu
class SignupForm(Form):
    phone_providers = [('default', '-Please Choose Your Provider-'),
                       ('alltell', 'Alltell Wireless'), ('att', 'AT&T'),
                       ('boost', 'Boost Mobile'), ('cricket', 'Cricket'),
                       ('metropcs', 'Metro PCS'), ('projectfi', 'Project Fi'),
                       ('sprint', 'Sprint'), ('straighttalk', 'Straight Talk'),
                       ('tmobile', 'T-Mobile'),
                       ('uscellular', 'U.S. Cellular'),
                       ('verizon', 'Verizon Wireless'),
                       ('virgin', 'Virgin Mobile'),
                       ('other', 'Other Provider')]

    #phone = StringField('phone', validators=[Regexp('9 digits or 10 if the first is 1')])
    lname = StringField(
        'lname',
        validators=[DataRequired(message='Please enter your last name.')])
    fname = StringField(
        'fname',
        validators=[DataRequired(message='Please enter your first name.')])
    phone = StringField(
        'phone',
        validators=[DataRequired(message='A valid phone number is required.')])
    provider = SelectField(
        'provider',
        validators=[
            NoneOf(('default', ), message='Please select a wireless provider.')
        ],
        choices=phone_providers)
Esempio n. 23
0
class SSLHostForm(Form):
    config_path = TextField(u'SER2SOCK Configuration Path', [Required(), PathExists()], default='/etc/ser2sock')
    device_address = TextField(u'Address', [Required(), Length(max=255)], description=u'Hostname or IP address', default='localhost')
    device_port = IntegerField(u'Port', [Required(), NumberRange(1024, 65535), NoneOf(values=[80,443,5000], message="The port value is reserved by other services.  Please choose another port.")], description=u'', default=10000)
    ssl = BooleanField(u'Encrypt ser2sock?')

    buttons = FormField(SetupButtonForm)
Esempio n. 24
0
class GanttForm(FlaskForm):
    form_template = "key_date_time"
    graph_name = "Machine Status Gantt Chart"
    description = "A Gantt chart showing the activity of a single machine or multiple machines. Time is plotted on the x-axis and different " \
                  "colours represent different activities."
    key = SelectField(validators=[
        NoneOf(MACHINES_CHOICES_HEADERS, message="Pick a machine or group")
    ],
                      id="gantt_machines")
    start_date = DateField(validators=[DataRequired()],
                           format=DATE_FORMAT,
                           label="Start Date (DD-MM-YYYY)",
                           default=datetime.now())
    end_date = DateField(validators=[DataRequired()],
                         format=DATE_FORMAT,
                         label="End Date (DD-MM-YYYY)",
                         default=datetime.now() + timedelta(days=1))
    start_time = TimeField(validators=[DataRequired()],
                           format=TIME_FORMAT,
                           default=midnight,
                           id="gantt_start_time")
    end_time = TimeField(validators=[DataRequired()],
                         format=TIME_FORMAT,
                         default=midnight,
                         id="gantt_end_time")

    submit = SubmitField('Submit', id="gantt_submit")
Esempio n. 25
0
def test_none_of_pases(dummy_form, dummy_field):
    """
    it should pass if the value is not present in list
    """
    dummy_field.data = 'd'
    validator = NoneOf(['a', 'b', 'c'])
    validator(dummy_form, dummy_field)
Esempio n. 26
0
class TripForm(FlaskForm):
    name = StringField('Name', validators=[DataRequired(), Length(max=2000)])
    country_code = SelectField('Country',
                               choices=[],
                               validators=[Optional(strip_whitespace=True)])
    center_lat = DecimalField('Center latitude', places=5)
    center_lon = DecimalField('Center longitude', places=5)
    slug = StringField('Slug',
                       validators=[
                           DataRequired(),
                           Length(min=3, max=2000),
                           Regexp(r'\w[\w_-]*\w'),
                           NoneOf(['new', 'update', 'delete'])
                       ])

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

        self.country_code.choices = list(self._country_code_choices())

    def _country_code_choices(self):
        yield ('', '')
        file_name = pjoin(DATA_PATH, 'countries.json')
        with open(file_name) as f:
            for country in json.load(f):
                yield (country['Code'], country['Name'])
Esempio n. 27
0
class RouterNewForm(FormPro):
    cityid = SelectFieldPro(u'所属地市', choices=lambda: area_choices(1, u'请选择地市'))
    town = SelectFieldPro(u'', choices=lambda: area_choices(2, u'请选择区县'))
    area_id = SelectFieldPro(u'所属区域',
                             validators=[required(message=u'必填')],
                             choices=lambda: area_choices(4, u'请选择接入点'))
    name = TextField(u'路由器名称', validators=[required(message=u'必填')])
    alias = TextField(u'路由器别名', validators=[required(message=u'必填')])
    addr = TextField(u'IP 地址',
                     validators=[
                         required(message=u'必填'),
                         IPAddress(message=u'IP地址格式不正确'),
                         NoneOf(['0.0.0.0', '255.255.255.255'],
                                message=u'IP地址格式不正确')
                     ])
    snmp_comm = TextField(u'读团体名', validators=[required(message=u'必填')])
    snmp_wcomm = TextField(u'写团体名', validators=[required(message=u'必填')])
    snmp_ver = RadioField(u'SNMP版本',
                          default=SNMP_VER_DICT.keys()[0],
                          validators=[required(message=u'必填')],
                          choices=[(value, label)
                                   for value, label in SNMP_VER_DICT.items()])
    mask = TextField(u'子网掩码')
    location = TextField(u'位置')
    remark = TextAreaField(u'备注信息')
Esempio n. 28
0
class AnalysisForm(FlaskForm):
    id = HiddenField("Id")
    company_id = SelectField(
        "Yritys", validators=[NoneOf([''], 'Yritystä ei ole valittu')])
    name = StringField("Nimi",
                       validators=[
                           InputRequired('Nimi ei voi olla tyhjä'),
                           Length(
                               max=50,
                               message='Nimi voi olla korkeintaan 50 merkkiä')
                       ])
    keywords = StringField(
        "Avainsanat",
        validators=[
            InputRequired('Avainsanat ei voi olla tyhjä'),
            Length(max=150,
                   message='Avainsanat voi olla korkeintaan 150 merkkiä')
        ])
    ttargets = TextAreaField(
        "Kohteet",
        validators=[
            Length(max=1024,
                   message='Kohteet voi olla korkeintaan 1024 merkkiä')
        ])
    locked = BooleanField("Lukittu")

    class Meta:
        csrf = False
Esempio n. 29
0
class RegistrationForm(FlaskForm):
    # name -> input type - string, required
    name = StringField("name", [InputRequired()])

    # surname -> input type - string, required
    surname = StringField("surname", [InputRequired()])

    # username -> input type - string, required, unique
    username = StringField("username", [
        InputRequired(),
        NoneOf(Admin.all_usernames(),
               message="An admin with this username already exists!")
    ])

    # password -> input type - password, required, at least 8 characters long
    password = PasswordField("password", [
        InputRequired(),
        Length(min=8, message="Password must be at least 8 characters!")
    ])

    # confirm -> input type - password, equal to password
    confirm = PasswordField(
        "confirm", [EqualTo("password", message="Passwords must match!")])

    # key -> input type - string, required, validated
    key = StringField("key", [InputRequired(), validate_key])

    # passcode -> input type - string, passcode for entering
    passcode = StringField("passcode")
Esempio n. 30
0
def test_none_of_raises(dummy_form, dummy_field):
    """
    it should raise ValueError if the value is present in list
    """
    dummy_field.data = "a"
    validator = NoneOf(["a", "b", "c"])
    with pytest.raises(ValueError):
        validator(dummy_form, dummy_field)