Skip to content
Snippets Groups Projects
Commit 3d233eb7 authored by Liam Driscoll's avatar Liam Driscoll
Browse files

Merge branch...

Merge branch '13-as-a-moderator-i-want-to-be-able-to-amend-and-remove-existing-locations-spaces-features' into 'development'

Resolve "As a moderator, I want to be able to amend (and remove) existing locations/spaces/features."

Closes #13

See merge request !45
parents 119ae108 a968a5ad
No related branches found
No related tags found
1 merge request!45Resolve "As a moderator, I want to be able to amend (and remove) existing locations/spaces/features."
...@@ -7,6 +7,15 @@ DATABASE = "project_db.db" ...@@ -7,6 +7,15 @@ DATABASE = "project_db.db"
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 returnIndex(): def returnIndex():
...@@ -21,101 +30,119 @@ def returnManageCoworkingSpaces(): ...@@ -21,101 +30,119 @@ def returnManageCoworkingSpaces():
@app.route("/SearchRecord", methods=['POST', 'GET']) @app.route("/SearchRecord", methods=['POST', 'GET'])
def searchRecord(): def searchRecord():
try: if (request.method =='POST'):
recordName = request.form.get('recordName', default="Error") recordName = request.form.get('recordName', default="Error")
conn = sqlite3.connect(DATABASE) print(f"Searching for '{recordName}' in the database.")
cur = conn.cursor()
cur.execute("SELECT * FROM coworking_spaces WHERE Name=?;", [recordName])
recordData = cur.fetchall()
except: try:
print(f"Error: {recordData}") conn = connect_db()
conn.close() cur = conn.cursor()
cur.execute("SELECT * FROM coworking_spaces WHERE Name=?;", [recordName])
recordData = cur.fetchall()
finally: except:
conn.close() print(f"Encountered an error whilst searching for record.")
print(f"{recordData} Record found.")
return (recordData)
# Adds a record to the CSV file. finally:
@app.route("/AddRecord", methods=['POST']) conn.close()
def addRecord():
if not recordData: #If recordData is an empty list...
print(f"'{recordName}' not found.")
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'])
def editRecord():
print('Processing record.') @app.route('/UpdateRecord', methods=['POST'])
infoMessage = ('Add record failed.') def updateRecord():
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)
if __name__ == "__main__": if __name__ == "__main__":
app.run(debug=True) app.run(debug=True)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment