from bigbluebutton_api_python.exception import BBBException
from django.db.models.signals import pre_save
from django.dispatch import receiver
+from jxmlease import XMLListNode, XMLDictNode
from teleforma.bbb_utils import bbb, register_web_hook
recordings_xml = bbb.get_recordings(self.webclass_id).get_field('recordings')
if hasattr(recordings_xml, 'get'):
recordings = recordings_xml['recording']
+ if type(recordings) is XMLDictNode:
+ recordings = [recordings]
for recording in recordings:
recording.prettyprint()
url = recording.get('playback', {}).get('format', {}).get('url')
font-size: 1.2em;
}
+.conference-big-button {
+ line-height:3em;
+}
+
.messages {
padding: 0em 1em 1em 1em;
}
</a>{% if type.name != "None" %} - {{ type }}{% endif %}{% if conference.session %} - {% trans "Session" %} {{ conference.session }}{% endif %}
</div>
-{% if not seminar %}
+{% if not seminar and user.is_superuser %}
<p class="warning">Attention, aucun séminaire n'est associé à cette conférence.</p>
{% endif %}
{% if webclass_status == 'past' %}
{% if record %}
<p>La conférence est terminée, vous pouvez la revoir ci-dessous.
- <div class="media">
- <a href="{% url teleforma-conference-webclass-record conference.id%}">Voir l'enregistrement</a>
- </div>
+ <a href="{% url teleforma-conference-webclass-record conference.id%}" class="conference-big-button component_icon button icon_next">Voir l'enregistrement</a>
{% else %}
<p>La conférence est terminée. L'enregistrement n'est pas encore ligne.
{% endif %}
{% elif webclass_status == 'ingoing' %}
<p>La conférence est en cours.</p>
- <a href="{% url teleforma-conference-join conference.id %}" target="_blank">Cliquez ici pour rejoindre la conférence</a>
+ <a href="{% url teleforma-conference-join conference.id %}" target="_blank" class="conference-big-button component_icon button icon_next">Cliquez ici pour rejoindre la conférence</a>
{% elif webclass_status == 'almost' %}
<p>La conférence va bientôt démarrer. </p>
- <a href="{% url teleforma-conference-join conference.id %}" target="_blank">Cliquez ici pour rejoindre la conférence</a>
+ <a href="{% url teleforma-conference-join conference.id %}" target="_blank" class="conference-big-buttoncomponent_icon button icon_next">Cliquez ici pour rejoindre la conférence</a>
{% elif webclass_status == 'future' %}
<p>La conférence est prévue pour le {{ conference.date_begin }}. Revenez ici à ce moment là pour pouvoir la rejoindre.</p>
{% endif %}
-
+{% if user.is_superuser %}
+<div style="border:1px solid grey">
<h3>Liens de test</h3>
<p>
Utilisateur courant : <a href="{% url teleforma-conference-join conference.id %}" target="_blank">Cliquez ici pour rejoindre la conférence en tant que <strong>{{ request.user.username }}</strong></a>
<li><a href="{% url teleforma-conference-join conference.id %}?username=test{{i}}" target="_blank">Cliquez ici pour rejoindre la conférence en tant que <strong>test{{i}}</strong></a></li>
{% endfor %}
</ul>
+</div>
+{% endif %}
+
{% block general_info %}
<div class="course_content" id="media_infos">
{% block infra_javascript %}
+<style>
+iframe {
+ position: fixed;
+ background: #000;
+ border: none;
+ top: 40px; right: 0;
+ bottom: 100px; left: 0;
+ width: 100%;
+ height: 90%;
+}
+</style>
+
<script type="text/javascript">
{% if show_record %}
$(document).ready(function(){
{% block content %}
-<iframe src="{{record.url}}" width="100%" height="1000"></iframe>
+<iframe src="{{record.url}}" width="100%"></iframe>
{% endblock content %}
</div>
{% endwith %}
- {% if not seminar.conference in user.auditor.get.conferences.all %}
+ {% if seminar.conference.webclass or not seminar.conference in user.auditor.get.conferences.all %}
{% with seminar.question as questions %}
<div class="course_content">
webclass_status = "almost"
else:
webclass_status = "ingoing"
+ context['record'] = conference.get_record()
context['webclass_status'] = webclass_status
else:
content_type = ContentType.objects.get(app_label="teleforma", model="conference")
m = (totsec%3600) // 60
sec =(totsec%3600)%60
context['timer'] = "%d:%d:%d" %(h,m,sec)
+ context['conferences'] = all_conferences(self.request)
return context
def render_to_response(self, context):
self.question = Question.objects.get(pk=self.kwargs['pk'])
self.user = self.get_user()
- if self.question.seminar.conference in self.user.auditor.get().conferences.all():
+ conference = self.question.seminar.conference
+ if conference in self.user.auditor.get().conferences.all() and not conference.webclass:
raise PermissionDenied
answers = Answer.objects.filter(user=self.user,