Pycloud/app/forms.py

29 lines
1.3 KiB
Python

from flask_login import current_user
from app import words
from flask_wtf import FlaskForm
from flask_wtf.file import FileField, FileRequired
from wtforms import SubmitField, PasswordField, StringField, BooleanField, SelectField
from wtforms.validators import DataRequired, EqualTo, ValidationError
from app.models import User
class UploadForm(FlaskForm):
uploadfile = FileField(validators=[FileRequired()])
submit = SubmitField(words['termSubmit'])
class LoginForm(FlaskForm):
username = StringField(words['termUsername'], validators=[DataRequired()])
password = PasswordField(words['termPassword'], validators=[DataRequired()])
remember_me = BooleanField(words['termRememberMe'])
submit = SubmitField(words['termSubmit'])
class RegisterForm(FlaskForm):
username = StringField(words['termUsername'], validators=[DataRequired()])
password = PasswordField(words['termPassword'], validators=[DataRequired()])
repeatpassword = PasswordField(words['termRepeatPassword'], validators=[DataRequired(), EqualTo('password')])
isAdmin = BooleanField(words['termIsAdmin'])
submit = SubmitField(words['termSubmit'])
def validate_username(self, username):
user = User.query.filter_by(username=username.data).first()
if user is not None:
raise ValidationError(words['ErrorUsername'])