Files
aircox-radiocampus/aircox/templates/aircox/controllers/stats.html

107 lines
3.4 KiB
HTML
Executable File

{% extends "admin/base_site.html" %}
{# {% extends "aircox/controllers/base_site.html" %} #}
{% load i18n %}
{% load tz %}
{% localtime on %}
{% block title %}
{% trans "Statistics of the stations" %}
{% endblock %}
{% block content %}
<header>
<h1>{% trans "Statistics of the stations" %}</h1>
{# TODO here #}
<form action="?" method="GET">
Go to this date:
<input name="day" type="number" placeholder="{% trans "day" %}"
value="{{ statistics.0.date.day }}"></input>
<input name="month" type="number" placeholder="{% trans "month" %}"
value="{{ statistics.0.date.month }}"></input>
<input name="year" type="number" placeholder="{% trans "year" %}"
value="{{ statistics.0.date.year }}"></input>
<input type="submit" value="{% trans "Show" %}">
</form>
</header>
{% for stats in statistics %}
<section class="station">
<header>
<h2>{{ stats.station.name }},
{{ stats.date|date:'l d F Y' }}</h2>
</header>
<table cellspacing="0" cellpadding="0" class="object">
<tr class="header">
<th>{% trans "Date" %}</th>
<th width="10%">{% trans "Type" %}
{# Translators "Header for statistics view" #}
<th width="50%">{% trans "Diffusion or sound played" %}
<th width="30%">{% trans "Tags" %}</th>
</tr>
{% for item in stats.items %}
<tr>
<th>{{ item.date|time:"H:i" }}</th>
<th>{{ item.type }}</th>
<th>{{ item.name }}</th>
<th>{% for tag,count in item.tags.items %}
{{ tag }}: {{ count }};
{% endfor %}</th>
</tr>
{% for track in item.tracks %}
<tr class="subdata" tags="{{ track.tags.all|join:', '}}">
<td>{{ track.date|time:"H:i" }}</td>
<td>{% trans "Track" %}</td>
<td>{{ track.artist }} -- <emph>{{ track.title }}</emph> {{ track.version }}</td>
<td>{{ track.tags.all|join:', ' }}</td>
</tr>
{% endfor %}
{% endfor %}
<tr class="bottom">
<th>{{ stats.date|date:'d/m/Y' }}</th>
<th>{% trans "Total" %}</th>
<th>
{% with stats.items|length as items_count %}
{% with stats.count as tracks_count %}
{% blocktrans %}
{{ items_count }} items, with a total of {{ tracks_count }} tracks
{% endblocktrans %}
{% endwith %}
{% endwith %}
</th>
<th>
<script>
var tracks = document.querySelectorAll('.subdata[tags]');
var tags = {}
for(var i = 0; i < tracks.length; i++) {
var tags_ = tracks[i].getAttribute('tags').split(', ');
for(var j = 0; j < tags_.length; j++) {
var tag = tags_[j];
tags[tag] = (tags[tag] || 0) + 1;
}
}
for(var tag in tags) {
document.write('<span>' + tag + ': <b>' + tags[tag] + '</b><br>');
}
</script>
</th>
<th>{% for tag, count, average in stats.tags %}
<span>{{ tag }}: <b>{{ average|floatformat }}%</b> ({{ count }})<br>
{% endfor %}
</th>
</tr>
</table>
</section>
{% endfor %}
{% endblock %}
{% endlocaltime %}