32 lines
2.0 KiB
Python
32 lines
2.0 KiB
Python
from flask_wtf import FlaskForm
|
|
from wtforms import StringField, BooleanField, TextAreaField, IntegerField, validators, ValidationError
|
|
from wtforms.widgets import html5
|
|
from jinja2 import Markup
|
|
|
|
|
|
class FaceshieldRequestForm(FlaskForm):
|
|
entity_info = TextAreaField('Dane placówki', validators=[validators.InputRequired()])
|
|
full_name = StringField('Imię i nazwisko', validators=[validators.InputRequired()])
|
|
phone_number = StringField('Numer telefonu', validators=[validators.InputRequired()])
|
|
email = StringField('Adres e-mail', validators=[validators.InputRequired(), validators.Email()])
|
|
extra = TextAreaField('Dodatkowe informacje')
|
|
|
|
faceshield_front_required = IntegerField('Pilnie potrzebna minimalna ilość samych szybek do przyłbic', default=0, validators=[validators.InputRequired()], widget=html5.NumberInput())
|
|
faceshield_model = StringField('Model i marka przyłbicy') # , validators=[validators.InputRequired()])
|
|
|
|
faceshield_full_required = IntegerField('Pilnie potrzebna minimalna ilość pełnych przyłbic', default=0, validators=[validators.InputRequired()], widget=html5.NumberInput())
|
|
|
|
rules_approval = BooleanField(Markup('<b>Pracuję dla powyższej placówki medycznej</b> i zobowiązuję się do nieodsprzedawania otrzymanego sprzętu ochronnego. Jestem świadom, że nie jest to certyfikowany produkt medyczny i nie jest dezynfekowany/sterylny.'), validators=[validators.DataRequired()])
|
|
|
|
def validate_faceshield_model(self, field):
|
|
model = field.data.strip()
|
|
count = int(self.faceshield_front_required.data)
|
|
if not model and count > 0:
|
|
raise ValidationError('Proszę podać model i markę przyłbicy do której mają zostać wyprodukowane szybki')
|
|
|
|
def validate_faceshield_front_required(self, field):
|
|
model = self.faceshield_model.data.strip()
|
|
count = int(field.data)
|
|
if model and count == 0:
|
|
raise ValidationError('Proszę podać ilość potrzebnych szybek do przyłbicy {}'.format(model))
|