Files

79 lines
2.3 KiB
Python

from flask import redirect, render_template, request, url_for, flash
from datetime import time
from app import webapp
from app.models.callback import Callback
from app.models.schedule import Schedule
from app.views.auth import login_required
@webapp.route('/callback/schedule/<uuid>')
@login_required
def schedule(uuid:str):
callback = Callback.get_callback(uuid)
schedules = Schedule.get_schedules(uuid)
return render_template("schedule.html",callback=callback, schedules=schedules)
@webapp.route('/create_schedule/<uuid>', methods=['POST'])
@login_required
def create_schedule(uuid:str):
callback = None
try:
callback = Callback.get_callback(uuid=uuid)
except Exception as e:
flash("Something went wrong.", "error")
return redirect(url_for('callbacks'))
if not request.form['name']:
flash("Name required", "error")
return redirect(url_for('schedule', uuid=callback.uuid))
name = request.form['name']
startday = request.form['startday']
starttime_str = request.form['starttime']
endday = request.form['endday']
endtime_str = request.form['endtime']
starttime_split = starttime_str.split(":")
starttime = time(int(starttime_split[0]), int(starttime_split[1]), 0, 0)
endtime_split = endtime_str.split(":")
endtime = time(int(endtime_split[0]), int(endtime_split[1]), 0, 0)
if(startday > endday):
flash("Start day has to be the same or earlier than end day", "error")
return redirect(url_for('schedule', uuid=callback.uuid))
if(startday == endday):
if(starttime >= endtime):
flash("Start time needs to be earlier than end time", "error")
return redirect(url_for('schedule', uuid=callback.uuid))
schedule = Schedule(name, uuid, startday, starttime, endday, endtime)
schedule.save()
flash("Schedule created", "success")
return redirect(url_for('schedule', uuid=callback.uuid))
@webapp.route('/delete_schedule/<id>')
@login_required
def delete_schedule(id:int):
schedule = None
try:
schedule = Schedule.get_schedule(id=id)
except Exception as e:
flash("Something went wrong.", "error")
return redirect(url_for('callbacks'))
uuid = schedule.callback_id
schedule.delete()
flash("Schedule deleted", "success")
return redirect(url_for('schedule', uuid=uuid))