From bb52ef81c2fafe38bb37990026d2ca3d37e29da7 Mon Sep 17 00:00:00 2001 From: Guillaume Pellerin Date: Mon, 25 Jan 2021 16:56:51 +0100 Subject: [PATCH] add jsonrpc CourseType serializer --- teleforma/models/core.py | 6 ++++++ teleforma/views/core.py | 16 ++++++++++------ 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/teleforma/models/core.py b/teleforma/models/core.py index c9d63e2e..0e8b0e74 100755 --- a/teleforma/models/core.py +++ b/teleforma/models/core.py @@ -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): diff --git a/teleforma/views/core.py b/teleforma/views/core.py index 03417125..dd7be7e5 100644 --- a/teleforma/views/core.py +++ b/teleforma/views/core.py @@ -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) -- 2.39.5