Esempio n. 1
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, )))
Esempio n. 2
0
def push_res_app_button(request):
    """予約を実施

    """
    user_id = request.session[LOG_USR]

    from django.http import QueryDict
    dic = QueryDict(request.body, encoding='utf-8')
    check_in_date = datetime.date.fromisoformat(dic.get('check_in_date'))
    check_out_date = datetime.date.fromisoformat(dic.get('check_out_date'))
    number_of_rooms = int(dic.get('number_of_rooms'))
    purpose = dic.get('purpose')

    error = ""

    #注意:現時点では宿泊人数を使用しないため、常に0を入力
    number_of_guests = 0

    # 抽選期間か2次申込期間かを取得
    app_status_code = __get_app_status_code(check_in_date)

    # 予約月度が過去月度の場合、エラー情報を画面に返却
    if app_status_code == ERROR:
        error = "予約申込対象期間外です"

    # 抽選の場合
    if app_status_code == LOTTERY:
        if not LotDao.user_already_applied(user_id, check_in_date):
            LotDao.create_res_by_in_and_out(user_id, check_in_date,
                                            check_out_date, number_of_rooms,
                                            number_of_guests, purpose)
        else:
            error = "該当日は申込済みです"

    # 二次申込の場合
    elif app_status_code == SECOND_APP:
        if not ResDao.create_res_as_second_reservation(
                user_id, check_in_date, check_out_date, number_of_rooms,
                number_of_guests, purpose):
            error = "二次申込が出来ませんでした"

    from django.http.response import JsonResponse
    return JsonResponse(error, safe=False)