Remove deprecated SingleSectionGrader. TNL-5987
Remove display_name and module_id from Scores objects
Update CourseGradeFactory.__init__ to not be user-specific
Update some callers to use CourseGrade class instead of "summary" dict
Remove no longer needed course_grades.py module.
Renamed django signal from GRADES_UPDATED to COURSE_GRADE_CHANGED
There is a bug introduced in this commit:
22046d4067 (diff-32687833c38e231b51a8f27a76c72a56R119)
The return value of the locations_to_weighted_scores[location] is
changed from `Score` object to a tuple (Score, weight). However, the
left side of assignment didn't get updated. So an error is raised and
the Celery task failed to continue. Thus, no grade is being passed back.
* First take at forcing a subsection's grade to update when a signal is
sent that a problem's score has changed
* Refactor signal handler connection.
* Expand bokchoy tests to cover progress page
* Add some grading unit tests
TNL-5394
TNL-5364
Hooks the pre-existing grades code into our new PersistentSubsectionGrade data
model. Includes test updates, and some minor changes to the data model that
were discovered in testing.
Adds ENABLE_SUBSECTION_GRADES_SAVED feature flag to both lms and cms. Also
installs the wiring that will allow robust grades to be used for courses
that enable it. This functionality is still gated by the feature flag
and should not be used until the remaining robust grades work is finished.