diff --git a/server.py b/server.py index 4fb51b255706d57c63849eea562a3a24609f6887..a09e9d2e0f671d294c6ff1779358a8fa365ac09d 100755 --- a/server.py +++ b/server.py @@ -1,5 +1,5 @@ #!/bin/python -from flask import Flask, render_template, g, request, url_for, redirect, session +from flask import * import sqlite3 import os import re @@ -172,6 +172,8 @@ def login(): user, groups = ldapauth(request.form.get('user'), request.form.get('password')) if user and 'users' in groups: session['user'] = ldapget(user) + else: + flash('Login fehlgeschlagen!') if 'ref' in request.values: return redirect(request.values['ref']) else: diff --git a/templates/base.html b/templates/base.html index 20fc5e05aabd4ba386b6e01e3b146e17d6363788..03d2ad1550927f7c787564d91781c016a8470dfb 100644 --- a/templates/base.html +++ b/templates/base.html @@ -93,9 +93,14 @@ </div> </div> </nav> - {% block content %} - <h1>This is a Heading</h1> - <p>This is a paragraph.</p> - {% endblock %} + <div class="container-fluid"> + {% for msg in get_flashed_messages() %} + <div class="row"><div class="alert alert-danger col-xs-12" role="alert">{{ msg }}</div></div> + {% endfor %} + {% block content %} + <h1>This is a Heading</h1> + <p>This is a paragraph.</p> + {% endblock %} + </div> </body> </html> diff --git a/templates/course.html b/templates/course.html index 306f6f20fc3a418d3995c649e1f5f2a720097578..d69eb81205eba77a58554451c690aa54aae0bf88 100644 --- a/templates/course.html +++ b/templates/course.html @@ -2,18 +2,16 @@ {% from 'macros.html' import preview %} {% extends "base.html" %} {% block content %} -<div class="container-fluid"> - <div class="col-xs-offset-1 col-xs-10"> - <div class="panel panel-default"> - <div class="panel-heading"> - <h1 class="panel-title">Veranstaltungen</h1> - </div> - <ul class="list-group lectureslist"> - {% for l in lectures %} - {{ lecture_list_item(l,videos|selectattr('lecture_id','equalto',l.id)|list) }} - {% endfor %} - </ul> +<div class="col-xs-offset-1 col-xs-10"> + <div class="panel panel-default"> + <div class="panel-heading"> + <h1 class="panel-title">Veranstaltungen</h1> </div> + <ul class="list-group lectureslist"> + {% for l in lectures %} + {{ lecture_list_item(l,videos|selectattr('lecture_id','equalto',l.id)|list) }} + {% endfor %} + </ul> </div> </div> {% endblock %} diff --git a/templates/faq.html b/templates/faq.html index 924624500fb42f36f8828391b2425464216b36e7..ee7582c38ae06b7f1cfa95fe00dd5e3e85ede1db 100644 --- a/templates/faq.html +++ b/templates/faq.html @@ -2,55 +2,53 @@ {% extends "base.html" %} {% set active_page = "faq" %} {% block content %} -<div class="container"> - <br /> - <br /> - <br /> - - <div class="alert alert-warning alert-dismissible" role="alert" id="kontakt"> - Unter <a href="mailto:video@fsmpi.rwth-aachen.de">video@fsmpi.rwth-aachen.de</a> stehen wir für alle Fragen bereit. - </div> +<div class="row"> + <div class="col-xs-10 col-xs-offset-1"> + <div class="alert alert-warning alert-dismissible" role="alert" id="kontakt"> + Unter <a href="mailto:video@fsmpi.rwth-aachen.de">video@fsmpi.rwth-aachen.de</a> stehen wir für alle Fragen bereit. + </div> - <br /> + <br/> - <div class="panel-group" id="accordion"> - <div class="faqHeader">Allgemein</div> - <div class="panel panel-default"> - <div class="panel-heading"> - <h4 class="panel-title"> - <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion" href="#speed">Der Download ist zu langsam.</a> - </h4> - </div> - <div id="speed" class="panel-collapse collapse in"> - <div class="panel-body"> - <p>Wir beschränken die Downloadgeschwindigkeit nicht! Eventuell hast du im Uninetz eine bessere Anbindung.</p> - <p>Falls du unbedingt einen <strong>Download-Manager</strong> benutzen willst/musst, stelle diesen bitte so ein, dass er maximal <strong>5 gleichzeitige Verbindungen</strong> (oder auch weniger) zu unserem Videoserver benutzt.</p> - <p>Unser Server hat keine (nein, absolut keine!) Bandbreitenbegrenzung, also bekommst du schon für einen einzigen Download die volle Geschwindigkeit und wirst selbst mit solchen Programmen keine schnelleren Downloads erfahren. Zu viele Verbindungen sorgen nur für exzessive Systemlast und damit langsamere Downloads für alle, dich eingeschlossen.</p> + <div class="panel-group" id="accordion"> + <div class="faqHeader">Allgemein</div> + <div class="panel panel-default"> + <div class="panel-heading"> + <h4 class="panel-title"> + <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion" href="#speed">Der Download ist zu langsam.</a> + </h4> </div> - </div> - </div> - <div class="faqHeader">Abspielprobleme</div> - <div class="panel panel-default"> - <div class="panel-heading"> - <h4 class="panel-title"> - <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion" href="#playbackfile">Ich kann ein heruntergeladenes Video nicht abspielen.</a> - </h4> - </div> - <div id="playbackfile" class="panel-collapse collapse"> - <div class="panel-body"> - <p>Ein beliebter Videoplayer ist VLC, denn er kann so ziemlich alle üblichen Audio- und Videoformate abspielen. VLC gibt es unter <a href="https://www.videolan.org">https://www.videolan.org</a> zum Download.</p> + <div id="speed" class="panel-collapse collapse in"> + <div class="panel-body"> + <p>Wir beschränken die Downloadgeschwindigkeit nicht! Eventuell hast du im Uninetz eine bessere Anbindung.</p> + <p>Falls du unbedingt einen <strong>Download-Manager</strong> benutzen willst/musst, stelle diesen bitte so ein, dass er maximal <strong>5 gleichzeitige Verbindungen</strong> (oder auch weniger) zu unserem Videoserver benutzt.</p> + <p>Unser Server hat keine (nein, absolut keine!) Bandbreitenbegrenzung, also bekommst du schon für einen einzigen Download die volle Geschwindigkeit und wirst selbst mit solchen Programmen keine schnelleren Downloads erfahren. Zu viele Verbindungen sorgen nur für exzessive Systemlast und damit langsamere Downloads für alle, dich eingeschlossen.</p> + </div> </div> </div> - </div> - <div class="faqHeader">Technisches</div> - <div class="panel panel-default"> - <div class="panel-heading"> - <h4 class="panel-title"> - <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion" href="#encoding">Wie encoded ihr eurere Videos?</a> - </h4> + <div class="faqHeader">Abspielprobleme</div> + <div class="panel panel-default"> + <div class="panel-heading"> + <h4 class="panel-title"> + <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion" href="#playbackfile">Ich kann ein heruntergeladenes Video nicht abspielen.</a> + </h4> + </div> + <div id="playbackfile" class="panel-collapse collapse"> + <div class="panel-body"> + <p>Ein beliebter Videoplayer ist VLC, denn er kann so ziemlich alle üblichen Audio- und Videoformate abspielen. VLC gibt es unter <a href="https://www.videolan.org">https://www.videolan.org</a> zum Download.</p> + </div> + </div> </div> - <div id="encoding" class="panel-collapse collapse"> - <div class="panel-body"> + <div class="faqHeader">Technisches</div> + <div class="panel panel-default"> + <div class="panel-heading"> + <h4 class="panel-title"> + <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion" href="#encoding">Wie encoded ihr eurere Videos?</a> + </h4> + </div> + <div id="encoding" class="panel-collapse collapse"> + <div class="panel-body"> + </div> </div> </div> </div> diff --git a/templates/index.html b/templates/index.html index c0df98cc3d683ced3fa60f877e2052bc0c5cf77e..d15fe0327980cb475172f1de69314907f19c9c33 100644 --- a/templates/index.html +++ b/templates/index.html @@ -2,44 +2,42 @@ {% extends "base.html" %} {% set active_page = "index" %} {% block content %} -<div class="container-fluid"> - <div class="row"> - <div class="col-md-6 panel-group"> - <div class="panel panel-default"> - <div class="panel-heading"> - <h1 class="panel-title">Video AG</h1> - </div> - <div class="panel-body"> - <p>Wir machen Vorlesungsvideos, damit du dir deine Vorlesungen angucken kannst, wann, wo und so oft <strong>du</strong> willst ;)</p> - <p><strong>Probleme?</strong><a href="/faq"> Hier gehts zur FAQ</a></p> - <p>Wenn du die Videos nützlich fandest, schreib doch bitte den Dozenten eine kurze E-Mail. Waren die Videos grauenhaft? Kritik an uns.</p> - <p>Wenn du mitmachen willst, Fragen oder Anregungen hast, oder nur mal schauen möchtest, komm zu unserem AG-Treffen oder schreib uns eine E-Mail. - Insbesondere freuen wir uns über Studis der Mathematik und Physik, die ihre Vorlesungen filmen wollen.</p> - <p>Die nächste Sitzung der AG findet am <strong>10.08.2016 ab 18:00 Uhr in den Räumlichkeiten der Fachschaft im Augustinerbach 2a, 1. Obergeschoss</strong> statt. - </p> - </div> +<div class="row"> + <div class="col-md-6 panel-group"> + <div class="panel panel-default"> + <div class="panel-heading"> + <h1 class="panel-title">Video AG</h1> </div> - <div class="panel panel-default"> - <div class="panel-heading"> - <h1 class="panel-title">Featured</h1> - </div> - <div class="panel-body"> - <h1 class="panel-title">Collegium Musicum</h1 class="panel-title"> - <img style="width:100%" src="http://www.cm.rwth-aachen.de/typo3/typo3temp/pics/c1d685f56a.jpg"> - </div> + <div class="panel-body"> + <p>Wir machen Vorlesungsvideos, damit du dir deine Vorlesungen angucken kannst, wann, wo und so oft <strong>du</strong> willst ;)</p> + <p><strong>Probleme?</strong><a href="/faq"> Hier gehts zur FAQ</a></p> + <p>Wenn du die Videos nützlich fandest, schreib doch bitte den Dozenten eine kurze E-Mail. Waren die Videos grauenhaft? Kritik an uns.</p> + <p>Wenn du mitmachen willst, Fragen oder Anregungen hast, oder nur mal schauen möchtest, komm zu unserem AG-Treffen oder schreib uns eine E-Mail. + Insbesondere freuen wir uns über Studis der Mathematik und Physik, die ihre Vorlesungen filmen wollen.</p> + <p>Die nächste Sitzung der AG findet am <strong>10.08.2016 ab 18:00 Uhr in den Räumlichkeiten der Fachschaft im Augustinerbach 2a, 1. Obergeschoss</strong> statt. + </p> </div> </div> - <div class="col-md-6"> - <div class="panel panel-default"> - <div class="panel-heading"> - <h1 class="panel-title">Neueste Videos</h1"> - </div> - <ul class="list-group videopreview"> - {% for i in latestvideos %} - {{ preview(i) }} - {% endfor %} - </ul> + <div class="panel panel-default"> + <div class="panel-heading"> + <h1 class="panel-title">Featured</h1> </div> + <div class="panel-body"> + <h1 class="panel-title">Collegium Musicum</h1 class="panel-title"> + <img style="width:100%" src="http://www.cm.rwth-aachen.de/typo3/typo3temp/pics/c1d685f56a.jpg"> + </div> + </div> + </div> + <div class="col-md-6"> + <div class="panel panel-default"> + <div class="panel-heading"> + <h1 class="panel-title">Neueste Videos</h1"> + </div> + <ul class="list-group videopreview"> + {% for i in latestvideos %} + {{ preview(i) }} + {% endfor %} + </ul> </div> </div> </div> diff --git a/templates/play.html b/templates/play.html index abb983f99e49076b5a8c93f1c2e2e22062a21dcc..1cc1086d01bd907be76dd320c8e9c5126d209d8d 100644 --- a/templates/play.html +++ b/templates/play.html @@ -1,7 +1,5 @@ {% from 'macros.html' import player %} {% extends "base.html" %} {% block content %} -<div> - {{ player(lecture, videos) }} -</div> +{{ player(lecture, videos) }} {% endblock %} diff --git a/templates/search.html b/templates/search.html index 581294f15048b4cdebbe6c8206c307c151040940..d2df7454118c6418d1f85824c82e25bf4a4f5bf6 100644 --- a/templates/search.html +++ b/templates/search.html @@ -2,37 +2,35 @@ {% from 'macros.html' import preview %} {% extends "base.html" %} {% block content %} -<div class="container-fluid"> - <div class="col-xs-offset-1 col-xs-10"> - <div class="panel panel-default"> - <div class="panel-heading"> - <h1 class="panel-title">Veranstaltungen</h1> - </div> - {% if courses == [] %} - <div class="panel-body">Nichts gefunden!</div> - {% else %} - <ul class="list-group courselist"> - {% for course in courses %} - {{ course_list_item(course,true) }} - {% endfor %} - </ul> - {% endif %} +<div class="col-xs-offset-1 col-xs-10"> + <div class="panel panel-default"> + <div class="panel-heading"> + <h1 class="panel-title">Veranstaltungen</h1> </div> - <div class="panel panel-default"> - <div class="panel-heading"> - <h1 class="panel-title">Videos</h1> - </div> - <div class="panel-body"> - {% if lectures == [] %} - Nichts gefunden! - {% else %} - <ul class="list-group videopreview"> - {% for lecture in lectures %} - {{ preview(lecture) }} + {% if courses == [] %} + <div class="panel-body">Nichts gefunden!</div> + {% else %} + <ul class="list-group courselist"> + {% for course in courses %} + {{ course_list_item(course,true) }} {% endfor %} - </ul> - {% endif %} - </div> + </ul> + {% endif %} + </div> + <div class="panel panel-default"> + <div class="panel-heading"> + <h1 class="panel-title">Videos</h1> + </div> + <div class="panel-body"> + {% if lectures == [] %} + Nichts gefunden! + {% else %} + <ul class="list-group videopreview"> + {% for lecture in lectures %} + {{ preview(lecture) }} + {% endfor %} + </ul> + {% endif %} </div> </div> </div> diff --git a/templates/videos.html b/templates/videos.html index fc8bfe33dad656a98a2e3f17c66cc826cf990bf5..185c9d6dbd794d7dbd02574f28a8e7416a72d4fa 100644 --- a/templates/videos.html +++ b/templates/videos.html @@ -3,38 +3,36 @@ {% extends "base.html" %} {% block content %} -<div class="container-fluid"> - <div class="row"> - <div class="col-xs-12 dropdown"> - <button class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown">Grupierung - <span class="caret"></span></button> - <ul class="dropdown-menu"> - <li><a href="?groupedby=semester">Semester</a></li> - <li><a href="?groupedby=title">Veranstaltungen</a></li> - <li><a href="?groupedby=organizer">Dozenten</a></li> - </ul> - </div> +<div class="row"> + <div class="col-xs-12 dropdown"> + <button class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown">Grupierung + <span class="caret"></span></button> + <ul class="dropdown-menu"> + <li><a href="?groupedby=semester">Semester</a></li> + <li><a href="?groupedby=title">Veranstaltungen</a></li> + <li><a href="?groupedby=organizer">Dozenten</a></li> + </ul> </div> - <div class="row"><div class="col-xs-offset-1 col-xs-10"> - {% for g in courses|groupby(groupedby)|reverse %} - <div class="row panel-group"> - <div class="col-xs-12"><div class="panel panel-default"> - <div class="panel-heading"> - <h1 class="panel-title">{{g.grouper}}</h1> - </div> - <ul class="courses-list list-group"> - {% for i in g.list %} - {% if groupedby == 'semester' %} - {{ course_list_item(i) }} - {% else %} - {{ course_list_item(i,true) }} - {% endif %} - {% endfor %} - </ul> - </div></div> - </div> - {% endfor %} - </div></div> - </div> +<div class="row"><div class="col-xs-offset-1 col-xs-10"> + {% for g in courses|groupby(groupedby)|reverse %} + <div class="row panel-group"> + <div class="col-xs-12"><div class="panel panel-default"> + <div class="panel-heading"> + <h1 class="panel-title">{{g.grouper}}</h1> + </div> + <ul class="courses-list list-group"> + {% for i in g.list %} + {% if groupedby == 'semester' %} + {{ course_list_item(i) }} + {% else %} + {{ course_list_item(i,true) }} + {% endif %} + {% endfor %} + </ul> + </div></div> + </div> + {% endfor %} +</div></div> + {% endblock %}