diff --git a/server.py b/server.py index 08ba7574c5e4a15b520b690e4d66558ec1fcc530..8c7a23e602f4a09bb972bed64fd84f4bc5ce1cd0 100755 --- a/server.py +++ b/server.py @@ -219,13 +219,13 @@ def logout(): @app.route('/edit', methods=['GET', 'POST']) @mod_required def edit(prefix="", ignore=[]): + # All editable tables are expected to have a 'time_updated' field tabs = { 'courses': ('courses_data', 'id', ['visible', 'listed', 'title', 'short', 'handle', 'organizer', 'subject', 'semester', 'downloadable', 'internal', 'responsible','deleted']), 'lectures': ('lectures_data', 'id', ['visible', 'title', 'comment', 'internal', 'speaker', 'place', 'time', 'duration', 'jumplist','deleted']), - 'site_texts': ('site_texts', 'key', ['value']), 'videos': ('videos_data', 'id', ['visible','deleted']), 'chapters': ('chapters', 'id', ['time', 'text', 'visible', 'deleted']) } @@ -242,7 +242,7 @@ def edit(prefix="", ignore=[]): assert table in tabs assert column in tabs[table][2] query('INSERT INTO changelog ("table",id_value,id_key,field,value_new,value_old,"when",who,executed) VALUES (?,?,?,?,?,(SELECT %s FROM %s WHERE %s = ?),?,?,1)'%(column,tabs[table][0],tabs[table][1]),table,id,tabs[table][1],column,val,id,datetime.now(),session['user']['givenName']) - query('UPDATE %s SET %s = ? WHERE %s = ?'%(tabs[table][0], column,tabs[table][1]), val, id) + query('UPDATE %s SET %s = ?, time_updated = ? WHERE %s = ?'%(tabs[table][0], column, tabs[table][1]), val, datetime.now(), id) query('COMMIT') return "OK", 200