Commit 9cf08261 by jagonzalr

check for course creator role for library creation

parent fe5becb4
......@@ -468,9 +468,9 @@ def course_listing(request):
"""
courses, in_process_course_actions = get_courses_accessible_to_user(request)
user = request.user
user_has_permission =\
user_can_see_libraries =\
user.is_active and (user.is_staff or CourseCreatorRole().has_user(user))
libraries = _accessible_libraries_list(request.user) if LIBRARIES_ENABLED and user_has_permission else []
libraries = _accessible_libraries_list(request.user) if LIBRARIES_ENABLED and user_can_see_libraries else []
programs_config = ProgramsApiConfig.current()
raw_programs = get_programs(request.user) if programs_config.is_studio_tab_enabled else []
......@@ -519,16 +519,16 @@ def course_listing(request):
return render_to_response('index.html', {
'courses': courses,
'in_process_course_actions': in_process_course_actions,
'libraries_enabled': LIBRARIES_ENABLED,
'libraries': [format_library_for_view(lib) for lib in libraries],
'show_new_library_button': _get_library_creation_status(user),
'user': request.user,
'user': user,
'request_course_creator_url': reverse('contentstore.views.request_course_creator'),
'course_creator_status': _get_course_creator_status(user),
'rerun_creator_status': GlobalStaff().has_user(user),
'allow_unicode_course_id': settings.FEATURES.get('ALLOW_UNICODE_COURSE_ID', False),
'allow_course_reruns': settings.FEATURES.get('ALLOW_COURSE_RERUNS', True),
'is_programs_enabled': programs_config.is_studio_tab_enabled and request.user.is_staff,
'libraries_enabled': LIBRARIES_ENABLED,
'libraries': [format_library_for_view(lib) for lib in libraries],
'library_creator_status': _get_library_creator_status(user),
'is_programs_enabled': programs_config.is_studio_tab_enabled and user.is_staff,
'programs': programs,
'program_authoring_url': reverse('programs')
})
......@@ -1652,23 +1652,22 @@ def _get_course_creator_status(user):
return course_creator_status
def _get_library_creation_status(user):
def _get_library_creator_status(user):
"""
Helper method for returning the library creation status for a particular user,
taking into account the values of DISABLE_LIBRARY_CREATION and LIBRARIES_ENABLED.
"""
if LIBRARIES_ENABLED:
if user.is_active:
if user.is_staff or CourseCreatorRole().has_user(user):
if not settings.FEATURES.get('DISABLE_LIBRARY_CREATION', False):
return True
else:
return False
else:
return False
else:
return False
if not LIBRARIES_ENABLED:
library_creator_status = 'disallowed_for_this_site'
elif user.is_staff:
library_creator_status = 'granted'
elif CourseCreatorRole().has_user(user):
library_creator_status = 'granted'
elif settings.FEATURES.get('DISABLE_LIBRARY_CREATION', False):
library_creator_status = 'disallowed_for_this_site'
else:
return False
library_creator_status = 'disallowed_for_this_site'
return library_creator_status
......@@ -167,6 +167,7 @@ FEATURES = {
# Enable support for content libraries. Note that content libraries are
# only supported in courses using split mongo.
'ENABLE_CONTENT_LIBRARIES': True,
'DISABLE_LIBRARY_CREATION': False,
# Milestones application flag
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment