]> 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:03:20 +0000 (17:03 +0100)
teleforma/models/core.py
teleforma/views/core.py

index f8b9fea92fbbecba13228916adfe41f680459558..c542c124489574380e082f8867a713fdc54c5ff1 100644 (file)
@@ -148,6 +148,12 @@ class CourseType(Model):
         verbose_name = _('course type')
 
 
+    def from_dict(self, data):
+        self.name = data['name']
+        self.description = data['description']
+        self.save()
+
+
 class Course(Model):
 
     department      = ForeignKey('Department', related_name='course',
index 870d4cde8cdb5f7ed1749924c5411571cfb49fd7..086576dba31ab187840bfabb409dd3f431153bae 100644 (file)
@@ -258,6 +258,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)