* syncing up unit publishing state UI with stateful names/styles
* revising outline item status message display logic to show release status
* fixing publishState value typo in outline UI template
* refining and syncing incontext editor styling
* maintaining visual alignment of collapsed/expanded sections in outline UI
* simplifying page-level action styles on outline UI
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.