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

index 0e8b0e74f1abb4cf50e084d39594be75881e91f3..bd18ee4a03c81fa461294924e7c1058580b3be70 100755 (executable)
@@ -194,6 +194,12 @@ class CourseType(Model):
                 }
         return dict
 
+    def from_dict(self, data):
+        self.name = data['name']
+        self.description = data['description']
+        self.save()
+
+
 class Course(Model):
 
     department = models.ForeignKey('Department', related_name='course',
index dd7be7e582ca964599cdbd404fc9436961110bfc..ce49dddd3b11499198477a6834964b2daa24f86b 100644 (file)
@@ -424,6 +424,16 @@ class CourseListView(CourseAccessMixin, ListView):
                 course = course[0]
             course.from_dict(course_dict)
 
+        remote_list = s.teleforma.get_course_type_list()
+        if remote_list['result']:
+            for course_type_dict in remote_list['result']:
+                course_type = CourseType.objects.filter(name=course_type_dict['name'])
+                if not course_type:
+                    course_type = CourseType()
+                else:
+                    course_type = course_type[0]
+                course_type.from_dict(course_type_dict)
+
     @jsonrpc_method('teleforma.get_dep_courses')
     def get_dep_courses(request, id):
         department = Department.objects.get(id=id)