|
1
|
|
|
from flask_wtf import FlaskForm |
|
2
|
|
|
from wtforms.fields import StringField, PasswordField, IntegerField, FloatField, SubmitField |
|
3
|
|
|
from wtforms.validators import InputRequired, NumberRange, Optional, Length |
|
4
|
|
|
|
|
5
|
|
|
|
|
6
|
|
|
class RegisterForm(FlaskForm): |
|
7
|
|
|
name = StringField(u'Username', validators=[InputRequired(), Length(1, 255)]) |
|
8
|
|
|
password = PasswordField(u'Password', validators=[InputRequired(), Length(8, 255)]) |
|
9
|
|
|
invite_key = StringField(u'Invite Key', validators=[InputRequired()]) |
|
10
|
|
|
|
|
11
|
|
|
submit = SubmitField(u'Register') |
|
12
|
|
|
|
|
13
|
|
|
|
|
14
|
|
|
class LoginForm(FlaskForm): |
|
15
|
|
|
name = StringField(u'Username', validators=[InputRequired()]) |
|
16
|
|
|
password = PasswordField(u'Password', validators=[InputRequired()]) |
|
17
|
|
|
|
|
18
|
|
|
submit = SubmitField(u'Login') |
|
19
|
|
|
|
|
20
|
|
|
|
|
21
|
|
|
class CreateTaskForm(FlaskForm): |
|
22
|
|
|
task = StringField(u'Task', validators=[InputRequired()]) |
|
23
|
|
|
base_points = IntegerField(u'Base Points', |
|
24
|
|
|
validators=[InputRequired(), NumberRange(1, 13, 'Value must be between 1 and 13')], |
|
25
|
|
|
default=1) |
|
26
|
|
|
time_factor = FloatField(u'Time Factor', |
|
27
|
|
|
validators=[InputRequired(), NumberRange(0.0, 3.0, 'Value must be between 0.0 and 3.0')], |
|
28
|
|
|
default=0.0) |
|
29
|
|
|
schedule_days = IntegerField(u'Schedule every X days (optional)', |
|
30
|
|
|
validators=[Optional(), NumberRange(1, 365, 'Value must be between 1 and 365')]) |
|
31
|
|
|
|
|
32
|
|
|
submit = SubmitField(u'Create Task') |
|
33
|
|
|
|
|
34
|
|
|
|
|
35
|
|
|
class CustomTaskForm(FlaskForm): |
|
36
|
|
|
task = StringField(u'Custom Task', validators=[InputRequired()]) |
|
37
|
|
|
points = IntegerField(u'Points', validators=[InputRequired(), NumberRange(1, 13, 'Value must be between 1 and 13')], |
|
38
|
|
|
default=1) |
|
39
|
|
|
|
|
40
|
|
|
submit = SubmitField(u'Do Task now') |
|
41
|
|
|
|