Select Git revision
course.html
Forked from
Video AG Infrastruktur / website
408 commits behind the upstream repository.
Andreas Valder authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
course.html 5.29 KiB
{% from 'macros.html' import lecture_list_item %}
{% from 'macros.html' import moderator_editor %}
{% from 'macros.html' import moderator_delete %}
{% from 'macros.html' import moderator_checkbox %}
{% from 'macros.html' import preview %}
{% from 'macros.html' import moderator_permissioneditor %}
{% extends "base.html" %}
{% block title %}- {{course.title}}{% endblock %}
{% block content %}
<div class="panel panel-default">
<div class="panel-heading">
<span class="panel-title">
{{ moderator_editor(['courses',course.id,'title'], course.title)}}
{% if ismod() %}
<i>(<a href={{ url_for('course', id=course.id) }}>{{course.id}}</a>)</i>
{% endif %}
</span>
<ul class="pull-right list-inline">
<li>{{ moderator_delete(['courses',course.id,'deleted']) }}</li>
<li>{{ moderator_permissioneditor('course',course.id,course.perm, global_permissions) }}</li>
</ul>
</div>
<div class="row panel-body">
<div class="col-xs-12">
<table class="table-top-aligned table-condensed">
<tbody>
{% if ismod() %}
<tr><td>Semester:</td><td>{{ moderator_editor(['courses',course.id,'semester'], course.semester) }}</td></tr>
{% else %}
<tr><td>Semester:</td><td>{{ course.semester|semester(long=True) }}</td></tr>
{% endif %}
<tr><td>Veranstalter:</td><td>{{ moderator_editor(['courses',course.id,'organizer'], course.organizer) }}</td></tr>
<tr><td>Bemerkungen:</td><td>{{ moderator_editor(['courses',course.id,'description'], course.description) }}</td></tr>
</tbody>
</table>
</div>
{% if ismod() %}
<div class="col-xs-12" style="margin-top: 20px">
<table class="table-condensed table-top-aligned">
<tbody>
<tr><td>Sichtbar:</td><td>{{ moderator_checkbox(['courses',course.id,'visible'], course.visible) }}</td></tr>
<tr><td>Gelistet:</td><td>{{ moderator_checkbox(['courses',course.id,'listed'], course.listed) }}</td></tr>
<tr><td>Nicht im Drehplan:</td><td>{{ moderator_checkbox(['courses',course.id,'external'], course.external) }}</td></tr>
<tr><td>Videos downloadbar:</td><td>{{ moderator_checkbox(['courses',course.id,'downloadable'], course.downloadable) }}</td></tr>
<tr><td>Short:</td><td>{{ moderator_editor(['courses',course.id,'short'], course.short) }}</td></tr>
<tr><td>Handle:</td><td>{{ moderator_editor(['courses',course.id,'handle'], course.handle) }}</td></tr>
<tr><td>Thema:</td><td>{{ moderator_editor(['courses',course.id,'subject'], course.subject) }}</td></tr>
<tr><td>Zuständig:</td><td>{{ moderator_editor(['courses',course.id,'responsible'], course.responsible) }}</td></tr>
<tr><td>Interne Bemerkungen:</td><td>{{ moderator_editor(['courses',course.id,'internal'], course.internal) }}</td></tr>
</tbody>
</table>
</div>
{% endif %}
</div>
</div>
{% if ismod() %}
<div class="panel panel-default">
<div class="panel-heading">
<a data-toggle="collapse" href="#statspanel" class="plotlyresize"><h1 class="panel-title">Statistiken</h1></a>
</div>
<div class="row panel-body collapse out panel-collapse" id="statspanel">
<div class="col-md-6 col-xs-12">
<p class="text-center">Zuschauer pro Tag</p>
<div class="plot-view" data-url="{{url_for('stats_viewsperday', req="course", param=course.id)}}"></div>
</div>
<div class="col-md-6 col-xs-12">
<p class="text-center">Zuschauer pro Termin</p>
<div class="plot-view" data-type="bar" data-url="{{url_for('stats_generic', req="lecture_views", param=course.id)}}"></div>
</div>
</div>
</div>
{% endif %}
<div class="panel panel-default">
<div class="panel-heading">
<h1 class="panel-title">Videos
{% if ismod() %}
<a class="btn btn-default" style="margin-right: 5px;" href="{{ url_for('create', table='lectures', time=datetime.now(), title='Noch kein Titel', visible='0', course_id=course.id, ref=url_for('course', id=course.id)) }}">Neuer Termin</a>
<a class="btn btn-default" style="margin-right: 5px;" href="{{url_for('list_import_sources', id=course['id'])}}">Campus Import</a>
{% endif %}
<ul class="list-inline pull-right">
<li>
<a class="fa fa-rss-square" aria-hidden="true" href="{{url_for('feed', handle=course.handle)}}" style="text-decoration: none"></a>
</li>
{% if ismod() %}
<li>
<a class="fa fa-calendar" aria-hidden="true" href="{{url_for('ical_course', course=course.handle)}}" style="text-decoration: none"></a>
</li>
{% endif %}
</h1>
</div>
<ul class="list-group lectureslist">
{% for l in lectures %}
{{ lecture_list_item(l,videos|selectattr('lecture_id','equalto',l.id)|list,global_permissions)}}
{% endfor %}
</ul>
</div>
<script>
$.ajax({
method: "GET",
url: "{{url_for('stats_generic', req="lecture_views", param=course.id)}}",
dataType: "json",
error: function() {
var counter = $(".viewcounter");
for (var i=0; i<counter.length; i++) {
$(counter[i]).text("0");
}
},
success: function (traces) {
var dates={};
var t = traces[0];
if (!t.x) {
return;
}
for (var i=0; i<t.x.length; i++) {
dates[t.x[i]] = t.y[i];
}
var counter = $(".viewcounter");
for (var i=0; i<counter.length; i++) {
$(counter[i]).text(dates[$(counter[i]).data("lecturedate")]);
}
var counter = $(".viewcounter");
for (var i=0; i<counter.length; i++) {
if ($(counter[i]).text() == "loading...") {
$(counter[i]).text("0");
}
}
}
});
</script>
{% endblock %}