from flask_wtf import FlaskForm from flask_wtf.file import FileField, FileAllowed from wtforms import StringField, SubmitField, URLField, IntegerField, SelectField from wtforms.validators import DataRequired, Length, Email, EqualTo, ValidationError import minibase.blueprints.company.utils as companyUtils class updateCompanyForm(FlaskForm): # Defines the form class to be used for the user update name = StringField('Name', validators=[DataRequired(), Length(min=3, max=100)]) website = URLField('Website', validators=[DataRequired(), Length(min=3, max=100)]) street = StringField('Street', validators=[DataRequired()]) street_no = IntegerField('No', validators=[DataRequired()]) post_code = IntegerField('Post', validators=[DataRequired()]) city = SelectField('City', validators=[DataRequired()]) state = SelectField('State', validators=[DataRequired()]) country = SelectField('Country', validators=[DataRequired()]) industry = SelectField('Industry', validators=[DataRequired()]) legal_entity= SelectField('Legal Entity', validators=[DataRequired()]) type = SelectField('Type', validators=[DataRequired()]) relation = SelectField('Relation', validators=[DataRequired()]) status = SelectField('Status', validators=[DataRequired()]) comment = StringField('Comment', validators=[DataRequired(), Length(min=3, max=400)]) image_file = FileField('Update company Picture', validators=[FileAllowed(['jpg', 'png'])]) submit = SubmitField('Update') # Queries to be made in order to validate the form : If username exists def validate_companyName(self, company_name): company = companyUtils.queryByNameFirst(company_name) if company: raise ValidationError('That username is taken please choose another one')