LEARNER-1894
This commit adds in course messaging for three use cases. First,
when the user is not signed in, the user is shown a message that
provides a link to sign in or register. If the user is signed in
but not enrolled, they are given a link to do so. If the user is
enrolled but the course has not yet started, they are shown a
message explaining when the course starts and shown a link (not
yet enabled) to add a reminder to their calendar.
The implementation defines a base message class and extends it
for the course home messages as well as the previously implemented
page level messages.
We have recently discovered that for any SSO Provider configured to skip
the registration form, we were auto checking the terms of service box,
which is a legal faux pas. Since IBM is planning to launch imminently and
is depending on this feature, we need to remedy this situation for enterprises
whose SSO Provider is configured to skip registration.
This PR hides all of the registration fields except TOS for this scenario
and disables the autoSubmit functionality that typically happens when skipping
registration.
with a custom patch needed by edx-platform.
Upgrade django-filter as well to v1.0.4
Import DjangoFilterBackend from the correct module - django_filter.
Add django-filter to INSTALLED_APPS.
Test all errors raised by account creation function as a result of
duplicate email/username will be caught, if the user somehow managed to
pass the first check, `check_account_exists`.
Previously, there was no catch for the AccountValidationError
exception raised by the account creation function. If, for some
reason, the user made it past the first check for a duplicate
username/email, then the exception was raised, uncaught, and
crashed the server.
It accounts for a large chunk of our splunk logs and is often
repetitive. See forums connections which on a sandbox do:
```
Starting new HTTP connection (1): localhost
```
and
```
comment_client_request_log: request_id=06ac65d3-61b9-4882-9edb-c6b65709318a, method=get, url=http://localhost:18080/api/v1/users/5, duration=0.0101051330566
```
Add this for any other IDA call.
In production environments, the DiscussionXBlock was generating CSS and
JS asset URLs that pointed to the unminified versions of those bundled
assets. Due to our nginx rules, this would cause the assets to be
served without the long expiration times, forcing the user's browser to
constantly refetch these assets while browsing a course.
[PERF-431]