from flask_wtf import FlaskForm from wtforms import StringField, PasswordField, SubmitField, BooleanField, IntegerField from wtforms.validators import InputRequired, Email, Length class LoginForm(FlaskForm): username = StringField('Username', validators=[InputRequired()]) password = PasswordField('Password', validators=[InputRequired()]) login = SubmitField('Sign in') class RegisterForm(FlaskForm): name = StringField('Name', validators=[InputRequired()]) email = StringField('Email', validators=[InputRequired(), Email(message='Invalid email'), Length(max=80)]) username = StringField('Username', validators=[InputRequired(), Length(min=3, max=15)]) password = PasswordField('Password', validators=[InputRequired(), Length(min=8, max=80)]) passwordchk = PasswordField('Repeat password', validators=[InputRequired(), Length(min=8, max=80)]) register = SubmitField('Register') class UpdateForm(FlaskForm): name = StringField('Name', validators=[InputRequired()]) email = StringField('Email', validators=[InputRequired(), Email(message='Invalid email'), Length(max=80)]) username = StringField('Username', validators=[InputRequired(), Length(min=3, max=15)]) update = SubmitField('Update') class PwForm(FlaskForm): password = PasswordField('New password', validators=[InputRequired(), Length(min=8, max=80)]) passwordchk = PasswordField('Repeat password', validators=[InputRequired(), Length(min=8, max=80)]) passwordcur = PasswordField('Current password', validators=[InputRequired(), Length(min=8, max=80)]) pwchange = SubmitField('Change Password') class SearchForm(FlaskForm): token = StringField('Search') search = SubmitField('Submit') class DeleteForm(FlaskForm): delete = SubmitField('Submit') class AlbumForm(FlaskForm): name = StringField('Name', validators=[InputRequired()]) visible = BooleanField('Visible') public = BooleanField('Public') portfolio_id = IntegerField('Portfolio') album = SubmitField('Create') class PortfolioForm(FlaskForm): name = StringField('Name', validators=[InputRequired()]) visible = BooleanField('Visible') public = BooleanField('Public') portfolio = SubmitField('Create')