From: Yoan Le Clanche Date: Tue, 5 Nov 2024 13:53:33 +0000 (+0100) Subject: Add view to join bbb conference X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=19376642b0a2329b7c5ce1e77691900709f7d01d;p=teleforma.git Add view to join bbb conference --- diff --git a/teleforma/models/core.py b/teleforma/models/core.py index a59cf56b..f7c4ab25 100755 --- a/teleforma/models/core.py +++ b/teleforma/models/core.py @@ -599,6 +599,13 @@ class Conference(models.Model): 'publication_date': publication.date_publish, 'notified': publication.notified } + + def get_join_conference_url(self, user): + username = user.get_full_name() + params = {'userID': user.username} + bbb = self.bbb_server.get_instance() + return bbb.get_join_meeting_url(username, self.bbb_room_id, "PWATTENDEE", params) + class Meta(MetaCore): db_table = app_label + '_' + 'conference' verbose_name = _('conference') diff --git a/teleforma/webclass/urls.py b/teleforma/webclass/urls.py index c4105ed8..c164600e 100644 --- a/teleforma/webclass/urls.py +++ b/teleforma/webclass/urls.py @@ -36,7 +36,7 @@ from django.conf.urls import url from ..webclass.views import (WebclassAppointment, WebclassProfessorAppointments, - WebclassRecordsFormView, WebclassRecordView, + WebclassRecordsFormView, WebclassRecordView, join_conference, join_webclass, unregister, create_bbb_conference) urlpatterns = [ @@ -56,5 +56,8 @@ urlpatterns = [ name="teleforma-webclass-join"), url(r'^desk/webclass/(?P.*)/(?P.*)/(?P.*)/create_conference/$', create_bbb_conference, - name="teleforma-create-bbb-conference") + name="teleforma-create-bbb-conference"), + url(r'^desk/conference/(?P.*)/join/$', + join_conference, + name="teleforma-conference-join") ] diff --git a/teleforma/webclass/views.py b/teleforma/webclass/views.py index 1242b841..e95be1e2 100644 --- a/teleforma/webclass/views.py +++ b/teleforma/webclass/views.py @@ -220,6 +220,14 @@ def join_webclass(request, pk): return HttpResponse('Unauthorized', status=401) +def join_conference(request, pk): + conference = Conference.objects.get(pk=int(pk)) + user = request.user + if not user.is_authenticated: + return HttpResponse('Unauthorized', status=401) + + return redirect(conference.get_join_conference_url(request.user)) + @access_required def unregister(request, pk): """ @@ -263,7 +271,7 @@ def create_bbb_conference(request, period_id, course_id, course_type_id): params = { 'name': "Conférence %s" % course.title, 'moderatorPW': password, - # 'attendeePW': password+"2", + 'attendeePW': "PWATTENDEE", # 'maxParticipants':self.webclass_max_participants + 1, 'welcome': "Pré-Barreau : Bienvenue sur la conférence \"%s\"." % (course.title), 'record': True,