diff --git a/server.py b/server.py index ba24baae948825c7b7bda197f90d755b035ffb36..c484a929120e0eb96555c3ff957b70c3d655f509 100755 --- a/server.py +++ b/server.py @@ -1,3 +1,4 @@ +#!/bin/python from flask import * from functools import wraps @@ -205,5 +206,28 @@ def logout(): else: return redirect(url_for('index')) +@app.route('/edit') +@login_required +def edit(): + tabs = { + 'courses': ('courses_data', 'id', ['visible', 'listed', 'title', 'short', + 'handle', 'organizer', 'subject', 'credits', 'semester', 'downloadable', + 'internal', 'responsible']), + 'lectures': ('lectures_data', 'id', ['visible', 'title', 'comment', + 'internal', 'speaker', 'place', 'time', 'duration', 'jumplist', + 'titlefile']), + 'site_texts': ('site_texts', 'key' ['value']), + 'videos': ('videos_data', 'id', ['visible', 'downloadable', 'title', + 'comment', 'internal']) + } + query('BEGIN TRANSACTION') + for key, val in request.get_json(): + table, column, id = key.split('.', 2) + assert table in tabs + assert column in tabs[table][2] + query('UPDATE %s SET %s = ? WHERE %s = ?'%(tabs[table][0], column, + tabs[table][1]), val, id) + query('COMMIT TRANSACTION') + if __name__ == '__main__': app.run()