from flask_wtf import FlaskForm from wtforms import SubmitField, SelectField, DateField, IntegerField, StringField from wtforms.validators import DataRequired, Length, ValidationError from flask_wtf.file import FileField, FileAllowed import minibase.database.utils as dbUtils class getCompanyNameForm(FlaskForm): # Defines the form class to be used for the user registretion # Decalarion of the fields for the form and it's propereties company = SelectField('Company Name', choices=dbUtils.getCompanyNames, validators=[DataRequired()]) submit = SubmitField('Show Projects') class getProjectNameForm(FlaskForm): # Defines the form class to be used for the user registretion # Decalarion of the fields for the form and it's propereties project = SelectField('Project Name', choices=dbUtils.getProjectOfSelectedCompany, validators=[DataRequired()]) submit = SubmitField('Show Project details') class projectRegisterForm(FlaskForm): name = StringField('ProjectName', validators=[DataRequired(), Length(min=3, max=20)]) description = StringField('ProjectName', validators=[DataRequired(), Length(min=3, max=300)]) qtePrototype = IntegerField('Prototye Quantity', validators=[DataRequired()]) datePrototye = DateField('Prototyping Date', validators=[DataRequired()]) qteStart = IntegerField('Starting Quantity', validators=[DataRequired()]) dateStart = DateField('Firts Starting Date', validators=[DataRequired()]) qteStartProduction = IntegerField('Production Quantity', validators=[DataRequired()]) dateProduction = DateField('Production Date', validators=[DataRequired()]) company = SelectField('Company name', choices=dbUtils.getCompanyNames, validators=[DataRequired()]) industry = SelectField('industry', choices=dbUtils.getIndustryNames, validators=[DataRequired()]) picture = FileField('Update Profile Picture', validators=[FileAllowed(['jpg', 'png'])]) submit = SubmitField('Register Project') class projectUpdateForm(FlaskForm): description = StringField('Description', validators=[DataRequired(), Length(min=3, max=300)]) industry = SelectField('industry', validators=[DataRequired()]) status = SelectField('Status', validators=[DataRequired()]) responsible = SelectField('Repsonsible', validators=[DataRequired()]) qtePrototype = IntegerField('Prototye Quantity', validators=[DataRequired()]) datePrototype = DateField('Prototyping Date', validators=[DataRequired()]) qteStart = IntegerField('Starting Quantity', validators=[DataRequired()]) dateStart = DateField('Starting Date', validators=[DataRequired()]) qteProduction = IntegerField('Production Quantity', validators=[DataRequired()]) dateProduction = DateField('Production Date', validators=[DataRequired()]) picture = FileField('Picture', validators=[FileAllowed(['jpg', 'png'])]) submit = SubmitField('Update Project')