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 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('Project Name', validators=[DataRequired(), Length(min=3, max=20)]) description = StringField('Project Description', validators=[DataRequired(), Length(min=3, max=300)]) company = SelectField('Company name', validators=[DataRequired()]) industry = SelectField('industry', validators=[DataRequired()]) status = SelectField('Status', validators=[DataRequired()]) qtePrototype = IntegerField('Prototye Quantity', validators=[DataRequired()]) datePrototype = DateField('Prototyping Date', validators=[DataRequired()]) qteStart = IntegerField('Starting Quantity', validators=[DataRequired()]) dateStart = DateField('Firts Starting Date', validators=[DataRequired()]) qteProduction = IntegerField('Production Quantity', validators=[DataRequired()]) dateProduction = DateField('Production Date', validators=[DataRequired()]) picture = FileField('Update Project 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')