class GenericoForm(Form):
    orgao = SelectField(u"Orgão de destino", choices=[])
    dtenvio = DateField(u"Data de envio", [
        validators.Required(u"Este campo é obrigatório."),
        DateRange(min=date(2010, 1, 1),
                  max=date(2020, 12, 31),
                  message=u"A data deve ser entre 01/01/2010 e 31/12/2020")
    ],
                        format="%d/%m/%Y")
    dtlimite = DateField(u"Data limite do retorno", [
        validators.Required(u"Este campo é obrigatório."),
        DateRange(min=date(2010, 1, 1),
                  max=date(2020, 12, 31),
                  message=u"A data deve ser maior que a data atual."),
        DateShouldGreatherThan('dtenvio')
    ],
                         format="%d/%m/%Y")
    obs = TextAreaField(u"Observação", [
        validators.Required(u"Este campo é obrigatório."),
        validators.Length(
            max=4096,
            message=
            u'Favor insira uma observação de no máximo 4096 caracteres.')
    ])
    arquivo = FileField(u"Arquivo")
Exemple #2
0
class PredictOpts(Form):
    type = SelectField('type', validators=[DataRequired()], choices=[('Max', 'Max'),('Average', 'Average'),('Min', 'Min')])
    start = DateField('start_date',validators=[DateRange(min=date(2007,1,1),max=date(2007,12,31),format="%Y/%m/%d")])
    end = DateField('end_date',validators=[DateRange(min=date(2007,1,1),max=date(2007,12,31),format="%Y/%m/%d")])
    season = BooleanField('season', default=False)
    holiday = BooleanField('holiday', default=False)
    history = BooleanField('history', default=True)
Exemple #3
0
class EventForm(FlaskForm):
    event_id = IntegerField()
    name = StringField("Event name", [validators.InputRequired()])
    start_time = DateTimeField(
        "Event starting time YYYY-mm-dd HH:MM:SS",
        validators=[
            DateRange(datetime.datetime.today(),
                      datetime.datetime.today() + datetime.timedelta(days=365))
        ])
    end_time = DateTimeField(
        "Event ending time YYYY-mm-dd HH:MM:SS",
        validators=[
            DateRange(datetime.datetime.today(),
                      datetime.datetime.today() + datetime.timedelta(days=365))
        ])
    responsible = StringField("Responsible person",
                              [validators.InputRequired()])
    description = StringField("Description for the event")

    roomsBooked = SelectMultipleFieldWithRoomChoices(
        validators=[TimeNotOverlapping(),
                    validators.InputRequired()])
    privateReserve = SelectMultipleFieldWithRoomChoices("Private reserve")

    class Meta:
        csrf = False
class TaskForm(FlaskForm):
    name = StringField("Task name", [validators.Length(min=2, max=50)],
                       render_kw={"placeholder": "Task name"})
    description = TextAreaField("Description",
                                render_kw={"placeholder": "Description"})
    deadline = DateField(
        "Deadline",
        format='%Y-%m-%d',
        default=datetime.today,
        validators=[validators.Optional(),
                    DateRange(min=(year_ago()))])

    possible_after = DateField(
        "Cannot be done before",
        format='%Y-%m-%d',
        default="",
        validators=[validators.Optional(),
                    DateRange(min=tomorrow())])

    category = QuerySelectField("Category",
                                query_factory=lambda: Category.query.all(),
                                allow_blank=True,
                                blank_text='no category')

    class Meta:
        csrf = False
