def select(id):
    reservation = None
    sql = "SELECT * FROM reservations WHERE id = %s"
    values = [id]
    result = run_sql(sql, values)[0]
    if result is not None:
        guest = guest_repository.select(result['guest_id'])
        room = room_repository.select(result['room_id'])
        reservation = Reservation(guest, room, result['arrival_date'], result['departure_date'], result['status'], result['id'])
    return reservation
def select_all():
    reservations = []
    sql = "SELECT * FROM reservations ORDER BY status ASC, arrival_date"
    results = run_sql(sql)
    for row in results:
        guest = guest_repository.select(row['guest_id'])
        room = room_repository.select(row['room_id'])
        reservation = Reservation(guest, room, row['arrival_date'], row['departure_date'], row['status'], row['id'])
        reservations.append(reservation)
    return reservations
def create_reservation():
    guest_id = request.form['guest_id']
    guest = guest_repository.select(guest_id)
    room = room_repository.select_default()
    arrival_date = request.form['arrival_date']
    departure_date = request.form['departure_date']
    status = request.form['status']
    new_reservation = Reservation(guest, room, arrival_date, departure_date, status)
    reservation_repository.save(new_reservation)
    reservation_repository.arrival_status()
    return redirect('/reservations')
def in_house():
    reservations = []
    sql = "SELECT * FROM reservations WHERE status = %s ORDER BY departure_date, room_id"
    values = ["Checked In"]
    results = run_sql(sql, values)
    for row in results:
        guest = guest_repository.select(row['guest_id'])
        room = room_repository.select(row['room_id'])
        reservation = Reservation(guest, room, row['arrival_date'], row['departure_date'], row['status'], row['id'])
        reservations.append(reservation)
    return reservations
def arrivals():
    reservations = []
    sql = "SELECT * FROM reservations WHERE arrival_date = %s AND status = %s ORDER BY arrival_date ASC"
    values = [datetime.date.today(), "Arrival"]
    results = run_sql(sql, values)
    for row in results:
        guest = guest_repository.select(row['guest_id'])
        room = room_repository.select(row['room_id'])
        reservation = Reservation(guest, room, row['arrival_date'], row['departure_date'], row['status'], row['id'])
        reservations.append(reservation)
    return reservations
def select_from_today(date):
    reservations = []
    sql = "SELECT * FROM reservations WHERE arrival_date >= %s ORDER BY arrival_date, status ASC"
    values = [date]
    results = run_sql(sql, values)
    for row in results:
        guest = guest_repository.select(row['guest_id'])
        room = room_repository.select(row['room_id'])
        reservation = Reservation(guest, room, row['arrival_date'], row['departure_date'], row['status'], row['id'])
        reservations.append(reservation)
    return reservations
def update_reservation(id):
    guest_id = request.form['guest_id']
    guest = guest_repository.select(guest_id)
    room_id = request.form['room_id']
    room = room_repository.select(room_id)
    arrival_date = request.form['arrival_date']
    departure_date = request.form['departure_date']
    status = request.form['status']
    updated_reservation = Reservation(guest, room, arrival_date, departure_date, status, id)
    reservation_repository.update(updated_reservation)
    reservation_repository.arrival_status()
    return redirect('/reservations')
示例#8
0
def guest_preferences(id):
    guest = guest_repository.select(id)
    return render_template('guests/preference.html', guest=guest)
示例#9
0
def delete_guest(id):
    guest = guest_repository.select(id)
    return render_template('guests/delete.html', guest=guest)
示例#10
0
def edit_guest(id):
    guest = guest_repository.select(id)
    return render_template('guests/edit.html', guest=guest)
def check_in(id):
    reservation = reservation_repository.select(id)
    guest = guest_repository.select(reservation.guest.id)
    rooms = room_repository.select_available()
    stay_length = reservation_repository.stay_length(id)
    return render_template('reservations/checkin.html', reservation=reservation, guest= guest, rooms=rooms, stay_length=stay_length)
def delete_reservation(id):
    reservation = reservation_repository.select(id)
    guest = guest_repository.select(reservation.guest.id)
    return render_template('reservations/delete.html', reservation=reservation, guest= guest)