From a0a090b5c0bd0644e31b86278bec9720d053f553 Mon Sep 17 00:00:00 2001 From: Davide Bongiovanni Date: Sun, 11 Nov 2018 17:14:40 +0100 Subject: [PATCH 1/2] Server returns id of added/modified part. Removed authentication for now. --- parts/server.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/parts/server.py b/parts/server.py index da10af1..e85688a 100644 --- a/parts/server.py +++ b/parts/server.py @@ -183,10 +183,11 @@ def getfile(filename): def alter(partID): partID = int(partID) s = '' + r = {} if partID < 0: # New entry s = 'insert into parts (partno, description, datasheet, location_id) ' - s += 'values (:partno, :description, :datasheet, :location_id);' + s += 'values (:partno, :description, :datasheet, :location_id) returning id;' s = text(s) if len(request.files) != 0: datasheet_file = request.files['datasheet-file'] @@ -223,17 +224,20 @@ def alter(partID): os.remove('/srv/datasheets/' + l[0]['datasheet']) else: datasheet_filename = l[0]['datasheet'] - s += 'where id=:id;' + s += 'where id=:id returning id;' s = text(s) r = db_engine.execute(s, partno=request.form['partno'], description=request.form['description'], datasheet=datasheet_filename, location_id=request.form['location_id'], id=partID) - return '{"status":"ok"}' + + new_id = r.fetchone()[0] + r.close() + return '{"status":"ok", "part_id" : ' + str(new_id) + '}' @app.route('/parts/delete/') -@requires_auth +# @requires_auth def delete(partID): if partID < 0: abort(400) From 20db75a8d733776a4bf4ec503300fff8171a409b Mon Sep 17 00:00:00 2001 From: Davide Bongiovanni Date: Sun, 11 Nov 2018 17:15:22 +0100 Subject: [PATCH 2/2] Populating paragraphs on end edit. Can't add a bunch of stuff now. --- parts/static/script.js | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/parts/static/script.js b/parts/static/script.js index 0a1c71a..23a5f42 100644 --- a/parts/static/script.js +++ b/parts/static/script.js @@ -29,12 +29,16 @@ function new_entry() { } function end_edit() { + + $('table#details tr#location td p').text($('table#details tr#location td select option:checked').val()); $('table#details tr#location td p').show(); $('table#details tr#location td select').hide(); + $('table#details tr#partno td p').text($('table#details tr#partno td input').val()); $('table#details tr#partno td p').show(); $('table#details tr#partno td input').hide(); + $('table#details tr#description td p').text($('table#details tr#description td input').val()); $('table#details tr#description td p').show(); $('table#details tr#description td input').hide(); @@ -118,7 +122,10 @@ function save(partID) { processData: false, success: function(data) { var datasheet_par = '

'; - $('#datasheet-info').replaceWith(datasheet_par); + $('#datasheet-info').replaceWith(datasheet_par); // Fix addressing + $('#edit-button').click(function() { + init_edit(JSON.parse(data).part_id); + }); }, error: function() { alert("Couldn't update the part information. Please retry."); @@ -127,9 +134,6 @@ function save(partID) { }); end_edit(); - $('#edit-button').click(function() { - init_edit(partID); - }); } function text_filter(string) {