Exemple #5
0
class ApplicationSearchForm(CustomForm):
    good_name = StringField('产品名称', render_kw={
        "class": 'input-sm',
    })
    nickname = StringField('用户昵称', render_kw={
        "class": 'input-sm',
    })
    mobile = StringField('手机号', render_kw={"class": 'input-sm'})
    # 试用状态
    running_status = SelectField('试用状态',
                                 coerce=int,
                                 choices=RUNNING_STATUS_WITH_APPLICATION,
                                 render_kw={
                                     "class": 'input-sm',
                                     "style": '"width: 90px"'
                                 })
    # 所在省份
    province_name = SelectField('所在省份',
                                coerce=str,
                                choices=PROVINCE_LIST,
                                render_kw={
                                    "class": 'input-sm',
                                    "style": '"width: 90px"'
                                })
    Apply_number = IntegerField(
        '申请次数大于',
        render_kw={
            "class": "input-sm",
            "type": "input",
        },
    )
    created_time_begin = DateTimeField('开始时间',
                                       validators=[
                                           DateRange(min=datetime(2019, 1, 1),
                                                     max=datetime(
                                                         2029, 12, 12))
                                       ],
                                       format='%Y-%m-%d',
                                       render_kw={
                                           "placeholder": "开始时间",
                                           "class": "input-sm",
                                           "type": "input",
                                           "autocomplete": "off",
                                       })
    created_time_end = DateTimeField('结束时间',
                                     validators=[
                                         DateRange(min=datetime(2019, 1, 1),
                                                   max=datetime(2029, 12, 12))
                                     ],
                                     format='%Y-%m-%d',
                                     render_kw={
                                         "placeholder": "结束时间",
                                         "class": "input-sm",
                                         "type": "input",
                                         "autocomplete": "off",
                                     })
Exemple #6
0
class EventForm(FlaskForm):
    name = StringField('Event name', validators=[DataRequired()])
    start_date = DateField('Event date', validators=[DataRequired(), DateRange(
        min=datetime.datetime.today().date())])
    start_time = TimeField('Event time', validators=[DataRequired()])
    end_date = DateField('Event end date', validators=[DataRequired(), DateRange(
        min=datetime.datetime.today().date())])
    end_time = TimeField('Event end time', validators=[DataRequired()])
    location = StringField('Event location', validators=[DataRequired()])
    submit = SubmitField('Propose Event')
Exemple #7
0
class ViestinHakuLomake(FlaskForm):
    aihe = StringField("Aihe")
    nimi = StringField("Kirjoittaja")
    ryhma = StringField("Ryhmältä")
    alkupvm = DateField(
        "Alkaen", [DateRange(min=date(2000, 1, 1), max=date(3000, 1, 1))])
    loppupvm = DateField(
        "Asti", [DateRange(min=date(2000, 1, 1), max=date(3000, 1, 1))])
    nappi = SubmitField("Hae")

    class Meta:
        csrf = False
Exemple #8
0
class SearchForm(Form):
    date_start = DateField(
        'Start',
        default=date.today() + relativedelta(years=-1),
        format='%d.%m.%Y',
        validators=[DateRange(min=date(2015, 1, 1), max=date(2016, 12, 31))])

    date_end = DateField(
        'End',
        default=date.today(),
        format='%d.%m.%Y',
        validators=[DateRange(min=date(2015, 1, 1), max=date(2016, 12, 31))])
Exemple #9
0
class SelectRoom(FlaskForm):
    heads = IntegerField('No of adults',
                         validators=[NumberRange(min=1, max=3)])
    checkin = DateField('Checkin Date',
                        validators=[DateRange(min=date.today())])
    checkout = DateField('Checkout Date',
                         validators=[DateRange(min=date.today())])
    room = RadioField('Room Type',
                      validators=[DataRequired()],
                      choices=[('1', 'Room Type 1'), ('2', 'Room Type 2'),
                               ('3', 'Room Type 3')])
    submit = SubmitField('Select')
Exemple #10
0
 class PublishForm(Form):
     publish_date = wtforms.ext.dateutil.fields.DateField(
         validators=[
             wtforms.validators.Optional(),
             DateRange(min=date(1900, 1, 1)), check_unique_publish_date
         ],
         widget=wtforms.widgets.html5.DateInput())
     retract_date = wtforms.ext.dateutil.fields.DateField(
         validators=[
             wtforms.validators.Optional(),
             DateRange(min=date(1900, 1, 1)), check_valid_timeline
         ],
         widget=wtforms.widgets.html5.DateInput())
