Skip to content

Commit 3180497

Browse files
authored
Fix: Enable getting all lectures regardless of status in LectureBaseHandler (#322)
Refs: #296
1 parent 7cb7688 commit 3180497

File tree

1 file changed

+20
-11
lines changed

1 file changed

+20
-11
lines changed

grader_service/handlers/lectures.py

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -31,17 +31,26 @@ async def get(self):
3131
Returns all lectures the user can access.
3232
"""
3333
self.validate_parameters("complete")
34-
complete = self.get_argument("complete", "false") == "true"
35-
36-
state = LectureState.complete if complete else LectureState.active
37-
lectures = sorted(
38-
[
39-
role.lecture
40-
for role in self.user.roles
41-
if role.lecture.state == state and role.lecture.deleted == DeleteState.active
42-
],
43-
key=lambda lecture: lecture.id,
44-
)
34+
complete = self.get_argument("complete", None)
35+
if complete is None: # return both complete and active lectures
36+
lectures = sorted(
37+
[
38+
role.lecture
39+
for role in self.user.roles
40+
if role.lecture.deleted == DeleteState.active
41+
],
42+
key=lambda lecture: lecture.id,
43+
)
44+
else: # return either only complete or only active lectures
45+
state = LectureState.complete if (complete == "true") else LectureState.active
46+
lectures = sorted(
47+
[
48+
role.lecture
49+
for role in self.user.roles
50+
if role.lecture.state == state and role.lecture.deleted == DeleteState.active
51+
],
52+
key=lambda lecture: lecture.id,
53+
)
4554

4655
self.write_json(lectures)
4756

0 commit comments

Comments
 (0)