Files
BellScheduler/app/forms.py
William Peebles 8ed6336e20
All checks were successful
continuous-integration/drone/push Build is passing
create settings page, full timezone support
2022-11-23 20:36:38 -05:00

38 lines
1.7 KiB
Python

import pytz
from db import Task
from flask_wtf import FlaskForm
from wtforms import (StringField, DateField, TimeField, TextAreaField, IntegerField, SelectField, BooleanField,
RadioField, EmailField, PasswordField)
from wtforms.validators import InputRequired, Length
from wtforms_sqlalchemy.orm import QuerySelectField
def get_tasks():
return Task.query
class TaskForm(FlaskForm):
title = StringField('Title', validators=[InputRequired(),
Length(min=5, max=100)])
description = TextAreaField('Description', validators=[InputRequired(),
Length(max=200)])
class EventForm(FlaskForm):
# eventDate = DateField('Date', validators=[InputRequired()], format='m-%d-%Y')
# period_num = IntegerField(validators=[InputRequired()])
selectedTask = QuerySelectField(label='New Task', query_factory=get_tasks, get_label='title', allow_blank=True, blank_text='(no task)')
class PeriodForm(FlaskForm):
weekendSchedule = BooleanField(label='Include on Weekends?', false_values=None)
periodTime = TimeField('Time', format="%H:%M")
class SettingsForm(FlaskForm):
password = PasswordField('Password')
realName = StringField('Real Name')
timezone = SelectField('Time Zone', choices=pytz.all_timezones)
class SignupForm(FlaskForm):
userName = StringField('Username', validators=[InputRequired()])
password = PasswordField('Password', validators=[InputRequired()])
realName = StringField('Real Name')
email = EmailField('Email Address')
class LoginForm(FlaskForm):
userName = StringField('Username', validators=[InputRequired()])
password = PasswordField('Password', validators=[InputRequired()])