diff --git a/lms/templates/header/user_dropdown.html b/lms/templates/header/user_dropdown.html index 675ccc320c8b6e70ec9ddae5ac661986787befb1..5fabdb49b043f872d7e635f027c74d841dda159f 100644 --- a/lms/templates/header/user_dropdown.html +++ b/lms/templates/header/user_dropdown.html @@ -16,7 +16,7 @@ from openedx.features.enterprise_support.utils import get_enterprise_learner_gen self.real_user = getattr(user, 'real_user', user) profile_image_url = get_profile_image_urls_for_user(self.real_user)['medium'] username = self.real_user.username -resume_block = retrieve_last_sitewide_block_completed(username) +resume_block = retrieve_last_sitewide_block_completed(self.real_user) displayname = get_enterprise_learner_generic_name(request) or username %> diff --git a/openedx/core/djangoapps/user_api/accounts/tests/test_utils.py b/openedx/core/djangoapps/user_api/accounts/tests/test_utils.py index c901c865c5e1632381f5dba127362958c3609507..a938c8bf4641c05543fd06010d824b1df71a3414 100644 --- a/openedx/core/djangoapps/user_api/accounts/tests/test_utils.py +++ b/openedx/core/djangoapps/user_api/accounts/tests/test_utils.py @@ -113,17 +113,16 @@ class CompletionUtilsTestCase(SharedModuleStoreTestCase, CompletionWaffleTestMix ) @override_settings(LMS_ROOT_URL='test_url:9999') - @ddt.data(True, False) - def test_retrieve_last_sitewide_block_completed(self, use_username): + def test_retrieve_last_sitewide_block_completed(self): """ Test that the method returns a URL for the "last completed" block when sending a user object """ block_url = retrieve_last_sitewide_block_completed( - self.engaged_user.username if use_username else self.engaged_user + self.engaged_user ) empty_block_url = retrieve_last_sitewide_block_completed( - self.cruft_user.username if use_username else self.cruft_user + self.cruft_user ) self.assertEqual( block_url, diff --git a/openedx/core/djangoapps/user_api/accounts/utils.py b/openedx/core/djangoapps/user_api/accounts/utils.py index 2967863861e302e34e48de6f525846845d1ec519..d2b5cdd6028bb0fb5ce01da284751ba16b038b81 100644 --- a/openedx/core/djangoapps/user_api/accounts/utils.py +++ b/openedx/core/djangoapps/user_api/accounts/utils.py @@ -102,24 +102,20 @@ def _is_valid_social_username(value): return '/' not in value -def retrieve_last_sitewide_block_completed(username): +def retrieve_last_sitewide_block_completed(user): """ Completion utility From a string 'username' or object User retrieve the last course block marked as 'completed' and construct a URL - :param username: str(username) or obj(User) + :param user: obj(User) :return: block_lms_url """ if not completion_waffle.waffle().is_enabled(completion_waffle.ENABLE_COMPLETION_TRACKING): return - if not isinstance(username, User): - userobj = User.objects.get(username=username) - else: - userobj = username - latest_completions_by_course = BlockCompletion.latest_blocks_completed_all_courses(userobj) + latest_completions_by_course = BlockCompletion.latest_blocks_completed_all_courses(user) known_site_configs = [ other_site_config.get_value('course_org_filter') for other_site_config in SiteConfiguration.objects.all() diff --git a/openedx/core/djangoapps/user_authn/tests/test_cookies.py b/openedx/core/djangoapps/user_authn/tests/test_cookies.py index ed3be5b38b15f73e5ab226094f3f7ada5f23d214..483562fa58903a2c6dfb4b59e96d9444d9de6924 100644 --- a/openedx/core/djangoapps/user_authn/tests/test_cookies.py +++ b/openedx/core/djangoapps/user_authn/tests/test_cookies.py @@ -27,7 +27,7 @@ class CookieTests(SharedModuleStoreTestCase): def _get_expected_header_urls(self, request): expected_header_urls = { 'logout': reverse('logout'), - 'resume_block': retrieve_last_sitewide_block_completed(self.user.username) + 'resume_block': retrieve_last_sitewide_block_completed(self.user) } # Studio (CMS) does not have the URLs below