예제 #1
0
def register_new_user(request):
    """(管理者専用)新規ユーザを登録する"""
    error = ""

    # セッション情報に管理者IDが存在するか確認。存在しなければログイン画面へ遷移
    if not __is_admini_user(request):
        return TemplateResponse(request, URL_REBGST001,
                                {"error": "管理者権限がありません"})

    if request.method == "POST":
        user_id = int(request.POST.get("user_id", ""))
        username = request.POST.get("user_name", "")
        mail_address = request.POST.get("mail_address", "")

        if (UserDao.is_already_registered(user_id)):
            error = "該当ユーザIDは既に登録されております"
        else:
            UserDao.create_user(user_id, username, mail_address, INIT_PASS)

        # 全ユーザ情報を取得
        users = UserDao.get_users()

        return TemplateResponse(request, URL_REBADM001, {
            "users": users,
            "error": error
        })
예제 #2
0
def register_reservation(request, user_id):
    """
    予約情報を登録する
    :param request: request
    :param mail_address: 宿泊登録者のメールアドレス
    :return: ユーザー一覧画面
    """

    if request.method == "POST":
        lottery_flag = request.POST.get("lottery_flag", None)
        check_in_date = datetime.date.fromisoformat(
            request.POST.get("check_in_date", ""))
        check_out_date = datetime.date.fromisoformat(
            request.POST.get("check_out_date", ""))
        number_of_rooms = request.POST.get("number_of_rooms", "")
        number_of_guests = request.POST.get("number_of_guests", "")
        purpose = request.POST.get("purpose", "")

        # 抽選フラグが"1"の場合、抽選エンティティを作成
        if lottery_flag:
            LotDao.create_res_by_in_and_out(user_id, check_in_date,
                                            check_out_date, number_of_rooms,
                                            number_of_guests, purpose)

        # 抽選フラグが指定されていない場合、予約エンティティを作成
        else:
            ResDao.create_res_by_in_and_out(user_id, check_in_date,
                                            check_out_date, number_of_rooms,
                                            number_of_guests, purpose)

    # 表示するユーザー情報を取得
    users = UserDao.get_users()

    return HttpResponseRedirect(reverse('test_reservation', args=(user_id, )))
예제 #3
0
def init_admin_manage(request):
    """(管理者専用)管理者画面の初期表示"""

    # セッション情報に管理者IDが存在するか確認。存在しなければログイン画面へ遷移
    if not __is_admini_user(request):
        return TemplateResponse(request, URL_REBGST001,
                                {"error": "管理者権限がありません"})

    # 全ユーザ情報を取得
    users = UserDao.get_users()

    return TemplateResponse(request, URL_REBADM001, {"users": users})
예제 #4
0
def get_back_to_main_from_test_register(request, user_id):
    """
    ユーザー登録画面からログイン画面へ遷移する
    :param request: request
    :param user_id: 宿泊者のユーザID
    :return: ユーザー一覧画面
    """

    # 表示するユーザー情報を取得
    users = UserDao.get_users()

    return TemplateResponse(request, URL_REBGST001, {})
예제 #5
0
def get_back_to_main_from_test_register(request, mail_address):
    """
    予約登録画面からユーザー登録画面へ遷移する
    :param request: request
    :param mail_address: 宿泊者のメールアドレス
    :return: ユーザー一覧画面
    """

    # 表示するユーザー情報を取得
    users = UserDao.get_users()

    json_data = JsonUtil.create_json_data(2019, 7)

    return TemplateResponse(request, TEST_SCREEN, {"users": users, "json_data": json_data})
예제 #6
0
def update_user(request):
    """(管理者専用)ユーザ情報を更新する"""

    # セッション情報に管理者IDが存在するか確認。存在しなければログイン画面へ遷移
    if not __is_admini_user(request):
        return TemplateResponse(request, URL_REBGST001,
                                {"error": "管理者権限がありません"})

    if request.method == "POST":
        user_id = request.POST.get("user_id", "")
        username = request.POST.get("user_name", "")
        mail_address = request.POST.get("mail_address", "")
        UserDao.update_user_without_password(user_id, username, mail_address)

        # 全ユーザ情報を取得
        users = UserDao.get_users()

    return TemplateResponse(request, URL_REBADM001, {"users": users})
예제 #7
0
def test_database(request):
    """
    テスト用のユーザー情報を表示・登録する画面
    :param request: request
    :return: ユーザー一覧画面
    """

    # POSTで情報が送られてきた場合、ユーザー情報を登録する
    if request.method == "POST":
        username = request.POST.get("username", "")
        mail_address = request.POST.get("mail_address", "")
        password = request.POST.get("password", "")
        UserDao.create_user(username, mail_address, password)

    # 一覧表示するユーザー情報を取得
    users = UserDao.get_users()

    json_data = JsonUtil.create_json_data(2019, 7)

    return TemplateResponse(request, TEST_SCREEN, {"users": users, "json_data": json_data})
예제 #8
0
def delete_user(request):
    """(管理者専用)ユーザ情報を更新する"""

    # セッション情報に管理者IDが存在するか確認。存在しなければログイン画面へ遷移
    if not __is_admini_user(request):
        return TemplateResponse(request, URL_REBGST001,
                                {"error": "管理者権限がありません"})

    if request.method == "POST":
        user_id = request.POST.get("user_id", "")
        if user_id:
            UserDao.delete_user_by_user_id(user_id)
            ResDao.delete_by_user_id(user_id)
            LotDao.delete_by_user_id(user_id)
            LodginDao.delete_by_user_id(user_id)

        # 全ユーザ情報を取得
        users = UserDao.get_users()

    return TemplateResponse(request, URL_REBADM001, {"users": users})
예제 #9
0
def test_register_res(request, mail_address):
    """
    宿泊情報を登録する
    :param request: request
    :param mail_address: 宿泊登録者のメールアドレス
    :return: ユーザー一覧画面
    """

    if request.method == "POST":
        target_user = User.objects.get(mail_address=mail_address)
        check_in_date = request.POST.get("check_in_date", "")
        stay_term = request.POST.get("stay_term", "")
        number_of_rooms = request.POST.get("number_of_rooms", "")
        number_of_guests = request.POST.get("number_of_guests", "")
        purpose = request.POST.get("purpose", "")
        ResDao.create_res(target_user, check_in_date, stay_term, number_of_rooms, number_of_guests, purpose)

    # 表示するユーザー情報を取得
    users = UserDao.get_users()

    return TemplateResponse(request, TEST_SCREEN, {"users": users})