-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathforms.py
More file actions
74 lines (60 loc) · 3.43 KB
/
forms.py
File metadata and controls
74 lines (60 loc) · 3.43 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
from flask_wtf import FlaskForm
from wtforms import StringField, PasswordField, TextAreaField, SelectField
from wtforms.validators import DataRequired, Email, Length, Optional
states = ["AL", "AK", "AZ", "AR", "CA", "CO", "CT", "DC", "DE", "FL", "GA",
"HI", "ID", "IL", "IN", "IA", "KS", "KY", "LA", "ME", "MD",
"MA", "MI", "MN", "MS", "MO", "MT", "NE", "NV", "NH", "NJ",
"NM", "NY", "NC", "ND", "OH", "OK", "OR", "PA", "RI", "SC",
"SD", "TN", "TX", "UT", "VT", "VA", "WA", "WV", "WI", "WY"]
class UserForm(FlaskForm):
'''Create new user form'''
username = StringField('Username', validators=[DataRequired()])
password = PasswordField('Password', validators=[DataRequired()])
first_name = StringField('First Name', validators=[DataRequired()])
last_name = StringField('Last Name', validators=[DataRequired()])
email = StringField('Email', validators=[Email()])
city = StringField('City', validators=[DataRequired()])
state = SelectField('State', choices=[(st, st) for st in states])
class EditUserForm(FlaskForm):
'''Create new user form'''
username = StringField('Username', validators=[DataRequired()])
first_name = StringField('First Name', validators=[DataRequired()])
last_name = StringField('Last Name', validators=[DataRequired()])
email = StringField('Email', validators=[Email()])
city = StringField('City', validators=[DataRequired()])
state = SelectField('State', choices=[(st, st) for st in states])
class LoginForm(FlaskForm):
'''Log in user form'''
username = StringField('Username', validators=[DataRequired()])
password = PasswordField('Password', validators=[DataRequired()])
class EditUserForm(FlaskForm):
'''Edit new user form'''
username = StringField('Username', validators=[DataRequired()])
first_name = StringField('First Name', validators=[DataRequired()])
last_name = StringField('Last Name', validators=[DataRequired()])
email = StringField('Email', validators=[Email()])
city = StringField('City', validators=[DataRequired()])
state = SelectField('State', choices=[(st, st) for st in states])
class UpdatePassword(FlaskForm):
'''Update/change pasword'''
curr_password = PasswordField('Current password', validators=[DataRequired()])
new_password = PasswordField('New Password', validators=[DataRequired()])
new_password_check = PasswordField('Confirm New Password', validators=[DataRequired()])
class PodForm(FlaskForm):
'''Create new pod/group'''
name = StringField('Pod name', validators=[DataRequired()])
description = TextAreaField('Description')
class MessageForm(FlaskForm):
'''Message form'''
contents = TextAreaField('Message', validators=[DataRequired(), Length(min=1,max=180)])
# this are both set as optional because we only need one of the fields to process data
# when creating a new hobby. Create hobby route does checking if the data is valid or not.
class HobbyForm(FlaskForm):
name = SelectField('Hobby/Activity', validators=[Optional()])
add_new = StringField('Add Hobby/Activity', validators=[Optional(), Length(min=0,max=30)])
class InviteMembers(FlaskForm):
first_name = StringField('First Name', validators=[DataRequired()])
last_name = StringField('Last Name', validators=[DataRequired()])
email = StringField('Email', validators=[DataRequired(), Email()])
class InviteExistingMembers(FlaskForm):
user_id = SelectField('Team members')