You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

34 lines
1.8 KiB

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)])
country = SelectField('Country', validators=[DataRequired()])
city = SelectField('City', validators=[DataRequired()])
post_code = IntegerField('Post', validators=[DataRequired()])
state = SelectField('State', validators=[])
street = StringField('Street', validators=[DataRequired()])
street_no = IntegerField('No', 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')