class InformForm(FlaskForm):
    title = StringField('Title', validators=[DataRequired()])
    startdate = DateField('Start Date', format="%Y-%m-%d", validators=(validators.DataRequired(),))
    enddate = DateField('End Date', format="%Y-%m-%d", validators=(validators.DataRequired(),))
    start_at = TimeField('Start at', format="'%h-%m'", validators=[DateRange(min=datetime.now())])
    end_at = TimeField('End at', format="'%h-%m'", validators=[DateRange(min=datetime.now())])
    date_of_joining = DateField('Date of Joining', format="%Y-%m-%d", validators=(validators.DataRequired(),))
    date_of_birth = DateField('Date Of Birth', format="%Y-%m-%d", validators=(validators.DataRequired(),))
    last_date = DateField('Last Date', format="%Y-%m-%d", )
    official_email_address = EmailField('Official Email address',
                                        validators=(validators.DataRequired(), validators.Email()))
    email_address = EmailField('Email address', validators=(validators.DataRequired(), validators.Email()))
    phoneNumber = StringField('Phone Number')
    salary = h5fields.IntegerField(
        "Salary", widget=h5widgets.NumberInput(min=0)
    )
    bonus = h5fields.IntegerField(
        "Bonus", widget=h5widgets.NumberInput(min=0)
    )
    bank_name = StringField('Bank Name')
    account_number = StringField('Account Number')
    UAN_number = StringField('UAN Number')
    basic_allowance = h5fields.IntegerField(
        "Basic Allowance", widget=h5widgets.NumberInput(min=0)
    )
    medical_allowance = h5fields.IntegerField(
        "Medical Allowance", widget=h5widgets.NumberInput(min=0)
    )
    provident_fund = h5fields.IntegerField(
        "Provident Fund", widget=h5widgets.NumberInput(min=0)
    )
    tax = h5fields.IntegerField(
        "Tax", widget=h5widgets.NumberInput(min=0)
    )
    current_address = StringField('Current Address')
    permanent_address = StringField('Permanent Address')
    is_active = BooleanField('Active')
    is_manager = BooleanField('Is a Manager?')
    first_name = StringField('First Name', validators=[DataRequired()])
    last_name = StringField('Last Name', validators=[DataRequired()])
    hourly_pay = IntegerField('Hourly Pay')
    submit = SubmitField('Submit')

    department_name = StringField('Department Name', validators=[DataRequired()])
    employee_type_description = StringField('Employee Type Description', validators=[DataRequired()])

    role_name = StringField('Role Name', validators=[DataRequired()])
    role_have_full_power = BooleanField('Assign Full Power?')
    role_upload_documents_profile_pictures = BooleanField('Ablity to Upload Document?')
Exemple #12
0
class RequestForm(FlaskForm):
    title = StringField('Title', validators=[DataRequired()])
    description = StringField('Description', validators=[DataRequired()])
    client_id = SelectField('Client', validators=[DataRequired()], coerce=int)
    client_priority = SelectField('Client Priority',
                                  validators=[DataRequired()],
                                  coerce=int)
    target_date = DateTimeField('Target Date',
                                validators=[
                                    DateRange(min=datetime.today(),
                                              max=datetime.today() +
                                              relativedelta(years=65))
                                ])
    product_area_code = SelectField('Product Area',
                                    validators=[DataRequired()],
                                    coerce=str)

    def validate_title(self, field):
        if FeatureRequest.query.filter(
                FeatureRequest.client_id == self.client_id.data,
                FeatureRequest.title == field.data,
                FeatureRequest.product_area_code
                == self.product_area_code.data).count() > 0:
            raise ValidationError("Record already exist for matching Client")

    def validate_client_id(self, field):
        if not Client.query.get(field.data):
            raise ValidationError("Invalid Client Selected")

    def validate_product_area_code(self, field):
        if not ProductArea.query.get(field.data):
            raise ValidationError("Invalid Product Area Selected")
Exemple #13
0
class PresentationForm(FlaskForm):
    presentation_name = StringField("Name: ", [
        validators.DataRequired("Please enter name of presentation."),
        validators.Length(2, 40, "Name should be from 2 to 40 symbols")
    ])

    presentation_date = DateField("Date: ", [
        validators.DataRequired("Please enter date of presentation."),
        DateRange(min=date(1900, 1, 1), max=date(2400, 1, 1))
    ])
    presentation_link = StringField(
        "Link: ",
        [
            # validators.DataRequired("Please enter name of presentation."),
            validators.Length(5, 500, "Link should be from 2 to 40 symbols")
        ])

    user_email = SelectField('User name')

    topic = StringField("Topic: ", [
        validators.DataRequired("Please enter topic."),
        validators.Length(2, 20, "Topic should be from 2 to 40 symbols")
    ])

    submit = SubmitField("Save")
