Skip to content
Snippets Groups Projects
Commit e02ad521 authored by Zainab Almeshari's avatar Zainab Almeshari
Browse files

Merge branch 'development' into '14-as-a-user-i-want-to-view-a-list-of-all-locations-available'

# Conflicts:
#   project_server.py
parents a66ff61b 3d233eb7
No related branches found
No related tags found
3 merge requests!58Resolve "As a user I want to view a list of all locations available",!50ZAINABS work + my basic list locations page and route to help with this issue,!46form, templating, database connection and some CSS updates
...@@ -8,113 +8,142 @@ app.secret_key = "hello" ...@@ -8,113 +8,142 @@ app.secret_key = "hello"
ALLOWED_EXTENSIONS = set(['txt', 'pdf', 'png', 'jpg', 'jpeg', 'gif']) ALLOWED_EXTENSIONS = set(['txt', 'pdf', 'png', 'jpg', 'jpeg', 'gif'])
#Error handling for common database connection.
#Parameter optional. Defaults to DATABASE.
def connect_db(db_file=DATABASE):
conn = None
try:
conn = sqlite3.connect(db_file)
except:
print("Error connecting to database.")
return conn
@app.route("/", methods=['GET']) @app.route("/", methods=['GET'])
def returnTemplate(): def returnIndex():
return render_template("test.html") if (request.method == 'GET'):
return render_template("test.html")
@app.route("/OneLocation", methods=['GET']) @app.route("/Manage_Coworking_Spaces", methods=['GET'])
def OneLocation(): def returnManageCoworkingSpaces():
return render_template("locations.html") if (request.method == 'GET'):
return render_template("Manage_Coworking_Spaces.html")
@app.route("/SearchRecord", methods=['POST', 'GET'])
@app.route("/SearchRecord", methods=['POST'])
def searchRecord(): def searchRecord():
if request.method =='POST': if (request.method =='POST'):
recordName = request.form.get('recordName', default="Error")
print(f"Searching for '{recordName}' in the database.")
try: try:
recordName = request.form.get('recordName', default="Error") conn = connect_db()
conn = sqlite3.connect(DATABASE)
cur = conn.cursor() cur = conn.cursor()
cur.execute("SELECT * FROM coworking_spaces WHERE Name=?;", [recordName]) cur.execute("SELECT * FROM coworking_spaces WHERE Name=?;", [recordName])
recordData = cur.fetchall() recordData = cur.fetchall()
except: except:
print(f"Error: {recordData}") print(f"Encountered an error whilst searching for record.")
conn.close()
finally: finally:
conn.close() conn.close()
print(f"{str(recordData)} Record found.")
return str(recordData)
# Adds a record to the CSV file. if not recordData: #If recordData is an empty list...
@app.route("/AddRecord", methods=['POST']) print(f"'{recordName}' not found.")
def addRecord(): return (f"'{recordName}' not found.")
print('Processing record.') else:
infoMessage = ('Add record failed.') print(f"Found: {recordData}")
return (recordData)
@app.route('/AddRecord', methods=['POST'])
def addRecord():
if (request.method == 'POST'): if (request.method == 'POST'):
recordName = request.form['recordName'] recordName = request.form.get('recordName', default="Error")
recordAddress = request.form['recordAddress'] recordAddress = request.form.get('recordAddress', default="Error")
recordMainPhotos = request.form['recordMainPhotos'] recordMainPhotos = request.form.get('recordMainPhotos', default="Error")
recordAdditionalPhotos = request.form['recordAdditionalPhotos'] recordAdditionalPhotos = request.form.get('recordAdditionalPhotos', default="Error")
recordDescription = request.form['recordDescription'] recordDescription = request.form.get('recordDescription', default="Error")
recordWebsite = request.form['recordWebsite'] recordWebsite = request.form.get('recordWebsite', default="Error")
recordEmail = request.form['recordEmail'] recordEmail = request.form.get('recordEmail', default="Error")
recordPhoneNumber = request.form['recordPhoneNumber'] recordPhoneNumber = request.form.get('recordPhoneNumber', default="Error")
recordOpeningHours = request.form['recordOpeningHours'] recordOpeningHours = request.form.get('recordOpeningHours', default="Error")
recordCheckinInstructions = request.form['recordCheckinInstructions'] recordCheckinInstructions = request.form.get('recordCheckinInstructions', default="Error")
recordData = [recordName, recordAddress, recordMainPhotos, recordAdditionalPhotos, recordDescription, recordWebsite, recordEmail, recordPhoneNumber, recordOpeningHours, recordCheckinInstructions] recordData = [recordName, recordAddress, recordMainPhotos, recordAdditionalPhotos, recordDescription, recordWebsite, recordEmail, recordPhoneNumber, recordOpeningHours, recordCheckinInstructions]
print(f"Adding '{recordName}' to the database.")
conn = sqlite3.connect(DATABASE) try:
cur = conn.cursor() conn = connect_db()
cur.execute("INSERT INTO coworking_spaces ('Name', 'Address', 'Main_Photo', 'Additional_Photos', 'Description', 'Website', 'Email', 'Phone_Number', 'Opening_Hours', 'Checkin_Instructions')\ cur = conn.cursor()
VALUES (?,?,?,?,?,?,?,?,?,?)", (recordName, recordAddress, recordMainPhotos, recordAdditionalPhotos, recordDescription, recordWebsite, recordEmail, recordPhoneNumber, recordOpeningHours, recordCheckinInstructions)) cur.execute("INSERT INTO coworking_spaces ('Name', 'Address', 'Main_Photo', 'Additional_Photos', 'Description', 'Website', 'Email', 'Phone_Number', 'Opening_Hours', 'Checkin_Instructions')\
conn.commit() VALUES (?,?,?,?,?,?,?,?,?,?)", (recordName, recordAddress, recordMainPhotos, recordAdditionalPhotos, recordDescription, recordWebsite, recordEmail, recordPhoneNumber, recordOpeningHours, recordCheckinInstructions))
conn.close() conn.commit()
infoMessage = (f"Added: {recordData}")
infoMessage = (f'{recordData} Record added.') except:
conn.rollback()
infoMessage = (f"Error adding record.")
print(infoMessage) finally:
return (infoMessage) conn.close()
print(infoMessage)
return (infoMessage)
@app.route("/DeleteRecord", methods=['POST']) @app.route('/DeleteRecord', methods=['POST'])
def deleteRecord(): def deleteRecord():
if request.method =='POST': if (request.method =='POST'):
recordName = request.form.get('recordName', default="Error")
print(f"Deleting '{recordName}' from the database.")
try: try:
recordName = request.form.get('recordName', default="Error")
conn = sqlite3.connect(DATABASE) conn = sqlite3.connect(DATABASE)
cur = conn.cursor() cur = conn.cursor()
cur.execute("DELETE FROM coworking_spaces WHERE Name=?;", [recordName]) cur.execute("DELETE FROM coworking_spaces WHERE Name=?;", [recordName])
conn.commit() conn.commit()
infoMessage = (f"Deleted: '{recordName}'.")
except: except:
print(f"Error: {recordData}") conn.rollback()
conn.close() infoMessage = (f"Error deleting record.")
finally: finally:
conn.close() conn.close()
print("Record deleted.") print(infoMessage)
return ("Record deleted.") return (infoMessage)
@app.route("/EditRecord", methods=['POST']) @app.route('/UpdateRecord', methods=['POST'])
def editRecord(): def updateRecord():
print('Processing record.')
infoMessage = ('Add record failed.')
if (request.method == 'POST'): if (request.method == 'POST'):
recordName = request.form['recordName'] recordName = request.form.get('recordName', default="Error")
recordAddress = request.form['recordAddress'] recordAddress = request.form.get('recordAddress', default="Error")
recordMainPhotos = request.form['recordMainPhotos'] recordMainPhotos = request.form.get('recordMainPhotos', default="Error")
recordAdditionalPhotos = request.form['recordAdditionalPhotos'] recordAdditionalPhotos = request.form.get('recordAdditionalPhotos', default="Error")
recordDescription = request.form['recordDescription'] recordDescription = request.form.get('recordDescription', default="Error")
recordWebsite = request.form['recordWebsite'] recordWebsite = request.form.get('recordWebsite', default="Error")
recordEmail = request.form['recordEmail'] recordEmail = request.form.get('recordEmail', default="Error")
recordPhoneNumber = request.form['recordPhoneNumber'] recordPhoneNumber = request.form.get('recordPhoneNumber', default="Error")
recordOpeningHours = request.form['recordOpeningHours'] recordOpeningHours = request.form.get('recordOpeningHours', default="Error")
recordCheckinInstructions = request.form['recordCheckinInstructions'] recordCheckinInstructions = request.form.get('recordCheckinInstructions', default="Error")
recordData = [recordName, recordAddress, recordMainPhotos, recordAdditionalPhotos, recordDescription, recordWebsite, recordEmail, recordPhoneNumber, recordOpeningHours, recordCheckinInstructions] recordData = [recordName, recordAddress, recordMainPhotos, recordAdditionalPhotos, recordDescription, recordWebsite, recordEmail, recordPhoneNumber, recordOpeningHours, recordCheckinInstructions]
print(f"Updating '{recordName}' in the database.")
conn = sqlite3.connect(DATABASE) try:
cur = conn.cursor() conn = sqlite3.connect(DATABASE)
cur.execute("UPDATE coworking_spaces SET 'Name' = ?, 'Address' = ?, 'Main_Photo' = ?, 'Additional_Photos' = ?, 'Description' = ?, 'Website' = ?, 'Email' = ?, 'Phone_Number' = ?, 'Opening_Hours' = ?, 'Checkin_Instructions' = ? WHERE Name=?;", [recordName, recordAddress, recordMainPhotos, recordAdditionalPhotos, recordDescription, recordWebsite, recordEmail, recordPhoneNumber, recordOpeningHours, recordCheckinInstructions, recordName]) cur = conn.cursor()
conn.commit() cur.execute("UPDATE coworking_spaces SET 'Name' = ?, 'Address' = ?, 'Main_Photo' = ?, 'Additional_Photos' = ?, 'Description' = ?, 'Website' = ?, 'Email' = ?, 'Phone_Number' = ?, 'Opening_Hours' = ?, 'Checkin_Instructions' = ? WHERE Name=?;", [recordName, recordAddress, recordMainPhotos, recordAdditionalPhotos, recordDescription, recordWebsite, recordEmail, recordPhoneNumber, recordOpeningHours, recordCheckinInstructions, recordName])
conn.close() conn.commit()
infoMessage = (f"Updated: '{recordName}'.")
infoMessage = (f'{recordData} Record amended.') except:
conn.rollback()
infoMessage = (f"Error updating record.")
print(infoMessage) finally:
return (infoMessage) conn.close()
print(infoMessage)
return (infoMessage)
@app.route("/locations", methods=["POST" , "GET"]) @app.route("/locations", methods=["POST" , "GET"])
def Locations(): def Locations():
......
...@@ -19,6 +19,11 @@ overflow, float, display ...@@ -19,6 +19,11 @@ overflow, float, display
body { body {
margin: 0; margin: 0;
padding: 0; padding: 0;
/* Below styling used for footer position. */
display: flex;
min-height: 100vh;
flex-direction: column;
} }
ul, li { ul, li {
...@@ -48,6 +53,7 @@ a { ...@@ -48,6 +53,7 @@ a {
header #pageHeader header #pageHeader
div #headerDiv div #headerDiv
a #headerText #headerImg
nav #headerNav .navBar nav #headerNav .navBar
ul .Right, ul .Left ul .Right, ul .Left
li a li a
...@@ -71,11 +77,11 @@ header #pageHeader ...@@ -71,11 +77,11 @@ header #pageHeader
#headerText { #headerText {
width: 100%; width: 100%;
margin-left: -220px; margin-left: -240px;
} }
#headerImg { #headerImg {
width: 180px; width: 200px;
height: 65px; height: 65px;
margin-top: -10px; margin-top: -10px;
margin-right: 20px; margin-right: 20px;
...@@ -93,11 +99,6 @@ header #pageHeader ...@@ -93,11 +99,6 @@ header #pageHeader
padding: 7.5px 10px; padding: 7.5px 10px;
} }
#headerNav img {
width: 55px;
height: 20px;
}
/* [#2] Page navigation styling. Used in [#1] and [#4]. */ /* [#2] Page navigation styling. Used in [#1] and [#4]. */
.navBar { .navBar {
...@@ -130,7 +131,10 @@ main #pageMain ...@@ -130,7 +131,10 @@ main #pageMain
*/ */
#pageMain {} #pageMain {
/* Below styling used for footer position. */
flex: 1;
}
#recordForm { #recordForm {
margin-left: 5px; margin-left: 5px;
......
...@@ -22,4 +22,8 @@ body{ ...@@ -22,4 +22,8 @@ body{
font-family: 'Sora', sans-serif; font-family: 'Sora', sans-serif;
background-color: #212529; background-color: #212529;
color: white; color: white;
<<<<<<< HEAD
} }
=======
}
>>>>>>> 9c7255d510762a8f16afeba2657cad4a0f8b8239
...@@ -52,6 +52,17 @@ function searchRecord(e) { ...@@ -52,6 +52,17 @@ function searchRecord(e) {
xhttp.onreadystatechange = function() { xhttp.onreadystatechange = function() {
if (xhttp.readyState === 4 && xhttp.status === 200) { if (xhttp.readyState === 4 && xhttp.status === 200) {
console.log(xhttp.responseText); console.log(xhttp.responseText);
serverResponse = JSON.parse(xhttp.responseText);
document.getElementById("recordName").value = serverResponse[0][0];
document.getElementById("recordAddress").value = serverResponse[0][1];
document.getElementById("recordMainPhotos").value = serverResponse[0][2];
document.getElementById("recordAdditionalPhotos").value = serverResponse[0][3];
document.getElementById("recordDescription").value = serverResponse[0][4];
document.getElementById("recordWebsite").value = serverResponse[0][5];
document.getElementById("recordEmail").value = serverResponse[0][6];
document.getElementById("recordPhoneNumber").value = serverResponse[0][7];
document.getElementById("recordOpeningHours").value = serverResponse[0][8];
document.getElementById("recordCheckinInstructions").value = serverResponse[0][9];
document.getElementById("DEBUGserverMessage").innerHTML = xhttp.responseText; document.getElementById("DEBUGserverMessage").innerHTML = xhttp.responseText;
} else { } else {
console.error(`Status Text: ${xhttp.statusText}.`); console.error(`Status Text: ${xhttp.statusText}.`);
...@@ -61,7 +72,6 @@ function searchRecord(e) { ...@@ -61,7 +72,6 @@ function searchRecord(e) {
xhttp.send(params); xhttp.send(params);
} }
// Adds a record to the database. // Adds a record to the database.
function addRecord(e) { function addRecord(e) {
// Removes the standard form processing. // Removes the standard form processing.
......
<!DOCTYPE html>
<html lang="EN" dir="ltr">
<head>
<meta charSet="UTF-8">
<title> Manage Coworking Spaces </title>
<link rel="stylesheet" href="CSS/Manage_Coworking_Spaces.css">
</head>
<body onLoad="pageLoad()">
<header id="pageHeader" class="pageHeader">
<div id="headerDiv">
<a href="Manage_Coworking_Spaces.html">
<img id="headerImg" class="headerImg"
src="Media/Tramshed-Logo-Main-Black.png"></img></a>
<a id="headerText" class="headerText"
href="Manage_Coworking_Spaces.html">
Manage Coworking Spaces</a>
</div>
<nav id="headerNav" class="navBar">
<ul class="Left">
<li><a href="Manage_Coworking_Spaces.html">
<img id="navImg" class="navImg"
src="Media/Tramshed-Logo-Main-White.png"></img></a></li>
<li><a href="Manage_Coworking_Spaces.html">Home</a></li>
<li><a href="Manage_Coworking_Spaces.html">Locations</a></li>
</ul>
<ul class="Right">
<li><a href="Manage_Coworking_Spaces.html">Manage</a></li>
<li><a href="Manage_Coworking_Spaces.html">Login</a></li>
<li><div class="navHamburger">
<span></span>
<span></span>
<span></span>
</div></li>
</ul>
</nav>
</header>
<main id="pageMain">
<form id="recordForm" title="Record Form">
<label>Name: <input id="recordName" class="formTextInput"
name="record_name" type="text"></label><br>
<label>Address: <input id="recordAddress" class="formTextInput"
name="record_address" type="text"></label><br>
<label>Main Photograph: <input id="recordMainPhotos" class="formTextInput"
name="record_MP" type="text"></label><br>
<label>Additional Photographs: <input id="recordAdditionalPhotos" class="formTextInput"
name="record_AP" type="text"></label><br>
<label>Description: <input id="recordDescription" class="formTextInput"
name="record_description" type="text"></label><br>
<label>Website: <input id="recordWebsite" class="formTextInput"
name="record_website" type="text"></label><br>
<label>Email: <input id="recordEmail" class="formTextInput"
name="record_email" type="text"></label><br>
<label>Phone Number: <input id="recordPhoneNumber" class="formTextInput"
name="record_PN" type="text"></label><br>
<label>Opening Hours: <input id="recordOpeningHours" class="formTextInput"
name="record_OH" type="text"></label><br>
<label>Checkin Instructions: <input id="recordCheckinInstructions" class="formTextInput"
name="record_CI" type="text"></label>
<br><br>
<button id="searchButton" type="submit">Search</button>
<button id="addButton" type="submit">Add</button>
<button id="editButton" type="submit">Edit</button>
<button id="deleteButton" type="submit">Delete</button>
</form>
<br>
<span id="DEBUGserverMessage"> </span>
<br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br>
</main>
<footer id="pageFooter">
<nav id="footerNav" class="navBar">
<ul class="Center">
<li><a href="Manage_Coworking_Spaces.html">Left</a></li>
</ul>
<ul class="Center">
<li><a href="Manage_Coworking_Spaces.html">Center</a></li>
</ul>
<ul class="Center">
<li><a href="Manage_Coworking_Spaces.html">Right</a></li>
</ul>
</nav>
</footer>
<script src="JS/Manage_Coworking_Spaces.js"></script>
</body>
</html>
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
<a class="nav-link" href="locations.html">Coworking locations</a> <a class="nav-link" href="locations.html">Coworking locations</a>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<a class="nav-link" href="Manage_Coworking_Spaces.html">Manage locations</a> <a class="nav-link" href="/Manage_Coworking_Spaces">Manage locations</a>
</li> </li>
</ul> </ul>
</div> </div>
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
<link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Sora:wght@800&display=swap" rel="stylesheet"> <link href="https://fonts.googleapis.com/css2?family=Sora:wght@800&display=swap" rel="stylesheet">
<link rel="stylesheet" href="landingstyle.css"> <link rel="stylesheet" href="CSS/landingstyle.css">
<title>Tramshed Tech</title> <title>Tramshed Tech</title>
<img id="tramshed" src="Media/tramshed.jpg"> <img id="tramshed" src="Media/tramshed.jpg">
<div class="bg-dark p-3"> <div class="bg-dark p-3">
......
...@@ -25,13 +25,21 @@ ...@@ -25,13 +25,21 @@
<form> <form>
<!-- Email input --> <!-- Email input -->
<div class="form-outline mb-4"> <div class="form-outline mb-4">
<<<<<<< HEAD
<input type="email" id="recordEmail" class="form-control" />
=======
<input type="email" id="form2Example1" class="form-control" /> <input type="email" id="form2Example1" class="form-control" />
>>>>>>> 9c7255d510762a8f16afeba2657cad4a0f8b8239
<label class="form-label" for="form2Example1">Email address</label> <label class="form-label" for="form2Example1">Email address</label>
</div> </div>
<!-- Password input --> <!-- Password input -->
<div class="form-outline mb-4"> <div class="form-outline mb-4">
<<<<<<< HEAD
<input type="password" id="recordPassword" class="form-control" />
=======
<input type="password" id="form2Example2" class="form-control" /> <input type="password" id="form2Example2" class="form-control" />
>>>>>>> 9c7255d510762a8f16afeba2657cad4a0f8b8239
<label class="form-label" for="form2Example2">Password</label> <label class="form-label" for="form2Example2">Password</label>
</div> </div>
...@@ -60,4 +68,8 @@ ...@@ -60,4 +68,8 @@
<p>Not a member? <a href="#!">Register</a></p> <p>Not a member? <a href="#!">Register</a></p>
</form> </form>
</body> </body>
<<<<<<< HEAD
</html> </html>
=======
</html>
>>>>>>> 9c7255d510762a8f16afeba2657cad4a0f8b8239
{%extends "base_template.html"%}
{%block headblock%}
<title> Manage Coworking Spaces </title>
{%endblock%}
{%block headerblock%}
<a id="headerText"
href="Manage_Coworking_Spaces">
Manage Coworking Spaces</a>
{%endblock%}
{%block mainblock%}
<form id="recordForm" title="Record Form">
<label>Name: <input id="recordName" class="formTextInput"
name="record_name" type="text"></label>
<button id="searchButton" type="submit">Search</button><br>
<label>Address: <input id="recordAddress" class="formTextInput"
name="record_address" type="text"></label><br>
<label>Main Photograph: <input id="recordMainPhotos" class="formTextInput"
name="record_MP" type="url"></label><br>
<label>Additional Photographs: <input id="recordAdditionalPhotos" class="formTextInput"
name="record_AP" type="url"></label><br>
<label>Description: <input id="recordDescription" class="formTextInput"
name="record_description" type="text"></label><br>
<label>Website: <input id="recordWebsite" class="formTextInput"
name="record_website" type="url"></label><br>
<label>Email: <input id="recordEmail" class="formTextInput"
name="record_email" type="email"></label><br>
<label>Phone Number: <input id="recordPhoneNumber" class="formTextInput"
name="record_PN" type="text"></label><br>
<label>Opening Hours: <input id="recordOpeningHours" class="formTextInput"
name="record_OH" type="text"></label><br>
<label>Checkin Instructions: <input id="recordCheckinInstructions" class="formTextInput"
name="record_CI" type="text"></label>
<br><br>
<button id="addButton" type="submit">Add</button>
<button id="editButton" type="submit">Edit</button>
<button id="deleteButton" type="submit">Delete</button>
<button id="clearButton" type="reset">Clear</button>
</form>
<br>
<span id="DEBUGserverMessage"> </span>
{%endblock%}
{%block jsblock%}
/static/JS/Manage_Coworking_Spaces.js
{%endblock%}
...@@ -2,9 +2,9 @@ ...@@ -2,9 +2,9 @@
<html lang="EN" dir="ltr"> <html lang="EN" dir="ltr">
<head> <head>
<meta charSet="UTF-8"> <meta charSet="UTF-8">
<title> Manage Coworking Spaces </title> {%block headblock%}
{%endblock%}
<link rel="stylesheet" href="/static/CSS/Manage_Coworking_Spaces.css"> <link rel="stylesheet" href="/static/CSS/Manage_Coworking_Spaces.css">
</head> </head>
<body onLoad="pageLoad()"> <body onLoad="pageLoad()">
...@@ -12,22 +12,18 @@ ...@@ -12,22 +12,18 @@
<div id="headerDiv"> <div id="headerDiv">
<a href="Manage_Coworking_Spaces.html"> <a href="Manage_Coworking_Spaces.html">
<img id="headerImg" class="headerImg" <img id="headerImg" class="headerImg"
src="Media/Tramshed-Logo-Main-Black.png"></img></a> src="/static/Media/Tramshed-Logo-Main-Black.png"></img></a>
<a id="headerText" class="headerText" {%block headerblock%}
href="Manage_Coworking_Spaces.html"> {%endblock%}
Manage Coworking Spaces</a>
</div> </div>
<nav id="headerNav" class="navBar"> <nav id="headerNav" class="navBar">
<ul class="Left"> <ul class="Left">
<li><a href="Manage_Coworking_Spaces.html"> <li><a href="/static/landingpage.html">Home</a></li>
<img id="navImg" class="navImg" <li><a href="/static/locations.html">Locations</a></li>
src="Media/Tramshed-Logo-Main-White.png"></img></a></li>
<li><a href="Manage_Coworking_Spaces.html">Home</a></li>
<li><a href="Manage_Coworking_Spaces.html">Locations</a></li>
</ul> </ul>
<ul class="Right"> <ul class="Right">
<li><a href="Manage_Coworking_Spaces.html">Manage</a></li> <li><a href="Manage_Coworking_Spaces">Manage</a></li>
<li><a href="Manage_Coworking_Spaces.html">Login</a></li> <li><a href="/static/login.html">Login</a></li>
<li><div class="navHamburger"> <li><div class="navHamburger">
<span></span> <span></span>
<span></span> <span></span>
...@@ -38,7 +34,6 @@ ...@@ -38,7 +34,6 @@
</header> </header>
<main id="pageMain"> <main id="pageMain">
<br><br>
{%block mainblock%} {%block mainblock%}
{%endblock%} {%endblock%}
</main> </main>
...@@ -46,17 +41,17 @@ ...@@ -46,17 +41,17 @@
<footer id="pageFooter"> <footer id="pageFooter">
<nav id="footerNav" class="navBar"> <nav id="footerNav" class="navBar">
<ul class="Center"> <ul class="Center">
<li><a href="Manage_Coworking_Spaces.html">Left</a></li> <li><a href="Manage_Coworking_Spaces">Left</a></li>
</ul> </ul>
<ul class="Center"> <ul class="Center">
<li><a href="Manage_Coworking_Spaces.html">Center</a></li> <li><a href="Manage_Coworking_Spaces">Center</a></li>
</ul> </ul>
<ul class="Center"> <ul class="Center">
<li><a href="Manage_Coworking_Spaces.html">Right</a></li> <li><a href="Manage_Coworking_Spaces">Right</a></li>
</ul> </ul>
</nav> </nav>
</footer> </footer>
<script src="/static/JS/Manage_Coworking_Spaces.js"></script> <script src="{%block jsblock%}{%endblock%}"></script>
</body> </body>
</html> </html>
import os
import sqlite3
from flask import Flask, redirect, request, render_template, jsonify
app = Flask(__name__)
DATABASE = "login.db"
ALLOWED_EXTENSIONS = set(['txt', 'pdf', 'png', 'jpg', 'jpeg', 'gif'])
@app.route("/SearchRecord", methods=['POST'])
def searchRecord():
if request.method =='POST':
try:
recordEmail = request.form.get('recordEmail', default="Error")
conn = sqlite3.connect(DATABASE)
cur = conn.cursor()
cur.execute("SELECT * FROM login WHERE Email=?;", [recordEmail])
recordData = cur.fetchall()
except:
print(f"Error: {recordData}")
conn.close()
finally:
conn.close()
print(f"{str(recordData)} Record found.")
return str(recordData)
@app.route("/AddRecord", methods=['POST'])
def addRecord():
if (request.method == 'POST'):
recordEmail = request.form['recordEmail']
recordPassword = request.form['recordPassword']
conn = sqlite3.connect(DATABASE)
cur = conn.cursor()
cur.execute("INSERT INTO login ('Email', 'Password')\
VALUES (?,?)", (recordEmail, recordPassword))
conn.commit()
conn.close()
infoMessage = (f'{recordData} Record added.')
print(infoMessage)
return (infoMessage)
if __name__ == "__main__":
app.run(debug=True)
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment