* Generate common/djangoapps import shims for LMS * Generate common/djangoapps import shims for Studio * Stop appending project root to sys.path * Stop appending common/djangoapps to sys.path * Import from common.djangoapps.course_action_state instead of course_action_state * Import from common.djangoapps.course_modes instead of course_modes * Import from common.djangoapps.database_fixups instead of database_fixups * Import from common.djangoapps.edxmako instead of edxmako * Import from common.djangoapps.entitlements instead of entitlements * Import from common.djangoapps.pipline_mako instead of pipeline_mako * Import from common.djangoapps.static_replace instead of static_replace * Import from common.djangoapps.student instead of student * Import from common.djangoapps.terrain instead of terrain * Import from common.djangoapps.third_party_auth instead of third_party_auth * Import from common.djangoapps.track instead of track * Import from common.djangoapps.util instead of util * Import from common.djangoapps.xblock_django instead of xblock_django * Add empty common/djangoapps/__init__.py to fix pytest collection * Fix pylint formatting violations * Exclude import_shims/ directory tree from linting
33 lines
1.2 KiB
Python
33 lines
1.2 KiB
Python
from django.contrib.auth.decorators import login_required
|
|
from django.core.exceptions import PermissionDenied
|
|
from django.views.decorators.csrf import ensure_csrf_cookie
|
|
from opaque_keys.edx.keys import CourseKey
|
|
|
|
from common.djangoapps.edxmako.shortcuts import render_to_response
|
|
from common.djangoapps.student.auth import has_course_author_access
|
|
from xmodule.modulestore.django import modulestore
|
|
|
|
__all__ = ['checklists_handler']
|
|
|
|
|
|
@login_required
|
|
@ensure_csrf_cookie
|
|
def checklists_handler(request, course_key_string=None):
|
|
'''
|
|
The restful handler for course checklists.
|
|
It allows retrieval of the checklists (as an HTML page).
|
|
|
|
GET
|
|
html: return an html page which will show course checklists. Note that only the checklists container
|
|
is returned and that the actual data is determined with a client-side request.
|
|
'''
|
|
course_key = CourseKey.from_string(course_key_string)
|
|
if not has_course_author_access(request.user, course_key):
|
|
raise PermissionDenied()
|
|
|
|
course_module = modulestore().get_course(course_key)
|
|
return render_to_response('checklists.html', {
|
|
'language_code': request.LANGUAGE_CODE,
|
|
'context_course': course_module,
|
|
})
|