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.
| Name | Last commit | Last update | 
|---|---|---|
| .. | ||
| .gitignore | Loading commit data... | |
| 1mb_transcripts.srt | Loading commit data... | |
| asset.html | Loading commit data... | |
| chinese_transcripts.srt | Loading commit data... | |
| image.jpg | Loading commit data... | |
| subs_OEoXaMPEzfM.srt.sjson | Loading commit data... | |
| subs_b7xgknqkQk8.srt.sjson | Loading commit data... | |
| subs_t__eq_exist.srt.sjson | Loading commit data... | |
| subs_t_neq_exist.srt.sjson | Loading commit data... | |
| subs_t_not_exist.srt.sjson | Loading commit data... | |
| textbook.pdf | Loading commit data... | |
| uk_transcripts.sjson | Loading commit data... | |
| uk_transcripts.srt | Loading commit data... | |
| zh_subs_OEoXaMPEzfM.srt.sjson | Loading commit data... |