2020-03-26 09:09:44 +00:00
from flask_wtf import FlaskForm
2020-03-27 19:02:35 +00:00
from wtforms import StringField , BooleanField , TextAreaField , IntegerField , validators , ValidationError
2020-03-26 09:19:37 +00:00
from wtforms . widgets import html5
2020-03-30 07:12:37 +00:00
from jinja2 import Markup
2020-03-26 09:09:44 +00:00
class FaceshieldRequestForm ( FlaskForm ) :
2020-03-26 20:37:55 +00:00
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 ( ) ] )
2020-03-26 09:09:44 +00:00
extra = TextAreaField ( ' Dodatkowe informacje ' )
2020-03-26 20:37:55 +00:00
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()])
2020-03-26 09:09:44 +00:00
2020-03-26 20:37:55 +00:00
faceshield_full_required = IntegerField ( ' Pilnie potrzebna minimalna ilość pełnych przyłbic ' , default = 0 , validators = [ validators . InputRequired ( ) ] , widget = html5 . NumberInput ( ) )
2020-03-26 09:19:37 +00:00
2020-04-15 20:26:48 +00:00
adapter_3m_dar_required = IntegerField ( ' Adaptery 3M - DAR ' , default = 0 )
adapter_easybreath_dar_required = IntegerField ( ' Adaptery Decathlon Easybreath - DAR ' , default = 0 )
adapter_rd40_dar_required = IntegerField ( ' Adaptery RD40 - DAR ' , default = 0 )
adapter_secura_dar_required = IntegerField ( ' Adaptery Secura - DAR ' , default = 0 )
2020-04-02 07:49:53 +00:00
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 ( ) ] )
2020-03-27 19:02:35 +00:00
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 ) )