From cb5e76ee06717c556e081fb94994d023a2f6a61f Mon Sep 17 00:00:00 2001 From: Omar Al-Ithawi Date: Fri, 3 Nov 2017 19:33:33 +0200 Subject: [PATCH] Hide the create library for non-staff users when DISABLE_COURSE_CREATION --- cms/djangoapps/contentstore/views/library.py | 2 +- .../contentstore/views/tests/test_library.py | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/cms/djangoapps/contentstore/views/library.py b/cms/djangoapps/contentstore/views/library.py index bce8079f62..1d1667a268 100644 --- a/cms/djangoapps/contentstore/views/library.py +++ b/cms/djangoapps/contentstore/views/library.py @@ -58,7 +58,7 @@ def get_library_creator_status(user): elif settings.FEATURES.get('ENABLE_CREATOR_GROUP', False): return get_course_creator_status(user) == 'granted' else: - return True + return not settings.FEATURES.get('DISABLE_COURSE_CREATION', False) @login_required diff --git a/cms/djangoapps/contentstore/views/tests/test_library.py b/cms/djangoapps/contentstore/views/tests/test_library.py index 102d0778af..5e83aea0f7 100644 --- a/cms/djangoapps/contentstore/views/tests/test_library.py +++ b/cms/djangoapps/contentstore/views/tests/test_library.py @@ -28,6 +28,7 @@ def make_url_for_lib(key): @ddt.ddt +@mock.patch.dict('django.conf.settings.FEATURES', {'DISABLE_COURSE_CREATION': False}) class UnitTestLibraries(CourseTestCase): """ Unit tests for library views @@ -63,6 +64,15 @@ class UnitTestLibraries(CourseTestCase): _, nostaff_user = self.create_non_staff_authed_user_client() self.assertEqual(get_library_creator_status(nostaff_user), True) + @mock.patch.dict('django.conf.settings.FEATURES', {'DISABLE_COURSE_CREATION': True}) + @mock.patch("contentstore.views.library.LIBRARIES_ENABLED", True) + def test_library_creator_status_with_no_course_creator_role_and_disabled_nonstaff_course_creation(self): + """ + Ensure that `DISABLE_COURSE_CREATION` feature works with libraries as well. + """ + _, nostaff_user = self.create_non_staff_authed_user_client() + self.assertFalse(get_library_creator_status(nostaff_user)) + @patch("contentstore.views.library.LIBRARIES_ENABLED", False) def test_with_libraries_disabled(self): """