'courses','WHERE (? OR (visible AND listed)) GROUP BY id ORDER BY _score DESC, semester DESC LIMIT 20',False)
'courses','WHERE (? OR (visible AND listed)) GROUP BY id ORDER BY _score DESC, semester DESC LIMIT 20',ismod())
lectures=searchquery(q,'lectures.*, courses.visible AS coursevisible, courses.listed, courses.short, courses.downloadable, courses.title AS coursetitle',
course=query('SELECT * FROM courses WHERE handle = ?',id)[0]
returnrender_template('course.html',
course=course,
lectures=query('SELECT * FROM lectures WHERE course_id = ?',course['id']),
videos=query('SELECT *, formats.description AS format_description FROM videos JOIN lectures ON (videos.lecture_id = lectures.id) JOIN formats ON (videos.video_format = formats.id) WHERE lectures.course_id= ? ORDER BY formats.prio DESC',course['id']))
else:
returnredirect(url_for('index'))
ifnot'courseid'inrequest.args:
returnredirect(url_for('videos'))
id=request.args['courseid']
courses=query('SELECT * FROM courses WHERE handle = ? AND (? OR visible)',id,ismod())
ifnotcourses:
flash('Diese Veranstaltung existiert nicht!')
returnapp.view_functions['videos'](),404
lectures=query('SELECT * FROM lectures WHERE course_id = ? AND (? OR visible)',courses[0]['id'],ismod())
videos=query('''
SELECT *, formats.description AS format_description
FROM videos
JOIN lectures ON (videos.lecture_id = lectures.id)
JOIN formats ON (videos.video_format = formats.id)