1. 16 Mar, 2016 1 commit
  2. 07 Apr, 2015 1 commit
    • Better i18n extraction and translation · adc6929b
      1. Extract the full sentence rather than parital of a sentence, so that languages with different word orders than English can benifit from this.
      2. Using ngettext instead of gettext with 'xxx(s)', as Transifex treats `()` as special characters so that it enforces the translated string must have the same number of `()` pairs. Such enforcement makes translations difficult, as not every language can use forms like 'xxx(s)' to represent both singular & plural within a single word.
      louyihua committed
  3. 06 Jan, 2015 1 commit
  4. 26 Aug, 2014 1 commit
    • Implemented Validation for Course Advanced Setting · 11d26091
      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.
      Se Won Jang committed