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 stage does the following:
- Adds the new field and migration to create the column.
- Makes all* writes go to both old and new field.
(*) Except for writes from the Django Admin for this model. I confirmed
with Support that CreditRequirements are never edited through the Django
Admin interface. Additionally, I confirmed via the django_admin_log
that there is no record of anybody changing any CreditRequirements.
* Fix type mismatches in coursewaqre
* Fix type mismatch in credit migrations
* Fix type mismatch in status migrations
* Fix type mismatch in user_api migrations
* Review Fixes
Django 2.0 will make this field required for `ForeignKey` and `OneToOneFields`.
In previous versions the option defaulted to `models.CASCADE` when not
specified. This change should make the deprecation warnings in the current
Django version go away.
The migrations where also modified, but the changes should not cause a change in
the database schema since `models.CASCADE` was already the old default.
Adds the "order" field that was introduced in 0011 to the "models"
dictionary of migrations 0012 and 0013 so South knows that
the field should exist after 0011 is run.
* 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.
* Update credit eligibility when a user satisfies an eligibility requirement.
* Refactor set_credit_requirement_status arguments.
* Use django-simple-history to track requirement status changes.
* Refactor progress page by moving credit into a helper function and adding comments.
* Add end-point for initiating a request for credit from a provider.
* Add an end-point for a provider to update the status of a request (approved / denied).
The CreditRequirement "configuration" field was renamed in Django
code without updating the migration. This commit adds a second
migration to delete the incorrect field and add a new field.
The credit feature is currently disabled in production, so
the model isn't currently used by application code.