from app import app, db from app.forms.login import LoginForm from app.forms.search import SearchForm from app.models.forum import Forum from app.models.topic import Topic from app.models.thread import Thread from app.models.comment import Comment from app.models.users import Member @app.context_processor def menu_processor(): """ All items used to render main menu. Includes search form """ login_form = LoginForm(prefix="menu_") search_form = SearchForm() main_forum = Forum.query.filter_by(parent=None).first() # Constructing last active topics raw = db.session.execute( """SELECT topic.id FROM topic INNER JOIN comment ON topic.thread_id = comment.thread_id INNER JOIN post ON post.id = comment.id GROUP BY topic.id ORDER BY MAX(post.date_created) DESC LIMIT 10;""") last_active_topics = [Topic.query.get(id) for id in raw] return dict(login_form=login_form, search_form=search_form, main_forum=main_forum, last_active_topics=last_active_topics)