diff --git a/server.py b/server.py index 91add2c26fc11eca021086cedd09a303eea1d8c3..23226f11fd234bc24d85382616e87e449d72dfbd 100644 --- a/server.py +++ b/server.py @@ -70,7 +70,6 @@ def mod_required(func): return decorator app.jinja_env.globals['navbar'] = [] -app.jinja_env.globals['acls'] = [] # iconlib can be 'bootstrap' # ( see: http://getbootstrap.com/components/#glyphicons ) # or 'fa' diff --git a/static/moderator.js b/static/moderator.js index 9dc8fe8c01392c24d191e9d9bd83b84d6b22e6d7..af6a7d9fee86a51f6f363d88129ba2ebb693d82d 100644 --- a/static/moderator.js +++ b/static/moderator.js @@ -163,11 +163,9 @@ var moderatorinterface = { setacls: function(value) { var idlist = []; for (i in value) { - for (j in value[i]) { - if (idlist.indexOf(value[i][j]['auth_id']) == -1) { - idlist[idlist.length] = value[i][j]['auth_id']; - moderatorinterface.acls[moderatorinterface.acls.length] = value[i][j]; - } + if (idlist.indexOf(value[i]['auth_id']) == -1) { + idlist[idlist.length] = value[i]['auth_id']; + moderatorinterface.acls[moderatorinterface.acls.length] = value[i]; } } } diff --git a/templates/base.html b/templates/base.html index 718965cc13bc11a20a8ef7a9dde42e6d530c9bf1..7456c33d621db29aca1c98cf8c8996e7b826138d 100644 --- a/templates/base.html +++ b/templates/base.html @@ -1,4 +1,5 @@ {% set page_border = page_border|default(1) %} +{% set global_acls = [] %} {% set min_announcement_level = min_announcement_level|default(1) %} {% set levels = {0: ('info', 'Nur auf Hauptseite sichtbar'), 1: ('info', 'Überall sichtbar (Hinweis)'), 2: ('warning', 'Überall sichtbar (Warnung)'), 3: ('danger', 'Überall sichtbar (Wichtig)')} %} {% from 'macros.html' import valueeditor, valuecheckbox, valuedeletebtn %} @@ -141,7 +142,7 @@ </body> {% if ismod() %} <script> - moderatorinterface.setacls({{acls|tojson|safe}}) + moderatorinterface.setacls({{global_acls|tojson|safe}}) </script> {% endif %} </html> diff --git a/templates/course.html b/templates/course.html index d7ab92605378a342e790e7fdfeb907b3bb50d014..ac4c5d6440806d4bb442821cd489cb7d7614df30 100644 --- a/templates/course.html +++ b/templates/course.html @@ -12,7 +12,7 @@ <h1 class="panel-title">{{ valueeditor(['courses',course.id,'title'], course.title)}} <ul class="pull-right list-inline"> <li>{{ valuedeletebtn(['courses',course.id,'deleted']) }}</li> - <li>{{ editacl('course',course.id,course.auth) }}</li> + <li>{{ editacl('course',course.id,course.auth, global_acls) }}</li> </ul> </h1> </div> @@ -49,7 +49,7 @@ </div> <ul class="list-group lectureslist"> {% for l in lectures %} - {{ lecture_list_item(l,videos|selectattr('lecture_id','equalto',l.id)|list) }} + {{ lecture_list_item(l,videos|selectattr('lecture_id','equalto',l.id)|list,global_acls)}} {% endfor %} </ul> </div> diff --git a/templates/macros.html b/templates/macros.html index 701a52a79add13d885adcc6c07580bf99c58c3c4..54215f9ab7f93d3cca9932bce3fdff5c40eb0841 100644 --- a/templates/macros.html +++ b/templates/macros.html @@ -113,7 +113,7 @@ $('#embedcodebtn').popover( </script> {% endmacro %} -{% macro lecture_list_item(lecture,videos) %} +{% macro lecture_list_item(lecture,videosi,global_acls) %} <li class="list-group-item" id="lecture-{{lecture.id}}"> <div class="row"> <img class="col-sm-2 col-xs-12"src="{{ config.VIDEOPREFIX }}/{{lecture.titlefile}}" alt="Vorschaubild" onerror="this.src='{{url_for('static',filename='no-thumbnail.png')}}'; this.onerror=''; "> @@ -152,7 +152,7 @@ $('#embedcodebtn').popover( {{ valuedeletebtn(['lectures',lecture.id,'deleted']) }} </li> <li> - {{ editacl('lecture', lecture.id, lecture.auth) }} + {{ editacl('lecture', lecture.id, lecture.auth, global_acls) }} </li> </ul> </div> @@ -182,8 +182,8 @@ $('#embedcodebtn').popover( {% endif %} {% endmacro %} -{% macro editacl(type,id,acl) %} - {{ acls.append(acl) }} +{% macro editacl(type,id,acl,global_acls) %} + {% set tmp = global_acls.extend(acl) %} {% if (not acl) %} {% if ismod() %} <button class="btn btn-default modeditacl" data-type="{{ type }}" data-id="{{ id }}">