diff --git a/server.py b/server.py index e505995385ad82812e0a3e834beadcf01a45faac..c62aaf41fe5d7bc2074c5c6190ff0f4b51227b0c 100644 --- a/server.py +++ b/server.py @@ -561,10 +561,18 @@ def auth(): # For use with nginx auth_request @register_navbar('Changelog', icon='book') @mod_required def changelog(): - changelog = query('SELECT * FROM changelog LEFT JOIN users ON (changelog.who = users.id) ORDER BY `when` DESC LIMIT 50') + if 'page' in request.args: + page = max(0, int(request.args['page'])) + else: + page = 0 + if 'pagesize' in request.args: + pagesize = min(500, int(request.args['pagesize'])) + else: + pagesize = 50 + changelog = query('SELECT * FROM changelog LEFT JOIN users ON (changelog.who = users.id) ORDER BY `when` DESC LIMIT ? OFFSET ?',pagesize,page*pagesize) for entry in changelog: entry['path'] = '.'.join([entry['table'], entry['id_value'], entry['field']]) - return render_template('changelog.html', changelog=changelog) + return render_template('changelog.html', changelog=changelog, page=page, pagesize=pagesize) @app.route('/files/<filename>') def files(filename): diff --git a/templates/changelog.html b/templates/changelog.html index 0e6066f20addf5b52a6a4c5c6c9660f580c6f9de..4d0a8232b9f68126b32dee7aa7bf357e815c3c13 100644 --- a/templates/changelog.html +++ b/templates/changelog.html @@ -8,6 +8,10 @@ </div> <div class="panel-body"> <p>Hier werden alle Änderungen an Kursen/Veranstaltungen/Videos etc. geloggt und können Rückgängig gemacht werden.</p> + <div style="margin-top: 10px;" class="col-xs-12"> + <a href="{{url_for('changelog', page=page-1) }}" class="pull-left btn btn-default">{{ "<<" }}</a> + <a href="{{url_for('changelog', page=page+1) }}" class="pull-right btn btn-default">{{ ">>" }}</a> + </div> </div> <div class="table-responsive"> <table class="table table-condensed">