]> git.parisson.com Git - teleforma.git/commitdiff
update webclass display and admin fields management
authorGuillaume Pellerin <guillaume.pellerin@parisson.com>
Mon, 21 Jul 2025 11:39:33 +0000 (13:39 +0200)
committerGuillaume Pellerin <guillaume.pellerin@parisson.com>
Mon, 21 Jul 2025 11:39:33 +0000 (13:39 +0200)
teleforma/webclass/admin.py
teleforma/webclass/models.py
teleforma/webclass/templates/webclass/webclass_record.html

index a7b34e5e5a10d93e84deaaca85c6bf900849f56a..d4614eb6e3cffc3400222d4be0b0efc3c99c414a 100644 (file)
@@ -23,8 +23,8 @@ class WebclassAdmin(admin.ModelAdmin):
 
 class WebclassRecordAdmin(admin.ModelAdmin):
     list_filter = ('period', 'course', 'session', 'professor', 'category', 'created', 'status')
-    list_display = ('period', 'course', 'session', 'professor', 'category', 'created', 'status')
-    search_fields = ['id', 'course__code', 'course__title']
+    list_display = ('period', 'course', 'session', 'record_id', 'professor', 'category', 'created', 'status')
+    search_fields = ['id', 'course__code', 'course__title', 'record_id']
     actions = ['publish',]
 
     # def get_form(self, request, obj=None, **kwargs):
index e80c20c23378620c79bbefba299a351245584291..bb9df45de7f8df94f4a23aa32ae410cb5b4cd286 100644 (file)
@@ -64,8 +64,9 @@ def get_records_from_bbb(**kwargs):
                 url = str(url)
             else:
                 continue
-            url = url.replace('bbb2.parisson.com', 'bbb3.parisson.com')
-            url = url.replace("http://", "https://")
+
+            url = url.replace('bbb2.parisson.com', 'bbb3.parisson.com') #HACK
+            url = url.replace("http://", "https://") #HACK
             start = int(str(recording['startTime'])[:-3])
             end = int(str(recording['endTime'])[:-3])
             preview = ""
@@ -150,6 +151,7 @@ class WebclassPublishedManager(models.Manager):
     def get_queryset(self):
         return super(WebclassPublishedManager, self).get_queryset().filter(status=3).exclude(end_date__lt=date.today())
 
+
 class Webclass(models.Model):
 
     department = models.ForeignKey('teleforma.Department', related_name='webclass', verbose_name=_(
@@ -220,7 +222,7 @@ class WebclassSlot(models.Model):
     participants = models.ManyToManyField(User, related_name="webclass_slot", verbose_name=_('participants'),
                                           blank=True)
     room_id = models.CharField(
-        'id de la conférence BBB (généré automatiquement)', blank=True, null=True, max_length=255)
+        'ID Room BBB (généré automatiquement)', blank=True, null=True, max_length=255)
     room_password = models.CharField(
         'password du modérateur (généré automatiquement)', blank=True, null=True, max_length=255)
 
@@ -430,22 +432,20 @@ class WebclassRecord(models.Model):
     period = models.ForeignKey('teleforma.Period', verbose_name=_('period'), on_delete=models.CASCADE)
     course = models.ForeignKey(
         'teleforma.Course', related_name='webclass_records', verbose_name=_('course'), on_delete=models.CASCADE)
-    record_id = models.CharField("Enregistrement BBB", max_length=255, blank=True, null=True)
+    record_id = models.CharField("ID Enregistrement BBB", max_length=255, blank=True, null=True)
+    # Used when conference are created from webclass by teachers to retrive the record id
+    room_id = models.CharField(
+        'ID Room BBB (généré automatiquement)', blank=True, null=True, max_length=255, unique=True)
     # not used for now, but may be handy if we need to optimize performance
     bbb_server = models.ForeignKey(
         'BBBServer', related_name='webclass_records', verbose_name='Serveur BBB', on_delete=models.CASCADE)
     created = models.DateTimeField("Date de la conférence", auto_now_add=True)
     session = models.CharField(
         _('session'), choices=session_choices, max_length=16, blank=True, null=True)
-    
-    # Used when conference are created from webclass by teachers to retrive the record id
-    room_id = models.CharField(
-        'id de la conférence BBB (généré automatiquement)', blank=True, null=True, max_length=255, unique=True)
     professor = models.ForeignKey('teleforma.Professor', related_name='webclass_records', verbose_name=_('professor'), on_delete=models.SET_NULL, blank=True, null=True)
     status = models.IntegerField(
         _('status'), choices=STATUS_CHOICES, default=2)
     
-
     WEBCLASS = 'WC'
     CORRECTION = 'CC'
     CATEGORY_CHOICES = [
index 3d730d279a695b3b3fdf1a20a94fb7a28b11fda5..17221a70344ac45fa86bc485c8fca4b69f625feb 100644 (file)
         <div>
             <dl class="listing" style="font-size: 1.2em;">
                 {% if record.slot %}
-                <dt>{% trans "Professor" %}</dt>
-                <dd>{{ record.slot.professor }}</dd>
+                    <dt>{% trans "Professor" %}</dt>
+                    <dd>{{ record.slot.professor }}</dd>
                 {% endif %}
                 <dt>{% trans "Begin" %}</dt>
                 <dd>{{ record.start_date }}</dd>
                 {% if record.obj.session %}
-                <dt>{% trans "Session" %}</dt>
-                <dd>{{ record.obj.session }}</dd>
+                    <dt>{% trans "Session" %}</dt>
+                    <dd>{{ record.obj.session }}</dd>
+                {% endif %}
+                {% if user.is_staff or user.professor.count %}
+                    <dt>{% trans "ID" %}</dt>
+                    <dd>{{ record.obj.record_id }}</dd>
                 {% endif %}
             </dl>
         </div>