From: Guillaume Pellerin Date: Mon, 25 Jan 2021 16:02:57 +0000 (+0100) Subject: add CourseType seializer X-Git-Tag: 0.9-tc~12 X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=3ebf82443ac750386ebe5d8e890f4af830bac9aa;p=teleforma.git add CourseType seializer --- diff --git a/teleforma/models/core.py b/teleforma/models/core.py index f8b9fea9..c542c124 100644 --- a/teleforma/models/core.py +++ b/teleforma/models/core.py @@ -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', diff --git a/teleforma/views/core.py b/teleforma/views/core.py index 870d4cde..086576db 100644 --- a/teleforma/views/core.py +++ b/teleforma/views/core.py @@ -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)