Modified to a setting in CMS common.py and aws.py
Also factored out are: ADVANCED_PROBLEM_TYPES
This enables third parties to add XBlocks to their system
without having to make a code change.
Code also added to ensure that a component should exist in both
ADVANCED_COMPONENT_TYPES and the course advanced module list
in order for it to be enabled in the course.
This resolves an issue where a checklist's long_description being empty
caused gettext to dump PO file headers.
I had originally made this change to the Stanford-Online/edx-platform
repository a few weeks ago [0] to address a failing test on our fork.
I didn't take the time to diagnose the root issue; I just fixed it for
the single case.
After stumbling across the issue elsewhere, @kluo <kevkluo@gmail.com>
followed through and tracked down the cause of the behavior. It turns
out that `gettext`, by default, translates the empty string into PO file
headers; this is apparently a feature, not a bug [1].
This behavior seems counterintuitive; for our use, it seems that
translating an empty string should simply return an empty string. We
already program defensively around this in platform code [2], but it'd be
convenient to resolve this with a centralized solution, instead of a
patchwork of fixes.
[0] 4b88f54aa658db952e899222ff5ede4a1c1beb18
[1] http://stackoverflow.com/questions/18459387/translation-of-empty-string-shows-po-header
[2] https://github.com/edx/edx-platform/blob/master/cms/djangoapps/contentstore/views/checklist.py#L140
This test was passing in Jenkins, but failing in our Solano runs (and locally on firefox).
This is because it was attaching a file that was not there. This change fixes the test
and makes the attachment method smarter so it will fail if it tries attaching a non-existent
file.
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
do the import from wherever it unpacked.
Avoids an exception where the top-level dir had a subdir of same name
as one being moved, but also just makes it faster.
In Studio, when the course administrator creates a new tab, its name was being
initialized as null in the mongo database. This caused students in LMS to get a
server error when trying to access the course page, since LMS was trying to
process the null tabname for translation, etc. Now tabname is initialized as
'Empty', which is how it was being done in the frontend.
STUD-2000
Some users erroneously set their password as their username with the original layout, because the username field directly followed the password field. Users may be accustomed to the common occurrence of a password confirmation field directly following the password field.
To fix the issue, I did the following:
- Moved the existing username and real name form fields above the password field.
- Added a validation in the create_account handler in common/djangoapps/student/views.py, which confirms that the password field does not match the username field.
New tests created to check the added functionality.