* 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
* Implementing support for multiple credit provider keys
* Plan on storing keys as list and not dict
* Adding tests for serializer and signature code
* adding more tests
* tweaking a comment
* Quality fixes
* Breaking out some login into a helper function
This stage does the following:
- Includes a data migration to copy the values from old to new field.
- Changes business logic to switch to using new field.
- Deletes all code references of the old field.
This avoids a fatal error in Django 1.9+ in most scenarios, where this
code (before this commit) will no longer result in an implicit __in
query. This commit should be a no-op functionally for Django 1.8.
More info: https://code.djangoproject.com/ticket/25284
PLAT-1525
This reverts commit 1224e341de. I've also added
NotImplementedPartitionScheme, which allows deprecated partition types to have
a valid entry point despite being unusable.
TNL-6675
Credit eligibility can be updated up to the point that the course is closed or the student submits a request for credit. Credit eligibility cannot be removed.
ECOM-4379
Floating point values should be treated as strings to ensure values such as 1.0 are not converted to 1. Such conversion invalidates the signature generated for the credit request. Additionally, JSON has no concept of a floating point datatype.
ECOM-2172
* Correctly format the student's full name on the progress page.
* Add tests for progress page credit requirements display.
* Display grade percentage for credit requirement on progress page
* Remove m2m relation between credit course and credit providers.
* Separate eligibility and provider APIs into different modules.
* Add API call for retrieving a user's eligibilities.
* Cache credit course list.
* Style the dashboard purchase button.
* Display a link for the credit provider on the dashboard.
* Add analytics events for clicks on the purchase button.
* Expose more credit models to Django admin and add search functionality.