From cf2dbd3d9094bd37d8ccc8b2fd4b3614014ee908 Mon Sep 17 00:00:00 2001 From: Julian Rother <julianr@fsmpi.rwth-aachen.de> Date: Thu, 16 Feb 2017 15:33:52 +0100 Subject: [PATCH] Introduce tagid filter to generate proper element ids --- server.py | 11 +++++++++++ templates/courses.html | 6 +++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/server.py b/server.py index d98514e..dd29e09 100644 --- a/server.py +++ b/server.py @@ -272,6 +272,17 @@ def fixnl(s): # To be remove, as soon as db schema is cleaned-up return str(s).replace('\n', '<br>') +@app.template_filter() +def tagid(s): + if not s: + return 'EMPTY' + s = s.replace(' ', '_').lower() + r = '' + for c in s: + if c in string.ascii_lowercase+string.digits+'_': + r = r + c + return r + @app.route('/') @register_navbar('Home', icon='home') def index(): diff --git a/templates/courses.html b/templates/courses.html index b3dc3cf..86a4ab9 100644 --- a/templates/courses.html +++ b/templates/courses.html @@ -34,7 +34,7 @@ function autocollapse() { if($("#xs-check").is(":visible")) { /* Only expand current semester */ - $(".collapse[id!='{{grouped_courses[1].grouper}}']").removeClass('in'); + $(".collapse[id!='{{grouped_courses[1].grouper|tagid}}']").removeClass('in'); } } $(document).ready(autocollapse); @@ -47,7 +47,7 @@ <div class="row panel-group" id="accordion"> <div class="col-xs-12"><div class="panel panel-default"> <div class="panel-heading"> - <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion" href="#{{g.grouper}}" style="color: #222;"> + <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion" href="#{{g.grouper|tagid}}" style="color: #222;"> {% if groupedby == 'semester' %} <h1 class="panel-title">{{g.grouper|semester(long=True)}} ({{g.list|length}} Veranstaltungen)</h1> {% else %} @@ -55,7 +55,7 @@ {% endif %} </a> </div> - <ul class="{% if not ismod() %}courses-list {% endif %}list-group panel-collapse collapse in" id="{{g.grouper}}"> + <ul class="{% if not ismod() %}courses-list {% endif %}list-group panel-collapse collapse in" id="{{g.grouper|tagid}}"> {% for i in g.list|sort(attribute='title') %} {% if groupedby == 'semester' %} {{ course_list_item(i) }} -- GitLab