diff --git a/server.py b/server.py index 95b1c131666ac523553ba464ec341b079bd8428a..25ef7ee71f22429ddec102375c2718c152f22c6a 100644 --- a/server.py +++ b/server.py @@ -432,14 +432,14 @@ def lecture(id, course=None, courseid=None): if not checkperm(perms): mode, text = permdescr(perms) if mode == 'rwth': - flash(text+'. <a target="_blank" class="reloadonclose" href="'+url_for('start_rwthauth')+'">Hier authorisieren</a>.') + flash(text+'. <a target="_blank" class="reloadonclose" href="'+url_for('start_rwthauth')+'">Hier authorisieren</a>.', category='player') elif mode == 'l2p': if 'l2p_courses' in session: - flash(text+'. Du bist kein Teilnehmer des L2P-Kurses! <a target="_blank" class="reloadonclose" href="'+url_for('start_l2pauth')+'">Kurse aktualisieren</a>.') + flash(text+'. Du bist kein Teilnehmer des L2P-Kurses! <a target="_blank" class="reloadonclose" href="'+url_for('start_l2pauth')+'">Kurse aktualisieren</a>.', category='player') else: - flash(text+'. <a target="_blank" class="reloadonclose" href="'+url_for('start_l2pauth')+'">Hier authorisieren</a>.') + flash(text+'. <a target="_blank" class="reloadonclose" href="'+url_for('start_l2pauth')+'">Hier authorisieren</a>.', category='player') else: - flash(text+'.') + flash(text+'.', category='player') return render_template('embed.html' if request.endpoint == 'embed' else 'lecture.html', course=courses[0], lecture=lecture, videos=videos, chapters=chapters) diff --git a/templates/base.html b/templates/base.html index d62d543ff99ed819448919da2cb0d7ce8f661fe3..6b5e709e8f85de163c21760bef2e89911a6ac56e 100644 --- a/templates/base.html +++ b/templates/base.html @@ -112,7 +112,7 @@ {% else %} <div class="col-xs-12 col-md-offset-{{ page_border }} col-md-{{ 12-(2*page_border) }}"> {% endif %} - {% for msg in get_flashed_messages() %} + {% for msg in get_flashed_messages(category_filter=["message"]) %} <div class="hidden-print alert alert-danger" role="alert">{{ msg|safe }}</div> {% endfor %} {% for msg in get_announcements(min_announcement_level) if (not request.cookies['alert-info-'+msg.id|string]) %} diff --git a/templates/embed.html b/templates/embed.html index 0871eced2af0004a6edbfd65b2d707322e68c03b..36d3065ad825f84477e71d7e13daa4b955145e28 100644 --- a/templates/embed.html +++ b/templates/embed.html @@ -8,7 +8,7 @@ {% block content %} <div class="row"> <div class="col-xs-12" style="padding: 0px"> - {{ player(lecture, videos) }} + {{ player(lecture, videos, get_flashed_messages()) }} </div> </div> diff --git a/templates/lecture.html b/templates/lecture.html index 71c4b1246b492aa4f2428b77810d66cc55df6841..43fd65eceec27f7ef4592b83673a3d47b2834742 100644 --- a/templates/lecture.html +++ b/templates/lecture.html @@ -34,7 +34,7 @@ </div> <div class="row"> <div class="col-xs-12" style="padding: 0px"> - {{ player(lecture, videos) }} + {{ player(lecture, videos, get_flashed_messages(category_filter=['player'])) }} </div> {% if ismod() %} <div class="col-xs-12" style="padding-top: 10px;"> diff --git a/templates/macros.html b/templates/macros.html index 9395650c02de2d2d6b1bebb617f30b91ff1ed312..63adf26819b6a9edb3a55a63e09fd73f1f324cd4 100644 --- a/templates/macros.html +++ b/templates/macros.html @@ -45,7 +45,7 @@ {% endmacro %} -{% macro player(lecture, videos) %} +{% macro player(lecture, videos, msgs) %} <video id="videoplayer" style="width: 100%" class="video-js vjs-default-skin vjs-big-play-centered" width="640" height="320" controls data-wasnotplayed="1" data-setup='{ "plugins" : {"hotkeys": {"seekStep": 15, "enableVolumeScroll": false, "alwaysCaptureHotkeys": true}, "videoJsResolutionSwitcher": { "ui": true, "default": "720p", "dynamicLabel": true } }, "customControlsOnMobile": true, "playbackRates": [0.5, 0.75, 1, 1.25, 1.5, 1.75, 2, 2.25, 2.5, 2.75, 3, 3.25, 3.5, 3.75, 4] }'> {% for v in videos|sort(attribute='player_prio', reverse=True) %} <source type="{{ v.mimetype }}" src="{{ config.VIDEOPREFIX }}/{{ v.path }}" label="{{ v.format_description }}"/> @@ -89,6 +89,11 @@ $(function() { if (document.hasFocus()) { playerplay(); } + //display errors + {% for msg in msgs %} + videojs("videoplayer").createModal('',{"uncloseable": true }).contentEl().innerHTML='<div class="hidden-print alert alert-danger" role="alert">{{ msg|safe }}</div>'; + + {% endfor %} }); </script> {% endmacro %}