summaryrefslogtreecommitdiff
path: root/pv/templates
diff options
context:
space:
mode:
Diffstat (limited to 'pv/templates')
-rw-r--r--pv/templates/404.html7
-rw-r--r--pv/templates/500.html11
-rw-r--r--pv/templates/base.html11
-rw-r--r--pv/templates/program/boxes/broadcastformat.html10
-rw-r--r--pv/templates/program/boxes/current.html60
-rw-r--r--pv/templates/program/boxes/musicfocus.html14
-rw-r--r--pv/templates/program/boxes/recommendations.html40
-rw-r--r--pv/templates/program/boxes/showinformation.html14
-rw-r--r--pv/templates/program/boxes/showtopic.html14
-rw-r--r--pv/templates/program/day_schedule.html108
-rw-r--r--pv/templates/program/host_detail.html28
-rw-r--r--pv/templates/program/host_list.html19
-rw-r--r--pv/templates/program/recommendations.html45
-rw-r--r--pv/templates/program/show_detail.html81
-rw-r--r--pv/templates/program/show_list.html55
-rw-r--r--pv/templates/program/styles.css26
-rw-r--r--pv/templates/program/timeslot_detail.html62
-rw-r--r--pv/templates/program/week_schedule.html127
-rw-r--r--pv/templates/program/week_schedule_timeslot.html54
19 files changed, 786 insertions, 0 deletions
diff --git a/pv/templates/404.html b/pv/templates/404.html
new file mode 100644
index 0000000..6281ba0
--- /dev/null
+++ b/pv/templates/404.html
@@ -0,0 +1,7 @@
+{% extends "base.html" %}
+
+{% block title %}Seite nicht gefunden{% endblock %}
+
+{% block content %}
+ <p>Es tut uns leid, aber die angeforderte Seite konnte nicht gefunden werden.</p>
+{% endblock %} \ No newline at end of file
diff --git a/pv/templates/500.html b/pv/templates/500.html
new file mode 100644
index 0000000..98074ab
--- /dev/null
+++ b/pv/templates/500.html
@@ -0,0 +1,11 @@
+{% extends "base.html" %}
+
+{% block title %}Serverfehler{% endblock %}
+
+{% block content %}
+ <p>
+ Ein Fehler ist aufgetreten.
+ Dieser Fehler wurde an die Serververwalter per E-Mail gemeldet und sollte in Kürze behoben sein.
+ Vielen Dank für Ihr Verständnis.
+ </p>
+{% endblock %} \ No newline at end of file
diff --git a/pv/templates/base.html b/pv/templates/base.html
new file mode 100644
index 0000000..2ed539e
--- /dev/null
+++ b/pv/templates/base.html
@@ -0,0 +1,11 @@
+<html>
+
+<head>
+ <title>{% block title %}{% endblock %}</title>
+</head>
+
+<body>
+{% block content %}{% endblock %}
+</body>
+
+</html> \ No newline at end of file
diff --git a/pv/templates/program/boxes/broadcastformat.html b/pv/templates/program/boxes/broadcastformat.html
new file mode 100644
index 0000000..76ee382
--- /dev/null
+++ b/pv/templates/program/boxes/broadcastformat.html
@@ -0,0 +1,10 @@
+{% if broadcastformats %}
+<dl id="broadcastformat" class="portlet">
+ <dt class="portletHeader"><span>Legende<span></dt>
+ {% for broadcastformat in broadcastformats %}
+ <dd class="portletItem bcformat bf-{{ broadcastformat.slug }}">
+ <a title="Sendungen mit dem Sendungsformat {{broadcastformat.format}} anzeigen." href="?broadcastformat={{ broadcastformat.slug }}">{{ broadcastformat.format }}</a>
+ </dd>
+ {% endfor %}
+</dl>
+{% endif %}
diff --git a/pv/templates/program/boxes/current.html b/pv/templates/program/boxes/current.html
new file mode 100644
index 0000000..ba1df21
--- /dev/null
+++ b/pv/templates/program/boxes/current.html
@@ -0,0 +1,60 @@
+<!doctype html>
+<html>
+<head>
+ <meta charset="utf-8"/>
+ <title>Current program box</title>
+</head>
+<body>
+
+ {% if previous or current or next or after_next %}
+ <dl id="program-current-box" class="portlet program-box">
+ <dt class="portletHeader">Programm derzeit</dt>
+ <dd class="portletItem">
+ <table>
+ <tr class="previous">
+ <td class="start">{{ previous.start|date:"H:i" }}</td>
+ <td class="format bf-{{ previous.show.broadcastformat.slug }}"
+ title="{{ previous.show.broadcastformat.format }}">&nbsp;</td>
+ <td class="show">
+ <h3><a href="{% url timeslot-detail previous.id %}">{{ previous.show.name }}</a></h3>
+ </td>
+ <td class="show"></td>
+ </tr>
+ <tr class="current">
+ <td class="start">{{ current.start|date:"H:i" }}</td>
+ <td class="format bf-{{ current.show.broadcastformat.slug }}"
+ title="{{ current.show.broadcastformat.format }}">&#x25B6;</td>
+ <td class="show">
+ <h3><a href="{% url timeslot-detail current.id %}">{{ current.show.name }}</a></h3>
+ {% if current.note %}
+ <p>{{ current.note.title }}</p>
+ {% else %}
+ <p>{{ current.show.short_description }}</p>
+ {% endif %}
+ </td>
+ </tr>
+ <tr class="next">
+ <td class="start">{{ next.start|date:"H:i" }}</td>
+ <td class="format bf-{{ next.show.broadcastformat.slug }}"
+ title="{{ next.show.broadcastformat.format }}">&nbsp;</td>
+ <td class="show">
+ <h3><a href="{% url timeslot-detail next.id %}">{{ next.show.name }}</a></h3>
+ </td>
+ <td class="show"></td>
+ </tr>
+ <tr class="after_next">
+ <td class="start">{{ after_next.start|date:"H:i" }}</td>
+ <td class="format bf-{{ after_next.show.broadcastformat.slug }}"
+ title="{{ after_next.show.broadcastformat.format }}">&nbsp;</td>
+ <td class="show">
+ <h3><a href="{% url timeslot-detail after_next.id %}">{{ after_next.show.name }}</a></h3>
+ </td>
+ <td class="show"></td>
+ </tr>
+ </table>
+ </dd>
+ </dl>
+ {% endif %}
+
+</body>
+</html>
diff --git a/pv/templates/program/boxes/musicfocus.html b/pv/templates/program/boxes/musicfocus.html
new file mode 100644
index 0000000..01fffae
--- /dev/null
+++ b/pv/templates/program/boxes/musicfocus.html
@@ -0,0 +1,14 @@
+{% if musicfoci %}
+<dl id="filterbox_musicfocus" class="portlet filterbox">
+ <dt class="portletHeader"><span>Musiktendenz<span></dt>
+ <dd class="portletItem">
+ <ul>
+ {% for item in musicfoci %}
+ <li>
+ <a title="Sendungen mit der Musiktendenz {{item.focus}} anzeigen." class="abbrev mf-{{ item.abbrev }}" href="?musicfocus={{ item.slug }}">{{ item }}</a>
+ </li>
+ {% endfor %}
+ </ul>
+ </dd>
+</dl>
+{% endif %}
diff --git a/pv/templates/program/boxes/recommendations.html b/pv/templates/program/boxes/recommendations.html
new file mode 100644
index 0000000..2174654
--- /dev/null
+++ b/pv/templates/program/boxes/recommendations.html
@@ -0,0 +1,40 @@
+<!doctype html>
+<html>
+<head>
+ <meta charset="utf-8"/>
+ <title>Recomendations box</title>
+</head>
+<body>
+ {% if recommendation_list %}
+ <dl id="recommendations" class="portlet program-box">
+ <dt class="portletHeader">Programmhinweise</dt>
+ <dd class="portletItem">
+ <table>
+ {% for item in recommendation_list %}
+ <tr>
+ <td class="start">&nbsp;</td>
+ <td class="format bf-{{ item.show.broadcastformat.slug }}"
+ title="{{ item.show.broadcastformat.format }}">&nbsp;</td>
+ <td class="show">
+ {{ item.start|date:"d.m. H:i" }} -
+ {{ item.end|date:"H:i" }}<br />
+ <h3>
+ <a href="{% url timeslot-detail item.id %}">{{ item.show.name }}</a>
+ </h3>
+ <p class="note-title">
+ {% if item.note %}
+ {{ item.note.title }}<br />
+ {% else %}
+ {{ item.show.broadcastformat.format }}<br />
+ {% endif %}
+ <a href="{% url timeslot-detail item.id %}">[weiter]</a>
+ </p>
+ </td>
+ </tr>
+ {% endfor %}
+ </table>
+ </dd>
+ </dl>
+ {% endif %}
+</body>
+</html>
diff --git a/pv/templates/program/boxes/showinformation.html b/pv/templates/program/boxes/showinformation.html
new file mode 100644
index 0000000..ac4dc2c
--- /dev/null
+++ b/pv/templates/program/boxes/showinformation.html
@@ -0,0 +1,14 @@
+{% if showinformations %}
+<dl id="filterbox_showinformation" class="portlet filterbox">
+ <dt class="portletHeader"><span>Sendungsinfo<span></dt>
+ <dd class="portletItem">
+ <ul>
+ {% for item in showinformations %}
+ <li>
+ <a title="Sendungen mit der Information {{item.information}} anzeigen." class="abbrev si-{{ item.abbrev }}" href="?showinformation={{ item.slug }}">{{ item }}</a>
+ </li>
+ {% endfor %}
+ </ul>
+ </dd>
+</dl>
+{% endif %}
diff --git a/pv/templates/program/boxes/showtopic.html b/pv/templates/program/boxes/showtopic.html
new file mode 100644
index 0000000..3a1938d
--- /dev/null
+++ b/pv/templates/program/boxes/showtopic.html
@@ -0,0 +1,14 @@
+{% if showtopics %}
+<dl id="filterbox_showtopic" class="portlet filterbox">
+ <dt class="portletHeader"><span>Thema / Schwerpunkt<span></dt>
+ <dd class="portletItem">
+ <ul>
+ {% for item in showtopics %}
+ <li>
+ <a title="Sendungen mit dem Schwerpunkt {{item.topic}} anzeigen." class="abbrev st-{{ item.abbrev }}" href="?showtopic={{ item.slug }}">{{ item }}</a>
+ </li>
+ {% endfor %}
+ </ul>
+ </dd>
+</dl>
+{% endif %}
diff --git a/pv/templates/program/day_schedule.html b/pv/templates/program/day_schedule.html
new file mode 100644
index 0000000..bb97004
--- /dev/null
+++ b/pv/templates/program/day_schedule.html
@@ -0,0 +1,108 @@
+<html>
+<head>
+ <title>Tagesansicht {{ day|date:"l, d.m.Y" }} &mdash; Radio Helsinki - Freies Radio Graz</title>
+ <script type="text/javascript" src="/program/static/js/jquery/jquery.min.js"></script>
+ <script type="text/javascript" src="/program/static/js/jqueryui/jquery-ui.min.js"></script>
+ <script type="text/javascript" src="/program/static/js/jqueryui/jquery.ui.datepicker-de.js"></script>
+ <script type="text/javascript" src="/program/static/programcalendar.js"></script>
+ <link type="text/css" href="/program/static/js/jqueryui/jquery-ui.css" rel="stylesheet" />
+</head>
+<body>
+
+<dl id="box_calendar" class="portlet calendar">
+ <dt class="portletHeader"><span>Kalender<span></dt>
+ <dd class="portletItem">
+ <div id="calendar"></div>
+ </dd>
+</dl>
+
+{% load content_boxes %}
+<div id="filter-format">
+{% broadcastformat %}
+</div>
+
+{% comment %}
+<div id="filter-topic">
+ <dl id="filter-header" class="portlet">
+ <dt class="portletHeader"><span>Filter</span></dt>
+ </dl>
+{% musicfocus %}
+{% showinformation %}
+{% showtopic %}
+</div>
+{% endcomment %}
+
+<div id="content-main" class="day-schedule">
+ <h2>Tagesansicht</h2>
+ <h1 id="date">{{ day|date:"l, d.m.Y" }}</h1>
+
+ <div id="timeslots">
+ {% for timeslot in timeslots %}
+ {% if forloop.first and timeslot.start != timeslot.get_previous_by_start.end %}
+ <div class="timeslot bf-{{ default_show.broadcastformat.slug }}">
+ <div class="show-start">{{ timeslot.get_previous_by_start.end|date:"H:i" }}</div>
+ <div class="show-abbrevs">
+ {% for item in default_show.showinformation.all %}
+ <span title="{{item.information}}" class="abbrev si-{{ item.abbrev }}"><span>{{ item.abbrev }}</span></span>
+ {% endfor %}
+ {% for item in default_show.showtopic.all %}
+ <span title="{{item.topic}}" class="abbrev st-{{ item.abbrev }}"><span>{{ item.abbrev }}</span></span>
+ {% endfor %}
+ {% for item in default_show.musicfocus.all %}
+ <span title="{{item.focus}}" class="abbrev mf-{{ item.abbrev }}"><span>{{ item.abbrev }}</span></span>
+ {% endfor %}
+ </div>
+ <div class="show-detail">
+ <h3 class="show-title">{{ default_show.name }}</h3>
+ <p class="show-description">{{ default_show.short_description }}</p>
+ </div>
+ </div>
+ {% endif %}
+ <div class="timeslot bf-{{ timeslot.show.broadcastformat.slug }}">
+ <div class="show-start">{{ timeslot.start|date:"H:i" }}</div>
+ <div class="show-abbrevs">
+ {% for item in timeslot.show.showinformation.all %}
+ <span title="{{item.information}}" class="abbrev si-{{ item.abbrev }}"><span>{{ item.abbrev }}</span></span>
+ {% endfor %}
+ {% for item in timeslot.show.showtopic.all %}
+ <span title="{{item.topic}}" class="abbrev st-{{ item.abbrev }}"><span>{{ item.abbrev }}</span></span>
+ {% endfor %}
+ {% for item in timeslot.show.musicfocus.all %}
+ <span title="{{item.focus}}" class="abbrev mf-{{ item.abbrev }}"><span>{{ item.abbrev }}</span></span>
+ {% endfor %}
+ </div>
+ <div class="show-detail">
+ <h3 class="show-title"><a href="{% url timeslot-detail timeslot.id %}">{{ timeslot.show.name }}</a></h3>
+ {% if timeslot.note %}
+ <p class="note-title"><strong>Heute:</strong> {{ timeslot.note.title }}</p>
+ {% else %}
+ <p class="show-description">{{ timeslot.show.short_description }}</p>
+ {% endif %}
+ </div>
+ </div>
+ {% if timeslot.end != timeslot.get_next_by_start.start %}
+ <div class="timeslot bf-{{ default_show.broadcastformat.slug }}">
+ <div class="show-start">{{ timeslot.end|date:"H:i" }}</div>
+ <div class="show-abbrevs">
+ {% for item in default_show.showinformation.all %}
+ <span title="{{item.information}}" class="abbrev si-{{ item.abbrev }}"><span>{{ item.abbrev }}</span></span>
+ {% endfor %}
+ {% for item in default_show.showtopic.all %}
+ <span title="{{item.topic}}" class="abbrev st-{{ item.abbrev }}"><span>{{ item.abbrev }}</span></span>
+ {% endfor %}
+ {% for item in default_show.musicfocus.all %}
+ <span title="{{item.focus}}" class="abbrev mf-{{ item.abbrev }}"><span>{{ item.abbrev }}</span></span>
+ {% endfor %}
+ </div>
+ <div class="show-detail">
+ <h3 class="show-title">{{ default_show.name }}</h3>
+ <p class="show-description">{{ default_show.short_description }}</p>
+ </div>
+ </div>
+ {% endif %}
+ {% endfor %}
+ </div>
+</div>
+
+</body>
+</html>
diff --git a/pv/templates/program/host_detail.html b/pv/templates/program/host_detail.html
new file mode 100644
index 0000000..bbe801e
--- /dev/null
+++ b/pv/templates/program/host_detail.html
@@ -0,0 +1,28 @@
+<html>
+<head>
+ <title>Host: {{ host.name }} &mdash; Radio Helsinki - Freies Radio Graz</title>
+</head>
+<body>
+
+<div id="content-main" class="host-detail">
+ <div id="name">{{ host.name }}</div>
+
+ <div id="shows">
+ <div id="shows-title">Sendungen</div>
+
+ {% for show in host.shows.all %}
+ <div class="show {{ show.broadcastformat.slug }}"><a href="{% url show-detail show.slug %}">{{ show }}</a></div>
+ {% endfor %}
+ </div>
+
+ {% if host.email %}
+ <div id="email">E-Mail Adresse: <a href="{{ host.email }}">{{ host.email }}</a></div>
+ {% endif %}
+
+ {% if host.website %}
+ <div id="website">Website: <a href="{{ host.website }}">{{ host.website }}</a></div>
+ {% endif %}
+</div>
+
+</body>
+</html>
diff --git a/pv/templates/program/host_list.html b/pv/templates/program/host_list.html
new file mode 100644
index 0000000..d1c8427
--- /dev/null
+++ b/pv/templates/program/host_list.html
@@ -0,0 +1,19 @@
+<html>
+<head>
+ <title>Sendungsmacherinnen &mdash; Radio Helsinki - Freies Radio Graz</title>
+</head>
+<body>
+
+<div id="content-main">
+ <h1>Sendungsmachende A-Z</h1>
+ <div class="host-list">
+{% for host in host_list %}
+ <div class="host">
+ <a href="{% url host-detail host.id %}">{{ host.name }}</a>
+ </div>
+{% endfor %}
+ </div>
+</div>
+
+</body>
+</html>
diff --git a/pv/templates/program/recommendations.html b/pv/templates/program/recommendations.html
new file mode 100644
index 0000000..ba9a719
--- /dev/null
+++ b/pv/templates/program/recommendations.html
@@ -0,0 +1,45 @@
+<html>
+<head>
+ <title>Tipps &mdash; Radio Helsinki - Freies Radio Graz</title>
+</head>
+<body>
+
+<div id="content-main" class="recommendations">
+ <h1>Programmhinweise</h1>
+ <div id="shows">
+{% for item in recommendation_list %}
+ <div class="show recommendation bf-{{ item.show.broadcastformat.slug }}">
+ <div class="show-abbrevs">
+ {% for ab in item.show.showinformation.all %}
+ <span title="{{ab.information}}" class="abbrev si-{{ ab.abbrev }}"><span>{{ ab.abbrev }}</span></span>
+ {% endfor %}
+ {% for ab in item.show.showtopic.all %}
+ <span title="{{ab.topic}}" class="abbrev st-{{ ab.abbrev }}"><span>{{ ab.abbrev }}</span></span>
+ {% endfor %}
+ {% for ab in item.show.musicfocus.all %}
+ <span title="{{ab.focus}}" class="abbrev mf-{{ ab.abbrev }}"><span>{{ ab.abbrev }}</span></span>
+ {% endfor %}
+ </div>
+ <div class="show-detail">
+ <h4>
+ <a href="{% url show-detail item.show.slug %}">{{ item.show.name }}</a><br />
+ vom {{ item.start|date:"d.m. H:i" }}-{{ item.end|date:"H:i" }}
+ </h4>
+ {% if item.note %}
+ <h3 class="show-title">
+ <a href="{% url timeslot-detail item.id %}">{{ item.note.title }}</a>
+ </h3>
+ <div class="note-content">{{ item.note.content|safe}}</div>
+ {% else %}
+ <h3 class="show-title">
+ <a href="{% url timeslot-detail item.id %}">{{ item.show.broadcastformat.format }}</a>
+ </h3>
+ {% endif %}
+ </div>
+ </div>
+{% endfor %}
+ </div>
+</div>
+
+</body>
+</html>
diff --git a/pv/templates/program/show_detail.html b/pv/templates/program/show_detail.html
new file mode 100644
index 0000000..0f4b302
--- /dev/null
+++ b/pv/templates/program/show_detail.html
@@ -0,0 +1,81 @@
+<html>
+<head>
+ <title>Sendung: {{ show.name }} &mdash; Radio Helsinki - Freies Radio Graz</title>
+</head>
+<body>
+
+<div id="calendar"></div>
+
+<div id="content-main" class="show-detail">
+
+ <div class="show-detail-header bf-{{show.broadcastformat.slug}}">
+ <div class="show-details">
+ <h1 id="name">{{ show.name }}</h1>
+ {% if show.id != 1 %}
+ <p id="programslots">
+ {% for slot in show.programslots.all %}
+ {% if slot.has_active_timeslot %}
+ <span class="programslot">{{ slot }}</span><br />
+ {% endif %}
+ {% endfor %}
+ </p>
+ {% endif %}
+ </div>
+
+ <div class="show-categorization">
+ <p id="broadcastformat">{{ show.broadcastformat.format }}</p>
+ {% for item in show.showinformation.all %}
+ <span title="{{item.information}}" class="abbrev si-{{ item.abbrev }}"><span>{{ item.abbrev }}</span></span>
+ {% endfor %}
+ {% for item in show.showtopic.all %}
+ <span title="{{item.topic}}" class="abbrev st-{{ item.abbrev }}"><span>{{ item.abbrev }}</span></span>
+ {% endfor %}
+ {% for item in show.musicfocus.all %}
+ <span title="{{item.focus}}" class="abbrev mf-{{ item.abbrev }}"><span>{{ item.abbrev }}</span></span>
+ {% endfor %}
+ </div>
+
+ </div>
+
+ <div id="short-description" class="documentDescription">{{ show.short_description }}</div>
+
+ {% if show.description %}
+ <div id="description">{{ show.description|safe }}</div>
+ {% endif %}
+
+ {% if show.image and show.image_enabled %}
+ <div id="image" style="float: right;"><img src="/program/static/{{ show.image }}" width="200" alt="image"></div>
+ {% endif %}
+
+ <p>
+ {% for host in show.hosts.all %}
+ <a href="{% url host-detail host.id %}">{{ host }}</a><br />
+ {% endfor %}
+ {% if show.email %}
+ <strong>Email:</strong> <a href="mailto:{{ show.email }}">{{ show.email }}</a><br />
+ {% endif %}
+ {% if show.website %}
+ <strong>Website:</strong> <a href="{{ show.website }}">{{ show.website }}</a><br />
+ {% endif %}
+ {% if show.cba_series_id %}
+ <strong>CBA-Link:</strong> <a href="http://cba.fro.at/series/{{ show.cba_series_id }}">CBA</a><br />
+ {% endif %}
+ </p>
+
+ {% if show.notes.all %}
+ <br />
+ <h2>Sendungstipps</h2>
+ <ul class="recommendations-list">
+ {% for note in show.notes.all reversed %}
+ <li>
+ <a href="{% url timeslot-detail note.timeslot.id %}" title="{{ note.title }}">{{ note.start|date:"d. M Y" }}:</a>
+ <div class="title">{{ note.title }}</div>
+ </li>
+ {% endfor %}
+ </ul>
+ {% endif %}
+
+</div>
+
+</body>
+</html>
diff --git a/pv/templates/program/show_list.html b/pv/templates/program/show_list.html
new file mode 100644
index 0000000..167a470
--- /dev/null
+++ b/pv/templates/program/show_list.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+ <title>Sendungen &mdash; Radio Helsinki - Freies Radio Graz</title>
+</head>
+<body>
+
+{% load content_boxes %}
+<div id="filter-format">
+{% broadcastformat %}
+</div>
+<div id="filter-topic">
+ <dl id="filter-header" class="portlet">
+ <dt class="portletHeader"><span>Filter<span></dt>
+ </dl>
+{% musicfocus %}
+{% showinformation %}
+{% showtopic %}
+</div>
+
+<div id="content-main" class="show-list">
+ <h1>Sendungen A-Z</h1>
+
+ <div id="shows">
+ {% for show in show_list %}
+ <div class="show bf-{{ show.broadcastformat.slug }}">
+ <div class="show-abbrevs">
+ {% for item in show.showinformation.all %}
+ <span title="{{item.information}}" class="abbrev si-{{ item.abbrev }}"><span>{{ item.abbrev }}</span></span>
+ {% endfor %}
+ {% for item in show.showtopic.all %}
+ <span title="{{item.topic}}" class="abbrev st-{{ item.abbrev }}"><span>{{ item.abbrev }}</span></span>
+ {% endfor %}
+ {% for item in show.musicfocus.all %}
+ <span title="{{item.focus}}" class="abbrev mf-{{ item.abbrev }}"><span>{{ item.abbrev }}</span></span>
+ {% endfor %}
+ </div>
+ <div class="show-detail">
+ <h3 class="show-title"><a href="{% url show-detail show.slug %}">{{ show.name }}</a></h3>
+ <ul class="show-programslots">
+ {% for slot in show.programslots.all %}
+ {% if slot.has_active_timeslot %}
+ <li class="show-programslot">{{ slot }}</li>
+ {% endif %}
+ {% endfor %}
+ </ul>
+ <p class="show-description">{{ show.short_description }}</p>
+ </div>
+ </div>
+ {% endfor %}
+ </div>
+
+</div>
+
+</body>
+</html>
diff --git a/pv/templates/program/styles.css b/pv/templates/program/styles.css
new file mode 100644
index 0000000..9448df2
--- /dev/null
+++ b/pv/templates/program/styles.css
@@ -0,0 +1,26 @@
+{% for bf in broadcastformats %}
+.bf-{{ bf.slug }} { background-color: {{ bf.color }}; }
+{% endfor %}
+
+{% for mf in musicfocus %}
+.mf-{{ mf.abbrev }} { background-image:url({{ mf.button_url }}); }
+.filterbox .mf-{{ mf.abbrev }}:hover { background-image:url({{ mf.button_hover_url }}); }
+{% endfor %}
+{% for si in showinformation %}
+.si-{{ si.abbrev }} { background-image:url({{ si.button_url }}); }
+.filterbox .si-{{ si.abbrev }}:hover { background-image:url({{ si.button_hover_url }}); }
+{% endfor %}
+{% for st in showtopic %}
+.st-{{ st.abbrev }} { background-image:url({{ st.button_url }}); }
+.filterbox .st-{{ st.abbrev }}:hover { background-image:url({{ st.button_hover_url }}); }
+{% endfor %}
+
+{% for mf in musicfocus %}
+.show-detail-header .mf-{{ mf.abbrev }} { background-image:url({{ mf.big_button_url }}); }
+{% endfor %}
+{% for si in showinformation %}
+.show-detail-header .si-{{ si.abbrev }} { background-image:url({{ si.big_button_url }}); }
+{% endfor %}
+{% for st in showtopic %}
+.show-detail-header .st-{{ st.abbrev }} { background-image:url({{ st.big_button_url }}); }
+{% endfor %}
diff --git a/pv/templates/program/timeslot_detail.html b/pv/templates/program/timeslot_detail.html
new file mode 100644
index 0000000..856aef3
--- /dev/null
+++ b/pv/templates/program/timeslot_detail.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+ <title>Sendung: {{ timeslot }} &mdash; Radio Helsinki - Freies Radio Graz</title>
+</head>
+<body>
+
+<div id="content-main" class="timeslot-detail">
+
+ <div class="show-detail-header bf-{{timeslot.show.broadcastformat.slug}}">
+ <h1 id="name">
+ <a href="{% url show-detail timeslot.show.slug %}">{{ timeslot.show.name }}</a>
+ </h1>
+ {% if timeslot.note %}
+ <h2>{{ timeslot.note.title }}</h2>
+ {% endif %}
+ <strong>Sendung am {{ timeslot.start|date:"d.m. H:i" }} bis {{ timeslot.end|date:"H:i" }}</strong>
+
+ <div class="show-abbrevs">
+ {% for item in timeslot.show.showinformation.all %}
+ <span title="{{item.information}}" class="abbrev si-{{ item.abbrev }}"><span>{{ item.abbrev }}</span></span>
+ {% endfor %}
+ {% for item in timeslot.show.showtopic.all %}
+ <span title="{{item.topic}}" class="abbrev st-{{ item.abbrev }}"><span>{{ item.abbrev }}</span></span>
+ {% endfor %}
+ {% for item in timeslot.show.musicfocus.all %}
+ <span title="{{item.focus}}" class="abbrev mf-{{ item.abbrev }}"><span>{{ item.abbrev }}</span></span>
+ {% endfor %}
+ </div>
+
+ <p id="broadcastformat">{{ timeslot.show.broadcastformat.format }}</p>
+ </div>
+
+ {% if timeslot.note %}
+ <p class="timeslot-note">{{ timeslot.note.content|safe }}</p>
+ {% endif %}
+
+ <div id="short-description" class="documentDescription">{{ timeslot.show.short_description }}</div>
+
+ {% if timeslot.show.description %}
+ <div id="description">{{ timeslot.show.description|safe }}</div>
+ {% endif %}
+
+ <p>
+ {% for host in timeslot.show.hosts.all %}
+ <a href="{% url host-detail host.id %}">{{ host }}</a><br />
+ {% endfor %}
+ {% if timeslot.show.email %}
+ <strong>Email:</strong> <a href="mailto:{{ timeslot.show.email }}">{{ timeslot.show.email }}</a><br />
+ {% endif %}
+ {% if timeslot.show.website %}
+ <strong>Website:</strong> <a href="{{ timeslot.show.website }}">{{ timeslot.show.website }}</a><br />
+ {% endif %}
+ {% if timeslot.show.cba_series_id %}
+ <strong>CBA-Link:</strong> <a href="http://cba.fro.at/series/{{ timeslot.show.cba_series_id }}">CBA</a><br />
+ {% endif %}
+ </p>
+
+
+</div>
+
+</body>
+</html>
diff --git a/pv/templates/program/week_schedule.html b/pv/templates/program/week_schedule.html
new file mode 100644
index 0000000..456b0ae
--- /dev/null
+++ b/pv/templates/program/week_schedule.html
@@ -0,0 +1,127 @@
+<html>
+<head>
+ <title>Wochenansicht &mdash; Radio Helsinki - Freies Radio Graz</title>
+</head>
+
+<body>
+
+<div id="content-main" class="week-schedule">
+ <table class="week-navigation">
+ <tr>
+ <td><a href="/program/{{ last_w }}">&lt;--</a></td>
+ <td class="current">{{ cur_w }}</td>
+ <td><a href="/program/{{ next_w1 }}">{{ next_w1 }}</a></td>
+ <td><a href="/program/{{ next_w2 }}">{{ next_w2 }}</a></td>
+ <td><a href="/program/{{ next_w3 }}">{{ next_w3 }}</a></td>
+ <td><a href="/program/{{ next_w4 }}">{{ next_w4 }}</a></td>
+ <td><a href="/program/{{ next_w1 }}">--&gt;</a></td>
+ </tr>
+ </table>
+ <div class="weekday-starts weekday-starts-left">
+ <div style="height: 43px;">&nbsp;</div>
+ <div style="height: 60px;">06:00</div>
+ <div style="height: 60px;">07:00</div>
+ <div style="height: 60px;">08:00</div>
+ <div style="height: 60px;">09:00</div>
+ <div style="height: 60px;">10:00</div>
+ <div style="height: 60px;">11:00</div>
+ <div style="height: 60px;">12:00</div>
+ <div style="height: 60px;">13:00</div>
+ <div style="height: 60px;">14:00</div>
+ <div style="height: 60px;">15:00</div>
+ <div style="height: 60px;">16:00</div>
+ <div style="height: 60px;">17:00</div>
+ <div style="height: 60px;">18:00</div>
+ <div style="height: 60px;">19:00</div>
+ <div style="height: 60px;">20:00</div>
+ <div style="height: 60px;">21:00</div>
+ <div style="height: 60px;">22:00</div>
+ <div style="height: 60px;">23:00</div>
+ <div style="height: 60px;">00:00</div>
+ <div style="height: 60px;">01:00</div>
+ <div style="height: 60px;">02:00</div>
+ <div style="height: 60px;">03:00</div>
+ <div style="height: 60px;">04:00</div>
+ <div style="height: 60px;">05:00</div>
+ </div>
+ <div id="monday" class="weekday weekday-first">
+ <h2>{{ monday|date:"l d.m.Y" }}</h2>
+ {% for timeslot in monday_timeslots %}
+ {% include "program/week_schedule_timeslot.html" %}
+ {% endfor %}
+ </div>
+
+ <div id="tuesday" class="weekday">
+ <h2>{{ tuesday|date:"l d.m.Y" }}</h2>
+ {% for timeslot in tuesday_timeslots %}
+ {% include "program/week_schedule_timeslot.html" %}
+ {% endfor %}
+ </div>
+
+ <div id="wednesday" class="weekday">
+ <h2>{{ wednesday|date:"l d.m.Y" }}</h2>
+ {% for timeslot in wednesday_timeslots %}
+ {% include "program/week_schedule_timeslot.html" %}
+ {% endfor %}
+ </div>
+
+ <div id="thursday" class="weekday">
+ <h2>{{ thursday|date:"l d.m.Y" }}</h2>
+ {% for timeslot in thursday_timeslots %}
+ {% include "program/week_schedule_timeslot.html" %}
+ {% endfor %}
+ </div>
+
+ <div id="friday" class="weekday">
+ <h2>{{ friday|date:"l d.m.Y" }}</h2>
+ {% for timeslot in friday_timeslots %}
+ {% include "program/week_schedule_timeslot.html" %}
+ {% endfor %}
+ </div>
+
+ <div id="saturday" class="weekday">
+ <h2>{{ saturday|date:"l d.m.Y" }}</h2>
+ {% for timeslot in saturday_timeslots %}
+ {% include "program/week_schedule_timeslot.html" %}
+ {% endfor %}
+ </div>
+
+ <div id="sunday" class="weekday weekday-last">
+ <h2>{{ sunday|date:"l d.m.Y" }}</h2>
+ {% for timeslot in sunday_timeslots %}
+ {% include "program/week_schedule_timeslot.html" %}
+ {% endfor %}
+ </div>
+
+ <div class="weekday-starts weekday-starts-right">
+ <div style="height: 43px;">&nbsp;</div>
+ <div style="height: 60px;">06:00</div>
+ <div style="height: 60px;">07:00</div>
+ <div style="height: 60px;">08:00</div>
+ <div style="height: 60px;">09:00</div>
+ <div style="height: 60px;">10:00</div>
+ <div style="height: 60px;">11:00</div>
+ <div style="height: 60px;">12:00</div>
+ <div style="height: 60px;">13:00</div>
+ <div style="height: 60px;">14:00</div>
+ <div style="height: 60px;">15:00</div>
+ <div style="height: 60px;">16:00</div>
+ <div style="height: 60px;">17:00</div>
+ <div style="height: 60px;">18:00</div>
+ <div style="height: 60px;">19:00</div>
+ <div style="height: 60px;">20:00</div>
+ <div style="height: 60px;">21:00</div>
+ <div style="height: 60px;">22:00</div>
+ <div style="height: 60px;">23:00</div>
+ <div style="height: 60px;">00:00</div>
+ <div style="height: 60px;">01:00</div>
+ <div style="height: 60px;">02:00</div>
+ <div style="height: 60px;">03:00</div>
+ <div style="height: 60px;">04:00</div>
+ <div style="height: 60px;">05:00</div>
+ </div>
+
+</div>
+
+</body>
+</html>
diff --git a/pv/templates/program/week_schedule_timeslot.html b/pv/templates/program/week_schedule_timeslot.html
new file mode 100644
index 0000000..852466b
--- /dev/null
+++ b/pv/templates/program/week_schedule_timeslot.html
@@ -0,0 +1,54 @@
+{% load timeslots %}
+
+{% if forloop.first and timeslot.start != timeslot.get_previous_by_start.end %}
+<div class="timeslot bf-{{ default_show.broadcastformat.slug }}" {% duration_until timeslot.start %}>
+ <div>{{ default_show.name }}</div>
+</div>
+{% endif %}
+
+{% if forloop.first and timeslot.start == timeslot.get_next_by_start.end and timeslot.start != "06:00" %}
+<div class="timeslot bf-{{ timeslot.show.broadcastformat.slug }}" {% duration timeslot.start timeslot.end %}>
+ <div><a href="{% url timeslot-detail timeslot.id %}">{{ timeslot.show.name }}</a></div>
+</div>
+{% endif %}
+
+{% if forloop.first and timeslot.start != "06:00" and timeslot.show == default_show %}
+<div class="timeslot bf-{{ timeslot.show.broadcastformat.slug }}" {% duration_until timeslot.end %}>
+ <div><a href="{% url timeslot-detail timeslot.id %}">{{ timeslot.show.name }}</a> </div>
+</div>
+{% endif %}
+
+{% if forloop.first and timeslot.start != "06:00" and timeslot.show != default_show %}
+<div class="timeslot bf-{{ timeslot.show.broadcastformat.slug }}" {% duration timeslot.start timeslot.end %}>
+ <div><a href="{% url timeslot-detail timeslot.id %}">{{ timeslot.show.name }}</a> </div>
+</div>
+{% endif %}
+
+{% if not forloop.first and not forloop.last %}
+<div class="timeslot bf-{{ timeslot.show.broadcastformat.slug }}" {% duration timeslot.start timeslot.end %}>
+ <div><a href="{% url timeslot-detail timeslot.id %}">{{ timeslot.show.name }}</a></div>
+</div>
+ {% if timeslot.end != timeslot.get_next_by_start.start %}
+ <div class="timeslot bf-{{ default_show.broadcastformat.slug }}" {% duration timeslot.end timeslot.get_next_by_start.start %}>
+ <div>{{ default_show.name }}</div>
+ </div>
+ {% endif %}
+{% endif %}
+
+{% if forloop.last and timeslot.end != "06:00" and timeslot.show == default_show %}
+<div class="timeslot bf-{{ timeslot.show.broadcastformat.slug }}" {% duration_since timeslot.start %}>
+ <div><a href="{% url timeslot-detail timeslot.id %}">{{ timeslot.show.name }}</a> </div>
+</div>
+{% endif %}
+
+{% if forloop.last and timeslot.end != "06:00" and timeslot.show != default_show %}
+<div class="timeslot bf-{{ timeslot.show.broadcastformat.slug }}" {% duration timeslot.start timeslot.end %}>
+ <div><a href="{% url timeslot-detail timeslot.id %}">{{ timeslot.show.name }}</a> </div>
+</div>
+{% endif %}
+
+{% if forloop.last and timeslot.end != timeslot.get_next_by_start.start %}
+<div class="timeslot bf-{{ default_show.broadcastformat.slug }}" {% duration_since timeslot.end %}>
+ <div>{{ default_show.name }}</div>
+</div>
+{% endif %}