Beispiel #1
0
class SubmitPasteForm(Form):
    title = StringField(validators=[validators.Length(min=1, max=24)])
    content = StringField(validators=[
        validators.InputRequired("Pastes cannot be empty."),
        validators.Length(min=1, max=600000)
    ])
    language = StringField(
        validators=[validators.InputRequired("A language must be selected.")])
    expiration = IntegerField(validators=[
        validators.AnyOf([*range(0, 8)],
                         "A valid expiration option must be selected.")
    ])
    password = StringField(validators=[validators.Length(max=128)])
    open_edit = BooleanField(validators=[
        validators.AnyOf(
            [False, True],
            "You must specify if the paste will have open-edit enabled.")
    ])

    def validate(self):
        rv = Form.validate(self)
        if not rv:
            return False

        if self.language.data not in language_list:
            self.language.errors.append(
                "Please specify a valid language for the paste.")
            return False

        return True
class AlertForm(Form):
    """Form object for website."""

    phone_number = StringField('Phone Number', [
        validators.Length(
            min=10, max=10, message="Please enter a valid phone number"),
        validators.Regexp('^[0-9]+$',
                          message="Input characters must be only numeric")
    ])

    asset = SelectField('Asset', choices=assets)
    market = SelectField('Market',
                         choices=[('', '')] + [(m, m) for m in market_apis],
                         default='')

    cond_option_validators = [validators.AnyOf([0, 1, 2, 3])]
    cond_option = SelectField('Condition Option',
                              choices=[(-1, ''), (1, 'Above a price'),
                                       (0, 'Below a price'),
                                       (2, 'Percent increase'),
                                       (3, 'Percent decrease')],
                              validators=cond_option_validators,
                              coerce=int)

    price_validators = [validators.InputRequired()]
    price = FloatField('Target Price')

    percent_validators = [validators.InputRequired()]
    percent = FloatField('Target Percent Change')

    percent_duration_validators = [validators.AnyOf([times[1][0]])]
    percent_duration = SelectField(
        'Target Change Duration',
        choices=[times[1]],  # currently only supports 24 hours
        coerce=int)
    end_date = DateField("Enter end date for alert (YYYY-MM-DD)",
                         format='%Y-%m-%d',
                         default=lambda: datetime.now() + timedelta(days=7))

    recaptcha = RecaptchaField(
        'Recaptcha', validators=[Recaptcha("Please do the recaptcha.")])

    def validate(self, **kwargs):
        """Validate the AlertForm."""
        if self.cond_option.data == 1 or self.cond_option.data == 0:
            self.price.validators = AlertForm.price_validators
            self.percent.validators = [validators.optional()]
            self.percent_duration.validators = [validators.optional()]
        elif self.cond_option.data == 2 or self.cond_option.data == 3:
            self.price.validators = [validators.optional()]
            self.percent.validators = AlertForm.percent_validators
            pdv = AlertForm.percent_duration_validators
            self.percent_duration.validators = pdv
        if self.asset.data in supported_assets:
            market_validators = [
                validators.AnyOf(
                    [m for m in supported_assets[self.asset.data]['markets']])
            ]
            self.market.validators = market_validators
        return super().validate(**kwargs)
class ContactForm(FlaskForm):
    radio = RadioField('please select one',
                       choices=[('value_1', 'choice_1'),
                                ('value_2', 'choice_2'),
                                ('value_3', 'choice_3')],
                       validators=[
                           validators.AnyOf(['value_1', 'value_2', 'value_3'],
                                            'please select one value')
                       ])

    select = SelectField(
        'please select a day',
        choices=[('monday', 'Mon.'), ('tuesday', 'Tues.'),
                 ('wednsday', 'Wed.'), ('thursday', 'Thurs.'),
                 ('friday', 'Fri.'), ('saturday', 'Sat.'), ('sunday', 'Sun.')],
        validators=[validators.AnyOf(['tuesday'], 'please select Tuesday')])

    selectMultiple = SelectMultipleField(
        'please select mutiple items',
        choices=[('value_1', 'choice_1'), ('value_2', 'choice_2'),
                 ('value_3', 'choice_3')],
        validators=[
            validators.AnyOf(
                [['value_1', 'value_2'], ['value_1', 'value_3']],
                'only choose the top 2 items or the first and third item')
        ])
    submit = SubmitField('submit')
