2021-03-18 13:53:55 +00:00
|
|
|
from advlabdb import app
|
2021-03-18 22:20:59 +00:00
|
|
|
from flask import render_template, request, url_for
|
|
|
|
from advlabdb.utils import *
|
2021-03-19 12:41:52 +00:00
|
|
|
from advlabdb.models import *
|
2021-03-18 13:53:55 +00:00
|
|
|
|
|
|
|
@app.route("/")
|
|
|
|
def index():
|
2021-03-18 22:20:59 +00:00
|
|
|
page = "index"
|
|
|
|
return render_template(page + ".html", navbarItems=navbarItems(page))
|
|
|
|
|
|
|
|
@app.route("/students")
|
|
|
|
def students():
|
2021-03-19 17:09:07 +00:00
|
|
|
semester = Semester.query.all()[-1]
|
|
|
|
parts = semester.parts
|
2021-03-19 12:41:52 +00:00
|
|
|
tables = []
|
|
|
|
tablesLabels = []
|
|
|
|
|
2021-03-19 15:30:02 +00:00
|
|
|
headerAndDataList = [["Student number", "row.student.student_number"],
|
|
|
|
["First name", "row.student.first_name"],
|
|
|
|
["Last name", "row.student.last_name"],
|
|
|
|
["Email", "row.student.email"],
|
2021-03-19 20:15:43 +00:00
|
|
|
["GN", "row.group.number"],
|
2021-03-19 15:30:02 +00:00
|
|
|
["Bachelor thesis", "row.student.bachelor_thesis"],
|
|
|
|
["BT WG", "row.student.bachelor_thesis_work_group"],
|
|
|
|
["Note", "row.student.note"],
|
|
|
|
["Final part mark", "row.final_part_mark"],
|
2021-03-19 20:15:43 +00:00
|
|
|
["Experiemt marks", "row.experiment_marks"],
|
|
|
|
["Parts", "[ps.part for ps in row.student.part_students]"]]
|
2021-03-19 12:41:52 +00:00
|
|
|
|
2021-03-19 15:30:02 +00:00
|
|
|
for part in parts:
|
|
|
|
tablesLabels.append("Part " + part.label + ":")
|
|
|
|
tables.append(makeTable(headerAndDataList=headerAndDataList,
|
|
|
|
rows=part.part_students))
|
2021-03-18 22:20:59 +00:00
|
|
|
page = "students"
|
2021-03-19 12:41:52 +00:00
|
|
|
return render_template(page + ".html", navbarItems=navbarItems(page),
|
|
|
|
tables=tables, tablesLabels=tablesLabels)
|
2021-03-18 22:20:59 +00:00
|
|
|
|
|
|
|
@app.route("/assistants")
|
|
|
|
def assistants():
|
2021-03-19 17:09:07 +00:00
|
|
|
headerAndDataList = [["First name", "row.first_name"],
|
|
|
|
["Last name", "row.last_name"],
|
|
|
|
["Email", "row.email"],
|
|
|
|
["Phone number", "row.phone_number"],
|
|
|
|
["Mobile phone number", "row.mobile_phone_number"],
|
|
|
|
["Room", "row.room"],
|
|
|
|
["Building", "row.building"],
|
|
|
|
["User", "row.user"],
|
|
|
|
["Appointments", "row.appointments"],
|
|
|
|
["Experiemt marks", "row.experiment_marks"]]
|
|
|
|
|
|
|
|
table = makeTable(headerAndDataList=headerAndDataList,
|
|
|
|
rows=Assistant.query.filter(Assistant.user_id != None).all())
|
|
|
|
|
2021-03-18 22:20:59 +00:00
|
|
|
page = "assistants"
|
2021-03-19 17:09:07 +00:00
|
|
|
return render_template(page + ".html", navbarItems=navbarItems(page),
|
|
|
|
table=table)
|
2021-03-18 22:20:59 +00:00
|
|
|
|
|
|
|
@app.route("/experiments")
|
|
|
|
def experiments():
|
2021-03-19 20:15:43 +00:00
|
|
|
semester = Semester.query.all()[-1]
|
|
|
|
parts = semester.parts
|
|
|
|
tables = []
|
|
|
|
tablesLabels = []
|
|
|
|
|
|
|
|
headerAndDataList = [["Name", "row.experiment.name"],
|
|
|
|
["Number", "row.number"],
|
|
|
|
["Assistants", "row.assistants"],
|
|
|
|
["Groups with this ex.", "[gEx.group.number for gEx in row.group_experiments]"]]
|
|
|
|
|
|
|
|
for part in parts:
|
|
|
|
tablesLabels.append("Part " + part.label + ":")
|
|
|
|
tables.append(makeTable(headerAndDataList=headerAndDataList,
|
|
|
|
rows=part.part_experiments))
|
|
|
|
|
2021-03-18 22:20:59 +00:00
|
|
|
page = "experiments"
|
2021-03-19 20:15:43 +00:00
|
|
|
return render_template(page + ".html", navbarItems=navbarItems(page),
|
|
|
|
tables=tables, tablesLabels=tablesLabels)
|
2021-03-18 22:20:59 +00:00
|
|
|
|
|
|
|
@app.route("/appointments")
|
|
|
|
def appointments():
|
|
|
|
page = "appointments"
|
|
|
|
return render_template(page + ".html", navbarItems=navbarItems(page))
|
|
|
|
|
|
|
|
@app.route("/groups")
|
|
|
|
def groups():
|
2021-03-19 20:15:43 +00:00
|
|
|
semester = Semester.query.all()[-1]
|
|
|
|
parts = semester.parts
|
|
|
|
tables = []
|
|
|
|
tablesLabels = []
|
|
|
|
|
|
|
|
headerAndDataList = [["Number", "row.number"],
|
|
|
|
["Students",
|
|
|
|
"[ps.student.first_name + ' ' + ps.student.last_name for ps in row.part_students]"],
|
|
|
|
["Experiments (appointments)",
|
|
|
|
"[str(gx.part_experiment.number) + ' (' + str([appointmentDate(a.date) for a in gx.appointments]) + ')' for gx in row.group_experiments]"]]
|
|
|
|
|
|
|
|
for part in parts:
|
|
|
|
tablesLabels.append("Part " + part.label + ":")
|
|
|
|
tables.append(makeTable(headerAndDataList=headerAndDataList,
|
|
|
|
rows=part.groups))
|
|
|
|
|
2021-03-18 22:20:59 +00:00
|
|
|
page = "groups"
|
2021-03-19 20:15:43 +00:00
|
|
|
return render_template(page + ".html", navbarItems=navbarItems(page),
|
|
|
|
tables=tables, tablesLabels=tablesLabels)
|
2021-03-18 22:20:59 +00:00
|
|
|
|
|
|
|
@app.route("/users")
|
|
|
|
def users():
|
|
|
|
page = "users"
|
|
|
|
return render_template(page + ".html", navbarItems=navbarItems(page))
|