diff --git a/server.py b/server.py index d2a585c0724c67f41414eb3f73b2d127cb43b79b..8a932ee2788855166d741d64a4c9acc1774623d4 100644 --- a/server.py +++ b/server.py @@ -207,7 +207,7 @@ def index(): def courses(): courses = query('SELECT * FROM courses WHERE (? OR (visible AND listed)) ORDER BY lower(semester), lower(title)', ismod()) chapters = {} - for i in query('SELECT lectures.course_id AS id, COUNT(chapters.id) AS c FROM chapters JOIN lectures ON chapters.lecture_id = lectures.id WHERE NOT chapters.visible GROUP BY lectures.course_id'): + for i in query('SELECT lectures.course_id AS id, COUNT(chapters.id) AS c FROM chapters JOIN lectures ON chapters.lecture_id = lectures.id WHERE NOT chapters.visible AND NOT chapters.deleted GROUP BY lectures.course_id'): chapters[i['id']] = i['c'] for course in courses: course['chapter_count'] = chapters.get(course['id'], 0) @@ -229,7 +229,7 @@ def course(id=None, handle=None): course['perm'] = query('SELECT * FROM perm WHERE (NOT perm.deleted) AND course_id = ? ORDER BY type', course['id']) perms = query('SELECT perm.* FROM perm JOIN lectures ON (perm.lecture_id = lectures.id) WHERE (NOT perm.deleted) AND lectures.course_id = ? ORDER BY perm.type', course['id']) chapters = {} - for i in query('SELECT lectures.id AS id, COUNT(chapters.id) AS c FROM chapters JOIN lectures ON chapters.lecture_id = lectures.id WHERE lectures.course_id = ? GROUP BY chapters.lecture_id;', course['id']): + for i in query('SELECT lectures.id AS id, COUNT(chapters.id) AS c FROM chapters JOIN lectures ON chapters.lecture_id = lectures.id WHERE lectures.course_id = ? AND NOT chapters.deleted GROUP BY chapters.lecture_id;', course['id']): chapters[i['id']] = i['c'] lectures = query('SELECT * FROM lectures WHERE course_id = ? AND (? OR visible) ORDER BY time, duration DESC', course['id'], ismod()) for lecture in lectures: