예제 #1
0
def user_leaderboard():
    """
    Leaderboard of users view.
    :return: HTTP Response
    """
    users = Users.get_all()
    return render_template('user_leaderboard.html', users=users)
예제 #2
0
def load_user(user_id):
    """
    User loader for flask_login
    :param user_id: int
    :return: Users object
    """
    user = None
    try:
        user = Users.get(user_id=user_id)[0]
        user.msg_list = Message.get_messages_for_user(user)

        user.other_users = [(ouser.user_id, ouser.username)
                            for ouser in Users.get_all()
                            if user.user_id != ouser.user_id]

        user.notifications = Notification.get(user_id=user.user_id)
        user.clarifications = Clarification.get_clarifications_for_user(user)
    finally:
        return user
예제 #3
0
def admin_add_contest():
    """
    Add contest view.
    :return: HTTP Response
    """

    if request.method == 'POST':
        contest = Contest(contest_name=request.form['contest_name'],
                          is_individual='is_individual' in request.form,
                          start_time=request.form['start_time'],
                          end_time=request.form['end_time'])
        contest.save()

        users = Users.get_all()
        for user in users:
            notification = Notification(
                notification_id=0,
                user_id=user.user_id,
                content='There is a new contest for you to participate')
            notification.save()
        return redirect(url_for('admin.admin_home'))

    return render_template('admin_add_contest.html')