class RatesSchema(Form):
    # filters - function that is applied before validators are checked
    # here upper() is added to make validators case non sensitive
    curr_from = StringField('curr_from', filters=[lambda x: x.upper()],
                            validators=[validators.DataRequired(), validators.AnyOf(['USD', 'EUR', 'AED'])])
    curr_to = StringField('curr_to', filters=[lambda x: x.upper()],
                          validators=[validators.DataRequired(), validators.AnyOf(['USD', 'EUR', 'AED'])])
Beispiel #5
0
class TransactionForm(Form):
    vendor = StringField(
        "Vendor",
        validators=[
            # Checks if the input vendor id really exisits in the db
            validators.AnyOf(all_usernames(),
                             message="No such Vendor exists in our database"),
            # Checks if there is an input
            validators.InputRequired(message="Please provide the vendor ID")
        ])
    buyer = StringField(
        "Buyer",
        validators=[
            # Checks if the input buyer id really exisits in the db
            validators.AnyOf(all_usernames(),
                             message="No such Buyer exists in our database"),
            # Checks if there is an input
            validators.InputRequired(message="Please provide the buyer ID")
        ])
    car = StringField(
        "Car-ID",
        validators=[
            # Checks if the input car id really exisits in the db
            validators.AnyOf(all_owners().keys(),
                             message="No such Cad ID exists in our database"),
            # Checks if there is an input
            validators.InputRequired(message="Please provide the car ID")
        ])
    private_key = StringField("Secret Key")
Beispiel #6
0
class PaperUploadForm(Form):
    year = StringField(
        'Year',
        validators=[validators.AnyOf(list(const.SCHOOL_YEAR.keys()), '年度不正确')])
    section = StringField(
        'Section',
        validators=[validators.AnyOf(list(const.SECTION.keys()), '学期不正确')])
    paper_types = StringField('PaperType',
                              validators=[
                                  validators.AnyOf(
                                      list(const.PAPER_TYPE.keys()), '试卷类型不正确')
                              ])
    school_id = IntegerField('SchoolId',
                             validators=[validators.DataRequired('请选择学校')])
    province_id = IntegerField('ProvinceId',
                               validators=[validators.DataRequired('请选择省份')])
    city_id = IntegerField('CityId',
                           validators=[validators.DataRequired('请选择城市')])
    area_id = IntegerField('AreaId',
                           validators=[validators.DataRequired('请选择地区')])

    subject = IntegerField('Subject',
                           validators=[validators.DataRequired('学科不正确')])
    grade = StringField(
        'Subject',
        validators=[validators.AnyOf(list(const.GRADE.keys()), '年级不正确')])
    name = StringField('Name', validators=[validators.DataRequired('请输入试卷名称')])
    exam_date = DateField('ExamDate',
                          validators=[validators.DataRequired('请选择考试时间')])
    is_fast = IntegerField('IsFast')
Beispiel #7
0
class CircleForm(BaseForm):
    installments = HiddenField(u"Installments",
                               [validators.AnyOf(["3", "36"])])
    openended_status = HiddenField(u"Openended Status",
                                   [validators.AnyOf(["None"])])
    installment_period = StringField(u"Installment Period",
                                     [validators.AnyOf(["yearly", "monthly"])])
    zipcode = StringField(u"ZIP Code", [validators.Length(max=5)])
class ContactForm(FlaskForm):
    radio = RadioField('请选择一个',choices = [('值1','选项1'),('值2','选项2'),('值3','选项3')],\
                                    validators = [validators.AnyOf(['值1','值2','值3'],'请选中一个值')])
    select = SelectField('请选择一个选项',choices = [('值1','选项1'),('值2','选项2'),('值3','选项3')],\
                                    validators = [validators.AnyOf(['值2'],'请选择第二项')])
    selectmultiple = SelectMultipleField('请选择多个选项',choices = [('值1','选项1'),('值2','选项2'),('值3','选项3')],\
                                    validators = [validators.AnyOf([['值1','值2'],['值1','值3']],'只能选择前两项或第一和第三项')])
    submit = SubmitField('提交')
