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
a00d9ad3
Commit
a00d9ad3
authored
Jul 06, 2017
by
Douglas Hall
Committed by
GitHub
Jul 06, 2017
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #15484 from edx/afzaledx/LEARNER-1146-patch
Put the program_types filter under the waffle switch
parents
8fb86474
b8a310d5
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
22 additions
and
11 deletions
+22
-11
common/djangoapps/student/views.py
+7
-1
lms/djangoapps/branding/tests/test_page.py
+11
-9
lms/djangoapps/courseware/views/views.py
+4
-1
No files found.
common/djangoapps/student/views.py
View file @
a00d9ad3
...
...
@@ -12,6 +12,7 @@ from urlparse import parse_qs, urlsplit, urlunsplit
import
analytics
import
edx_oauth2_provider
import
waffle
from
django.conf
import
settings
from
django.contrib
import
messages
from
django.contrib.auth
import
authenticate
,
login
,
logout
...
...
@@ -174,6 +175,7 @@ def index(request, extra_context=None, user=AnonymousUser()):
if
extra_context
is
None
:
extra_context
=
{}
programs_list
=
[]
courses
=
get_courses
(
user
)
if
configuration_helpers
.
get_value
(
...
...
@@ -207,7 +209,11 @@ def index(request, extra_context=None, user=AnonymousUser()):
# Insert additional context for use in the template
context
.
update
(
extra_context
)
context
[
'programs_list'
]
=
get_programs_with_type
(
include_hidden
=
False
)
# Add marketable programs to the context if the multi-tenant programs switch is enabled.
if
waffle
.
switch_is_active
(
'get-multitenant-programs'
):
programs_list
=
get_programs_with_type
(
include_hidden
=
False
)
context
[
'programs_list'
]
=
programs_list
return
render_to_response
(
'index.html'
,
context
)
...
...
lms/djangoapps/branding/tests/test_page.py
View file @
a00d9ad3
...
...
@@ -14,6 +14,7 @@ from milestones.tests.utils import MilestonesTestCaseMixin
from
mock
import
Mock
,
patch
from
nose.plugins.attrib
import
attr
from
pytz
import
UTC
from
waffle.testutils
import
override_switch
from
branding.views
import
index
from
courseware.tests.helpers
import
LoginEnrollmentTestCase
...
...
@@ -297,18 +298,19 @@ class IndexPageProgramsTests(SiteMixin, ModuleStoreTestCase):
"""
Tests for Programs List in Marketing Pages.
"""
@ddt.data
(
[],
[
'fake_program_type'
]
)
def
test_get_programs_with_type_called
(
self
,
program_types
):
@ddt.data
(
True
,
False
)
def
test_get_programs_with_type_called
(
self
,
multitenant_programs_enabled
):
views
=
[
(
reverse
(
'root'
),
'student.views.get_programs_with_type'
),
(
reverse
(
'branding.views.courses'
),
'courseware.views.views.get_programs_with_type'
),
]
for
url
,
dotted_path
in
views
:
with
patch
(
dotted_path
)
as
mock_get_programs_with_type
:
response
=
self
.
client
.
get
(
url
)
self
.
assertEqual
(
response
.
status_code
,
200
)
if
program_types
:
mock_get_programs_with_type
.
assert_called_once
()
else
:
mock_get_programs_with_type
.
assert_not_called
()
with
override_switch
(
'get-multitenant-programs'
,
multitenant_programs_enabled
):
response
=
self
.
client
.
get
(
url
)
self
.
assertEqual
(
response
.
status_code
,
200
)
if
multitenant_programs_enabled
:
mock_get_programs_with_type
.
assert_called_once
()
else
:
mock_get_programs_with_type
.
assert_not_called
()
lms/djangoapps/courseware/views/views.py
View file @
a00d9ad3
...
...
@@ -8,6 +8,7 @@ from collections import OrderedDict, namedtuple
from
datetime
import
datetime
,
timedelta
import
analytics
import
waffle
from
django.conf
import
settings
from
django.contrib.auth.decorators
import
login_required
from
django.contrib.auth.models
import
AnonymousUser
,
User
...
...
@@ -155,7 +156,9 @@ def courses(request):
else
:
courses_list
=
sort_by_announcement
(
courses_list
)
programs_list
=
get_programs_with_type
(
include_hidden
=
False
)
# Add marketable programs to the context if the multi-tenant programs switch is enabled.
if
waffle
.
switch_is_active
(
'get-multitenant-programs'
):
programs_list
=
get_programs_with_type
(
include_hidden
=
False
)
return
render_to_response
(
"courseware/courses.html"
,
...
...
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