diff --git a/project_server.py b/project_server.py index 1173479f42c1eab611a5a83c287ba0ecbc6a6712..d709010e14e748dbf47d179730473d5c3b694ef5 100644 --- a/project_server.py +++ b/project_server.py @@ -10,27 +10,73 @@ ALLOWED_EXTENSIONS = set(['txt', 'pdf', 'png', 'jpg', 'jpeg', 'gif']) @app.route("/SearchRecord", methods=['POST']) def searchRecord(): - print('Processing search.') - infoMessage = ('Record not found.') - if request.method =='POST': - recordName = request.form.get('recordName', default="Error") + try: + recordName = request.form.get('recordName', default="Error") + conn = sqlite3.connect(DATABASE) + cur = conn.cursor() + cur.execute("SELECT * FROM coworking_spaces WHERE Name=?;", [recordName]) + recordData = cur.fetchall() + except: + print(f"Error: {recordData}") + conn.close() + finally: + conn.close() + print(f"{str(recordData)} Record found.") + return str(recordData) + +# Adds a record to the CSV file. +@app.route("/AddRecord", methods=['POST']) +def addRecord(): + + print('Processing record.') + infoMessage = ('Add record failed.') + + if (request.method == 'POST'): + recordName = request.form['recordName'] + recordAddress = request.form['recordAddress'] + recordMainPhotos = request.form['recordMainPhotos'] + recordAdditionalPhotos = request.form['recordAdditionalPhotos'] + recordDescription = request.form['recordDescription'] + recordWebsite = request.form['recordWebsite'] + recordEmail = request.form['recordEmail'] + recordPhoneNumber = request.form['recordPhoneNumber'] + recordOpeningHours = request.form['recordOpeningHours'] + recordCheckinInstructions = request.form['recordCheckinInstructions'] + recordData = [recordName, recordAddress, recordMainPhotos, recordAdditionalPhotos, recordDescription, recordWebsite, recordEmail, recordPhoneNumber, recordOpeningHours, recordCheckinInstructions] conn = sqlite3.connect(DATABASE) cur = conn.cursor() - cur.execute("SELECT * FROM coworking_spaces WHERE Name=?;", [recordName]) - recordData = cur.fetchall() + cur.execute("INSERT INTO coworking_spaces ('Name', 'Address', 'Main_Photo', 'Additional_Photos', 'Description', 'Website', 'Email', 'Phone_Number', 'Opening_Hours', 'Checkin_Instructions')\ + VALUES (?,?,?,?,?,?,?,?,?,?)", (recordName, recordAddress, recordMainPhotos, recordAdditionalPhotos, recordDescription, recordWebsite, recordEmail, recordPhoneNumber, recordOpeningHours, recordCheckinInstructions)) + conn.commit() conn.close() - infoMessage = (f'{recordData} Record search.') - return str(recordData) + infoMessage = (f'{recordData} Record added.') print(infoMessage) return (infoMessage) -# Adds a record to the CSV file. -@app.route("/AddRecord", methods=['POST']) -def addRecord(): +@app.route("/DeleteRecord", methods=['POST']) +def deleteRecord(): + + if request.method =='POST': + try: + recordName = request.form.get('recordName', default="Error") + conn = sqlite3.connect(DATABASE) + cur = conn.cursor() + cur.execute("DELETE FROM coworking_spaces WHERE Name=?;", [recordName]) + conn.commit() + except: + print(f"Error: {recordData}") + conn.close() + finally: + conn.close() + print("Record deleted.") + return ("Record deleted.") + +@app.route("/EditRecord", methods=['POST']) +def editRecord(): print('Processing record.') infoMessage = ('Add record failed.') @@ -50,12 +96,11 @@ def addRecord(): conn = sqlite3.connect(DATABASE) cur = conn.cursor() - cur.execute("INSERT INTO coworking_spaces ('Name', 'Address', 'Main_Photo', 'Additional_Photos', 'Description', 'Website', 'Email', 'Phone_Number', 'Opening_Hours', 'Checkin_Instructions')\ - VALUES (?,?,?,?,?,?,?,?,?,?)", (recordName, recordAddress, recordMainPhotos, recordAdditionalPhotos, recordDescription, recordWebsite, recordEmail, recordPhoneNumber, recordOpeningHours, recordCheckinInstructions)) + 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.commit() conn.close() - infoMessage = (f'{recordData} Record added.') + infoMessage = (f'{recordData} Record amended.') print(infoMessage) return (infoMessage) diff --git a/static/JS/Manage_Coworking_Spaces.js b/static/JS/Manage_Coworking_Spaces.js index 3028a6889e13c10d865c1926b4fc71c8cdd3d51a..c3efb0f50541ce04eecd8d3f6dde8f3fc20fd81b 100644 --- a/static/JS/Manage_Coworking_Spaces.js +++ b/static/JS/Manage_Coworking_Spaces.js @@ -142,19 +142,10 @@ function deleteRecord(e) { // Assigning form element values to variables. var recordName = document.getElementById("recordName").value; - var recordAddress = document.getElementById("recordAddress").value; - var recordMainPhotos = document.getElementById("recordMainPhotos").value; - var recordAdditionalPhotos = document.getElementById("recordAdditionalPhotos").value; - var recordDescription = document.getElementById("recordDescription").value; - var recordWebsite = document.getElementById("recordWebsite").value; - var recordEmail = document.getElementById("recordEmail").value; - var recordPhoneNumber = document.getElementById("recordPhoneNumber").value; - var recordOpeningHours = document.getElementById("recordOpeningHours").value; - var recordCheckinInstructions = document.getElementById("recordCheckinInstructions").value; // Creating a form data-type to transfer multiple parameters to the server. - var params = 'recordName='+recordName+'&recordAddress='+recordAddress+'&recordMainPhotos='+recordMainPhotos+'&recordAdditionalPhotos='+recordAdditionalPhotos+'&recordDescription='+recordDescription+'&recordWebsite='+recordWebsite+'&recordEmail='+recordEmail+'&recordPhoneNumber='+recordPhoneNumber+'&recordOpeningHours='+recordOpeningHours+'&recordCheckinInstructions='+recordCheckinInstructions; - + var params = 'recordName='+recordName; + var xhttp = new XMLHttpRequest(); xhttp.open("POST", '/DeleteRecord', true); xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");