]> git.parisson.com Git - teleforma.git/commitdiff
No streaming conference listed in templates
authorGuillaume Pellerin <guillaume.pellerin@ircam.fr>
Wed, 24 Apr 2019 15:59:39 +0000 (17:59 +0200)
committerGuillaume Pellerin <guillaume.pellerin@ircam.fr>
Wed, 24 Apr 2019 15:59:39 +0000 (17:59 +0200)
teleforma/models/core.py
teleforma/templates/teleforma/inc/conference_list.html
teleforma/templatetags/teleforma_tags.py
teleforma/views/core.py

index 4f8b24e6231384ba53e78efe6964afe2c20827e3..5505375debbb92017018d5e88f07cac97e9b4264 100644 (file)
@@ -307,7 +307,7 @@ class Room(Model):
         verbose_name = _('room')
 
 
-class Conference(Model):
+class Conference(models.Model):
 
     public_id       = models.CharField(_('public_id'), max_length=255, blank=True)
     department      = models.ForeignKey('Department', related_name='conference', verbose_name=_('department'),
@@ -390,6 +390,7 @@ class Conference(Model):
                 'period': self.period.name if self.period else 'None',
                 'session': self.session if self.session else 'None',
                 'comment': self.comment if self.comment else 'None',
+                'streaming': self.streaming if self.streaming else 'False',
                 'streams': [],
                 'date_begin': self.date_begin.strftime('%Y %m %d %H %M %S') if self.date_begin else 'None',
                 'date_end': self.date_end.strftime('%Y %m %d %H %M %S') if self.date_end else 'None',
index 8979649f24e7eceac80cf40445154236d7f5d019..c750fbc11075e9ae97db045d38dc1757900c9a4b 100644 (file)
@@ -1,7 +1,7 @@
 {% load teleforma_tags %}
 {% load i18n %}
 
-{% with course.conference.all|from_course_type:type as conferences %}
+{% with course.conference.all|from_course_type:type|streaming_only as conferences %}
 {% if conferences|from_period:period %}
 <div class="course_content content_video">
 <div class="course_subtitle">
index ed8ef8ef81dfa3aaba9b06251671c44c3d27ee77..033ca02fae5af63156b9db6858350cac43f652fe 100644 (file)
@@ -127,6 +127,10 @@ def from_course_type(contents, type):
     if contents:
         return contents.filter(course_type=type)
 
+@register.filter
+def streaming_only(contents):
+    return contents.filter(streaming=True)
+
 @register.filter
 def from_doc_type(contents, type):
     if contents:
@@ -226,7 +230,7 @@ def scripts_count(user, period, statuses):
         return ' (' + str(len(scripts)) + ')'
     else:
         return ''
-    
+
 @register.simple_tag
 def untreated_scripts_count(user, period):
     return scripts_count(user, period, (3,))
@@ -262,17 +266,17 @@ def newsitems_portlet(context, course_id, period_id):
         'can_edit':newsitem.can_edit(request),
         'can_delete':newsitem.can_delete(request),
         }
-    
-    course = get_object_or_404(Course, id=course_id) 
+
+    course = get_object_or_404(Course, id=course_id)
     course_newsitems = [get_data(news) for news in NewsItem.objects.filter(deleted=False, course__id=course_id, period_id=period_id).order_by('-created')]
     all_newsitems = [get_data(news) for news in NewsItem.objects.filter(deleted=False, period_id=period_id).order_by('-created')]
-    can_add = False 
+    can_add = False
     if user.is_staff or user.professor.count():
         can_add = True
     return {
             'can_add':can_add,
             'course':course,
             'period_id':period_id,
-            'course_newsitems':course_newsitems, 
+            'course_newsitems':course_newsitems,
             'all_newsitems':all_newsitems
            }
index 3ae415e921d18df3aafd2a0d25b92aa6a74ab6d0..f27d9f4a5929f03aadbc64908924cd3f2c8922ea 100644 (file)
@@ -757,27 +757,28 @@ class ConferenceRecordView(FormView):
                 conference.from_json_dict(conf_dict)
                 conference.save()
 
-                for stream in conf_dict['streams']:
-                    host = getattr(settings, "TELECASTER_LIVE_STREAMING_SERVER", stream['host'])
-                    server_type = stream['server_type']
-                    stream_type = stream['stream_type']
-                    if server_type == 'icecast':
-                        port = getattr(settings, "TELECASTER_LIVE_ICECAST_STREAMING_PORT", stream['port'])
-                    elif server_type == 'stream-m':
-                        port = getattr(settings, "TELECASTER_LIVE_STREAM_M_STREAMING_PORT", stream['port'])
-                    #site = Site.objects.all()[0]
-                    server, c = StreamingServer.objects.get_or_create(host=host,
-                                                                      port=port,
-                                                                      type=server_type)
-                    stream = LiveStream(conference=conference, server=server,
-                                        stream_type=stream_type, streaming=True)
-                    stream.save()
-
-                if not conference.web_class_group:
-                    try:
-                        live_message(conference)
-                    except:
-                        pass
+                if conference.streaming:
+                    for stream in conf_dict['streams']:
+                        host = getattr(settings, "TELECASTER_LIVE_STREAMING_SERVER", stream['host'])
+                        server_type = stream['server_type']
+                        stream_type = stream['stream_type']
+                        if server_type == 'icecast':
+                            port = getattr(settings, "TELECASTER_LIVE_ICECAST_STREAMING_PORT", stream['port'])
+                        elif server_type == 'stream-m':
+                            port = getattr(settings, "TELECASTER_LIVE_STREAM_M_STREAMING_PORT", stream['port'])
+                        #site = Site.objects.all()[0]
+                        server, c = StreamingServer.objects.get_or_create(host=host,
+                                                                        port=port,
+                                                                        type=server_type)
+                        stream = LiveStream(conference=conference, server=server,
+                                            stream_type=stream_type, streaming=True)
+                        stream.save()
+
+                    if not conference.web_class_group:
+                        try:
+                            live_message(conference)
+                        except:
+                            pass
         else:
             raise 'Error : input must be a conference dictionnary'