Clear the 'invalid login' error message when the user edits her username
or password. This fix makes makes it clear that future attempts to
login are not being ignored if they continue to generate the same error.
Add an acceptance test case to verify this behavior.
Fixes https://openedx.atlassian.net/browse/TNL-140
Users may want to start anew when answering a question. This commit decouples reset from randomization while still preserving backward compatibility. Users can clear their input.
Instructors can set course-wide and problem-specific settings for reset button display.
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.
Stop propagation of clicks in XBlockStringFieldEditor
Fix collapsed subsections expanding when creating or deleting subsections
Prevent clicking in display name textbox from toggling expand collapse
Add test for published title when not live