Merge pull request #14945 from edx/diana/correct-course-redirects

Course jump tos should go to the main course home page.
This commit is contained in:
Diana Huang
2017-04-25 13:40:31 -04:00
committed by GitHub
4 changed files with 12 additions and 4 deletions

View File

@@ -1442,6 +1442,8 @@ class DefaultStatesContentTest(CourseOutlineTest):
__test__ = True
# TODO: TNL-6546: Removing unified_course_view_flag
# This test will need to be rewritten to point to the new course home page.
def test_view_live(self):
"""
Scenario: View Live version from course outline

View File

@@ -9,12 +9,15 @@ from xmodule.modulestore.search import path_to_location, navigation_index
from xmodule.modulestore.django import modulestore
def get_redirect_url(course_key, usage_key):
# TODO: TNL-6547: Remove unified_course_view parameter
def get_redirect_url(course_key, usage_key, unified_course_view=False):
""" Returns the redirect url back to courseware
Args:
course_id(str): Course Id string
location(str): The location id of course component
unified_course_view (bool): temporary parameter while this feature is behind a waffle flag.
Is the unified_course_view waffle flag on?
Raises:
ItemNotFoundError if no data at the location or NoPathToItem if location not in any class
@@ -22,6 +25,8 @@ def get_redirect_url(course_key, usage_key):
Returns:
Redirect url string
"""
if usage_key.block_type == 'course' and unified_course_view:
return reverse('edx.course_experience.course_home', args=[unicode(course_key)])
(
course_key, chapter, section, vertical_unused,

View File

@@ -4,6 +4,7 @@ Courseware views functions
import json
import logging
import urllib
import waffle
from collections import OrderedDict, namedtuple
from datetime import datetime
@@ -210,7 +211,7 @@ def jump_to_id(request, course_id, module_id):
@ensure_csrf_cookie
def jump_to(_request, course_id, location):
def jump_to(request, course_id, location):
"""
Show the page that contains a specific location.
@@ -225,7 +226,8 @@ def jump_to(_request, course_id, location):
except InvalidKeyError:
raise Http404(u"Invalid course_key or usage_key")
try:
redirect_url = get_redirect_url(course_key, usage_key)
unified_course_view = waffle.flag_is_active(request, 'unified_course_view')
redirect_url = get_redirect_url(course_key, usage_key, unified_course_view=unified_course_view)
except ItemNotFoundError:
raise Http404(u"No data at this location: {0}".format(usage_key))
except NoPathToItem:

View File

@@ -29,7 +29,6 @@ from opaque_keys.edx.keys import CourseKey
from commerce.utils import EcommerceService
from course_modes.models import CourseMode
from courseware.url_helpers import get_redirect_url
from edx_rest_api_client.exceptions import SlumberBaseException
from edxmako.shortcuts import render_to_response, render_to_string
from openedx.core.djangoapps.embargo import api as embargo_api