diff --git a/advlabdb/routes.py b/advlabdb/routes.py
index 72994fe..bc0e87a 100644
--- a/advlabdb/routes.py
+++ b/advlabdb/routes.py
@@ -3,6 +3,20 @@ from flask import render_template, request, url_for
from advlabdb.utils import *
from advlabdb.models import *
+activeSemester_id = Semester.query.all()[-1].id
+
+@app.context_processor
+def util_processor():
+ def semesterDropDownItems():
+ semesters = Semester.query.all()
+ items = []
+ for semester in semesters:
+ items.append('
' + semester.label + '')
+ return items
+ return dict(semesterDropDownItems=semesterDropDownItems,
+ activeSemesterLabel=Semester.query.get(activeSemester_id).label)
+
@app.route("/")
def index():
page = "index"
@@ -10,7 +24,7 @@ def index():
@app.route("/students")
def students():
- semester = Semester.query.all()[-1]
+ semester = Semester.query.get(activeSemester_id)
parts = semester.parts
tables = []
tablesLabels = []
@@ -57,7 +71,7 @@ def assistants():
@app.route("/experiments")
def experiments():
- semester = Semester.query.all()[-1]
+ semester = Semester.query.get(activeSemester_id)
parts = semester.parts
tables = []
tablesLabels = []
@@ -83,7 +97,7 @@ def appointments():
@app.route("/groups")
def groups():
- semester = Semester.query.all()[-1]
+ semester = Semester.query.get(activeSemester_id)
parts = semester.parts
tables = []
tablesLabels = []
@@ -115,3 +129,22 @@ def users():
page = "users"
return render_template(page + ".html", navbarItems=navbarItems(page),
table=table)
+
+@app.route("/set_semester", methods=["GET"])
+def set_semester():
+ global activeSemester_id
+ activeSemester_id = int(request.args.get("semester_id"))
+ page = "index"
+ return render_template(page + ".html", navbarItems=navbarItems(page))
+
+@app.route("/semesters")
+def semesters():
+ headerAndDataList = [["Label", "row.label"],
+ ["Parts", "row.parts"]]
+
+ table = makeTable(headerAndDataList=headerAndDataList,
+ rows=Semester.query.all())
+
+ page = "semesters"
+ return render_template(page + ".html", navbarItems=navbarItems(page),
+ table=table)
diff --git a/advlabdb/templates/layout.html b/advlabdb/templates/layout.html
index b27dfe3..e5ce9af 100644
--- a/advlabdb/templates/layout.html
+++ b/advlabdb/templates/layout.html
@@ -22,13 +22,27 @@