Beispiel #9
0
class PreliminaryStudentRegForm(Form):
    group = StringField('Group', [validators.Length(min=1, max=5)])
    year = IntegerField('Year', [validators.NumberRange(min=1900, max=2016)])
    degree = StringField(
        'Degree', [validators.AnyOf(['bachelor', 'specialist', 'master'])])
    education_form = StringField(
        'Education', [validators.AnyOf(['full', 'part', 'evening'])])
    education_basis = StringField('Education',
                                  [validators.AnyOf(['contract', 'budget'])])
Beispiel #10
0
 class RegistrationForm(Form):
     days = ["mon","tue","wed","thu","fri","sat","sun"]
     pins = [0,2,4,5]
     states = ["turnOn", "turnOff"]
     day = StringField('day', [validators.AnyOf(days)])
     hour = IntegerField('hour', [validators.NumberRange(0,23)])
     minute = IntegerField('minute', [validators.number_range(0,59)])
     id = StringField('id', [validators.Length(5,15)])
     description = StringField('description', [validators.Length(0,55)])
     pin = IntegerField('pin', [validators.AnyOf(pins)])
     state = StringField('state', [validators.AnyOf(states)])
class  AnadirForm(FlaskForm):
    id=StringField('id')
    nombre=StringField('nombre',[validators.InputRequired()])
    pedido=StringField('pedido',[validators.InputRequired(),validators.AnyOf(baseDatos.getColumna("Pedido","idPedido"))])
    boquilla=StringField('boquilla',[validators.InputRequired(),validators.AnyOf(baseDatos.getColumna("Boquilla","idBoquilla"))])
    rollo=StringField('rollo',[validators.InputRequired(),validators.AnyOf(baseDatos.getColumna("Rollo","idRollo"))])
    maquina=StringField('maquina',[validators.InputRequired(),validators.AnyOf(baseDatos.getColumna("Maquina","idMaquina"))])
    volumen=StringField('volumen',[validators.InputRequired()])
    fecha= DateField('fecha',[validators.InputRequired()])
    file = FileField('Introduce Gcode',validators=[FileRequired()])
    submit = SubmitField('Submit')
Beispiel #12
0
class DonateForm(BaseForm):
    lock_key = HiddenField("Lock Key", [validators.Optional()])
    display_as = StringField(u"Preferred name", [validators.Optional()])
    anonymous = BooleanField(u"Anonymous?",
                             false_values=(False, 'false', 0, '0', None,
                                           "None"))
    in_honor_or_memory = RadioField(u"Honor or memory?",
                                    [validators.Optional()],
                                    choices=[('honor', 'In honor of'),
                                             ('memory', 'In memory of'),
                                             ('0', 'False')])
    in_honor_memory_of = StringField(u"Honor or memory of",
                                     [validators.Optional()])
    # swag
    # this needs to be updated if the swag options change
    member_benefit_request_swag = HiddenField(
        u"Swag choice",
        [validators.Optional(),
         validators.AnyOf(["mug", "water bottle"])])

    member_benefit_request_atlantic = HiddenField(
        u"The Atlantic subscription?",
        [validators.Optional(),
         validators.AnyOf(["yes", "no"])])
    member_benefit_request_atlantic_id = HiddenField(
        "The Atlantic Subscriber ID", [validators.Optional()])
    member_benefit_request_nyt = HiddenField(
        u"New York Times subscription?",
        [validators.Optional(),
         validators.AnyOf(["yes", "no"])])

    # billing
    billing_street = StringField(u"Street Address", [
        validators.required(message="Your billing street address is required.")
    ])
    billing_city = StringField(
        u"City",
        [validators.required(message="Your billing city is required.")])
    billing_state = StringField(
        u"State",
        [validators.required(message="Your billing state is required.")])
    billing_zip = StringField(
        u"ZIP Code",
        [validators.required(message="Your billing zip code is required.")])
    billing_country = StringField(u"Country", [validators.Optional()])

    # shipping
    shipping_name = StringField(u"Ship to", [validators.Optional()])
    shipping_street = StringField(u"Street Address", [validators.Optional()])
    shipping_city = StringField(u"City", [validators.Optional()])
    shipping_state = StringField(u"State", [validators.Optional()])
    shipping_zip = StringField(u"ZIP Code", [validators.Optional()])
    shipping_country = StringField(u"Country", [validators.Optional()])
