<li><a href="{% url 'nonstop-random-tracks' %}">fichiers au hasards</a></li>
</ul></li>
<li><a href="{% url 'nonstop-cleanup' %}">Nettoyage de vieux morceaux</a></li>
+ <li><a href="{% url 'nonstop-zones' %}">Paramétrages des zones</a></li>
<li><a href="{% url 'nonstop-stats' %}">Statistiques</a></li>
{% endif %}
</ul>
<div class="buttons">
<button class="submit-button">{% trans "Save" %}</button>
- <a class="cancel" href="{% url 'nonstop-quick-links' %}">{% trans "Cancel" %}</a>
+ <a class="cancel" href="{% url 'nonstop-zones' %}">{% trans "Cancel" %}</a>
</div>
</form>
--- /dev/null
+{% extends "base.html" %}
+{% load i18n %}
+
+{% block appbar %}
+<h2>Nonstop - Zones</h2>
+{% endblock %}
+
+{% block more-user-links %}
+{{ block.super }}
+<a href="{% url 'nonstop-quick-links' %}">Gestion nonstop</a>
+{% endblock %}
+
+{% block content %}
+
+<div class="section">
+<ul class="objects-list single-links">
+{% for zone in object_list %}
+<li {% if zone.start == zone.end %}class="disabled"{% endif %}
+ ><a href="{% url 'zone-settings' slug=zone.slug %}"><span class="tag">{{zone.start}} → {{zone.end}}</span>
+ {{ zone.title }}
+ {% if zone.start == zone.end %}<span class="extra-info disabled-zone">(zone désactivée)</span>{% endif %}</a></li>
+{% endfor %}
+</ul>
+</div>
+
+{% endblock %}
UploadTracksView, RecentTracksMetadataView, RandomTracksMetadataView,
QuickLinksView, SearchView, CleanupView, ArtistTracksMetadataView,
SearchCsvView, AddSomaDiffusionView, DelSomaDiffusionView,
- DiffusionPropertiesView, AjaxProgram, ZoneSettings,
+ DiffusionPropertiesView, AjaxProgram, ZonesView, ZoneSettings,
jingle_audio_view,
MuninTracks)
url(r'^artists/$', ArtistListView.as_view(), name='artist-list'),
url(r'^artists/(?P<pk>\d+)/$', ArtistDetailView.as_view(), name='artist-view'),
+ url(r'^zones/$$', ZonesView.as_view(), name='nonstop-zones'),
url(r'^zones/(?P<slug>[\w-]+)/settings/$', ZoneSettings.as_view(), name='zone-settings'),
# Example: /2012/nov/10/
model = Artist
+class ZonesView(ListView):
+ model = Nonstop
+ template_name = 'nonstop/zones.html'
+
+ def get_queryset(self):
+ return sorted(super().get_queryset(), key=lambda x: datetime.time(23, 59) if (x.start == x.end) else x.start)
+
+
class ZoneStats(object):
def __init__(self, zone, from_date=None, until_date=None, **kwargs):
self.zone = zone
class ZoneSettings(FormView):
form_class = ZoneSettingsForm
template_name = 'nonstop/zone_settings.html'
- success_url = reverse_lazy('nonstop-quick-links')
+ success_url = reverse_lazy('nonstop-zones')
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)