Exemple #14
0
 class StudyForm(Form):
     title = wtforms.StringField(validators=[
         wtforms.validators.InputRequired(),
         wtforms.validators.Length(min=1, max=32), check_unique_url
     ])
     code = wtforms.StringField(validators=[
         wtforms.validators.InputRequired(),
         wtforms.validators.Length(min=1, max=8)
     ])
     short_title = wtforms.StringField(validators=[
         wtforms.validators.InputRequired(),
         wtforms.validators.Length(min=1, max=8)
     ])
     consent_date = DateField(validators=[
         wtforms.validators.Optional(),
         DateRange(min=date(1900, 1, 1)),
     ])
     termination_form = ModelField(db_session=db_session,
                                   class_=datastore.Schema,
                                   validators=[
                                       wtforms.validators.Optional(),
                                       check_has_termination_date
                                   ])
     is_randomized = wtforms.BooleanField()
     is_blinded = wtforms.BooleanField()
     randomzation_form = ModelField(db_session=db_session,
                                    class_=datastore.Schema)
Exemple #15
0
class TransportForm(FlaskForm):
    organizer = StringField("Organizer", validators=[DataRequired()])
    needs_organization = BooleanField("Needs organization")
    origin = TextAreaField("Origin", validators=[DataRequired()])
    destination = TextAreaField("Destination", validators=[DataRequired()])
    date = DateField(
        "Date",
        validators=[
            DataRequired(),
            DateRange(
                min=datetime.date(year=2019, month=12, day=14),
                max=datetime.date(year=2020, month=1, day=7),
            ),
        ],
    )
    time = TimeField("ETA", validators=[Optional()])
    vehicle = SelectField(
        "Vehicle",
        validators=[DataRequired()],
        choices=[("", "")] + list(VehicleTypes.items()),
    )
    goods = TextAreaField("Goods", validators=[DataRequired()])
    vehicle_owner = StringField("Vehicle Owner")
    orga_contact = TextAreaField("Orga Contact Person / Details",
                                 validators=[DataRequired()])
    driver_contact = TextAreaField("Driver Contact Person / Details")
    comment = TextAreaField("Comment")
    file_upload = FileField("Files", render_kw={"multiple": True})
    save = SubmitField("Save")
    saveasnew = SubmitField("Save as new")
Exemple #16
0
class CheckStatus(FlaskForm):
    bookingid = StringField('Booking ID',
                            validators=[DataRequired(),
                                        Length(min=1, max=20)])
    checkin = DateField('Checkin Date',
                        validators=[DateRange(min=date.today())])
    submit = SubmitField('Check')
Exemple #17
0
class PaymentForm(FlaskForm):
    creditCardNumber = StringField(
        label=('Enter Credit Card Number:'),
        validators=[
            DataRequired("Invalid Credit Card Number."),
            validate_creditCardNumber,
            validators.Regexp('^[0-9]*$',
                              message="Card must contain only numbers")
        ])
    confirm_creditCardNumber = StringField(
        'Confirm Credit Card Number',
        validators=[DataRequired(),
                    equal_to('creditCardNumber')])
    cardHolder = StringField(
        'Card Holder', validators=[DataRequired(),
                                   Length(min=2, max=100)])
    expirationDate = DateField('Expiration Date (YYYY-MM-DD)',
                               format='%Y-%m-%d',
                               validators=[
                                   DataRequired("Invalid Date Field"),
                                   DateRange(min=datetime.date.today())
                               ])
    securityCode = IntegerField('Security Code',
                                validators=[
                                    DataRequired("Invalid Security Code"),
                                    validators.NumberRange(min=100, max=999)
                                ])
    amount = FloatField('Amount', validators=[DataRequired("Invalid Amount")])

    submit = SubmitField('Pay')
