class ShowForm(Form): artist_id = IntegerField( 'artist_id', validators=[DataRequired('Artist id is required.')]) venue_id = IntegerField('venue_id', validators=[DataRequired('Venue id is required.')]) start_time = DateTimeLocalField( 'start_time', validators=[DataRequired('Start time is required.')], default=datetime.utcnow, format='%Y-%m-%dT%H:%M')
class TextConfigForm(object): max_length = IntegerField(_('Max length'), [Optional(), NumberRange(min=1)]) max_words = IntegerField(_('Max words'), [Optional(), NumberRange(min=1)]) multiline = BooleanField( _('Multiline'), widget=SwitchWidget(), description=_( "If the field should be rendered as a textarea instead of a single-line " "text field."))
class SurveyForm(FlaskForm): name = StringField(lazy_gettext(u'What is your name?'), validators=[DataRequired()]) squad_id = IntegerField(lazy_gettext(u'Which squad are you from?'), validators=[DataRequired()]) q1 = StringField(lazy_gettext(u'Which advertisments do ypu like?'), validators=[DataRequired()]) q2 = IntegerField(lazy_gettext(u'Where are you from?'), validators=[DataRequired()]) submit = SubmitField(lazy_gettext(u'Send'))
class AddServiceForm(FlaskForm): def pre_validate(self, form): # Prevent "not a valid choice" error pass service_length = IntegerField('Service Length', validators=[InputRequired()]) service_price = IntegerField('Service Price', validators=[InputRequired()]) service_name = StringField('Service Name', validators=[InputRequired()]) employees = MultiCheckboxField(coerce=int)
class NumberConfigForm: min_value = IntegerField(_('Min value'), [Optional()]) max_value = IntegerField(_('Max value'), [Optional()]) def _validate_min_max_value(self, field): if (self.min_value.data is not None and self.max_value.data is not None and self.min_value.data >= self.max_value.data): raise ValidationError(_('The min value must be less than the max value.')) validate_min_value = _validate_min_max_value validate_max_value = _validate_min_max_value
class Input_pre(Form): cantidad = IntegerField('cantidad', validators=[InputRequired()]) piezas = IntegerField('piezas', validators=[InputRequired()]) imagen = FileField('imagen', validators=[Optional()]) nombre = StringField('nombre', validators=[DataRequired()]) val_unitario = DecimalField( 'Valor unitario<span class="obligatorio">*</span>', validators=[InputRequired()]) linea = SelectField('Linea<span class="obligatorio">*</span>', coerce=int, validators=[DataRequired()])
class CourseForm(FlaskForm): name = StringField(label='Robocza nazwa', validators=[ DataRequired(message='Wprowadź nazwę.'), Length(max=70, message='Nazwa jest za długa.') ]) organizing_meeting_date = DateField( label='Spotkanie organizacyjne', format="%d.%m.%Y", default=datetime.today, validators=[ DataRequired(message='Wprowadzona data nie jest poprawna.'), ]) organizing_meeting_time = TimeField( label='Spotkanie organizacyjne', format="%H:%M", default=datetime.today, validators=[ DataRequired(message='Wprowadzona godzina nie jest poprawna.'), ]) start_date = DateField( label='Początek kursu', format="%d.%m.%Y", default=datetime.today, validators=[ DataRequired(message='Wprowadzona data nie jest poprawna.'), ]) start_time = TimeField( label='Początek kursu', format="%H:%M", default=datetime.today, validators=[ DataRequired(message='Wprowadzona godzina nie jest poprawna.'), ]) limit = IntegerField( label='Limit uczestników', default=0, validators=[ Optional(), NumberRange(min=0, message='Wprowadzona liczba nie jest poprawna.') ]) cost = IntegerField( label='Koszt', default='1400', validators=[ DataRequired(message='Wprowadzona cena nie jest poprawna.'), NumberRange(min=0, message='Podana wartość nie jest liczbą') ]) additionalData = TextAreaField( label='Dodatkowe informacje widoczne przy kursie (np. inny koszt itd.)', validators=[ Optional(), Length(max=120, message='Test jest za długi (120 znaków).') ])
class AccountSettingsForm(BaseForm): domain_whitelist = StringField( "Account Email Whitelist", description= "Comma-seperated email domains which users can register under (e.g. ctfd.io, gmail.com, yahoo.com)", ) team_creation = SelectField( "Team Creation", description= "Control whether users can create their own teams (Teams mode only)", choices=[("true", "Enabled"), ("false", "Disabled")], default="true", ) team_size = IntegerField( widget=NumberInput(min=0), description="Amount of users per team (Teams mode only)", ) num_teams = IntegerField( "Total Number of Teams", widget=NumberInput(min=0), description="Max number of teams (Teams mode only)", ) verify_emails = SelectField( "Verify Emails", description= "Control whether users must confirm their email addresses before playing", choices=[("true", "Enabled"), ("false", "Disabled")], default="false", ) team_disbanding = SelectField( "Team Disbanding", description= "Control whether team captains are allowed to disband their own teams", choices=[ ("inactive_only", "Enabled for Inactive Teams"), ("disabled", "Disabled"), ], default="inactive_only", ) name_changes = SelectField( "Name Changes", description="Control whether users and teams can change their names", choices=[("true", "Enabled"), ("false", "Disabled")], default="true", ) incorrect_submissions_per_min = IntegerField( "Incorrect Submissions per Minute", widget=NumberInput(min=1), description= "Amount of submissions allowed per minute for flag bruteforce protection (default: 10)", ) submit = SubmitField("Update")
class ResultForm(FlaskForm): id = HiddenField(validators=[Optional()]) race_id = IntegerField(validators=[InputRequired()]) participants = SelectMultipleField('参加者:', coerce=int, validators=[InputRequired()], choices=visible_member_list_for_form) distance = FloatField('記録(距離km)', validators=[Optional()], default=0) time = IntegerField('記録(時間)', validators=[Optional()], default=0) comment = TextAreaField( '備考:', validators=[Optional()]) # comment for result confirmed = HiddenField(validators=[Optional()], default='False') method = HiddenField(validators=[Optional()]) submit = SubmitField('確定', validators=[Optional()])
class StayTimeForm(FlaskForm): hours = IntegerField('Hours', default=1, validators=[DataRequired()]) minutes = IntegerField('Minutes', default=0, validators=[DataRequired()]) display = ['hours', 'minutes'] def validate_on_submit(self): hours = self.hours.data minutes = self.minutes.data if hours < 0 or minutes < 0: return False else: return True
class AdminSettingsForm(IndicoForm): allow_persistent = BooleanField(_('Persistent signatures'), widget=SwitchWidget(), description=_("Allow users to enable persistent signatures (without timestamp).")) security_mode = IndicoEnumSelectField(_('Security mode'), enum=APIMode, titles=security_mode_titles, description=_('Specify if/when people need to use an API key or a ' 'signed request.')) cache_ttl = IntegerField(_('Cache TTL'), [NumberRange(min=0)], description=_('Time to cache API results (in seconds)')) signature_ttl = IntegerField(_('Signature TTL'), [NumberRange(min=1)], description=_('Time after which a request signature expires. This should not be too ' 'low to account for small clock differences between the client and the ' 'server.'))
class RyhmaTiedotForm(FlaskForm) : """Rymän tietojen muokkauslomake""" def ilmo_validointi(self, field): """Validointifunktio ilmoittautumispäivämäärien validointiin: ilmoittautuminen ei voi päättyä, ennen kuin se on alkanut.""" if self.ilmoittautuminenPaattyy.data and self.ilmoittautuminenPaattyy.data < self.ilmoittautuminenPaattyy.data: raise ValidationError("Ilmoittautuminen ei voi päättyä ennen kuin se alkoi") if self.ilmoittautuminenPaattyy.data and not self.ilmoittautuminenAlkaa.data : raise ValidationError("Ilmoittautuminen ei voi päättyä, ellei se ole alkanut") def ika_validointi(self, field): """Validointifunktio ikävaatimuksen validiointiin""" if self.ikaenintaan.data < self.ikavahintaan.data: raise ValidationError("Ikä vähintään ei voi olla enempää kuin ikä enintään.") nimi = StringField("Ryhmän nimi", validators=[validators.Length(min=3, max=128, message="Ryhmän nimi 3-128 merkkiä pitkä")]) paikkoja = IntegerField("Paikkoja", validators=[validators.NumberRange(min=0, max=100, message="Ryhmässä voi olla 0 - 100 paikkaa")], default=0) ilmoittautuminenAlkaa = NullableDateField("Ilmoittautuminen alkaa") ilmoittautuminenPaattyy = NullableDateField("Ilmoittautuminen päättyy", [ilmo_validointi]) ikavahintaan = IntegerField("Ikä vähintään", validators=[validators.NumberRange(min=0, max=120)], default=0) ikaenintaan = IntegerField("Ikä enintään", validators=[validators.NumberRange(min=0, max=120), ika_validointi], default=99) kuvaus = TextAreaField("Ryhmän kuvaus") paattynyt = BooleanField("Ryhmä on päättynyt") submit = SubmitField("Tallenna") def lataa(self, ryhma: Ryhma) -> None: """Täyttää lomakkeen kentät Ryhma-olion tiedoilla""" self.nimi.data = ryhma.nimi self.paikkoja.data = ryhma.paikkoja self.ilmoittautuminenAlkaa.data = ryhma.ilmoittautuminenalkaa self.ilmoittautuminenPaattyy.data = ryhma.ilmoittautuminenpaattyy self.ikavahintaan.data = ryhma.ikavahintaan self.ikaenintaan.data = ryhma.ikaenintaan self.kuvaus.data = ryhma.kuvaus self.paattynyt.data = ryhma.paattynyt def tallenna(self, ryhma: Ryhma) -> None: """Tallentaa lomakkeen tiedot Ryhma-olioon""" ryhma.nimi = self.nimi.data ryhma.paikkoja = self.paikkoja.data ryhma.ilmoittautuminenalkaa = self.ilmoittautuminenAlkaa.data ryhma.ilmoittautuminenpaattyy = self.ilmoittautuminenPaattyy.data ryhma.ikavahintaan = self.ikavahintaan.data ryhma.ikaenintaan = self.ikaenintaan.data ryhma.kuvaus = self.kuvaus.data ryhma.paattynyt = self.paattynyt.data class Meta: csrf = False
class SimulationForm(FlaskForm): run_type = SelectField('Run Type', [Required()], choices=RUN_TYPES, default='run') n_runs = IntegerField('Number of runs per config', [Required(), NumberRange(min=0)], default=2) n_cpus = IntegerField('Number of cores to use', [Required()], default=2) params = TextAreaField('Parameters', [Required()], default=PARAMS) config = TextAreaField('Run config', [Required()], default=CONFIG) sensitivity_params = TextAreaField( 'Sensitivity Params', [Required()], default='WAGE_IGNORE_UNEMPLOYMENT\nALPHA:.04:.94:.1')
class P3seqForm(HorizontalForm): input = TextAreaField("Input Sequences", validators=[validators.DataRequired()]) spacing = IntegerField("Range spacing", validators=[validators.DataRequired()], default=500) interval = IntegerField("Range interval", validators=[validators.DataRequired()], default=250) configuration = FileField( "Primer3 configuration file", validators=[FileAllowed(["txt"], "Text files only!")], )
class OpusForm(BaseForm): name = StringField('Name', [InputRequired, Length(max=128)]) packet_loss = IntegerField('Packet Loss', [NumberRange(min=0, max=100)]) complexity = IntegerField('Complexity', [NumberRange(min=0, max=10)]) signal = SelectField('Signal', choices=[('', 'Select...'), ('auto', 'Auto'), ('voice', 'Voice'), ('music', 'Music')]) application = SelectField('Application', choices=[('', 'Select...'), ('voip', 'VOIP'), ('audio', 'Audio'), ('low_delay', 'Low Delay')]) max_playback_rate = IntegerField('Max Playback Rate', [NumberRange(min=8000, max=48000)]) max_bandwidth = SelectField('Max Bandwidth', choices=[('', 'Select...'), ('narrow','Narrow'), ('medium', 'Medium'), ('wide', 'Wide'), ('super_wide', 'Super Wide'), ('full', 'Full')]) bitrate = IntegerField('Bite Rate', [NumberRange(min=500, max=512000)]) cbr = SelectField('CBR', choices=[('', 'Select...'), ('no', 'No'), ('yes', 'Yes')]) fec = SelectField('FEC', choices=[('', 'Select...'), ('no', 'No'), ('yes', 'Yes')]) dtx = SelectField('DTX', choices=[('', 'Select...'), ('no', 'No'), ('yes', 'Yes')]) submit = SubmitField('Submit')
class NewPartForm(FlaskForm): partName = StringField("Part Name", validators=[DataRequired()]) partNickname = StringField("Part Nickname or Alias") unit = StringField("Inventory ID", validators=[DataRequired()]) description = TextAreaField(label="Description") partno = StringField("Part Number", validators=[DataRequired()]) partType = StringField("Part Type") # partType = SelectField(label="Part Type", validators=[DataRequired()], choices=[("0", "Tools and Fab HW"), ( # "1", "Finite HW"), ("2", "Electronics"), ("3", "Motor Madness"), ("4", "Chasis"), ("5", "Other")]) partMfg = StringField("Manufacturer") serialno = StringField("Serial Number", validators=[DataRequired(), Length(min=4)]) quantity = IntegerField("Quantity", validators=[DataRequired()]) # multi_serial=BooleanField("Multi serial?", validators=[DataRequired()]) multi_serial = SelectField("Multi Serial?", choices=[("false", "False"), ("true", "True")], validators=[DataRequired()]) # location=None rooms = [("A", "Canteen"), ("B", "Storage"), ("C", "X-Carve"), ("D", "Materials Storage"), ("E", "Wood Shop"), ("F", "Metal Cutting Shop"), ("G", "Metal Forming Shop"), ("H", "Parts Storage"), ("I", "Electronics"), ("J", "Toolbox Area"), ("K", "Fab & Assem #1"), ("L", "Fab & Assem #2"), ("M", "Micro Field"), ("N", "Office Space")] location = SelectField("Location", validators=[DataRequired()], choices=rooms) walls = [("N", "North"), ("E", "East"), ("W", "West"), ("S", "South")] locationWall = SelectField("Wall Location", validators=[DataRequired()], choices=walls) objType = [("0", "Shop Tools & Fab"), ("1", "Finite Hardware"), ("2", "Electronics"), ("3", "Motor Materials"), ("4", "Chasis"), ("5", "Other")] obj = SelectField(label="Item Type", validators=[DataRequired()], choices=objType) shelfNum = IntegerField( label="Shelf #", validators=[DataRequired(), NumberRange(min=1, max=9)]) shelfLevel = IntegerField( label="Shelf Level", validators=[DataRequired(), NumberRange(min=1, max=9)]) quadrant = IntegerField(label="Quadrant", validators=[NumberRange(min=0, max=9)]) submit = SubmitField("Submit")
class RatingForm(FlaskForm): machine_challenge_id = IntegerField(label="ID", widget=HiddenInput(), validators=[DataRequired()]) rating_for = HiddenField( label="Machine or Challenge?", validators=[DataRequired(), AnyOf(("machine", "challenge"))], ) rating_value = IntegerField( label="Rating", widget=SubmitInput(), validators=[DataRequired(), NumberRange(min=1, max=5)], )
class CourseForm(FlaskForm): id = HiddenField(validators=[Optional()]) competition_id = IntegerField(validators=[InputRequired()]) type = SelectField('競技種類', validators=[InputRequired()], choices=[ ('road', 'ロード'), ('track', 'トラック競技'), ('trail', 'トレイル'), ('time', '時間走'), ('relay', 'リレーマラソン'), ('other', 'その他')] ) show_name = StringField('表示名(オプション:ファンラン、ロング等)', validators=[Optional()]) distance = FloatField('距離(km単位)', validators=[Optional()], default=None) time = IntegerField('競技時間((時間単位))', validators=[Optional()], default=None) elevation = FloatField('累積標高(m単位)', validators=[Optional()], default=0) comment = TextAreaField('コメント(制限時間、感想等):', validators=[Optional()]) confirmed = HiddenField(validators=[Optional()]) method = HiddenField(validators=[Optional()]) submit = SubmitField('確定', validators=[Optional()])
class OrderReturnsForm(FlaskForm): order_ref = HiddenField(validators=[DataRequired(), InputRequired()]) order_products = RadioField("Products",coerce=int, validators=[DataRequired(), InputRequired("Select products returned")]) has_warranty = BooleanField("Product has a warranty") compensation_options = SelectField("Compensation method", coerce=str,choices=compensation_options, validators=[DataRequired(), InputRequired()]) unit_price = IntegerField("Unit Price", render_kw=dict(readonly="readonly"), validators=[NumberRange(min=0)]) quantity =IntegerField("Quantity", validators=[NumberRange(min=0)]) total_amount = IntegerField("Total", render_kw=dict(readonly="readonly"), validators=[NumberRange(min=0)]) return_reason = TextAreaField("Return reason",render_kw=dict(rows=3), validators=[DataRequired(), InputRequired()]) submit_return = SubmitField("Submit") def validate_total_amount(self, total_amount): if total_amount.data != (self.unit_price.data*self.quantity.data): raise ValidationError("Total should equal to unit price x quantity")
class AddMetabolicPanel(FlaskForm): sodium = IntegerField( 'Na Value', validators=[NumberRange(min=0, max=100000), DataRequired()]) calcium = IntegerField( 'Ca Value', validators=[NumberRange(min=0, max=100000), DataRequired()]) chloride = IntegerField( 'Cl Value', validators=[NumberRange(min=0, max=100000), DataRequired()]) potassium = IntegerField( 'K Value', validators=[NumberRange(min=0, max=100000), DataRequired()]) magnesium = IntegerField( 'Mg Value', validators=[NumberRange(min=0, max=100000), DataRequired()]) blood_urea_nitrogen = IntegerField( 'BUN Value', validators=[NumberRange(min=0, max=100000), DataRequired()]) creatinine = IntegerField( 'Cr Value', validators=[NumberRange(min=0, max=100000), DataRequired()]) glucose = IntegerField( 'GLUC Value', validators=[NumberRange(min=0, max=100000), DataRequired()]) timestamp = DateField('DatePicker', format='%Y-%m-%d') submit = SubmitField('Submit Metabolic Panel')
class AddProductForm(FlaskForm): restaurant = CustomSelectField("Restaurant", coerce=int, validators=[InputRequired("Restaurant is needed"), DataRequired()]) brand = CustomSelectField("Brand", coerce=int, validators=[InputRequired("Brand needed"), DataRequired()]) sub_cat = CustomSelectField("Sub Category", coerce=int, validators=[InputRequired("Sub Category is needed"), DataRequired()]) name = StringField("Name", validators=[InputRequired(), DataRequired()]) description = TextAreaField('Description',render_kw=dict(placeholder="talk about your product in a few words"), validators=[ InputRequired(),DataRequired(), Length(min=10, max=500, message="description should be between 10 to 500 characters.")]) price = IntegerField('Price', render_kw=dict(min=0), validators=[ InputRequired(), NumberRange(min=0)]) buying_price = IntegerField('Buying Price', render_kw=dict(min=0), validators=[ InputRequired(), NumberRange(min=0)]) selling_price = IntegerField('Selling Price', render_kw=dict(min=0), validators=[ InputRequired(), NumberRange(min=0)]) served_with = TextAreaField('Served With',render_kw=dict(placeholder="additional items added to the main product"), validators=[ InputRequired(),DataRequired(), Length(min=1, max=500, message="description should be between 10 to 500 characters and separated with commas")]) commission_fee = FloatField("Commission Fee", validators=[InputRequired("Commission fee needed"),NumberRange(min=0.0)]) headsup = StringField("Delivery Time", render_kw=dict(placeholder="e.g 30-40 MINS"),validators=[InputRequired(), DataRequired()]) product_picture = FileField('Product Picture', validators=[DataRequired(),FileAllowed(['jpg', 'png', 'jpeg'])]) submit = SubmitField("SAVE PRODUCT")
class BookingForm(FlaskForm): id = IntegerField('Id', default=-1, render_kw={'readonly': True}) person_id = IntegerField('Person id', [InputRequired('Need person id')]) car_id = IntegerField('Car id', [InputRequired('Need car id')]) start_time = DateTimeLocalField('Start time', [InputRequired(message='Date wrong')], format="%Y-%m-%dT%H:%M") end_time = DateTimeLocalField('End time', [InputRequired(message='Date wrong')], format="%Y-%m-%dT%H:%M") status = SelectField('Status', [InputRequired('Need status')], choices=[('Not active', 'Not active'), ('Active', 'Active'), ('Finished', 'Finished'), ('Cancelled', 'Cancelled')])
class PassengerForm(FlaskForm): adult = IntegerField('adult', widget=html5.NumberInput(min=0, max=5), validators=[DataRequired()]) student = IntegerField('student', widget=html5.NumberInput(min=0, max=5), validators=[DataRequired()]) retired = IntegerField('retired', widget=html5.NumberInput(min=0, max=5), validators=[DataRequired()]) child = IntegerField( 'child', widget=html5.NumberInput(min=0, max=5), validators=[DataRequired()], )
class FeeditemForm(FlaskForm): feeditem = StringField( 'Feed Item', validators=[InputRequired(message='Field is Required')]) quantity = IntegerField( 'Feed Quantity (Kg)', validators=[InputRequired(message='Field is Required')]) unitprice = IntegerField( 'Feed Unit Price (Naira)', validators=[InputRequired(message='Field is Required')]) submit = SubmitField('ADD FEED ITEM') def validate_feeditem(self, feeditem): feed = Feeditem.query.filter_by(item=feeditem.data).first() if feed: raise ValidationError('Feed Item already exist!')
class AccountSettingsForm(BaseForm): domain_whitelist = StringField( "账户邮箱白名单", description="都好分隔的电子邮件域名,用户可在该域中注册 (e.g. ctfd.io, gmail.com, yahoo.com)", ) team_creation = SelectField( "团队创建", description="控制用户是否可以创建自己的团队(仅限团队模式)", choices=[("true", "开启"), ("false", "关闭")], default="true", ) team_size = IntegerField( widget=NumberInput(min=0), description="每个团队的用户数量(仅限团队模式)", ) num_teams = IntegerField( "队伍总数", widget=NumberInput(min=0), description="最大队伍数量(仅限团队模式)", ) verify_emails = SelectField( "验证邮箱", description="控制用户在正常参与之前必须验证邮箱", choices=[("true", "开启"), ("false", "关闭")], default="false", ) team_disbanding = SelectField( "团队解散", description="控制是否允许队长解散自己的团队", choices=[ ("inactive_only", "为不活动的团队启用"), ("disabled", "关闭"), ], default="inactive_only", ) name_changes = SelectField( "名称更改", description="控制用户和团队是否可以更改其名称", choices=[("true", "开启"), ("false", "关闭")], default="true", ) incorrect_submissions_per_min = IntegerField( "flag提交保护", widget=NumberInput(min=1), description="每分钟允许提交flag的限制数量 (默认: 10)", ) submit = SubmitField("更新")
class RawConfigDeviceForm(BaseForm): X_key = StringField(default='xivo') locale = SelectField(l_('Language'), choices=[ ('', l_('None')), ('de_DE', 'de_DE'), ('en_US', 'en_US'), ('es_ES', 'es_ES'), ('fr_FR', 'fr_FR'), ('fr_CA', 'fr_CA'), ('it_IT', 'it_IT'), ('nl_NL', 'nl_NL'), ('pl_PL', 'pl_PL'), ]) timezone = SelectField(l_('Timezone'), choices=[]) protocol = SelectField(l_('Protocol'), choices=[('', l_('None')), ('SIP', 'SIP'), ('SCCP', 'SCCP')]) ntp_enabled = BooleanField(l_('Enabled NTP'), default=False) ntp_ip = StringField(l_('NTP server'), validators=[IPAddress]) sip_dtmf_mode = SelectField(l_('SIP DTMF mode'), choices=[('', l_('None')), ('RTP-in-band', 'RTP-in-band'), ('RTP-out-of-band', 'RTP-out-of-band'), ('SIP-INFO', 'SIP-INFO')]) X_xivo_phonebook_ip = StringField(l_('Phonebook server'), validators=[IPAddress()]) user_username = StringField(l_('User username'), validators=[InputRequired(), Length(max=128)]) user_password = StringField(l_('User password'), validators=[InputRequired(), Length(max=128)]) admin_username = StringField(l_('Admin username'), validators=[InputRequired(), Length(max=128)]) admin_password = StringField(l_('Admin password'), validators=[InputRequired(), Length(max=128)]) sip_subscribe_mwi = BooleanField(l_('Explicit notification of messages'), default=False) vlan_enabled = BooleanField(l_('VLAN Enabled')) vlan_id = IntegerField(l_('VLAN ID'), validators=[Regexp('^[0-9]+$')]) vlan_priority = IntegerField(l_('VLAN Priority'), validators=[Regexp('^[0-9]+$')]) vlan_pc_port_id = IntegerField(l_('VLAN PC Port ID'), validators=[Regexp('^[0-9]+$')])
class RegistrationForm(FlaskForm): username = StringField('Username', validators=[DataRequired(), Length(min=2, max=20)]) email = StringField('Email', validators=[DataRequired(), Email()]) phoneNumber = IntegerField('Phone Number', validators=[ DataRequired(), NumberRange(min=1000000000, max=99999999999) ]) password = PasswordField('Password', validators=[DataRequired()]) confirm_password = PasswordField( 'Confirm Password', validators=[DataRequired(), EqualTo('password')]) submit = SubmitField('Sign Up') def validate_username(self, username): user = User.query.filter_by(username=username.data).first() if user: raise ValidationError('That username is taken') def validate_email(self, email): user = User.query.filter_by(email=email.data).first() if user: raise ValidationError('That email is taken')
class AssignmentTypeForm(FlaskForm): name = StringField('Name', validators=[InputRequired(), Length(max=255)]) weight = IntegerField('Weight', default=1, validators=[InputRequired(), NumberRange(min=1)]) submit = SubmitField('Submit')
class Input_acc(Form): cantidad = IntegerField('cantidad', validators=[InputRequired()]) nombre = StringField('nombre', validators=[DataRequired()]) val_unitario = DecimalField( 'Valor unitario<span class="obligatorio">*</span>', validators=[InputRequired()]) linea = SelectField('Linea<span class="obligatorio">*</span>', coerce=int, validators=[DataRequired()]) otro_color = StringField(validators=[DataRequired()]) ####Estola tamano = SelectField('Tamaño', coerce=int, choices=[(1, 'Ancha'), (2, 'Normal'), (3, 'Estrecha')], validators=[Optional()]) terminacion = SelectField('Terminación', coerce=int, validators=[Optional()]) presentacion = SelectField('Presentación', coerce=int, validators=[Optional()]) doble_faz = RadioField(coerce=int, choices=[(1, 'Si'), (2, 'No')], validators=[Optional()]) flequillo = RadioField(coerce=int, choices=[(1, 'Si'), (2, 'No')], validators=[Optional()])
class BoletoForm(FlaskForm): asiento = StringField('Asiento(s)', validators=[DataRequired()]) cantidad = IntegerField( 'Cantidad de Boletos (Max. 5)', validators=[DataRequired(), NumberRange(max=8, min=1)]) #cantidad = SelectField('cantidad', choices = [(1,'1'),(2,'2'),(3,'3'),(4,'4'),(5,'5')]) submit = SubmitField('Comprar Boleto(s)')
def process_formdata(self, valuelist): if valuelist and valuelist[0]: return IntegerField.process_formdata(self, valuelist) else: self.data = None return True