forked from rc/aircox
107 lines
3.4 KiB
HTML
Executable File
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 %}
|
|
|