Beispiel #13
0
class BOOK(Form):
    TITLE = StringField('TITLE', [validators.DataRequired()])
    LANGUAGE = StringField(
        'LANGUAGE',
        [validators.DataRequired(),
         validators.AnyOf(['EN', 'HN', 'GUJ'])])
    TYPE = StringField('TYPE', [
        validators.DataRequired(),
        validators.AnyOf(['SCI', 'MAT', 'ENG', 'COM'])
    ])
    SHELF = StringField('SHELF', [validators.DataRequired()])
    AUTHOR = StringField('AUTHOR', [validators.DataRequired()])
    BOOKCNT = StringField('BOOKCNT', [validators.DataRequired()])
    PUBLISHER = StringField('PUBLISHER', [validators.DataRequired()])
Beispiel #14
0
class TradeForm(Form):
    trade_security = HiddenField("Security", [
        validators.AnyOf(["0", "1", "2"], "Invalid asset type."),
        validators.InputRequired("No security type chosen.")])
    trade_strike = HiddenField("Strike", [
        validators.InputRequired("No strike price chosen.")])
    trade_stock_id = HiddenField("Stock", [
        validators.InputRequired("No stock symbol chosen.")])
    trade_qty = DecimalField("Quantity", [
        validators.NumberRange(min=1, message="Quantity must be positive."),
        validators.InputRequired("No quantity chosen.")])
    trade_position = RadioField("Action", [
        validators.AnyOf(["buy", "sell"], "Invalid action."),
        validators.InputRequired("No action chosen.")],
        choices=[("buy", "Buy"), ("sell", "Sell")])
Beispiel #15
0
class ItemForm(Form):
    name = StringField('Name', validators=[DataRequired(), Length(max=50)])
    description = StringField('Description', widget=TextArea(),
                              validators=[DataRequired(),
                              Length(max=250)])
    category_name = SelectField('Category', choices=category_choices,
                                validators=[validators.AnyOf(category_names)])
Beispiel #16
0
class FRB(Form):
    BOOKID = StringField('BOOKID', [validators.DataRequired()])
    UID = StringField('UID', [validators.DataRequired()])
    FETCH_RETURN_BORROW = StringField(
        'FETCH_RETURN_BORROW',
        [validators.DataRequired(),
         validators.AnyOf(['F', 'R', 'B'])])
Beispiel #17
0
class BaseForm(FlaskForm):
    class Meta:
        def bind_field(self, form, unbound_field, options):
            filters = unbound_field.kwargs.get("filters", [])
            filters.append(strip_filter)
            return unbound_field.bind(form=form, filters=filters, **options)

    first_name = StringField(
        u"First name",
        [validators.required(message="Your first name is required.")])
    last_name = StringField(
        u"Last name",
        [validators.required(message="Your last name is required.")])
    amount = DecimalField(
        u"Amount",
        [
            validators.required(message="Please choose a donation amount."),
            validators.NumberRange(min=1),
        ],
    )
    stripeEmail = EmailField("Email address",
                             [validators.DataRequired(),
                              validators.Email()])
    stripeToken = HiddenField(u"Stripe token", [validators.InputRequired()])
    description = HiddenField(u"Description", [validators.InputRequired()])
    pay_fees_value = HiddenField(u"Pay Fees Value",
                                 [validators.AnyOf(["True", "False"])])
    reason = StringField(u"Encouraged to give by",
                         [validators.Length(max=255)])
    campaign_id = HiddenField("Campaign ID", [validators.Length(max=18)])
    referral_id = HiddenField("Referral ID", [validators.Length(max=18)])
Beispiel #18
0
class VoteForm(Form):
    value = RadioField('Vote', [
        validators.InputRequired(message="Cannot be empty"),
        validators.AnyOf(["1", "2", "3", "4", "5"])
    ],
                       choices=[('1', '1'), ('2', '2'), ('3', '3'), ('4', '4'),
                                ('5', '5')])
