This moves the functionality of the 'export_course' management command from lms/djangoapps/courseware
over to the Studio codebase. This reflects its use going forward to be run with cms settings, to
export the content of the Studio modulestore instead of the LMS modulestore. The management
command is used by an analytics workflow to output course content for researchers.
Uses the view's ID argument to retrieve and drop unmodified programs API data on the details page. Future work will supplement with CourseOverviews data. Part of ECOM-4415.
TNL-4356
Allows multiple bulk email targets to be specified at once.
-The previous "All" option has been split into "Staff" and "Learners"
-The backend changes made here lay the groundwork for cohort emailing
-The data migration, 0005, is somewhat large and requires deploy attention
-Tests have been updated
-Numerous safe-commit-linter fixes are included
The new URL pattern expects a program ID and allows a program name to be included, if desired. It will match paths like 'programs/123/' and 'programs/123/foo/', but not 'programs/123/foo/bar/'. The given ID is passed to the view, where it will be used to retrieve program data. Part of ECOM-4415.
isRejected is deprecated.
Actually serve the slick library in LMS jasmine tests
customwmd doesn't need to wait for DOM ready event
... In order to define a class and extend the Markdown class.
The test TestComprehensiveTheming.test_themed_footer in lms/djangoapps/course_wiki/tests/test_comprehensive_theming.py
fails when run immediately after lms.djangoapps.course_wiki.tests.test_middleware:TestWikiAccessMiddleware.test_url_tranform.
Until we have a chance to fix it, we're going to skip it to expedite merging
concurrent testing.
To reproduce the failure, remove the @skip decorator, and run:
paver test_system -s lms --disable-migrations --test_id='lms.djangoapps.course_wiki.tests.test_middleware lms.djangoapps.course_wiki.tests.test_comprehensive_theming' --no-randomize -v --processes=0
If we pass non-ASCII strings to create_csv_response, it will call
unicode() on it, and fail with UnicodeDecodeError. So pass Unicode
strings, or ASCII-only bytestrings for the headers.