Will allow Otto to revoke fulfillment of course seat products. Only server-to-server calls are currently allowed to deactivate or otherwise modify existing enrollments.
The Enrollment API now returns the complete URL in the user_message_url field. Returning just the path can result in 404s if the consuming code simply redirects to the value of this field without first checking to see if the hostname is included. Using the full URL solves this problem for all clients.
This issue was not found sooner because the test helper used only tested for GeoIP embargoes, and neglected the user profile. An additional test has been added to test for embargoes against the country assigned to the user's profile. Additionally, variable names have been cleaned up--user replaced with username--to avoid confusion in the future.
When configured, set an additional cookie with the CSRF
token for use by subdomains.
The cookie can have a different name than the default
CSRF cookie, preventing conflicts between cookies
from different domains (e.g. ".edx.org", "courses.edx.org",
and "edge.edx.org").
The new cookie is included only on the enrollment API
views so that the scope of this change is limited
to the end-points that require cross-domain POST requests.
Block users from enrolling in a course if the user
is blocked by country access rules.
1) Enrollment via the login/registration page.
2) Enrollment from the marketing iframe (via student.views.change_enrollment)
3) Enrollment using 100% redeem codes.
4) Enrollment via upgrade.
This does NOT cover enrollment through third party authentication,
which is sufficiently complex to deserve its own commit.
Consolidate PUT and POST on the RESTful Layer.
Change URLs for API
Test cleanup.
Adding a course details URL to the enrollment API.
Change student to user
Change to v1, remove feature flag from API URLs
Updating student to user in tests
Re-ordering redirect urls to be evaluated last.
Adding pagination and testing.
Adding Django REST settings for pagination.
Revert "Re-ordering redirect urls to be evaluated last."
This reverts commit 4c9502daa383e49b46f8abec5456c271e5e24ccb.
Re-ordering redirect urls to be evaluated last.
Conflicts:
common/djangoapps/enrollment/urls.py
Revert "Adding Django REST settings for pagination."
This reverts commit 9f8a54c41f34caa24818c88f1e75ac59f6ce5259.
Conflicts:
common/djangoapps/enrollment/urls.py
Revert "Adding pagination and testing."
This reverts commit 0b2d46262abb78f5ad170700205e7fd28b6af942.
Additional testing, logging, and error messages.