* Generate common/djangoapps import shims for LMS
* Generate common/djangoapps import shims for Studio
* Stop appending project root to sys.path
* Stop appending common/djangoapps to sys.path
* Import from common.djangoapps.course_action_state instead of course_action_state
* Import from common.djangoapps.course_modes instead of course_modes
* Import from common.djangoapps.database_fixups instead of database_fixups
* Import from common.djangoapps.edxmako instead of edxmako
* Import from common.djangoapps.entitlements instead of entitlements
* Import from common.djangoapps.pipline_mako instead of pipeline_mako
* Import from common.djangoapps.static_replace instead of static_replace
* Import from common.djangoapps.student instead of student
* Import from common.djangoapps.terrain instead of terrain
* Import from common.djangoapps.third_party_auth instead of third_party_auth
* Import from common.djangoapps.track instead of track
* Import from common.djangoapps.util instead of util
* Import from common.djangoapps.xblock_django instead of xblock_django
* Add empty common/djangoapps/__init__.py to fix pytest collection
* Fix pylint formatting violations
* Exclude import_shims/ directory tree from linting
These checks are causing SQL query numbers to scale linearly with the
number of subsections being created/updated, and the errors they
check for have not been seen in prod.
TNL-6225
Some old mongo courses do not have this field, and the team has opted
to allow null values rather than inserting a default. This change
affects both course and subsection grades.
TNL-6408
The column is populated with the current timestamp when a passing grade
is persisted for the first time. "Passing grade" is defined as having a
non-blank value for letter_grade.
TNL-5888
Small changes to the grades djangoapp
-sets up mock_get_score context handler
-fixes an issue with not invalidating lazy scores property
-code quality fixes
-query count optimization in PersistentSubscetionGrade.create
-adds atomic blocks to avoid IntegrityErrors corrupting an entire request
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.