This commit adds validation for course advanced settings. Currently when course
administrators make invalid changes in the Settings/Advanced Settings tab,
they're not notified through a new modal window of the list of invalid settings
changes.
* Extending CourseMetadata
- Previously, we only had update_from_json method in CourseMetadata.py,
and it was only validating one field every POST request.
- Now we have validate_and_update_from_json method that encapsulates the
functionality of update_from_json into a validation call
- To avoid discrepancy of validation standards between modules, validation
uses the from_json method implemented to each field in xblock.
* Different Response in advanced settings ajax requests
- After receiving a POST ajax request, course.py calls
validate_and_update_from_json, and sends a json object of either:
1) valid course metadata model
2) error objects
* Error Messages shown in validation-error-modal
- error objects passed through ajax are shown in a separate modal.
TNL-46
I've changed Studio to catch JavaScript errors when rendering xblocks, log the error, but to then continue as normal. This means that the user is still able to interact with the xblock to delete, duplicate etc. This seems reasonable as the xblock is only rendered as a WYSIWYG representation so if it isn't fully interactive that shouldn't be a big problem.
Studio: adding course re-run-centric static template rendering
* initial HTML for dashboard states
* initial HTML for new course re-run view/form
* initial HTML placeholder for outline alert UI
Conflicts:
cms/templates/index.html
Studio: adding styling for course re-run-centric views
* adding new view/page mast-wizard type
* refactoring create course/element form styling
* adding course re-run view specific styling
* adding courses processing styling (w/ alerts and status)
Course rerun server-side updates: support display_name and DuplicateCourseError.
Studio: further design revisions and tweaks from feedback
* removing new window attribute from re-run control
* removing links from processing courses
* revising look/feel of dismiss action on dashboard + alert
* correcting font-weight of dashboard processing title
* adding extra space to course rerun action on dashboard
* re-wording secondary cancel action on rerun view
Conflicts:
cms/templates/index.html
Added interation on unsucceeded courses in dashboard
Studio: removing 'rel=external' property from course re-run actions
Studio: removing hover styles for processing courses
Fixed value bug in split and set course listing to display run
moved task.py for rerun
* reducing font-weight on component adding menu
* adding in and applying demi-strong font-weight
* adding in $color-copy-emphasized variable
* correcting stateful xblock settings styling nesting
* syncing video player xblock-based controls font-weight
STUD-2109