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")
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)
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
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", })
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')
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
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))])
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')
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?')
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")
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")
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)
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")
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')
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')
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')
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")
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')
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)) ], )
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" })
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')
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')
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">')
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')
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