From 93b1b698540e37df6f812cbd42fbff10e83222e4 Mon Sep 17 00:00:00 2001 From: Calen Pennington Date: Mon, 10 Aug 2015 14:42:18 -0400 Subject: [PATCH 1/3] Don't violate the empty-dict vs None semantics of student_module during delete_many --- lms/djangoapps/courseware/user_state_client.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/djangoapps/courseware/user_state_client.py b/lms/djangoapps/courseware/user_state_client.py index 4c45b09ddc..bcc65b6d05 100644 --- a/lms/djangoapps/courseware/user_state_client.py +++ b/lms/djangoapps/courseware/user_state_client.py @@ -253,7 +253,7 @@ class DjangoXBlockUserStateClient(XBlockUserStateClient): student_modules = self._get_student_modules(username, block_keys) for student_module, _ in student_modules: if fields is None: - student_module.state = None + student_module.state = "{}" else: current_state = json.loads(student_module.state) for field in fields: From 34892b9680b97f3b2b78b6a180c78dc1cbd46e1c Mon Sep 17 00:00:00 2001 From: Calen Pennington Date: Mon, 10 Aug 2015 14:42:37 -0400 Subject: [PATCH 2/3] Add more information when logging data about differing history and score entries --- lms/djangoapps/courseware/views.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lms/djangoapps/courseware/views.py b/lms/djangoapps/courseware/views.py index d1fc137634..a3040b0779 100644 --- a/lms/djangoapps/courseware/views.py +++ b/lms/djangoapps/courseware/views.py @@ -1219,10 +1219,13 @@ def submission_history(request, course_id, student_username, location): log.warning( "Mismatch when fetching scores for student " "history for course %s, user %s, xblock %s. " - "Matching scores by date for display.", + "%d scores were found, and %d history entries were found. " + "Matching scores to history entries by date for display.", course_id, student_username, - location + location, + len(scores), + len(history_entries), ) scores_by_date = { score.modified: score From 584453202fdbdb211b88fd471ea23220b63383e6 Mon Sep 17 00:00:00 2001 From: Calen Pennington Date: Mon, 10 Aug 2015 14:43:44 -0400 Subject: [PATCH 3/3] Use the correct attribute when accessing StudentModuleHistory creation dates --- lms/djangoapps/courseware/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/djangoapps/courseware/views.py b/lms/djangoapps/courseware/views.py index a3040b0779..be9777c37a 100644 --- a/lms/djangoapps/courseware/views.py +++ b/lms/djangoapps/courseware/views.py @@ -1228,7 +1228,7 @@ def submission_history(request, course_id, student_username, location): len(history_entries), ) scores_by_date = { - score.modified: score + score.created: score for score in scores } scores = [