def create_login_user_res_info_by_user_id(user_id: int) -> list:
        """ログインユーザに紐づく抽選、宿泊情報を取得"""

        # 返却結果
        result = []

        # 対象ユーザに紐づく抽選、予約情報を取得
        reservations = ResDao.get_res_list(user_id)
        lotteries = LotDao.get_res_list(user_id)

        # 抽選情報の辞書型を作成
        for lottery in lotteries:
            lottery_dict = {JsonFactory.RES_ID: lottery.reservation_id,
                            JsonFactory.APP_STATUS: 0,
                            JsonFactory.IN_DATE: lottery.check_in_date,
                            JsonFactory.OUT_DATE: lottery.check_out_date,
                            JsonFactory.NUM_ROOMS: lottery.number_of_rooms,
                            JsonFactory.EXPIRE: EMPTY_STR,
                            JsonFactory.PRIORITY: lottery.priority}
            result.append(lottery_dict)

        # 予約情報の辞書型を作成
        for reservation in reservations:
            reservation_dict = {JsonFactory.RES_ID: reservation.reservation_id,
                                JsonFactory.APP_STATUS: reservation.request_status + 1,
                                JsonFactory.IN_DATE: reservation.check_in_date,
                                JsonFactory.OUT_DATE: reservation.check_out_date,
                                JsonFactory.NUM_ROOMS: reservation.number_of_rooms,
                                JsonFactory.EXPIRE: reservation.expire_date, JsonFactory.PRIORITY: EMPTY_STR}
            result.append(reservation_dict)

        return result
Beispiel #2
0
def test_reservation(request, user_id):
    """
    テスト用の予約作成画面へ遷移する
    :param request: request
    :param mail_address: 宿泊対象者のメールアドレス
    :return: 対象ユーザーの宿泊予約一覧画面
    """

    # 対象のユーザーネームを取得
    user = UserDao.get_user(user_id)

    # 対象のユーザーアドレスに紐づく宿泊日付を取得
    reservations = ResDao.get_res_list(user_id)
    lotterys = LotDao.get_res_list(user_id)

    return TemplateResponse(
        request, TEST_RES_SCREEN, {
            "reservations": reservations,
            "lotterys": lotterys,
            "username": user.username
        })