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.
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
* moving font-size to use @include font-size() mixin
* re-organizing vendor reset styling into _vendor.scss override rather than _reset.scss
* initial rule re-organization and minor line-height tweaks
* adding back in drag and drop indicators to outline DOM
* correcting visual display of drag action in outline UI
* adjusting styling of outline drag and drop indicators
* adjusting styling of drag and drop was-dropped state
* syncing up status-release hover states for outline units
* adjusting in-context editor UI for longer outline titles
* corrects outline incontext editor display regression
* cleaning up unit/container sidebar styling
* removing redundant margin on Outline UI subsections
* selecting text when a user focuses into an incontext-editor input - STUD-2032
* syncing up unit publishing state UI with stateful names/styles
* revising outline item status message display logic to show release status
* fixing publishState value typo in outline UI template
* refining and syncing incontext editor styling
* maintaining visual alignment of collapsed/expanded sections in outline UI
* simplifying page-level action styles on outline UI
This commit implements STUD-1490, allowing creation of components
on the container page. It also enables the delete and duplicate
buttons now that new content can be created that would benefit.
Note that it also creates shared functionality for adding components,
and refactors the unit page to use it too.