* Install drf-yasg
* Add drf-yasg settings and urls
* Pin drf to make drf-yasg work
* Adjust config-models version to be compatible
* Remove django-rest-swagger (the old way)
Some notes:
* The completion API was pulled out into a new repo, but left behind a
url() entry. That entry used a different namespace than the
pulled-out repo, so I had to fix the one place we used the namespace.
* Two urls couldn't be anchored because they broke tests:
url(r'users/(?P<user_id>\w+)/followed$', views.followed_threads, name='followed_threads'),
url(r'users/(?P<user_id>\w+)$', views.user_profile, name='user_profile'),
This commit adds OAuth2 support to the problem response report endpoints and moves them to a better location following EdX API standards while keeping compatibility to the old
endpoint locations.
This was done to enable the use of reports functionality by external agents and provide a better separation between backend and frontend.
The following endpoints have been moved:
* List instructor tasks:
New URL: POST /api/instructor/v1/course/{}/tasks
Old URL: POST /courses/{}/instructor/api/list_instructor_tasks
* Download instructor reports:
New URL: POST /api/instructor/v1/course/{}/reports
Old URL: POST /courses/course-v1:edX+DemoX+Demo_Course/instructor/api/list_report_downloads
* Generate problem response reports:
New URL: POST /api/instructor/v1/course/{}/reports/problem_responses
Old URL: POST /courses/course-v1:edX+DemoX+Demo_Course/instructor/api/get_problem_responses
Note: The behaviour of the URLs was not modified.
Scheduled emails show "unsubscribe" link if waffle switch `schedules.course_update_show_unsubscribe` is enabled, and
settings.ACE_ENABLED_POLICIES respects `bulk_email_optout`.
API endpoint allows GET/POST requests, which:
* GET asks for confirmation of opt-out
* POST accepts "unsubscribe" or "cancel", where "unsubscribe" creates the
Optout entry, and "cancel" does nothing.
Change behavior of existing v0.5 mobile api /api/mobile/v0.5/users/{username}/course_enrollments/ to exclude expired courses due to audit duration limits from the result set.
Add v1 version of mobile api /api/mobile/v1/users/{username}/course_enrollments/ that returns all enrollments and includes a field audiit_access_expires that contains expiration date (or null).
REV-495
These were very early experiments by the old performance team
on using CDNs for videos and logging performance data. No one
is looking at this data and it's just extra cruft on every page.