-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.py
142 lines (98 loc) · 3.91 KB
/
app.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
import os
from flask import Flask, request, render_template, session, redirect, url_for
from lib.database_connection import get_flask_database_connection
from lib.database_connection import DatabaseConnection
from lib.space_repository import SpaceRepository
from lib.user_repository import UserRepository
# Create a new Flask app
app = Flask(__name__)
connection = DatabaseConnection()
connection.connect()
# Seed with some seed data
connection.seed("seeds/makersbnb.sql")
# == Your Routes Here ==
# GET /index
# Returns the homepage
# Try it:
# open http://localhost:5000/index
@app.route('/index', methods=['GET'])
def get_index():
connection = get_flask_database_connection(app)
repository = SpaceRepository(connection)
spaces = repository.all()
return render_template('index.html', spaces=spaces)
@app.route('/register', methods=['GET'])
def new_registration():
return render_template('register.html')
@app.route('/register', methods=['POST'])
def post_register():
connection = get_flask_database_connection(app)
username = request.form("username")
email_address = request.form("email_address")
password = request.form("password")
return render_template('index.html')
@app.route('/login', methods=['GET'])
def get_login():
return render_template('login.html')
@app.route('/login', methods=['POST'])
def post_login():
connection = get_flask_database_connection(app)
username = request.form("username")
password = request.form("password")
return render_template('index.html')
@app.route('/booking-requests', methods=['GET'])
def get_owners_booking_requests():
return render_template('owner_booking_requests.html')
@app.route('/guest-booking-requests', methods=['GET'])
def get_guests_booking_requests():
return render_template('guest_booking_requests.html')
@app.route('/add-a-space', methods=['GET'])
def get_add_a_space():
return render_template('add_a_space.html')
@app.route('/add-a-space', methods=['POST'])
def post_space_added():
connection = get_flask_database_connection(app)
name = request.form("name")
description = request.form("description")
price = request.form("price")
return render_template('index.html')
@app.route('/index/<int:id>', methods=['GET'])
def get_individual_space(id):
connection = get_flask_database_connection(app)
repository = SpaceRepository(connection)
space = repository.find(id)
return render_template('space.html', space=space)
# Root for session
# @app.route('/login', methods=['POST'])
# def post_login():
# connection = get_flask_database_connection(app)
# username = request.form["username"]
# password = request.form["password"]
# user_object = UserRepository.get_user_by_username(username)
# session['logged_in'] = True
# session['username'] = username
# session['user_id'] = user_object.id
# return redirect('/spaces')
# This root we use for to get the list of all spaces on the main page
# @app.route('/index', methods=['GET'])
# def get_list_of__spaces():
# connection = get_flask_database_connection(app)
# repository = SpaceRepository(connection)
# spaces = repository.all()
# return render_template('spaces/index.html', spaces=spaces)
@app.route('/make_a_booking', methods=['GET']) # Liza
def make_a_booking_form():
return render_template('make_a_booking.html')
# POST /make_a_booking
# Handles the submission of a booking request
@app.route('/booking_approvement', methods=['POST']) # Liza
def booking_approvement():
space_name = request.form['space_name']
date = request.form['date']
connection.create_booking_request(space_name, date)
return render_template('booking_approvement.html')
# These lines start the server if you run this file directly
# They also start the server configured to use the test database
# if started in test mode.
if __name__ == '__main__':
app.run(debug=True, port=int(os.environ.get('PORT', 5001)))