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
Refactor all callers (often replacing with more appropriate fn)
Also, added for_branch_setting method to old mongo and removed some
branch verification tests
Conflicts:
common/lib/xmodule/xmodule/modulestore/mongo/draft.py
common/lib/xmodule/xmodule/modulestore/split_mongo/split_draft.py
common/lib/xmodule/xmodule/modulestore/xml_importer.py
Added update_item, create_item, create_child to split_draft.py
Cleaned up TODOs in test_mixed_modulestore.py
Unit test for auto-publish
LMS-11017
Added tests to test_mixed_modulestore.py for has_changes and added black_list to _auto_publish
Moved DIRECT_ONLY_CATEGORIES to draft_and_publish.py
Deleted test_split_draft_modulestore.py
Added _auto_publish to create course
Publish cleanups for update_version, source_version
Changed has_changes to use source_version
Removing mixed test that no longer makes sense in auto_publish world
Addressed TODOs in test_branch_setting
Fix opaque key TODOs left over from split-migrator changes and fixed test_image_import to use the correct course
Reset get_location_from_path to pre deprecated opaque-keys
Fix CMS acceptance test
Fixed usage key reassignment in item.py