diff --git a/server.py b/server.py index 2d86e9c2023419769896b6853b5b3a0e46bf9ae0..611c48584736627ba0321b30925ae7174d0cc5c6 100644 --- a/server.py +++ b/server.py @@ -326,10 +326,19 @@ def search(): q = request.args['q'] courses = searchquery(q, '*', ['title', 'short', 'organizer', 'subject', 'description'], '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, "course" AS sep, courses.*', + #lectures = searchquery(q, 'lectures.*, courses.visible AS coursevisible, courses.listed, "course" AS sep, courses.*', + # ['lectures.title', 'lectures.comment', 'lectures.speaker', 'courses.short'], + # 'lectures LEFT JOIN courses on (courses.id = lectures.course_id)', + # 'WHERE (? OR (coursevisible AND listed AND visible)) GROUP BY id ORDER BY _score DESC, time DESC LIMIT 30', ismod()) + lectures = searchquery(q, 'lectures.*, courses.visible AS coursevisible, courses.listed, courses.id AS courses_id, courses.visible AS courses_visible, courses.listed AS courses_listed, courses.title AS courses_title, courses.short AS courses_short, courses.handle AS courses_handle, courses.organizer AS courses_organizer, courses.subject AS courses_subject, courses.credits AS courses_credits, courses.created_by AS courses_created_by, courses.time_created AS courses_time_created, courses.time_updated AS courses_time_updated, courses.semester AS courses_semester, courses.downloadable AS courses_downloadable, courses.embedinvisible AS courses_embedinvisible, courses.description AS courses_description, courses.internal AS courses_internal, courses.responsible AS courses_responsible', ['lectures.title', 'lectures.comment', 'lectures.speaker', 'courses.short'], 'lectures LEFT JOIN courses on (courses.id = lectures.course_id)', 'WHERE (? OR (coursevisible AND listed AND visible)) GROUP BY id ORDER BY _score DESC, time DESC LIMIT 30', ismod()) + for lecture in lectures: + lecture['course'] = {} + for key in lecture: + if key.startswith('courses_'): + lecture['course'][key[8:]] = lecture[key] return render_template('search.html', searchtext=request.args['q'], courses=courses, lectures=lectures) def check_mod(user, groups):