From 25683ada57ff5e2bfc84096a9dad611a73f57d5e Mon Sep 17 00:00:00 2001 From: Julian Rother <julianr@fsmpi.rwth-aachen.de> Date: Wed, 26 Apr 2017 04:17:35 +0200 Subject: [PATCH] Added norecording property to lectures, closes #213 --- db_schema.sql | 3 ++- edit.py | 3 ++- server.py | 2 +- templates/macros.html | 3 ++- timetable.py | 2 +- 5 files changed, 8 insertions(+), 5 deletions(-) diff --git a/db_schema.sql b/db_schema.sql index 85036ec..f47c8b9 100644 --- a/db_schema.sql +++ b/db_schema.sql @@ -98,7 +98,8 @@ CREATE TABLE IF NOT EXISTS `lectures_data` ( `time_updated` datetime NOT NULL, `jumplist` text NOT NULL DEFAULT '', `titlefile` varchar(255) NOT NULL DEFAULT '', - `live` INTEGER NOT NULL DEFAULT 0 + `live` INTEGER NOT NULL DEFAULT 0, + `norecording` INTEGER NOT NULL DEFAULT 0 ); CREATE TABLE IF NOT EXISTS `places` ( `place` varchar(20) NOT NULL PRIMARY KEY, diff --git a/edit.py b/edit.py index a00f7a6..77c8d92 100644 --- a/edit.py +++ b/edit.py @@ -41,7 +41,8 @@ editable_tables = { 'duration': {'type': 'duration'}, 'jumplist': {'type': ''}, 'deleted': {'type': 'boolean'}, - 'live': {'type': 'boolean'}}, + 'live': {'type': 'boolean'}, + 'norecording': {'type': 'boolean'}}, 'creationtime_fields': ['course_id', 'time_created', 'time_updated'] }, 'videos': { 'table': 'videos_data', diff --git a/server.py b/server.py index 288b462..1e7bcab 100644 --- a/server.py +++ b/server.py @@ -331,7 +331,7 @@ def index(): SELECT lectures.*, "course" AS sep, courses.* FROM lectures JOIN courses ON (lectures.course_id = courses.id) - WHERE (time > ?) AND (time < ?) and lectures.visible and courses.visible and courses.listed + WHERE (time > ?) AND (time < ?) and lectures.visible and courses.visible and courses.listed and not lectures.norecording ORDER BY time ASC LIMIT 30''',start,end) for i in upcomming: i['date'] = i['time'].date() diff --git a/templates/macros.html b/templates/macros.html index c57cb0b..7ea2068 100644 --- a/templates/macros.html +++ b/templates/macros.html @@ -165,7 +165,7 @@ $('#embedcodebtn').popover( {% endmacro %} {% macro lecture_list_item(lecture,videos,global_permissions) %} -<li class="list-group-item" id="lecture-{{lecture.id}}"> +<li class="list-group-item{% if lecture.norecording %} text-muted{% endif %}" id="lecture-{{lecture.id}}"> <div class="row"> <div style="background-image: url('{{ config.VIDEOPREFIX }}/thumbnail/l_{{lecture.id}}.jpg')" class="col-sm-2 col-xs-12 thumbnailimg"> {% if not videos|length is equalto 0 %} @@ -189,6 +189,7 @@ $('#embedcodebtn').popover( <li>{{ moderator_editor(['lectures',lecture.id,'internal'], lecture.internal) }}</li> <li>Sichtbar: {{ moderator_checkbox(['lectures',lecture.id,'visible'], lecture.visible) }}</li> <li>Livestream geplant: {{ moderator_checkbox(['lectures',lecture.id,'live'], lecture.live) }}</li> + <li>Wird nicht aufgenommen: {{ moderator_checkbox(['lectures',lecture.id,'norecording'], lecture.norecording) }}</li> <li>Hörsaal: {{ moderator_editor(['lectures',lecture.id,'place'], lecture.place) }} </li> {% endif %} </ul> diff --git a/timetable.py b/timetable.py index 2ccb548..1fee5bb 100644 --- a/timetable.py +++ b/timetable.py @@ -26,7 +26,7 @@ def timetable(): SELECT lectures.*, courses.short, "course" AS sep, courses.* FROM lectures JOIN courses ON (lectures.course_id = courses.id) - WHERE time < ? and time > ? + WHERE time < ? AND time > ? AND NOT norecording ORDER BY time ASC''', i['date']+timedelta(weeks=2), i['date']-timedelta(weeks=2)): # we can not use the where clause of sql to match against the time, because sqlite and mysql use a different syntax -.- # we still use it to only get the lectures for a 3 week periode -- GitLab