course=query('SELECT * FROM courses WHERE id = ? AND (? OR visible)',id,ismod())[0]
else:
course=query('SELECT * FROM courses WHERE handle = ? AND (? OR visible)',handle,ismod())[0]
course['auth']=query('SELECT * FROM auth WHERE course_id = ? ORDER BY auth_type',course['id'])
auths=query('SELECT auth.* FROM auth JOIN lectures ON (auth.lecture_id = lectures.id) WHERE lectures.course_id = ? ORDER BY auth.auth_type',course['id'])
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'])
lectures=query('SELECT * FROM lectures WHERE course_id = ? AND (? OR visible) ORDER BY time, duration DESC',course['id'],ismod())
forlectureinlectures:
lecture['auth']=[]
lecture['perm']=[]
lecture['course']=course
forauthinauths:
ifauth['lecture_id']==lecture['id']:
lecture['auth'].append(auth)
forperminperms:
ifperm['lecture_id']==lecture['id']:
lecture['perm'].append(perm)
videos=query('''
SELECT videos.*, (videos.downloadable AND courses.downloadable) as downloadable, formats.description AS format_description, formats.player_prio, formats.prio
FROM videos
...
...
@@ -307,7 +307,7 @@ def lecture(id):
WHERE videos.lecture_id = ? AND (? OR videos.visible)
ORDER BY formats.prio DESC
''',lecture['course_id'],lecture['id'],ismod())
auths=query('SELECT auth.* FROM auth WHERE (auth.lecture_id = ? OR auth.course_id = ?)',
perms=query('SELECT perm.* FROM perm WHERE ((NOT perm.deleted) AND (perm.lecture_id = ? OR perm.course_id = ?))',
lecture['id'],lecture['course_id'])
ifnotvideos:
flash('Zu dieser Vorlesung wurden noch keine Videos veröffentlicht!')