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
465b0d3a
Commit
465b0d3a
authored
May 14, 2019
by
Bruno Martin
Browse files
change activity for LeaningObject
parent
866c2e31
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
6 additions
and
4 deletions
+6
-4
courses/models.py
courses/models.py
+6
-4
No files found.
courses/models.py
View file @
465b0d3a
...
...
@@ -417,7 +417,8 @@ class CourseStudent(models.Model):
.
filter
(
user
=
self
.
user
,
unit__lesson__course
=
self
.
course
)
def
_plpc_course_finished
(
self
):
activities
=
Activity
.
objects
\
from
courses_learning_objects.models
import
LearningObject
,
Answer
activities
=
LearningObject
.
objects
\
.
filter
(
unit__lesson__in
=
self
.
course
.
lessons
.
filter
(
status
=
'published'
),
type
=
'discussion'
)
...
...
@@ -524,6 +525,7 @@ class CourseStudent(models.Model):
Returns a list with dictionaries with keys name (lesson name), slug (lesson slug) and progress (percent lesson progress, decimal)
"""
# TODO refator to make one query to count unts done for all lessons
from
courses_learning_objects.models
import
LearningObject
,
Answer
progress_list
=
[]
for
lesson
in
self
.
course
.
lessons
.
filter
(
status
=
'published'
):
lesson_progress
=
{}
...
...
@@ -536,7 +538,7 @@ class CourseStudent(models.Model):
units_done_len
=
self
.
units_done_by_lesson
(
lesson
).
count
()
lesson_progress
[
'progress'
]
=
100
*
units_done_len
/
units_len
lesson_progress
[
'finish'
]
=
self
.
get_lesson_finish_time
(
lesson
)
activities
=
Activity
.
objects
.
filter
(
unit__lesson
=
lesson
,
type
=
'discussion'
)
activities
=
LearningObject
.
objects
.
filter
(
unit__lesson
=
lesson
,
type
=
'discussion'
)
i
=
0
for
activity
in
activities
:
i
=
i
+
1
...
...
@@ -848,8 +850,8 @@ class Lesson(PositionedModel):
return
staticfiles_storage
.
url
(
'img/lesson-default.png'
)
def
activity_count
(
self
):
from
activitie
s.models
import
Activity
return
Activity
.
objects
.
filter
(
unit__lesson
=
self
).
count
()
from
courses_learning_object
s.models
import
LearningObject
return
LearningObject
.
objects
.
filter
(
unit__lesson
=
self
).
count
()
def
unit_count
(
self
):
return
self
.
units
.
all
().
count
()
...
...
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