Exemple #18
0
class TransportForm(FlaskForm):
    organizer = StringField('Organizer', validators=[DataRequired()])
    needs_organization = BooleanField('Needs organization')
    origin = TextAreaField('Origin', validators=[DataRequired()])
    destination = TextAreaField('Destination', validators=[DataRequired()])
    date = DateField('Date',
                     validators=[
                         DataRequired(),
                         DateRange(min=max(
                             datetime.date.today(),
                             datetime.date(year=2019, month=8, day=1)),
                                   max=datetime.date(year=2019, month=9,
                                                     day=5))
                     ])
    time = TimeField('ETA', validators=[Optional()])
    vehicle = SelectField('Vehicle',
                          validators=[DataRequired()],
                          choices=[('', '')] + list(VehicleTypes.items()))
    goods = TextAreaField('Goods', validators=[DataRequired()])
    vehicle_owner = StringField('Vehicle Owner')
    orga_contact = TextAreaField('Orga Contact Person / Details',
                                 validators=[DataRequired()])
    driver_contact = TextAreaField('Driver Contact Person / Details')
    comment = TextAreaField('Comment')
    file_upload = FileField('Files', render_kw={'multiple': True})
    save = SubmitField('Save')
    saveasnew = SubmitField('Save as new')
Exemple #19
0
class RegistrationForm(FlaskForm):
    # required information for creating an account
    name = StringField(
        "Name",
        validators=[
            DataRequired(),
            Length(min=1,
                   max=16,
                   message="Name length must be greater than 1 characters."),
        ])

    email = StringField("Email",
                        validators=[
                            DataRequired(),
                            Email(message="Input must be a valid email.")
                        ])

    phone = StringField(
        "Phone Number",
        validators=[
            DataRequired(),
            Length(10, 10, message="Phone number length must be 10 digits."),
            Regexp(regex="^ *[0-9][0-9 ]*$",
                   message="Phone number must only be numbers, obviously...")
        ])

    university = SelectField("University",
                             choices=[("UT Dallas", "UT Dallas")],
                             validators=[DataRequired()])

    budget = SelectField("Budget",
                         choices=[("100", "$100"), ("200", "$200"),
                                  ("300", "$300"), ("400", "$400"),
                                  ("500", "$500"), ("600", "$600"),
                                  ("700", "$700"), ("800", "$800"),
                                  ("900", "$900"), ("1000", "$1000")],
                         validators=[DataRequired()])

    weekend = DateField(
        "Weekend Available",
        format='%Y-%m-%d',
        validators=[
            DateRange(
                min=date.today(),
                max=date.today() + timedelta(30),
                message="Pick a day between today and 30 days from now."),
            DataRequired()
        ])

    interests = StringField(
        "Interests (space seperated)",
        default="",
        validators=[
            Length(min=0,
                   max=500,
                   message="Length too long! Max is 500 characters."),
        ])

    # submit field
    submit = SubmitField("Submit")
Exemple #20
0
class AddForm(FlaskForm):
    autocomp = StringField('Item', id='item_autocomplete')
    qty = IntegerField('Quantity', id='qty')
    dateNeeded = DateField('Request Needed By',
                           default=date.today,
                           validators=[DateRange(min=date.today())])
    dateRequested = HiddenField(default=date.today)
    specialInstructions = StringField(
        'Special Instructions (if any)',
        validators=[Optional(), Length(min=2, max=200)])
    itemsAdded = HiddenField(
        'itemsAdded',
        default="",
        id="hiddenItems",
        validators=[
            DataRequired(
                message=
                "A request needs to include item(s) that are between 2 and 20 characters in length."
            ),
            Length(min=2, max=100)
        ]
    )  # used for validating whether any items have been added to the request
    quantitiesAdded = HiddenField('quantitiesAdded',
                                  default="",
                                  id="hiddenQuantities")
    submit = SubmitField('Submit Request')
Exemple #21
0
class InitForm(Form):
    init_cash = IntegerField(
        "Initial Cash",
        default=200,
        validators=[
            NumberRange(
                min=1,
                message="The field only accepts positive integer values")
        ],
    )
    leverage = SelectField("Leverage", choices=LEVERAGES)
    lot_size = IntegerField(
        "Lot Size",
        default=10000,
        validators=[
            NumberRange(
                min=1,
                message="The field only accepts positive integer values")
        ],
    )
    date_time = DateTimeField(
        "Start Date",
        validators=[
            DateRange(min=datetime(2015, 1, 1), max=datetime(2018, 6, 29))
        ],
    )
