add period templates, add period, edit period, delete period
This commit is contained in:
44
app.py
44
app.py
@@ -4,7 +4,7 @@ from datetime import datetime, date
|
||||
from flask import Flask, render_template, redirect
|
||||
from flask_sqlalchemy import SQLAlchemy
|
||||
from flask_wtf import FlaskForm
|
||||
from wtforms import (StringField, DateField, TextAreaField, IntegerField, BooleanField,
|
||||
from wtforms import (StringField, DateField, TimeField, TextAreaField, IntegerField, BooleanField,
|
||||
RadioField)
|
||||
from wtforms.validators import InputRequired, Length
|
||||
from wtforms_sqlalchemy.orm import QuerySelectField
|
||||
@@ -65,6 +65,10 @@ class EventForm(FlaskForm):
|
||||
# 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")
|
||||
|
||||
@app.route('/')
|
||||
def index():
|
||||
return redirect('/events')
|
||||
@@ -76,6 +80,43 @@ def events():
|
||||
|
||||
return render_template('events.html', events=events, periods=periods, datetime=datetime, date=date)
|
||||
|
||||
@app.route('/periods')
|
||||
def periods():
|
||||
periods = Period.query.all()
|
||||
return render_template('periods.html', periods=periods, datetime=datetime)
|
||||
|
||||
@app.route('/period/edit/<int:periodNum>', methods=('GET', 'POST'))
|
||||
def editPeriod(periodNum):
|
||||
period = Period.query.get_or_404(periodNum)
|
||||
form = PeriodForm(obj=period)
|
||||
if form.validate_on_submit():
|
||||
period.periodTime = str(form.periodTime.data)
|
||||
period.weekendSchedule = form.weekendSchedule.data
|
||||
db.session.commit()
|
||||
return redirect(f'/period/edit/{periodNum}')
|
||||
return render_template('editPeriod.html', period=period, form=form, datetime=datetime)
|
||||
|
||||
@app.post('/period/delete/<int:periodNum>')
|
||||
def delete_period(periodNum):
|
||||
period = Period.query.get_or_404(periodNum)
|
||||
db.session.delete(period)
|
||||
db.session.commit()
|
||||
return redirect('/periods')
|
||||
|
||||
@app.route('/period/new', methods=('GET', 'POST'))
|
||||
def newPeriod():
|
||||
form = PeriodForm()
|
||||
if form.validate_on_submit():
|
||||
period = Period(periodTime=str(form.periodTime.data),
|
||||
weekendSchedule=form.weekendSchedule.data
|
||||
)
|
||||
print(period.periodTime)
|
||||
print(period.weekendSchedule)
|
||||
db.session.add(period)
|
||||
db.session.commit()
|
||||
return redirect(f'/period/edit/{period.period}')
|
||||
return render_template('newPeriod.html', form=form)
|
||||
|
||||
@app.route('/event/edit/<int:event_id>/', methods=('GET', 'POST'))
|
||||
def editEvent(event_id):
|
||||
event = Event.query.get_or_404(event_id)
|
||||
@@ -88,6 +129,7 @@ def editEvent(event_id):
|
||||
db.session.commit()
|
||||
return redirect('/events')
|
||||
return render_template('editEvent.html', event=event, form=form, datetime=datetime)
|
||||
|
||||
@app.route('/tasks')
|
||||
def tasks():
|
||||
tasks = Task.query.all()
|
||||
|
Reference in New Issue
Block a user