Exemplo n.º 1
0
def admin_lecture_end():
    """
    講義終了画面
    POST : 終了
    GET : 設定画面表示
    """
    if request.method == 'POST':
        # 講義終了
        redis_client.set("lecture_start", 0)
        return redirect(url_for('admin_index'))
    else:
        member = Member(redis_client)
        member_list = member.get_all_data()

        # 現在の講師のmidを取得
        lecturer_data = redis_client.hgetall("lecturer")
        # print(lecturer_data)
        if not lecturer_data:
            # print("empty")
            return render_template('admin/lecture_end.html', lecturer=None)

        ret = ""
        for member in member_list:
            if int(lecturer_data["lid"]) == int(member["id"]):
                ret = member["name"]
                break

        return render_template('admin/lecture_end.html', lecturer=ret)
Exemplo n.º 2
0
def admin_member_del():
    """
    メンバー削除画面
    """
    member = Member(redis_client)
    member_list = member.get_all_data()
    return render_template('admin/member_del.html', member_list=member_list)
Exemplo n.º 3
0
def member_list():
    """
    メンバー一覧取得
    """
    member = Member(redis_client)
    member_list = member.get_all_data()

    return modify_response_http_header(jsonify({"members": member_list}))
Exemplo n.º 4
0
def admin_member_list():
    """
    メンバー一覧画面
    """
    member = Member(redis_client)
    member_list = member.get_all_data()

    # lambdaを使ってsort処理で実行させる式を作成
    # pythonではdefは文でlambdaは式なので、単一式として定義できるものに限る
    # lambda 引数1,引数2.., : 引数を使う式
    member_list = sorted(member_list, key=lambda member: int(member['id']))
    # print(member_list)
    return render_template('admin/member_list.html', member_list=member_list)
Exemplo n.º 5
0
def admin_score_link():
    """
    各講師の点数確認ページへのリンク
    """
    member = Member(redis_client)
    member_list = member.get_all_data()

    ret = []
    for member in member_list:
        data = {"name": member["name"], "url": "/admin/msdg/" + member["id"] + "/score"}
        ret.append(data)

    return render_template('admin/score_link.html', member_list=ret)
Exemplo n.º 6
0
def admin_lecturer():
    """
    講師設定画面
    POST : 設定
    GET : 設定画面表示
    """
    if request.method == 'POST':
        # 講義中であれば講義終了画面にリダイレクト
        # 講義中での講師変更はできない
        start_flg = redis_client.get("lecture_start")
        # print(start_flg)
        if start_flg and int(start_flg) == 1:
            return redirect(url_for('admin_lecture_end'))

        lecturer_mid = request.form.get('member')
        times = request.form.get('times')
        data = {"lid": lecturer_mid, "times": times}
        redis_client.hmset("lecturer", data)

        # 講義も開始したことにする
        redis_client.set("lecture_start", 1)

        return redirect(url_for('admin_score_link'))
    else:
        member = Member(redis_client)
        member_list = member.get_all_data()

        # 現在の講師のmidを取得
        lecturer_data = redis_client.hgetall("lecturer")
        # print(lecturer_data)
        if not lecturer_data:
            # print("empty")
            return render_template('admin/lecturer.html', member_list=member_list)

        ret = []
        for member in member_list:
            # print(member)
            if int(lecturer_data["lid"]) == int(member["id"]):
                member["selected"] = True
            else:
                member["selected"] = False
            ret.append(member)

        member_list = ret
        # print(member_list)
        return render_template('admin/lecturer.html', member_list=member_list)