Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
edx-platform
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
edx
edx-platform
Commits
1cfefe24
Commit
1cfefe24
authored
Sep 06, 2017
by
Diana Huang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Modify the header to show the learner profile.
Remove the profile from the user dropdown. LEARNER-2318
parent
a2dc27e6
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
77 additions
and
39 deletions
+77
-39
common/djangoapps/student/views.py
+1
-0
common/test/acceptance/pages/lms/dashboard.py
+8
-1
common/test/acceptance/tests/lms/test_learner_profile.py
+1
-2
lms/djangoapps/courseware/tests/test_masquerade.py
+0
-18
lms/djangoapps/learner_dashboard/views.py
+2
-0
lms/djangoapps/student_account/views.py
+1
-0
lms/templates/navigation/bootstrap/navbar-authenticated.html
+14
-3
lms/templates/navigation/navbar-authenticated.html
+14
-3
lms/templates/user_dropdown.html
+0
-3
openedx/features/learner_profile/views/learner_profile.py
+4
-0
themes/edx.org/lms/templates/header.html
+32
-9
No files found.
common/djangoapps/student/views.py
View file @
1cfefe24
...
@@ -864,6 +864,7 @@ def dashboard(request):
...
@@ -864,6 +864,7 @@ def dashboard(request):
'nav_hidden'
:
True
,
'nav_hidden'
:
True
,
'inverted_programs'
:
inverted_programs
,
'inverted_programs'
:
inverted_programs
,
'show_program_listing'
:
ProgramsApiConfig
.
is_enabled
(),
'show_program_listing'
:
ProgramsApiConfig
.
is_enabled
(),
'show_dashboard_tabs'
:
True
,
'disable_courseware_js'
:
True
,
'disable_courseware_js'
:
True
,
'display_course_modes_on_dashboard'
:
enable_verified_certificates
and
display_course_modes_on_dashboard
,
'display_course_modes_on_dashboard'
:
enable_verified_certificates
and
display_course_modes_on_dashboard
,
'display_sidebar_on_dashboard'
:
display_sidebar_on_dashboard
,
'display_sidebar_on_dashboard'
:
display_sidebar_on_dashboard
,
...
...
common/test/acceptance/pages/lms/dashboard.py
View file @
1cfefe24
...
@@ -217,11 +217,18 @@ class DashboardPage(PageObject):
...
@@ -217,11 +217,18 @@ class DashboardPage(PageObject):
"""
"""
return
self
.
q
(
css
=
'.user-dropdown-menu li a'
)
.
text
return
self
.
q
(
css
=
'.user-dropdown-menu li a'
)
.
text
@property
def
tabs_link_text
(
self
):
"""
Return the text of all the tabs on the dashboard.
"""
return
self
.
q
(
css
=
'.tab-nav-item a'
)
.
text
def
click_my_profile_link
(
self
):
def
click_my_profile_link
(
self
):
"""
"""
Click on `Profile` link.
Click on `Profile` link.
"""
"""
self
.
q
(
css
=
'.
user-dropdown-menu li
a'
)
.
nth
(
1
)
.
click
()
self
.
q
(
css
=
'.
tab-nav-item
a'
)
.
nth
(
1
)
.
click
()
def
click_account_settings_link
(
self
):
def
click_account_settings_link
(
self
):
"""
"""
...
...
common/test/acceptance/tests/lms/test_learner_profile.py
View file @
1cfefe24
...
@@ -278,8 +278,7 @@ class OwnLearnerProfilePageTest(LearnerProfileTestMixin, AcceptanceTest):
...
@@ -278,8 +278,7 @@ class OwnLearnerProfilePageTest(LearnerProfileTestMixin, AcceptanceTest):
username
,
__
=
self
.
log_in_as_unique_user
()
username
,
__
=
self
.
log_in_as_unique_user
()
dashboard_page
=
DashboardPage
(
self
.
browser
)
dashboard_page
=
DashboardPage
(
self
.
browser
)
dashboard_page
.
visit
()
dashboard_page
.
visit
()
dashboard_page
.
click_username_dropdown
()
self
.
assertIn
(
'Profile'
,
dashboard_page
.
tabs_link_text
)
self
.
assertIn
(
'Profile'
,
dashboard_page
.
username_dropdown_link_text
)
dashboard_page
.
click_my_profile_link
()
dashboard_page
.
click_my_profile_link
()
my_profile_page
=
LearnerProfilePage
(
self
.
browser
,
username
)
my_profile_page
=
LearnerProfilePage
(
self
.
browser
,
username
)
my_profile_page
.
wait_for_page
()
my_profile_page
.
wait_for_page
()
...
...
lms/djangoapps/courseware/tests/test_masquerade.py
View file @
1cfefe24
...
@@ -154,20 +154,6 @@ class MasqueradeTestCase(SharedModuleStoreTestCase, LoginEnrollmentTestCase):
...
@@ -154,20 +154,6 @@ class MasqueradeTestCase(SharedModuleStoreTestCase, LoginEnrollmentTestCase):
self
.
assertIn
(
self
.
problem_display_name
,
problem_html
)
self
.
assertIn
(
self
.
problem_display_name
,
problem_html
)
self
.
assertEqual
(
show_answer_expected
,
"Show Answer"
in
problem_html
)
self
.
assertEqual
(
show_answer_expected
,
"Show Answer"
in
problem_html
)
def
verify_real_user_profile_link
(
self
):
"""
Verifies that the 'Profile' link in the navigation dropdown is pointing
to the real user.
"""
content
=
self
.
get_courseware_page
()
.
content
self
.
assertIn
(
'<a href="/u/{}" role="menuitem" class="action dropdown-menuitem">Profile</a>'
.
format
(
self
.
test_user
.
username
),
content
,
"Profile link should point to real user"
,
)
def
ensure_masquerade_as_group_member
(
self
,
partition_id
,
group_id
):
def
ensure_masquerade_as_group_member
(
self
,
partition_id
,
group_id
):
"""
"""
Installs a masquerade for the test_user and test course, to enable the
Installs a masquerade for the test_user and test course, to enable the
...
@@ -376,9 +362,6 @@ class TestStaffMasqueradeAsSpecificStudent(StaffMasqueradeTestCase, ProblemSubmi
...
@@ -376,9 +362,6 @@ class TestStaffMasqueradeAsSpecificStudent(StaffMasqueradeTestCase, ProblemSubmi
self
.
update_masquerade
(
role
=
'student'
,
user_name
=
self
.
student_user
.
username
)
self
.
update_masquerade
(
role
=
'student'
,
user_name
=
self
.
student_user
.
username
)
self
.
assertEqual
(
self
.
get_progress_detail
(),
u'2/2'
)
self
.
assertEqual
(
self
.
get_progress_detail
(),
u'2/2'
)
# Verify that the user dropdown links have not changed
self
.
verify_real_user_profile_link
()
# Temporarily override the student state.
# Temporarily override the student state.
self
.
submit_answer
(
'Correct'
,
'Incorrect'
)
self
.
submit_answer
(
'Correct'
,
'Incorrect'
)
self
.
assertEqual
(
self
.
get_progress_detail
(),
u'1/2'
)
self
.
assertEqual
(
self
.
get_progress_detail
(),
u'1/2'
)
...
@@ -461,7 +444,6 @@ class TestStaffMasqueradeAsSpecificStudent(StaffMasqueradeTestCase, ProblemSubmi
...
@@ -461,7 +444,6 @@ class TestStaffMasqueradeAsSpecificStudent(StaffMasqueradeTestCase, ProblemSubmi
masquerade_progress
=
self
.
get_progress_page
()
.
content
masquerade_progress
=
self
.
get_progress_page
()
.
content
self
.
assertNotIn
(
"1 of 2 possible points"
,
masquerade_progress
)
self
.
assertNotIn
(
"1 of 2 possible points"
,
masquerade_progress
)
self
.
assertIn
(
"2 of 2 possible points"
,
masquerade_progress
)
self
.
assertIn
(
"2 of 2 possible points"
,
masquerade_progress
)
self
.
verify_real_user_profile_link
()
@attr
(
shard
=
1
)
@attr
(
shard
=
1
)
...
...
lms/djangoapps/learner_dashboard/views.py
View file @
1cfefe24
...
@@ -35,6 +35,7 @@ def program_listing(request):
...
@@ -35,6 +35,7 @@ def program_listing(request):
'programs'
:
meter
.
engaged_programs
,
'programs'
:
meter
.
engaged_programs
,
'progress'
:
meter
.
progress
(),
'progress'
:
meter
.
progress
(),
'show_program_listing'
:
programs_config
.
enabled
,
'show_program_listing'
:
programs_config
.
enabled
,
'show_dashboard_tabs'
:
True
,
'uses_pattern_library'
:
True
,
'uses_pattern_library'
:
True
,
}
}
...
@@ -75,6 +76,7 @@ def program_details(request, program_uuid):
...
@@ -75,6 +76,7 @@ def program_details(request, program_uuid):
context
=
{
context
=
{
'urls'
:
urls
,
'urls'
:
urls
,
'show_program_listing'
:
programs_config
.
enabled
,
'show_program_listing'
:
programs_config
.
enabled
,
'show_dashboard_tabs'
:
True
,
'nav_hidden'
:
True
,
'nav_hidden'
:
True
,
'disable_courseware_js'
:
True
,
'disable_courseware_js'
:
True
,
'uses_pattern_library'
:
True
,
'uses_pattern_library'
:
True
,
...
...
lms/djangoapps/student_account/views.py
View file @
1cfefe24
...
@@ -555,6 +555,7 @@ def account_settings_context(request):
...
@@ -555,6 +555,7 @@ def account_settings_context(request):
'user_preferences_api_url'
:
reverse
(
'preferences_api'
,
kwargs
=
{
'username'
:
user
.
username
}),
'user_preferences_api_url'
:
reverse
(
'preferences_api'
,
kwargs
=
{
'username'
:
user
.
username
}),
'disable_courseware_js'
:
True
,
'disable_courseware_js'
:
True
,
'show_program_listing'
:
ProgramsApiConfig
.
is_enabled
(),
'show_program_listing'
:
ProgramsApiConfig
.
is_enabled
(),
'show_dashboard_tabs'
:
True
,
'order_history'
:
user_orders
'order_history'
:
user_orders
}
}
...
...
lms/templates/navigation/bootstrap/navbar-authenticated.html
View file @
1cfefe24
...
@@ -33,15 +33,26 @@ from django.utils.translation import ugettext as _
...
@@ -33,15 +33,26 @@ from django.utils.translation import ugettext as _
</li>
</li>
% endif
% endif
% if show_
program_listing
:
% if show_
dashboard_tabs
:
<li
class=
"nav-item mt-2 nav-item-open-collapsed"
>
<li
class=
"nav-item mt-2 nav-item-open-collapsed"
>
<a
class=
"nav-link ${'active' if reverse('dashboard') == request.path else ''}"
href=
"${reverse('dashboard')}"
>
<a
class=
"nav-link ${'active' if reverse('dashboard') == request.path else ''}"
href=
"${reverse('dashboard')}"
>
${_("Courses")}
${_("Courses")}
</a>
</a>
</li>
</li>
% if show_program_listing:
<li
class=
"nav-item mt-2 nav-item-open-collapsed"
>
<a
class=
"nav-link ${'active' if reverse('program_listing_view') in request.path else ''}"
href=
"${reverse('program_listing_view')}"
>
${_("Programs")}
</a>
</li>
% endif
<
%
self
.
real_user =
getattr(user,
'
real_user
',
user
)
is_on_profile_page =
data
and
data
.
get
('
profile_user_id
')
is
not
None
%
>
<li
class=
"nav-item mt-2 nav-item-open-collapsed"
>
<li
class=
"nav-item mt-2 nav-item-open-collapsed"
>
<a
class=
"
nav-link ${'active' if reverse('program_listing_view') in request.path else ''}"
href=
"${reverse('program_listing_view'
)}"
>
<a
class=
"
${'active ' if is_on_profile_page else ''}tab-nav-link"
href=
"${reverse('learner_profile', args=[self.real_user.username]
)}"
>
${_("Pro
grams
")}
${_("Pro
file
")}
</a>
</a>
</li>
</li>
% endif
% endif
...
...
lms/templates/navigation/navbar-authenticated.html
View file @
1cfefe24
...
@@ -16,15 +16,26 @@ from django.utils.translation import ugettext as _
...
@@ -16,15 +16,26 @@ from django.utils.translation import ugettext as _
<a
class=
"btn"
href=
"${marketing_link('COURSES')}"
>
${_('Explore courses')}
</a>
<a
class=
"btn"
href=
"${marketing_link('COURSES')}"
>
${_('Explore courses')}
</a>
</li>
</li>
% endif
% endif
% if show_
program_listing
:
% if show_
dashboard_tabs
:
<li
class=
"tab-nav-item"
>
<li
class=
"tab-nav-item"
>
<a
class=
"${'active ' if reverse('dashboard') == request.path else ''}tab-nav-link"
href=
"${reverse('dashboard')}"
>
<a
class=
"${'active ' if reverse('dashboard') == request.path else ''}tab-nav-link"
href=
"${reverse('dashboard')}"
>
${_("Courses")}
${_("Courses")}
</a>
</a>
</li>
</li>
% if show_program_listing:
<li
class=
"tab-nav-item"
>
<a
class=
"${'active ' if reverse('program_listing_view') in request.path else ''}tab-nav-link"
href=
"${reverse('program_listing_view')}"
>
${_("Programs")}
</a>
</li>
% endif
<
%
self
.
real_user =
getattr(user,
'
real_user
',
user
)
is_on_profile_page =
data
and
data
.
get
('
profile_user_id
')
is
not
None
%
>
<li
class=
"tab-nav-item"
>
<li
class=
"tab-nav-item"
>
<a
class=
"${'active ' if
reverse('program_listing_view') in request.path else ''}tab-nav-link"
href=
"${reverse('program_listing_view'
)}"
>
<a
class=
"${'active ' if
is_on_profile_page else ''}tab-nav-link"
href=
"${reverse('learner_profile', args=[self.real_user.username]
)}"
>
${_("Pro
grams
")}
${_("Pro
file
")}
</a>
</a>
</li>
</li>
% endif
% endif
...
...
lms/templates/user_dropdown.html
View file @
1cfefe24
...
@@ -26,13 +26,11 @@ from openedx.core.djangoapps.user_api.accounts.image_helpers import get_profile_
...
@@ -26,13 +26,11 @@ from openedx.core.djangoapps.user_api.accounts.image_helpers import get_profile_
<a
class=
"nav-link dropdown-toggle"
id=
"navbarDropdownMenuLink"
data-toggle=
"dropdown"
aria-haspopup=
"true"
aria-expanded=
"false"
>
${username}
</a>
<a
class=
"nav-link dropdown-toggle"
id=
"navbarDropdownMenuLink"
data-toggle=
"dropdown"
aria-haspopup=
"true"
aria-expanded=
"false"
>
${username}
</a>
<ul
class=
"dropdown-menu dropdown-menu-right"
id=
"${_("
Usermenu
")}"
aria-labelledby=
"dropdownMenuLink"
tabindex=
"-1"
>
<ul
class=
"dropdown-menu dropdown-menu-right"
id=
"${_("
Usermenu
")}"
aria-labelledby=
"dropdownMenuLink"
tabindex=
"-1"
>
<a
class=
"dropdown-item"
href=
"${reverse('dashboard')}"
>
${_("Dashboard")}
</a>
<a
class=
"dropdown-item"
href=
"${reverse('dashboard')}"
>
${_("Dashboard")}
</a>
<a
class=
"dropdown-item"
href=
"${reverse('learner_profile', kwargs={'username': self.real_user.username})}"
>
${_("Profile")}
</a>
<a
class=
"dropdown-item"
href=
"${reverse('account_settings')}"
>
${_("Account")}
</a>
<a
class=
"dropdown-item"
href=
"${reverse('account_settings')}"
>
${_("Account")}
</a>
<a
class=
"dropdown-item"
href=
"${reverse('logout')}"
>
${_("Sign Out")}
</a>
<a
class=
"dropdown-item"
href=
"${reverse('logout')}"
>
${_("Sign Out")}
</a>
</ul>
</ul>
</li>
</li>
<li
class=
"nav-item nav-item-open-collapsed-only collapse"
><a
href=
"${reverse('dashboard')}"
>
${_("Dashboard")}
</a></li>
<li
class=
"nav-item nav-item-open-collapsed-only collapse"
><a
href=
"${reverse('dashboard')}"
>
${_("Dashboard")}
</a></li>
<li
class=
"nav-item nav-item-open-collapsed-only"
><a
href=
"${reverse('learner_profile', kwargs={'username': self.real_user.username})}"
>
${_("Profile")}
</a></li>
<li
class=
"nav-item nav-item-open-collapsed-only"
><a
href=
"${reverse('account_settings')}"
>
${_("Account")}
</a></li>
<li
class=
"nav-item nav-item-open-collapsed-only"
><a
href=
"${reverse('account_settings')}"
>
${_("Account")}
</a></li>
<li
class=
"nav-item nav-item-open-collapsed-only"
><a
href=
"${reverse('logout')}"
>
${_("Sign Out")}
</a></li>
<li
class=
"nav-item nav-item-open-collapsed-only"
><a
href=
"${reverse('logout')}"
>
${_("Sign Out")}
</a></li>
% elif uses_pattern_library:
% elif uses_pattern_library:
...
@@ -54,7 +52,6 @@ from openedx.core.djangoapps.user_api.accounts.image_helpers import get_profile_
...
@@ -54,7 +52,6 @@ from openedx.core.djangoapps.user_api.accounts.image_helpers import get_profile_
<ul
class=
"dropdown-menu list-divided is-hidden"
id=
"${_("
Usermenu
")}"
tabindex=
"-1"
>
<ul
class=
"dropdown-menu list-divided is-hidden"
id=
"${_("
Usermenu
")}"
tabindex=
"-1"
>
<
%
block
name=
"navigation_dropdown_menu_links"
>
<
%
block
name=
"navigation_dropdown_menu_links"
>
<li
class=
"dropdown-item item has-block-link"
><a
href=
"${reverse('dashboard')}"
role=
"menuitem"
class=
"action dropdown-menuitem"
>
${_("Dashboard")}
</a></li>
<li
class=
"dropdown-item item has-block-link"
><a
href=
"${reverse('dashboard')}"
role=
"menuitem"
class=
"action dropdown-menuitem"
>
${_("Dashboard")}
</a></li>
<li
class=
"dropdown-item item has-block-link"
><a
href=
"${reverse('learner_profile', kwargs={'username': self.real_user.username})}"
role=
"menuitem"
class=
"action dropdown-menuitem"
>
${_("Profile")}
</a></li>
<li
class=
"dropdown-item item has-block-link"
><a
href=
"${reverse('account_settings')}"
role=
"menuitem"
class=
"action dropdown-menuitem"
>
${_("Account")}
</a></li>
<li
class=
"dropdown-item item has-block-link"
><a
href=
"${reverse('account_settings')}"
role=
"menuitem"
class=
"action dropdown-menuitem"
>
${_("Account")}
</a></li>
</
%
block>
</
%
block>
<li
class=
"dropdown-item item has-block-link"
><a
href=
"${reverse('logout')}"
role=
"menuitem"
class=
"action dropdown-menuitem"
>
${_("Sign Out")}
</a></li>
<li
class=
"dropdown-item item has-block-link"
><a
href=
"${reverse('logout')}"
role=
"menuitem"
class=
"action dropdown-menuitem"
>
${_("Sign Out")}
</a></li>
...
...
openedx/features/learner_profile/views/learner_profile.py
View file @
1cfefe24
...
@@ -12,6 +12,7 @@ from django.utils.translation import ugettext as _
...
@@ -12,6 +12,7 @@ from django.utils.translation import ugettext as _
from
django.views.decorators.http
import
require_http_methods
from
django.views.decorators.http
import
require_http_methods
from
django_countries
import
countries
from
django_countries
import
countries
from
edxmako.shortcuts
import
marketing_link
from
edxmako.shortcuts
import
marketing_link
from
openedx.core.djangoapps.programs.models
import
ProgramsApiConfig
from
openedx.core.djangoapps.site_configuration
import
helpers
as
configuration_helpers
from
openedx.core.djangoapps.site_configuration
import
helpers
as
configuration_helpers
from
openedx.core.djangoapps.user_api.accounts.api
import
get_account_settings
from
openedx.core.djangoapps.user_api.accounts.api
import
get_account_settings
from
openedx.core.djangoapps.user_api.errors
import
UserNotAuthorized
,
UserNotFound
from
openedx.core.djangoapps.user_api.errors
import
UserNotAuthorized
,
UserNotFound
...
@@ -137,7 +138,10 @@ def learner_profile_context(request, profile_username, user_is_staff):
...
@@ -137,7 +138,10 @@ def learner_profile_context(request, profile_username, user_is_staff):
'platform_name'
:
configuration_helpers
.
get_value
(
'platform_name'
,
settings
.
PLATFORM_NAME
),
'platform_name'
:
configuration_helpers
.
get_value
(
'platform_name'
,
settings
.
PLATFORM_NAME
),
'social_platforms'
:
settings
.
SOCIAL_PLATFORMS
,
'social_platforms'
:
settings
.
SOCIAL_PLATFORMS
,
},
},
'show_program_listing'
:
ProgramsApiConfig
.
is_enabled
(),
'show_dashboard_tabs'
:
True
,
'disable_courseware_js'
:
True
,
'disable_courseware_js'
:
True
,
'nav_hidden'
:
True
,
}
}
if
badges_enabled
():
if
badges_enabled
():
...
...
themes/edx.org/lms/templates/header.html
View file @
1cfefe24
...
@@ -74,7 +74,7 @@ site_status_msg = get_site_status_msg(course_id)
...
@@ -74,7 +74,7 @@ site_status_msg = get_site_status_msg(course_id)
% if user.is_authenticated():
% if user.is_authenticated():
<div
class=
"collapse navbar-collapse"
id=
"navbarSupportedContent"
>
<div
class=
"collapse navbar-collapse"
id=
"navbarSupportedContent"
>
% if not course or disable_courseware_header:
% if not course or disable_courseware_header:
% if not nav_hidden or show_
program_listing
:
% if not nav_hidden or show_
dashboard_tabs
:
<ul
class=
"navbar-nav mr-auto"
>
<ul
class=
"navbar-nav mr-auto"
>
% if not nav_hidden:
% if not nav_hidden:
<li
class=
"nav-item mt-2 nav-item-open-collapsed nav-global-01"
>
<li
class=
"nav-item mt-2 nav-item-open-collapsed nav-global-01"
>
...
@@ -87,18 +87,29 @@ site_status_msg = get_site_status_msg(course_id)
...
@@ -87,18 +87,29 @@ site_status_msg = get_site_status_msg(course_id)
<a
class=
"nav-link"
href=
"${marketing_link('SCHOOLS')}"
>
${_("Schools
&
Partners")}
</a>
<a
class=
"nav-link"
href=
"${marketing_link('SCHOOLS')}"
>
${_("Schools
&
Partners")}
</a>
</li>
</li>
% endif
% endif
% if show_
program_listing
:
% if show_
dashboard_tabs
:
<li
class=
"nav-item mt-2 nav-item-open-collapsed"
>
<li
class=
"nav-item mt-2 nav-item-open-collapsed"
>
<a
class=
"${'active' if reverse('dashboard') == request.path else ''} nav-link"
href=
"${reverse('dashboard')}"
>
<a
class=
"${'active' if reverse('dashboard') == request.path else ''} nav-link"
href=
"${reverse('dashboard')}"
>
${_("Courses")}
${_("Courses")}
</a>
</a>
</li>
</li>
% if show_program_listing:
<li
class=
"nav-item mt-2 nav-item-open-collapsed"
>
<a
class=
"${'active' if reverse('program_listing_view') in request.path else ''} nav-link"
href=
"${reverse('program_listing_view')}"
>
${_("Programs")}
</a>
</li>
% endif
<
%
self
.
real_user =
getattr(user,
'
real_user
',
user
)
is_on_profile_page =
data
and
data
.
get
('
profile_user_id
')
is
not
None
%
>
<li
class=
"nav-item mt-2 nav-item-open-collapsed"
>
<li
class=
"nav-item mt-2 nav-item-open-collapsed"
>
<a
class=
"${'active
' if reverse('program_listing_view') in request.path else ''} nav-link"
href=
"${reverse('program_listing_view'
)}"
>
<a
class=
"${'active
' if is_on_profile_page else ''}tab-nav-link"
href=
"${reverse('learner_profile', args=[self.real_user.username]
)}"
>
${_("Pro
grams
")}
${_("Pro
file
")}
</a>
</a>
</li>
</li>
% endif
% endif
</ul>
</ul>
% endif
% endif
% endif
% endif
...
@@ -166,7 +177,7 @@ site_status_msg = get_site_status_msg(course_id)
...
@@ -166,7 +177,7 @@ site_status_msg = get_site_status_msg(course_id)
% if user.is_authenticated():
% if user.is_authenticated():
% if not course or disable_courseware_header:
% if not course or disable_courseware_header:
% if not nav_hidden or show_
program_listing
:
% if not nav_hidden or show_
dashboard_tabs
:
<nav
aria-label=
"${_('Main')}"
class=
"nav-main"
>
<nav
aria-label=
"${_('Main')}"
class=
"nav-main"
>
<ul
class=
"left list-inline nav-global authenticated"
>
<ul
class=
"left list-inline nav-global authenticated"
>
% if not nav_hidden:
% if not nav_hidden:
...
@@ -182,17 +193,29 @@ site_status_msg = get_site_status_msg(course_id)
...
@@ -182,17 +193,29 @@ site_status_msg = get_site_status_msg(course_id)
</li>
</li>
</
%
block>
</
%
block>
% endif
% endif
% if show_
program_listing
:
% if show_
dashboard_tabs
:
<li
class=
"tab-nav-item"
>
<li
class=
"tab-nav-item"
>
<a
class=
"${'active ' if reverse('dashboard') == request.path else ''}tab-nav-link"
href=
"${reverse('dashboard')}"
>
<a
class=
"${'active ' if reverse('dashboard') == request.path else ''}tab-nav-link"
href=
"${reverse('dashboard')}"
>
${_("Courses")}
${_("Courses")}
</a>
</a>
</li>
</li>
% if show_program_listing:
<li
class=
"tab-nav-item"
>
<a
class=
"${'active ' if reverse('program_listing_view') in request.path else ''}tab-nav-link"
href=
"${reverse('program_listing_view')}"
>
${_("Programs")}
</a>
</li>
% endif
<
%
self
.
real_user =
getattr(user,
'
real_user
',
user
)
is_on_profile_page =
data
and
data
.
get
('
profile_user_id
')
is
not
None
%
>
<li
class=
"tab-nav-item"
>
<li
class=
"tab-nav-item"
>
<a
class=
"${'active ' if
reverse('program_listing_view') in request.path else ''}tab-nav-link"
href=
"${reverse('program_listing_view'
)}"
>
<a
class=
"${'active ' if
is_on_profile_page else ''}tab-nav-link"
href=
"${reverse('learner_profile', args=[self.real_user.username]
)}"
>
${_("Pro
grams
")}
${_("Pro
file
")}
</a>
</a>
</li>
</li>
% endif
% endif
</ul>
</ul>
</nav>
</nav>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment