diff --git a/edx_proctoring/__init__.py b/edx_proctoring/__init__.py index 1ff927858a8..1008154892f 100644 --- a/edx_proctoring/__init__.py +++ b/edx_proctoring/__init__.py @@ -5,6 +5,6 @@ from __future__ import absolute_import # Be sure to update the version number in edx_proctoring/package.json -__version__ = '2.0.1' +__version__ = '2.0.2' default_app_config = 'edx_proctoring.apps.EdxProctoringConfig' # pylint: disable=invalid-name diff --git a/edx_proctoring/api.py b/edx_proctoring/api.py index 9ea9c7d78b3..a76d27e0563 100644 --- a/edx_proctoring/api.py +++ b/edx_proctoring/api.py @@ -1545,6 +1545,7 @@ def get_attempt_status_summary(user_id, course_id, content_id): # let's check credit eligibility credit_service = get_runtime_service('credit') + # practice exams always has an attempt status regardless of # eligibility if credit_service and not exam['is_practice_exam']: @@ -2061,6 +2062,7 @@ def get_exam_violation_report(course_id, include_practice_exams=False): Violation status messages are aggregated as a list per attempt for each violation type. """ + attempts_by_code = { attempt['attempt_code']: { 'course_id': attempt['proctored_exam']['course_id'], @@ -2073,7 +2075,10 @@ def get_exam_violation_report(course_id, include_practice_exams=False): 'started_at': attempt['started_at'], 'completed_at': attempt['completed_at'], 'status': attempt['status'], - 'review_status': None + 'review_status': None, + 'provider': attempt['proctored_exam']['backend'], + 'user_id': attempt['user']['id'] + } for attempt in get_all_exam_attempts(course_id) } diff --git a/package.json b/package.json index 06d2c323ce7..d5b5545d662 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "@edx/edx-proctoring", "//": "Be sure to update the version number in edx_proctoring/__init__.py", "//": "Note that the version format is slightly different than that of the Python version when using prereleases.", - "version": "2.0.0", + "version": "2.0.1", "main": "edx_proctoring/static/index.js", "repository": { "type": "git",