<a class="big-friendly-button" id="add-diffusion-link" href="#">Ajouter une diffusion</a>
{% endif %}
<a class="big-friendly-button" id="add-soundfile-link" href="#">Ajouter un son</a>
+{% if episode.effective_start and episode.effective_end %}
+ {% if internal_ip %}
+ <a class="big-friendly-button" id="download-recording" download href="{{ episode.get_pige_download_url }}">Télécharger l'enregistrement</a>
+ {% endif %}
+{% elif not soundfiles %}
+ {% if episode.effective_start %}
+ <a class="big-friendly-button" id="stop-recording" href="stop">Arrêter l'enregistrement</a>
+ {% else %}
+ <a class="big-friendly-button" id="start-recording" href="start">Démarrer l'enregistrement</a>
+ {% endif %}
+{% endif %}
<a class="big-friendly-button actually-not-that-friendly" href="delete/">Supprimer</a>
</p>
{% endif %}
url(r'^(?P<emission_slug>[\w,-]+)/(?P<slug>[\w,-]+)/$', EpisodeDetailView.as_view(), name='episode-view'),
url(r'^(?P<emission_slug>[\w,-]+)/(?P<slug>[\w,-]+)/edit/$', EpisodeUpdateView.as_view(), name='episode-update'),
url(r'^(?P<emission_slug>[\w,-]+)/(?P<slug>[\w,-]+)/delete/$', EpisodeDeleteView.as_view(), name='episode-delete'),
+
+ url(r'^(?P<emission_slug>[\w,-]+)/(?P<slug>[\w,-]+)/start/$',
+ EpisodeStartView.as_view(), name='episode-start'),
+ url(r'^(?P<emission_slug>[\w,-]+)/(?P<slug>[\w,-]+)/stop/$',
+ EpisodeStopView.as_view(), name='episode-stop'),
+
url(r'^(?P<emission_slug>[\w,-]+)/(?P<slug>[\w,-]+)/add-soundfile$',
EpisodeAddSoundFileView.as_view(), name='episode-add-soundfile'),
url(r'^(?P<emission_slug>[\w,-]+)/(?P<slug>[\w,-]+)/add-diffusion$',
'EmissionOpenChatView', 'EmissionCloseChatView',
'EpisodeRegieView',
'EpisodeRegieUpdateOrderView',
- 'EpisodeRegieMarks', 'EpisodeRegieDeleteElementView'
+ 'EpisodeRegieMarks', 'EpisodeRegieDeleteElementView',
+ 'EpisodeStartView', 'EpisodeStopView',
]
if end:
obj['pige_download_url'] = episode.get_pige_download_url()
return JSONResponse(obj)
+
+
+class EpisodeStartView(RedirectView):
+ def get_redirect_url(self, emission_slug, slug):
+ episode = Episode.objects.get(slug=slug, emission__slug=emission_slug)
+ episode.effective_start = datetime.datetime.now()
+ episode.save()
+ messages.success(self.request, _('Started recording'))
+ return reverse('episode-view',
+ kwargs={'emission_slug': emission_slug,
+ 'slug': slug})
+
+class EpisodeStopView(RedirectView):
+ def get_redirect_url(self, emission_slug, slug):
+ episode = Episode.objects.get(slug=slug, emission__slug=emission_slug)
+ episode.effective_end = datetime.datetime.now()
+ episode.save()
+ messages.success(self.request, _('Stopped recording'))
+ return reverse('episode-view',
+ kwargs={'emission_slug': emission_slug,
+ 'slug': slug})