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.
This commit adds personalization options for the Contact Us links on
edx-platform's
page.
To allow for this customization, two SiteConfiguration variables were
added:
* CONTACT_US_ENABLE: Switch to enable/disable the Contact Us page.
Setting this to
False will disable the contact page and the links on the footer will
disappear.
* CONTACT_US_CUSTOM_LINK: If the contact page is enabled, this setting
allows to set
a custom URL for the Contact Us links on edx-platform. If this setting
is not set,
the platform will use the default contact form.
It is a follow-up PR of the work that is already done for
removing specific links on footer.It is created because
two links are still appearing on spanish footer that need
not to be appeared on it.
LEARNER-6981
Currently, the LMS logout endpoint should iframe in the logout pages of
all the IDAs you were logged into. In short, this was made possible with
DOP because keeping track of the logout URIs and leaving a trail of
evidence in the user cookies was part of what we added in our fork of
DOP. In the case of DOT, we don't have time or desire to fork DOT to
mirror this behavior, so our stop-gap solution is to log out the user
from a list of logout URIs in settings.
Currently, spanish website's main page has links in footer whose
pages are still un-translated.In this PR, links of them are
removed so that user-experience should be improved.
LEARNER-6981
This PR is based on #19284 and is part of the
series of work related to the proposal #18134.
This PR avoids the assignment of
anonymous/unenrolled users to any cohort when
course is public. Anonymous or unenrolled users
will only see content that does not have a
content group assigned.
The "View Course" link to the course outline
is shown on the course about page for a course
marked public/public outline.
It also makes course handouts available for
public courses (not for public_outline).
This PR also hides the different warnings and
messages asking the user to sign-in and enroll
in the course, when the course is marked public.
It modifies the default public_view text to
include the component display_name when
unenrolled access is not available.
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.
Prior to this commit, the course api (/api/courses/v1/courses/)
performed all the work necessary to return all courses available
to the user, and then only actually returned on page's worth of those
courses.
With this change, the api now does the work incrementally, computing
only the data needed to fetch the courses up to and including the page
being returned. This still increases approximately linearly as
the page number accessed being increases, but should be more cache-friendly.
One side effect of this is that the max_page reported by pagination
will be an overestimate (it will include pages that are removed due
to a users access restrictions).
This change also changes the sort-order of courses being returned by the
course_api. By sorting by course-id, rather than course-number, we
can sort in the database, rather than in Python, and defer loading data
from the end of the list until it is requested.
REVMI-90