Exemple #22
0
class fileissueform(Form):

    issue = SelectField('Issue: ',
                        choices=[(1, 'Bug'), (2, 'Feature')],
                        render_kw={"class": "form-control"})
    subject = StringField('Subject: ',
                          validators=[InputRequired(),
                                      Length(min=1, max=30)],
                          render_kw={
                              "placeholder": "Subject of the issue",
                              "class": "form-control",
                              "size": "15"
                          })
    description = TextAreaField(
        'Description: ',
        validators=[InputRequired(), Length(min=1, max=100)],
        render_kw={
            "placeholder": "Description of the issue",
            "class": "form-control",
            "size": "15"
        })
    date = DateField('Due date: ',
                     validators=[InputRequired(),
                                 DateRange(min=date.today())],
                     render_kw={
                         "class": "form-control",
                         "size": "15",
                         "type": "date"
                     })
Exemple #23
0
    class SpecimenForm(wtforms.Form):

        ui_selected = wtforms.BooleanField()

        id = wtforms.IntegerField(widget=wtforms.widgets.HiddenInput())

        tubes = wtforms.IntegerField(
            validators=[
                wtforms.validators.input_required(),
                wtforms.validators.NumberRange(min=1)])

        collect_date = DateField(
            validators=[
                conditionally_required,
                DateRange(min=date(1900, 1, 1))
            ])

        collect_time = TimeField(
            # There doesn't seem to be a nice way to add the colon if the
            # user forgets to do so, might need to make our own Field type
            format='%H:%M',
            validators=[conditionally_required])

        location_id = wtforms.SelectField(
            choices=locations,
            coerce=int,
            validators=[conditionally_required])

        notes = wtforms.TextAreaField(
            validators=[wtforms.validators.optional()])
class DashbinfoForm(FlaskForm):
    # Setting username requirements for registration form
    try:
        dbtitle = StringField(
            'Title',
            validators=[InputRequired(), uniquedashb,
                        Length(min=3, max=200)])
        dbcatg = StringField(
            'Category', validators=[InputRequired(),
                                    Length(min=3, max=200)])
        ddate = DateField(
            'Publication Date',
            validators=[InputRequired(),
                        DateRange(format='%m/%d/%Y')])
        author = StringField(
            'Author(s)', validators=[InputRequired(),
                                     Length(min=3, max=50)])
        enduser = StringField(
            'Enduser (Username/Email)',
            validators=[InputRequired(), enduservalid,
                        Length(min=3, max=100)]
        )  # later add dropdown for endusers. # add more email addresses to notify
        externurl = BooleanField('External Url?')
        submit = SubmitField('Request your Dashboard Page')
    # add description variable for dashbinfo later
    except Exception as e:
        logging.error(str("Error: " + str(e)))
class DeliveryForm(Form):
    name = StringField('Cardholder Name', [validators.DataRequired()])
    phone = IntegerField('Phone Number', [
        validators.NumberRange(min=30000000,
                               max=99999999,
                               message="Please enter a valid phone number")
    ])
    payment_mode = RadioField('Payment Mode', choices=cardlist, default='')
    credit_card_number = IntegerField('Credit Card Number', [
        validators.NumberRange(
            min=3000000000000,
            max=9999999999999999,
            message="Please enter a valid Credit Card Number")
    ])
    credit_card_expiry = DateField(
        'Credit Card Expiry Date',
        validators=[
            DateRange(min=date.today(),
                      format='%Y-%m-%d',
                      message="Please choose a valid date")
        ])
    credit_card_cvv = IntegerField('CVV', [
        validators.NumberRange(
            min=100, max=999, message="Please enter a valid CVV")
    ])
    street_name = StringField('Street Name', [validators.DataRequired()])
    postal_code = DecimalField('Postal Code', [
        validators.NumberRange(
            min=10000, max=830000, message="Postal code is 6 digits")
    ])
    unit_no = StringField('Unit No', [
        validators.Length(
            min=5, max=7, message="Please enter a valid unit number"),
        validators.DataRequired()
    ])
