def index(): db = DBSession(engine) topics = db.getMulti('Topic') for topic in topics: topic['likes'] = 0 votes = db.getMulti('Vote', {'topic': topic['id']}) for vote in votes: topic['likes'] += vote['like'] return render_template('index.html', topics=topics)
def like(topic_id): db = DBSession(engine) vote = db.getMulti('Vote', {'topic': topic_id, 'voter': session.get('user')['id']}) if len(vote): vote = vote[0] else: vote = {'topic': topic_id, 'voter': session.get('user')['id']} if vote.get('like', 0) == 1: vote['like'] = 0 else: vote['like'] = 1 db.create_or_update('Vote', vote) db.save() return redirect(url_for('index'))
def list_users(): if isadmin(): db = DBSession(engine) users = db.getMulti('User') return render_template('users.html', users=users) return redirect(url_for('index'))