]> git.parisson.com Git - teleforma.git/commitdiff
add jsonrpc CourseType serializer
authorGuillaume Pellerin <guillaume.pellerin@ircam.fr>
Mon, 25 Jan 2021 15:56:51 +0000 (16:56 +0100)
committerGuillaume Pellerin <guillaume.pellerin@ircam.fr>
Mon, 25 Jan 2021 15:56:51 +0000 (16:56 +0100)
teleforma/models/core.py
teleforma/views/core.py

index c9d63e2e64f2f4b074a98add8e21ca756dd5f86d..0e8b0e74f1abb4cf50e084d39594be75881e91f3 100755 (executable)
@@ -175,6 +175,7 @@ class Period(Model):
         verbose_name = _('period')
         ordering = ['name']
 
+
 class CourseType(Model):
 
     name            = models.CharField(_('name'), max_length=255)
@@ -187,6 +188,11 @@ class CourseType(Model):
         db_table = app_label + '_' + 'course_type'
         verbose_name = _('course type')
 
+    def to_dict(self):
+        dict = {'name' : self.name,
+                'description' : self.description,
+                }
+        return dict
 
 class Course(Model):
 
index 0341712577cb9b269a7758621411f175c67f559d..dd7be7e582ca964599cdbd404fc9436961110bfc 100644 (file)
@@ -374,7 +374,7 @@ class CourseListView(CourseAccessMixin, ListView):
                 context['home_text'] = home.text
                 context['home_video'] = home.video
                 break
-               
+
         if is_student:
             student = user.student.all()[0]
             slots = []
@@ -391,7 +391,7 @@ class CourseListView(CourseAccessMixin, ListView):
             context['webclass_slots'] = slots
             context['webclass_to_subscribe'] = to_subscribe
             context['restricted'] = student.restricted
-        
+
         return context
 
     @method_decorator(login_required)
@@ -405,6 +405,10 @@ class CourseListView(CourseAccessMixin, ListView):
         department = Department.objects.get(organization=organization, name=department_name)
         return [course.to_dict() for course in Course.objects.filter(department=department)]
 
+    @jsonrpc_method('teleforma.get_course_type_list')
+    def get_course_type_list(request):
+        return [course_type.to_dict() for course_type in CourseType.objects.all()]
+
     def pull(request, organization_name, department_name):
         organization = Organization.objects.get(name=organization_name)
         department = Department.objects.get(name=department_name, organization=organization)
@@ -448,14 +452,14 @@ class CourseView(CourseAccessMixin, DetailView):
         context['room'] = get_room(name=course.code, period=context['period'].name,
                                    content_type=content_type,
                                    id=course.id)
-        
+
         # webclass
         webclass = None
         webclass_slot = None
         student = self.request.user.student.all()
         if student:
             student = student[0]
-        
+
         if student:
             try:
                 webclass = Webclass.published.filter(period=self.period, course=course, iej=student.iej)[0]
@@ -610,7 +614,7 @@ class DocumentView(CourseAccessMixin, DetailView):
         courses = get_courses(request.user)
         document = Document.objects.get(pk=pk)
         if get_access(document, courses):
-            return serve_media(document.file.path.encode('utf8'), streaming=False) 
+            return serve_media(document.file.path.encode('utf8'), streaming=False)
             #fsock = open(document.file.path.encode('utf8'), 'r')
             #mimetype = mimetypes.guess_type(document.file.path)[0]
             #extension = mimetypes.guess_extension(mimetype)
@@ -625,7 +629,7 @@ class DocumentView(CourseAccessMixin, DetailView):
         courses = get_courses(request.user)
         document = Document.objects.get(pk=pk)
         if get_access(document, courses):
-            return serve_media(document.file.path.encode('utf8'), streaming=True) 
+            return serve_media(document.file.path.encode('utf8'), streaming=True)
             #fsock = open(document.file.path.encode('utf8'), 'r')
             #mimetype = mimetypes.guess_type(document.file.path)[0]
             #extension = mimetypes.guess_extension(mimetype)