* specify in tabs list in course policy
- active page tracking now done in tabs.py
- properly handle the fact that there may be multiple textbooks
* Still need:
- wiki pages
- (if that's delayed, special-case syllabus support)
* All access control logic is now in access.py
* It exports a single method for general use: has_access(user, object, action)
- possible actions depend on object type (e.g. 'see_exists', 'enroll', 'staff')
* Removed DARK_LAUNCH feature flag--it is now the default behavior
* Replaced check_course with three separate more focused functions that use has_access
Minor things:
* note on using pdb in testing
* moved time parsing helper into timeparse.py
* x_modules now have a .start attribute (None if not in metadata)
* pass user to check_course
* if dark launch feature enabled, users with staff access to course
can see courseware before start date. Students still can't.
* tests.
* Remaining: enrollment view has custom access control. Need to check it.
The basic form has been fleshed out. Things still to do:
1) Extend get_course interface to the rest of modulestore
2) Make courses actually load
3) Make org/course/maybe others metadata attributes for course_module (see xml_module), so
that they are loaded/saved on import/export to xml