class CollectionForm(Form):
    name = StringField('Cardholder Name', [validators.DataRequired()])
    phone = IntegerField('Phone Number', [
        validators.DataRequired(),
        validators.NumberRange(min=30000000,
                               max=99999999,
                               message="Please enter a valid phone number")
    ])
    payment_mode = RadioField('Payment Mode', choices=cardlist, default='')
    credit_card_number = IntegerField('Credit Card Number', [
        validators.DataRequired(),
        validators.NumberRange(
            min=3000000000000,
            max=9999999999999999,
            message="Please enter a valid Credit Card Number")
    ])
    credit_card_expiry = DateField('Credit Card Expiry Date',
                                   format="%Y-%m-%d")
    credit_card_cvv = IntegerField(
        'CVV',
        [validators.DataRequired(),
         validators.NumberRange(min=100, max=999)])
    date = DateField('Date',
                     validators=[
                         DateRange(min=date.today(),
                                   format='%Y-%m-%d',
                                   message="Please choose a valid date")
                     ])
    time = TimeField('Time')
Exemple #27
0
class TaskForm(FlaskForm):
    task_body = TextAreaField('Enter to-do task', validators=[DataRequired()])
    dt = DateField('Due Date:',
                   format='%Y-%m-%d',
                   validators=[DataRequired(),
                               DateRange(min=date.today())])

    submit = SubmitField('Save')
Exemple #28
0
 def test_assigns_min_and_max(self):
     form_class = self.init_form(validators=[
         DateRange(min=datetime(2000, 1, 1), max=datetime(2000, 10, 10))
     ])
     form = form_class(MultiDict(test_field='2000-2-2'))
     assert str(form.test_field) == (
         '<input id="test_field" max="2000-10-10" min="2000-01-01"'
         ' name="test_field" type="date" value="2000-2-2">')
Exemple #29
0
class InputForm(Form):
    city = SelectField(label='City', coerce=str, choices=cities)
    date = DateField(label='Date (Y-m-d)',
                     format='%Y-%m-%d',
                     validators=[
                         DateRange(min=datetime(2017, 1, 1),
                                   max=datetime(2017, 11, 30))
                     ])
    submit = SubmitField('Submit')
Exemple #30
0
class CouponForm(ModelForm):
    redeem_by_msg = 'Datetime must be in the future.'

    percent_off = IntegerField('Percent off (%)', [Optional(),
                                                   NumberRange(min=1,
                                                               max=100)])
    amount_off = FloatField('Amount off ($)', [Optional(),
                                               NumberRange(min=0.01,
                                                           max=21474836.47)])

    code = StringField('Code', [DataRequired(), Length(1, 32)])
    currency = SelectField('Currency', [DataRequired()],
                           choices=choices_from_dict(Currency.TYPES,
                                                     prepend_blank=False))
    duration = SelectField('Duration', [DataRequired()],
                           choices=choices_from_dict(Coupon.DURATION,
                                                     prepend_blank=False))
    duration_in_months = IntegerField('Duration in months', [Optional(),
                                                             NumberRange(
                                                                 min=1,
                                                                 max=12)])
    max_redemptions = IntegerField('Max Redemptions',
                                   [Optional(), NumberRange(min=1,
                                                            max=2147483647)])
    redeem_by = DateTimeField('Redeem by',
                              [Optional(), DateRange(min=datetime.now(),
                                                     message=redeem_by_msg)],
                              format='%Y-%m-%d %H:%M:%S')

    def validate(self):
        if not FlaskForm.validate(self):
            return False

        result = True

        code = self.code.data.upper()
        percent_off = self.percent_off.data
        amount_off = self.amount_off.data

        if Coupon.query.filter(Coupon.code == code).first():
            unique_error = 'Already exists.'
            self.code.errors.append(unique_error)
            result = False
        elif percent_off is None and amount_off is None:
            empty_error = 'Pick at least one.'
            self.percent_off.errors.append(empty_error)
            self.amount_off.errors.append(empty_error)
            result = False
        elif percent_off and amount_off:
            both_error = 'Cannot pick both.'
            self.percent_off.errors.append(both_error)
            self.amount_off.errors.append(both_error)
            result = False
        else:
            pass

        return result