This was to support an experiment in using coverage test contexts to
record what tests ran each line of code (informally known as
who-tests-what, or wtw). It never became operational.
* Deletes custom get_search_results() method, since `enterprise_customer__name` is now a viable search field
* Improves pagination by asking for an estimated row count from Mysql INFORMATION_SCHEMA.TABLES
* Turns 1 + N query into 1 query via proper use of list_select_related
ENT-4384
JIRA: MST-736
Due to inconsistencies in the way we handle attempts in past due practice proctored/onboarding exams, learners can end up in an unintended liminal state after attempting to reset their onboarding attempt. If a learner attempts to reset their rejected onboarding attempt after the exam's due date, we process the reset request and move their attempt into the "onboarding_reset" state. Theoretically, a new exam attempt should be created immediately thereafter. However, we have code that prevents the creation of an exam attempt after the exam's due date, so the call to create a subsequent exam attempt fails, leaving the learner with an exam attempt with the "onboarding_reset" status. Theoretically, this situation should never occur, and the fact that it does is a bug. Because of this, we did not handle the "onboarding_reset" status in the StudentOnboardingStatus panel, and this status appears as "null". As an intermediate step, while we think about our due date logic, this pull request bumps the edx-proctoring library to version 3.8.5, which adds a new onboarding status "onboarding_status_past_due". This status is displayed as "Onboarding Reset Failed Due to Past Due Exam" in the StudentOnboardingPanel in the InstructorDashboard, which should provide course staff with a clearer explanation.
JIRA: MST-745 tracks the removal of this intermediate code from the code base once we fix the underlying cause of this bug.
JIRA: MST-749 tracks the fix for the behavior that allowed for this state to occur.
This:
1. Introduces a new override using the `pluggable_override` decorator.
It is now possible to specify a custom way of getting XBlock's icon
by defining `GET_UNIT_ICON_IMPL` in settings.
2. Introduces a way to add custom `XBLOCK_MIXINS` by defining
`XBLOCK_EXTRA_MIXINS` in settings. This allows, e.g. to add
new fields to XBlocks.
* MST-734 Fix production issue on Learner Onboarding Status Panel
Fix the prod issue where learning sequence service object missing the needed get_user_course_outline service API
The user web API call currently returns 500
The version of proctoring 3.8.3 uses the onboarding exam due dates or course end dates as the testing date for learning sequence service to test the visibility of the onboarding status panel for learners. This change would allow onboarding exam with due dates to display to course enrollees correctly