From d529997b142feb4892101b90c33856f20f8b356f Mon Sep 17 00:00:00 2001
From: Andreas <andreasv@fsmpi.rwth-aachen.de>
Date: Thu, 13 Apr 2017 14:42:00 +0200
Subject: [PATCH] now displaying errors inside the player, this includes l2p
 auth

---
 server.py              | 8 ++++----
 templates/base.html    | 2 +-
 templates/embed.html   | 2 +-
 templates/lecture.html | 2 +-
 templates/macros.html  | 7 ++++++-
 5 files changed, 13 insertions(+), 8 deletions(-)

diff --git a/server.py b/server.py
index 95b1c13..25ef7ee 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 d62d543..6b5e709 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 0871ece..36d3065 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 71c4b12..43fd65e 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 9395650..63adf26 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 %}
-- 
GitLab