LEARNER-1859
Added fields to add social links to the user account settings file.
Added icons to the user profile when these links are set, only shown
when users show their entire profile. Added jasmine tests for account
settings and learner profile pages. Added python unit tests to test
validation on the user account.
Input forms that need validation will have AJAX requests
performed to get validation decisions live.
All but a few important and common form fields perform
generic validation; these will need a back-end handler
in the future in order to have them validated through AJAX requests.
Information is conveyed on focus and blur for both
errors and successes.
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.
When authenticating using an SAML IdP, gather additional user
data besides what is standard. Requires admin to input JSON
in settings to recognize the additional user data.
* Reorders form fields, and updates labels, placeholders, and tip text
* Increases clickable area for links and labels.
* Removes "*" markers from required fields, and instead adds
"(optional)" labels to visible optional fields.
* Updates font colors and sizes, and removes box shadows
* Adds custom drop-down styles
* Improves responsive design scaling for small screens
* Make Terms of Service and Honor Code open in new window to avoid losing form
field values.
Call New Relic's finished() event marker to measure when the login and
registration pages actually become usable. This is important because the
pageLoad event can be distorted by analytics and marketing tools that
trigger after the page looks complete to the user.
Note: The "xfinished" PageAction is there to work around a New Relic bug
where "finished" events weren't making it into Insights. The reason we
have both is because finished() *does* still show up in session traces.
[PERF-298]
- Rename escape_json_dumps to dump_js_escaped_json
- Rename escape_js_string to js_escaped_string
- Update js_escaped_string to output empty string for None
- Introduce dump_html_escaped_json
- Move dump_js_escaped_json after the pipe as new best practice
- Introduce additional uses of helpers
- Introduce new djangolib directory and move js_utils