Beispiel #19
0
class EditEventForm(BaseForm):
    content = JSONField(
        'Event content',
        validators=[
            OptionalButNotEmptyValidator(),
        ],
    )
    outcomes = FieldList(
        FormField(RestrictedEditOutcomeForm, 'Possible outcomes'),
        validators=[
            OptionalButNotEmptyValidator(),
        ],
    )
    state = StringField('State',
                        validators=[
                            OptionalButNotEmptyValidator(),
                            validators.AnyOf([e.name for e in EventState])
                        ])
    tags = FieldList(StringField('Tag',
                                 validators=[
                                     OptionalButNotEmptyValidator(),
                                     ListFromTableValidator(Tag, 'name'),
                                 ]),
                     validators=[
                         OptionalButNotEmptyValidator(),
                     ])
Beispiel #20
0
class Abstract(BaseForm):

    btest = StringField('', [validators.AnyOf('')])  # Bot Protection

    authors = FieldList(FormField(Author))
    affiliations = FieldList(FormField(Affiliation))

    contribution = RadioField('Contribution',
                              choices=[
                                  ('None', 'None'),
                              ],
                              default='None')
    category = SelectField('Category')
    title = StringField('Title', [validators.Length(max=300)])
    content = TextAreaField('Abstract')

    img_use = BooleanField('Include Figure')
    img_width = IntegerField('Width (1-100%)',
                             [validators.NumberRange(min=1, max=100)])
    img_upload = FileField('Upload Figure (new)', [
        FileAllowed(list(config.forms.ALLOWED_EXTENSIONS),
                    'File type is not valid.')
    ])
    img_delete = BooleanField('Delete Figure')

    caption_validators = [validators.Length(max=600)]
    if config.submission.require_figure_caption:
        caption_validators.append(validator_img())
    img_caption = TextAreaField('Figure Caption', caption_validators)

    halt_on_error = BooleanField('Stop LaTeX on Error')
Beispiel #21
0
class Abstract_invited(BaseForm):

    btest = StringField('', [validators.AnyOf('')])  # Bot Protection

    authors = FieldList(FormField(Author))
    affiliations = FieldList(FormField(Affiliation_invited))

    category = SelectField('Category')
    title = StringField('Title', [validators.Length(max=300)])
    content = TextAreaField('Abstract')

    img_use = BooleanField('Include Figure')
    img_width = IntegerField('Width (1-100%)',
                             [validators.NumberRange(min=1, max=100)])
    img_caption = TextAreaField('Figure Caption', [validators.Length(max=600)])
    img_upload = FileField('Upload Figure (new)', [
        FileAllowed(list(config.forms.ALLOWED_EXTENSIONS),
                    'File type is not valid.')
    ])
    img_delete = BooleanField('Delete Figure')

    portrait_upload = FileField('Upload Portrait (new)', [
        FileAllowed(list(config.forms.ALLOWED_EXTENSIONS),
                    'File type is not valid.')
    ])
    portrait_delete = BooleanField('Delete Figure')

    halt_on_error = BooleanField('Stop LaTeX on Error')
Beispiel #22
0
class ArticleSettingsForm(ArticleBaseMixin, SecureForm):
    code = HiddenField([
        v.Required(),
    ])
    title = StringField('Title', [
        v.Required(),
        v.Length(min=3, max=128),
    ])
    scope = BooleanField('Scope', [
        v.Required(),
    ])
    progress_state = SelectField('Progress State', [
        v.Required(),
    ],
                                 choices=())  # delay
    path = StringField('Path', [
        v.Required(),
        v.Regexp(PATH_PATTERN),
        v.Regexp(PATH_PATTERN_INVALID),
        v.Length(min=6, max=64),
        path_duplication_check,
        path_availability_check,
    ])
    context = HiddenField([v.Required(), v.AnyOf(('settings', ))])
    submit = SubmitField('Save')

    def __init__(self, *args, **kwargs):
        # pylint: disable=no-member
        article = args[1]
        self.__class__.progress_state.kwargs['choices'] = \
            article.available_progress_states_as_choices

        super().__init__(*args, **kwargs)
