Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Open sidebar
MOOC packages by hacklab
django-courses
Commits
06dc217a
Commit
06dc217a
authored
Apr 05, 2021
by
Matheus Miranda
Browse files
Add done units info to course serializer
parent
1818a56e
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
12 additions
and
7 deletions
+12
-7
courses/serializers.py
courses/serializers.py
+12
-4
courses/urls.py
courses/urls.py
+0
-3
No files found.
courses/serializers.py
View file @
06dc217a
...
...
@@ -39,6 +39,7 @@ class CourseSerializer(serializers.ModelSerializer):
track
=
serializers
.
SerializerMethodField
()
is_user_enrolled
=
serializers
.
SerializerMethodField
()
enroll_course_url
=
serializers
.
SerializerMethodField
()
user_done_units
=
serializers
.
SerializerMethodField
()
class
Meta
:
model
=
Course
...
...
@@ -48,7 +49,7 @@ class CourseSerializer(serializers.ModelSerializer):
'start_date'
,
'home_published'
,
'authors_names'
,
'has_started'
,
'min_percent_to_complete'
,
'is_user_assistant'
,
'is_user_coordinator'
,
'is_assistant_or_coordinator'
,
'professors'
,
'track'
,
'forum_id'
,
'is_user_enrolled'
,
'enroll_course_url'
)
'is_user_enrolled'
,
'enroll_course_url'
,
'user_done_units'
)
@
staticmethod
def
get_home_thumbnail_url
(
obj
):
...
...
@@ -71,9 +72,16 @@ class CourseSerializer(serializers.ModelSerializer):
if
request
and
hasattr
(
request
,
"user"
):
user
=
request
.
user
if
user
:
return
CourseStudent
.
objects
.
filter
(
course
=
obj
,
user
=
user
).
exists
()
return
False
return
CourseStudent
.
objects
.
filter
(
course
=
obj
,
user
=
user
).
exists
()
def
get_user_done_units
(
self
,
obj
):
user
=
None
request
=
self
.
context
.
get
(
"request"
)
if
request
and
hasattr
(
request
,
"user"
):
user
=
request
.
user
if
CourseStudent
.
objects
.
filter
(
course
=
obj
,
user
=
user
).
exists
():
return
CourseStudent
.
objects
.
filter
(
course
=
obj
,
user
=
user
).
first
().
units_done
def
get_enroll_course_url
(
self
,
obj
):
user
=
None
...
...
courses/urls.py
View file @
06dc217a
...
...
@@ -81,9 +81,6 @@ router.register(r'event', EventViewSet, base_name='event')
# Stats
router
.
register
(
r
'user-activities'
,
UserActivitiesViewSet
,
base_name
=
'user-activities'
),
# I18n
url
(
r
'^api/i18n/'
,
include
(
'django.conf.urls.i18n'
)),
app_name
=
'courses'
urlpatterns
=
[
# Stats (Activity Stream related functionality)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment