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'),
'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',
{% 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">
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:
return ' (' + str(len(scripts)) + ')'
else:
return ''
-
+
@register.simple_tag
def untreated_scripts_count(user, period):
return scripts_count(user, period, (3,))
'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
}
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'