Beispiel #23
0
class addphotoform(Form):
    name = wtfields.StringField(validators=[validators.input_required()])
    description = wtfields.StringField()
    privacy = wtfields.StringField(validators=[
        validators.input_required(),
        validators.AnyOf(['private', 'public', 'link'])
    ])
Beispiel #24
0
class UsersUserTokenForm(Form):
    offset = IntegerField(default=0)
    limit = IntegerField(default=100, validators=[validators.NumberRange(min=100, max=1000)])
    enabled = IntegerField(default=1, validators=[validators.NumberRange(min=0, max=1)])
    sort_by = StringField(
        validators=[validators.Optional(), validators.AnyOf(["age", "user", "name"])]
    )
Beispiel #25
0
 def conv_String(self, column, field_args, **extra):
     if hasattr(column.type, 'enums'):
         field_args['validators'].append(validators.AnyOf(column.type.enums))
         field_args['choices'] = [(f,f) for f in column.type.enums]
         return form.Select2Field(**field_args)
     self._string_common(column=column, field_args=field_args, **extra)
     return fields.TextField(**field_args)
Beispiel #26
0
class editphotoform(Form):
    name = wtfields.StringField()
    description = wtfields.StringField()
    privacy = wtfields.StringField(validators=[
        validators.optional(),
        validators.AnyOf(['private', 'public', 'link'])
    ])
Beispiel #27
0
class TournamentForm(FlaskForm):
    name = StringField("Name", [validators.DataRequired(message='Must not be a string containing only whitespace'), validators.Length(min=4, max=144)]) 
    playercount = IntegerField("Playercount", [validators.AnyOf(values=[2,4,8,16,32,64,128])], widget=NumberInput())
    description = TextAreaField("Tournament description", [validators.Length(max=500)])

    class Meta:
        csrf = False
Beispiel #28
0
class StoreOCForm(Form):
    secret = StringField(
        'The secret token of the admin',
        [validators.DataRequired(message='Secret is needed'), check_secret])
    id = StringField('store id', [validators.DataRequired()])
    action = BooleanField('The action true to open flase to close',
                          [validators.AnyOf([True, False])])
Beispiel #29
0
class ContactForm(FlaskForm):
    name = StringField(label='Name', validators=[
        validators.Length(min=4, max=25)
    ])
    email = StringField(label='E-mail', validators=[
        validators.Length(min=6, max=35), validators.Email()
    ])

    # class work: сделать валидатор для job:
    # 1. job должны быть только такие: IT, Bank, HR
    # 2. job поле должно быть обязательнным
    job = StringField(label='Job', validators=[
        validators.DataRequired(),
        validators.AnyOf(values=['IT', 'Bank', 'HR'])
    ])
    # валидация дня рождения пользователя
    # 1. валидируем месяц, если он равен текущему - все хорошо, иначе - плохо
    birthday = DateField(label='Birthday')  # '1988-05-02' format

    def validate(self):
        rv = FlaskForm.validate(self)

        if self.birthday.data.month == datetime.date.today().month and rv:
            return True
        else:
            return False
Beispiel #30
0
class RegistrationForm(Form):
    username = StringField('Username', [
        length(min=4, max=25),
        validators.Regexp('^\w+$', message='Username must contain only letters numbers or underscore')
    ])
    email = StringField('Email Address', [
        validators.DataRequired('Please enter email address'),
        validators.Length(min=6, max=35), validators.Email(message='Please enter valid email address')
    ])
    password = PasswordField('New Password', [
        validators.DataRequired(),
        validators.EqualTo('confirm', message='Passwords must match')
    ])
    confirm = PasswordField('Repeat Password')
    education = StringField('Education', [
        validators.Optional(),
        validators.AnyOf(['B-Tech', 'Graduate', 'Post Graduate'], message='Can only be B-Tech, Graduate, Post Graduate')])
    accept_tos = BooleanField('I accept the TOS', [validators.DataRequired()])

    def __init__(self, *args, **kwargs):
        # Form.__init__(self, *args, **kwargs)
        super(RegistrationForm, self).__init__(*args, **kwargs)
        self.creator = None

    def validate(self):
        rv = super(RegistrationForm, self).validate()
        if not rv:
            return False

        self.creator = 'Some object reference'
        return True