]> git.0d.be Git - django-panik-emissions.git/commitdiff
add link to download from pige
authorFrédéric Péters <fpeters@0d.be>
Sun, 15 May 2016 17:37:06 +0000 (19:37 +0200)
committerFrédéric Péters <fpeters@0d.be>
Sun, 15 May 2016 17:37:06 +0000 (19:37 +0200)
emissions/models.py
emissions/templates/emissions/episode_regie.html
emissions/views.py

index 0ed2b1991e3d32aac9458b9e8aec9ba515aca900..f6300ed579ba288e5f0db9bf91b97c04d52cd169 100644 (file)
@@ -1,6 +1,7 @@
 import datetime
 import os
 
+from django.conf import settings
 from django.core.exceptions import ObjectDoesNotExist
 from django.forms import fields
 from django.core.urlresolvers import reverse
@@ -320,6 +321,12 @@ class Episode(models.Model):
     def has_sound(self):
         return (self.soundfile_set.count() > 0)
 
+    def get_pige_download_url(self):
+        return '%s/%s-%s-%s.wav' % (
+                settings.PIGE_DOWNLOAD_BASE_URL,
+                self.effective_start.strftime('%Y%m%d'),
+                self.effective_start.strftime('%Hh%Mm%S.%f'),
+                self.effective_end.strftime('%Hh%Mm%S.%f'))
 
     _soundfiles = {}
 
index d27430cc88f54f4c875d09548d906fc1c820aca5..4e69d8164c622bbde505f97c56310db70bfa0122 100644 (file)
@@ -12,6 +12,7 @@
 <a style="display: none;" class="big-friendly-button start-episode" href="#">Démarrer l'émission</a>
 <a style="display: none;" class="big-friendly-button end-episode" href="#">Terminer l'émission</a>
 <a style="display: none" class="big-friendly-button reset-episode" href="#">Réinitialiser</a>
+<a style="display: none" class="big-friendly-button" id="pige-url" href="{{download_url}}">Télécharger depuis la pige</a>
 </p>
 
 <div style="display: none;">
@@ -55,7 +56,15 @@ $(function() {
     $.ajax({
        url: $('#start_time').data('url'),
        data: {'start': $('#start_time').val(),
-              'end': $('#end_time').val()}
+              'end': $('#end_time').val()},
+       success: function(data, status, jqxhr) {
+         if (data.pige_download_url) {
+           $('#pige-url').attr('href', data.pige_download_url).show();
+           $('#pige-url').show();
+         } else {
+           $('#pige-url').hide();
+         }
+       }
     });
   }
 
@@ -102,14 +111,14 @@ $(function() {
   $('.start-episode').click(function() {
     $('#start_time').val(Date.now());
     update_start_end();
-    $(this).toggleClass('button-done');
+    $(this).addClass('button-done');
     $('.reset-episode').show();
     return false;
   });
   $('.end-episode').click(function() {
     $('#end_time').val(Date.now());
     update_start_end();
-    $(this).toggleClass('button-done');
+    $(this).addClass('button-done');
     return false;
   });
   $('.reset-episode').click(function() {
index 5f4fa9990893c6a22adbefcedb59529675f1787a..74d31a1a3cbb7e8225cf91f3fc0ba098b4fc151e 100644 (file)
@@ -3,6 +3,7 @@ import json
 import os
 import time
 
+from django.conf import settings
 from django.core.exceptions import PermissionDenied
 from django.core.files.storage import DefaultStorage
 from django.core.urlresolvers import reverse_lazy
@@ -601,6 +602,8 @@ class EpisodeRegieView(DetailView):
         if self.object.effective_end:
             context['end_time'] = int(time.mktime(self.object.effective_end.timetuple())*1000
                     + self.object.effective_end.microsecond/1000)
+            context['download_url'] = self.object.get_pige_download_url()
+
         try:
             context['can_manage'] = self.request.user.can_manage(self.object)
         except AttributeError:
@@ -633,4 +636,7 @@ class EpisodeRegieMarks(EpisodeRegieView):
         else:
             episode.effective_end = None
         episode.save()
-        return HttpResponse('ok')
+        obj = {'err': 0}
+        if end:
+            obj['pige_download_url'] = episode.get_pige_download_url()
+        return JSONResponse(obj)