class UploadForm(Form): script_name = wtf.StringField('Script Name', [InputRequired()]) script_version = wtf.DecimalField('Script Version', [InputRequired()]) simulation_name = wtf.StringField('Simulation Name', [InputRequired()]) simulation_version = wtf.DecimalField('Simulation Version', [InputRequired()]) file = FileField('Script File', validators=[InputRequired()], description='Script file listing simulations') submit_button = wtf.SubmitField('Upload Form')
class VenueForm(Form): title = wtforms.TextField(__("Name"), description=__("Name of the venue"), validators=[ wtforms.validators.Required(), wtforms.validators.length(max=250) ]) description = MarkdownField( __("Description"), description=__("An optional note about the venue")) address1 = wtforms.TextField(__("Address (line 1)"), validators=[ wtforms.validators.Optional(), wtforms.validators.length(max=160) ]) address2 = wtforms.TextField(__("Address (line 2)"), validators=[ wtforms.validators.Optional(), wtforms.validators.length(max=160) ]) city = wtforms.TextField(__("City"), validators=[ wtforms.validators.Optional(), wtforms.validators.length(max=30) ]) state = wtforms.TextField(__("State"), validators=[ wtforms.validators.Optional(), wtforms.validators.length(max=30) ]) postcode = wtforms.TextField(__("Post code"), validators=[ wtforms.validators.Optional(), wtforms.validators.length(max=20) ]) country = wtforms.SelectField(__("Country"), validators=[ wtforms.validators.Optional(), wtforms.validators.length(max=2) ], choices=country_codes, default="IN") latitude = wtforms.DecimalField(__("Latitude"), places=None, validators=[ wtforms.validators.Optional(), wtforms.validators.NumberRange( -90, 90) ]) longitude = wtforms.DecimalField(__("Longitude"), places=None, validators=[ wtforms.validators.Optional(), wtforms.validators.NumberRange( -180, 180) ])
class UploadVideoForm(FlaskForm): title = wtf.StringField( 'title', validators=[wtf.validators.DataRequired()] ) description = wtf.TextAreaField( 'description', validators=[wtf.validators.DataRequired()] ) price = wtf.DecimalField( 'price', validators=[wtf.validators.DataRequired()] ) labels = wtf.StringField( 'labels', validators=[wtf.validators.DataRequired()] ) video_file = fwtff.FileField( 'vfile', validators=[ fwtff.FileRequired(), fwtff.FileAllowed(['mp4']) ] ) submit = wtf.SubmitField('submit')
class RentContainerPeriodForm(Form): STATUSES = (('closed', u'Закончена'), ('open', u'Текущая аренда')) begin_date = wtforms.DateField(u'Дата начала аренды', validators=[DataRequired()], widget=DatePicker()) renter = QuerySelectField(u'Арендатор', query_factory=lambda: Renter.query.all()) summ = wtforms.DecimalField(u'Сумма оплаты', validators=[DataRequired()]) address = wtforms.TextAreaField(u'Адрес установки', validators=[DataRequired()]) total = wtforms.DecimalField(u'Стоимость доставки + вывоза', validators=[DataRequired()]) status = wtforms.SelectField(u'Статус аренды', validators=[DataRequired()], choices=STATUSES, default='open')
class EmployeeForm(Form): name = wtforms.StringField('姓名') gender = wtforms.RadioField('性别', choices=[('男', '男'), ('女', '女')]) job = wtforms.StringField('职位') birthdate = wtforms.DateField('生日') idcard = wtforms.StringField('身份证') address = wtforms.StringField('地址') salary = wtforms.DecimalField('工资') department_id = wtforms.SelectField('部门')
class Form(forms.Form): from_currency = forms.StringField( 'from_currency', validators=[forms.validators.data_required()]) to_currency = forms.StringField( 'from_currency', validators=[forms.validators.data_required()]) amount = forms.DecimalField('amount', places=2, rounding=None, validators=[ forms.validators.data_required(), forms.validators.NumberRange( amount_min, amount_max) ])
class RentPeriodItemForm(Form): PAYMENT_STATUSES = (('wait', u'Ожидает оплаты'), ('payed', u'Оплачен')) begin_date = wtforms.DateField(u'Дата начала месяца', validators=[DataRequired()], widget=DatePicker()) end_date = wtforms.DateField(u'Дата окончания месяца', validators=[DataRequired()], widget=DatePicker()) summ = wtforms.DecimalField(u'Сумма оплаты за месяц', validators=[DataRequired()]) period_payment_status = wtforms.SelectField(u'Статус оплаты', validators=[DataRequired()], choices=PAYMENT_STATUSES, default='wait')
def make_up_first_form(current_players): """ return a form for entering times of those who are up """ class UpNowForm(FlaskForm): submit = wtforms.SubmitField(label="Submit") for num, player in enumerate(current_players): name = f"player{num}" num = wtforms.DecimalField( label=player, validators=[NumberRange(min=0), DataRequired()] ) setattr(UpNowForm, name, num) return UpNowForm()
class SpecimenAliquotForm(wtforms.Form): """ Similar form to Aliquot, except the fields are conditionally required if they are selected """ ui_selected = wtforms.BooleanField() id = wtforms.IntegerField(widget=wtforms.widgets.HiddenInput()) amount = wtforms.DecimalField(places=1, validators=[required_if('ui_selected')]) collect_date = DateField(validators=[ required_if('ui_selected'), DateRange(min=date(1900, 1, 1)) ]) collect_time = TimeField(validators=[required_if('ui_selected')]) freezer = wtforms.StringField( validators=[wtforms.validators.optional()]) rack = wtforms.StringField(validators=[wtforms.validators.optional()]) box = wtforms.StringField(validators=[wtforms.validators.optional()]) notes = wtforms.TextAreaField( validators=[wtforms.validators.optional()]) count = wtforms.IntegerField(validators=[ required_if('ui_selected'), wtforms.validators.optional() ]) aliquot_type_id = wtforms.SelectField( coerce=int, validators=[required_if('ui_selected')]) def __init__(self, *args, **kw): super(SpecimenAliquotForm, self).__init__(*args, **kw) specimen = None if 'obj' in kw: obj = kw['obj'] if isinstance(obj, models.Specimen): specimen = obj elif isinstance(obj, models.Aliquot): specimen = obj.specimen elif 'specimen' in kw: specimen = kw['specimen'] if specimen: self.aliquot_type_id.choices = [ (t.id, t.title) for t in specimen.specimen_type.aliquot_types.values() ] else: self.aliquot_type_id.choices = []
class AuthorityForm(FlaskForm): email = f.StringField("Email", validators=[DataRequired()]) name = f.StringField("Name", validators=[DataRequired()]) password = f.PasswordField("Password", validators=[DataRequired()]) phone = f.IntegerField("Phone", validators=[DataRequired()]) country = f.StringField("Country", validators=[DataRequired()]) state = f.StringField("State", validators=[DataRequired()]) city = f.StringField("City", validators=[DataRequired()]) # TODO adding validators here causes two fails in the tests lat = f.DecimalField("Latitude", validators=[DataRequired()]) lon = f.DecimalField("Longitude", validators=[DataRequired()]) display = [ "email", "name", "password", "country", "state", "city", "lat", "lon", "phone", ]
class ItemForm(flask_wtf.FlaskForm): #UserGroup = wtforms.HiddenField('UserGroup') #user_name = wtforms.HiddenField('user_name') uscurrency = '^[\$]?[0-9]{1,3}(?:,?[0-9]{3})*(?:\.[0-9]{2})?$' usdecimal = '^[0-9]{1,3}(?:,?[0-9]{3})*(?:\.[0-9]+)?$' Name = wtforms.StringField('Name', validators=[wtforms.validators.DataRequired()]) #PkgPrice = wtforms.StringField('PkgPrice', validators=[wtforms.validators.Regexp(uscurrency)]) PkgPrice = wtforms.DecimalField('PkgPrice', places=2) Size = wtforms.DecimalField('Size', places=4) Unit = wtforms.SelectField('Unit', validators=[wtforms.validators.DataRequired()], id="") Locations = wtforms.SelectMultipleField( 'Locations', validators=[wtforms.validators.DataRequired()], default=[]) ItemGroup = wtforms.StringField( 'ItemGroup', validators=[wtforms.validators.DataRequired()]) Manufacturer = wtforms.StringField( 'Manufacturer', validators=[wtforms.validators.DataRequired()]) Taxable = wtforms.BooleanField('Taxable', validators=[wtforms.validators.Optional()]) ItemStatus = wtforms.SelectField( 'ItemStatus', validators=[wtforms.validators.Optional()], id="") Home = wtforms.BooleanField('Home', validators=[wtforms.validators.Optional()]) Barcode = wtforms.StringField( 'Barcode', validators=[wtforms.validators.DataRequired()]) ListDate = wtforms.StringField('ListDate', validators=[wtforms.validators.Optional()]) #TODO make sure it is a valid list if chosen Fees = wtforms.StringField('Fees', validators=[wtforms.validators.Optional()]) #Recaptcha = flask_wtf.RecaptchaField() Submit = wtforms.SubmitField('Create')
class Form(forms.Form): mobile_phone_no = forms.StringField( 'recipient', validators=[ forms.validators.data_required(), forms.validators.Regexp(VALID_SAFARICOM_NO_REGEX) ]) amount = forms.DecimalField('amount in USD($)', places=2, rounding=None, validators=[ forms.validators.data_required(), forms.validators.NumberRange( amount_min, amount_max) ])
class ReusableForm(Form): treapta = wtforms.SelectField('Treapta', choices=[('1', '4TLX_accel_80_Nm.sav'), ('2', 'model'), ('3', 'ceva')]) p1 = wtforms.DecimalField('P1: ', validators=[validators.required]) p2 = wtforms.DecimalField('P1: ', validators=[validators.required]) p3 = wtforms.DecimalField('P1: ', validators=[validators.required]) p4 = wtforms.DecimalField('P1: ', validators=[validators.required]) p5 = wtforms.DecimalField('P1: ', validators=[validators.required]) p6 = wtforms.DecimalField('P1: ', validators=[validators.required])
class AliquotForm(wtforms.Form): ui_selected = wtforms.BooleanField() id = wtforms.IntegerField(widget=wtforms.widgets.HiddenInput()) amount = wtforms.DecimalField(places=1, validators=[conditionally_required]) store_date = DateField(validators=[conditionally_required]) freezer = wtforms.StringField( validators=[wtforms.validators.optional()]) rack = wtforms.StringField(validators=[wtforms.validators.optional()]) box = wtforms.StringField(validators=[wtforms.validators.optional()]) special_instruction = wtforms.SelectField( choices=available_instructions, coerce=int, validators=[wtforms.validators.optional()]) notes = wtforms.TextAreaField( validators=[wtforms.validators.optional()])
class PaymentForm(FlaskForm): credit_card_number = wtforms.StringField( 'Credit Card Number ', validators=[DataRequired(), validate_credit_card]) card_holder = wtforms.StringField('Card Holder', validators=[DataRequired()]) expiration_date = wtforms.DateField( 'Expiration Date', format='%Y-%m-%d', validators=[DataRequired(), validate_enddate_field]) security_code = wtforms.StringField( 'Security Code', validators=[DataRequired(), Length(min=3, max=3)]) amount = wtforms.DecimalField( 'Amount', validators=[DataRequired(), NumberRange(min=0)]) submit = wtforms.SubmitField('Pay with card')
class PurchaseOrderForm(wtforms.Form): company = wtforms.StringField( 'Company: ', [InputRequired(), validators.company_validator]) item = wtforms.StringField('Item: ', [InputRequired(), validators.item_validator]) clay_type = wtforms.StringField( 'Clay Type: ', [InputRequired(), validators.clay_type_validator]) glaze_color = wtforms.StringField( 'Glaze Color: ', [InputRequired(), validators.glaze_color_validator]) amount = wtforms.IntegerField( 'Amount: ', [InputRequired(), validators.amount_validator]) buffer = wtforms.DecimalField( 'Buffer: ', [InputRequired(), validators.buffer_validator]) description = wtforms.TextAreaField('Description: ', [InputRequired()]) miscellaneous = wtforms.TextAreaField('Miscellaneous Info: ') delivery_date = wtforms.DateField('Delivery Date (YYYY/MM/DD): ', format='%Y/%m/%d')
class CheckoutForm(wtforms.Form): ui_selected = wtforms.BooleanField() id = wtforms.IntegerField(widget=wtforms.widgets.HiddenInput()) amount = wtforms.DecimalField(places=1, validators=[conditionally_required]) freezer = wtforms.StringField( validators=[wtforms.validators.optional()]) rack = wtforms.StringField(validators=[wtforms.validators.optional()]) box = wtforms.StringField(validators=[wtforms.validators.optional()]) thawed_num = wtforms.IntegerField( validators=[wtforms.validators.optional()]) location_id = wtforms.SelectField( choices=available_locations, coerce=int, validators=[wtforms.validators.optional()]) notes = wtforms.TextAreaField( validators=[wtforms.validators.optional()])
class AliquotForm(wtforms.Form): ui_selected = wtforms.BooleanField() id = wtforms.IntegerField(widget=wtforms.widgets.HiddenInput()) amount = wtforms.DecimalField( places=1, validators=[wtforms.validators.required()]) collect_date = DateField(validators=[ wtforms.validators.required(), DateRange(min=date(1900, 1, 1)) ]) collect_time = TimeField(validators=[ wtforms.validators.required(), ]) freezer = wtforms.StringField( validators=[wtforms.validators.optional()]) rack = wtforms.StringField(validators=[wtforms.validators.optional()]) box = wtforms.StringField(validators=[wtforms.validators.optional()]) notes = wtforms.TextAreaField( validators=[wtforms.validators.optional()])
class ContainerForm(Form): TYPES = (('sea', u'Морской'), ('earth', u'Блок контейнер')) number = wtforms.IntegerField(u'Порядковый номер', validators=[DataRequired()]) invent_number = wtforms.StringField(u'Инвентарный номер', validators=[DataRequired()]) manufacturer = QuerySelectField( u'Производитель', query_factory=lambda: Manufacturer.query.all()) investor = QuerySelectField(u'Инвестор', query_factory=lambda: Investor.query.all()) buy_cost = wtforms.DecimalField(u'Закупочная цена', validators=[DataRequired()]) container_type = wtforms.SelectField(u'Тип', validators=[DataRequired()], choices=TYPES) status = wtforms.SelectField(u'Статус', validators=[DataRequired()], choices=Container.STATUSES)
class TrackingForm(wtforms.Form): exclude = wtforms.BooleanField('Not trackable', [validators.InputRequired()], default=False) relative_area_threshold = wtforms.DecimalField('Threshold for relative area', [validators.InputRequired()], default=0.01) ratio_threshold = wtforms.DecimalField('Threshold for major/minor radius ratio threshold', [validators.InputRequired()], default=1.5) error_threshold = wtforms.DecimalField('Threshold for fitting error', [validators.InputRequired()], default=0.1) min_countour_len = wtforms.IntegerField('Minimal contour length', [validators.InputRequired()], default=5) margin = wtforms.DecimalField('Minimal side margin', [validators.InputRequired()], default=0.02) contrast_threshold = wtforms.DecimalField('Minimal contrast threshold', [validators.InputRequired()], default=5) speed_threshold = wtforms.DecimalField('Maximal allowed speed threshold', [validators.InputRequired()], default=0.1) dr_threshold = wtforms.DecimalField('Maximal allowed relative radius change threshold', [validators.InputRequired()], default=0.1) gaussian_blur = wtforms.DecimalField('Gaussian blurring filter size', [validators.InputRequired()], default=5)
class ExpenseForm(Form): """ Create or edit an expense line item. """ id = wtforms.IntegerField(u"Id", validators=[wtforms.validators.Optional()]) date = wtforms.DateField(u"Date", validators=[wtforms.validators.Required()]) category = QuerySelectField(u"Category", validators=[wtforms.validators.Required()], query_factory=sorted_categories, get_label='title', allow_blank=True) description = wtforms.TextField(u"Description", validators=[wtforms.validators.Required()]) amount = wtforms.DecimalField(u"Amount", validators=[wtforms.validators.Required(), wtforms.validators.NumberRange(min=0)]) def validate_id(self, field): # Check if user is authorized to edit this expense. if field.data: expense = Expense.query.get(field.data) if not expense: raise wtforms.ValidationError("Unknown expense") if expense.report.user != g.user: raise wtforms.ValidationError("You are not authorized to edit this expense") def validate_amount(self, field): if field.data < Decimal('0.01'): raise wtforms.ValidationError("Amount should be non-zero")
def handle_decimal_types(self, column: "sa.Column", field_args, **extra) -> "Field": field_args = self._apply_require_validators(column, field_args) # override default decimal places limit, use database defaults instead field_args.setdefault("places", None) return wtforms.DecimalField(**field_args)
class LinkThresholdForm(wtforms.Form): """A form for specifying the threshold for max link tables on warrior and Pokémon pages. """ link = wtforms.DecimalField(places=0, rounding='ROUND_UP')
class Recipient(wtf.Form): address = wtf.StringField('To Address') amount = wtf.DecimalField('Amount', places=6)
class VenueForm(Form): title = wtforms.TextField("Name", description="Name of the venue", validators=[ wtforms.validators.Required(), wtforms.validators.length(max=250) ]) description = RichTextField("Notes", description="Notes about the venue", content_css="/static/css/editor.css") address1 = wtforms.TextField("Address (line 1)", validators=[ wtforms.validators.Required(), wtforms.validators.length(max=80) ]) address2 = wtforms.TextField("Address (line 2)", validators=[ wtforms.validators.Optional(), wtforms.validators.length(max=80) ]) city = wtforms.TextField("City", validators=[ wtforms.validators.Required(), wtforms.validators.length(max=30) ]) state = wtforms.TextField("State", validators=[ wtforms.validators.Optional(), wtforms.validators.length(max=30) ]) postcode = wtforms.TextField("Post code", validators=[ wtforms.validators.Optional(), wtforms.validators.length(max=20) ]) country = wtforms.SelectField("Country", validators=[ wtforms.validators.Required(), wtforms.validators.length(max=2) ], choices=country_codes, default="IN") timezone = wtforms.SelectField('Timezone', validators=[wtforms.validators.Required()], choices=sorted_timezones()) latitude = wtforms.DecimalField("Latitude", places=None, validators=[ wtforms.validators.Optional(), wtforms.validators.NumberRange( -90, 90) ]) longitude = wtforms.DecimalField("Longitude", places=None, validators=[ wtforms.validators.Optional(), wtforms.validators.NumberRange( -180, 180) ]) profile_id = wtforms.SelectField( "Owner", description="The owner of this listing", coerce=int, validators=[wtforms.validators.Required()])
class SessionEditPropertiesForm(wtforms.Form): participation_fee = wtforms.DecimalField() real_world_currency_per_point = wtforms.DecimalField(places=6) label = wtforms.StringField() comment = wtforms.StringField()