Pycloud/app/forms.py

34 lines
1.5 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
users_list=[]
for users in User.query.all():
users_list.append(users.username)
class UploadForm(FlaskForm):
uploadfile = FileField(words['termUploadFile'], validators=[FileRequired()])
submit = SubmitField(words['termSubmit'])
filename_choose = StringField(words['termFilename'])
folder = SelectField(words['termUsers'], choices=users_list, validate_choice=False)
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'])