@@ -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:
|
||||
|
||||
@@ -1212,20 +1212,25 @@ def submission_history(request, course_id, student_username, location):
|
||||
# This is ugly, but until we have a proper submissions API that we can use to provide
|
||||
# the scores instead, it will have to do.
|
||||
scores = list(StudentModuleHistory.objects.filter(
|
||||
student_module__module_state_key=usage_key
|
||||
student_module__module_state_key=usage_key,
|
||||
student_module__student__username=student_username,
|
||||
student_module__course_id=course_key
|
||||
).order_by('-id'))
|
||||
|
||||
if len(scores) != len(history_entries):
|
||||
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
|
||||
score.created: score
|
||||
for score in scores
|
||||
}
|
||||
scores = [
|
||||
|
||||
Reference in New Issue
Block a user