@@ -257,7 +257,7 @@ def get_progress(self, model: CourseEnrollment) -> Dict[str, int]:
257
257
"""
258
258
return self .calculate_progress (model )
259
259
260
- def get_course_assignments (self , model : CourseEnrollment ) -> Optional [ Dict [str , List [Dict [str , str ]]]]:
260
+ def get_course_assignments (self , model : CourseEnrollment ) -> Dict [str , Optional [ List [Dict [str , str ]]]]:
261
261
"""
262
262
Returns the future assignment data and past assignments data for the user in the course.
263
263
"""
@@ -267,20 +267,28 @@ def get_course_assignments(self, model: CourseEnrollment) -> Optional[Dict[str,
267
267
self .context .get ('request' ),
268
268
include_past_dates = True
269
269
)
270
- next_assignment = None
271
- past_assignment = []
270
+ past_assignments = []
271
+ future_assignments = []
272
272
273
273
timezone = get_user_timezone_or_last_seen_timezone_or_utc (model .user )
274
274
for assignment in sorted (assignments , key = lambda x : x .date ):
275
275
if assignment .date < datetime .now (timezone ):
276
- past_assignment .append (assignment )
276
+ past_assignments .append (assignment )
277
277
else :
278
- next_assignment = DateSummarySerializer (assignment ).data
279
- break
278
+ if not assignment .complete :
279
+ future_assignments .append (assignment )
280
+
281
+ if future_assignments :
282
+ future_assignment_date = future_assignments [0 ].date .date ()
283
+ next_assignments = [
284
+ assignment for assignment in future_assignments if assignment .date .date () == future_assignment_date
285
+ ]
286
+ else :
287
+ next_assignments = []
280
288
281
289
return {
282
- 'future_assignment ' : next_assignment ,
283
- 'past_assignments' : DateSummarySerializer (past_assignment , many = True ).data ,
290
+ 'future_assignments ' : DateSummarySerializer ( next_assignments , many = True ). data ,
291
+ 'past_assignments' : DateSummarySerializer (past_assignments , many = True ).data ,
284
292
}
285
293
286
294
class Meta :
0 commit comments