courseware views now goes to default chapter and section if unprovided
- uses multicourse settings (default_chapter and default_section)
- it would be nice to use course_settings instead, but that is not
currently compatible with multicourse
This commit is contained in:
@@ -71,6 +71,7 @@ class Settings(object):
|
||||
# Load the course settings as a dictionary
|
||||
course_settings = {}
|
||||
try:
|
||||
# TODO: this doesn't work with multicourse
|
||||
with open( settings.DATA_DIR + "/course_settings.json") as course_settings_file:
|
||||
course_settings_string = course_settings_file.read()
|
||||
course_settings = json.loads(course_settings_string)
|
||||
|
||||
@@ -165,7 +165,8 @@ def get_course(request, course):
|
||||
if not settings.ENABLE_MULTICOURSE:
|
||||
course = "edx4edx"
|
||||
elif 'coursename' in request.session:
|
||||
course = request.session['coursename']
|
||||
# use multicourse_settings, so that settings.COURSE_TITLE is set properly
|
||||
course = multicourse_settings.get_coursename_from_request(request)
|
||||
else:
|
||||
course = settings.COURSE_DEFAULT
|
||||
return course
|
||||
@@ -287,6 +288,17 @@ def index(request, course=None, chapter=None, section=None,
|
||||
# keep track of current course being viewed in django's request.session
|
||||
request.session['coursename'] = course
|
||||
|
||||
# get default chapter & section from multicourse settings, if not provided
|
||||
if chapter is None:
|
||||
defchapter = multicourse_settings.get_course_default_chapter(course)
|
||||
defsection = multicourse_settings.get_course_default_section(course)
|
||||
if defchapter and defsection:
|
||||
# jump there using redirect, so the user gets the right URL in their browser
|
||||
return redirect('%s/courseware/%s/%s/%s/' % (settings.MITX_ROOT_URL,
|
||||
get_course(request, course),
|
||||
defchapter,
|
||||
defsection))
|
||||
|
||||
chapter = clean(chapter)
|
||||
section = clean(section)
|
||||
|
||||
|
||||
@@ -80,5 +80,11 @@ def get_course_number(coursename):
|
||||
|
||||
def get_course_github_url(coursename):
|
||||
return get_course_property(coursename,'github_url')
|
||||
|
||||
def get_course_default_chapter(coursename):
|
||||
return get_course_property(coursename,'default_chapter')
|
||||
|
||||
def get_course_default_section(coursename):
|
||||
return get_course_property(coursename,'default_section')
|
||||
|
||||
|
||||
|
||||
@@ -42,51 +42,67 @@ MAKO_TEMPLATES['course'] = [DATA_DIR, EDX4EDX_ROOT ]
|
||||
MITX_FEATURES['DISPLAY_HISTOGRAMS_TO_STAFF'] = False
|
||||
MITX_FEATURES['DISPLAY_EDIT_LINK'] = True
|
||||
|
||||
COURSE_SETTINGS = {'6.002_Spring_2012': {'number' : '6.002x',
|
||||
COURSE_SETTINGS = {'6.002_Fall_2012': {'number' : '6.002x',
|
||||
'title' : 'Circuits and Electronics',
|
||||
'xmlpath': '/6002x/',
|
||||
'xmlpath': '/6002x-fall-2012/',
|
||||
'active' : True,
|
||||
'default_chapter' : 'Week_1',
|
||||
'default_section' : 'Administrivia_and_Circuit_Elements',
|
||||
},
|
||||
'8.02_Spring_2013': {'number' : '8.02x',
|
||||
'title' : 'Electricity & Magnetism',
|
||||
'xmlpath': '/802x/',
|
||||
'github_url': 'https://github.com/MITx/8.02x',
|
||||
'active' : True,
|
||||
'default_chapter' : 'Introduction',
|
||||
'default_section' : 'Introduction_%28Lewin_2002%29',
|
||||
},
|
||||
'6.189_Spring_2013': {'number' : '6.189x',
|
||||
'title' : 'IAP Python Programming',
|
||||
'xmlpath': '/6.189x/',
|
||||
'github_url': 'https://github.com/MITx/6.189x',
|
||||
'active' : True,
|
||||
'default_chapter' : 'Week_1',
|
||||
'default_section' : 'Variables_and_Binding',
|
||||
},
|
||||
'8.01_Fall_2012': {'number' : '8.01x',
|
||||
'title' : 'Mechanics',
|
||||
'xmlpath': '/8.01x/',
|
||||
'github_url': 'https://github.com/MITx/8.01x',
|
||||
'active': True,
|
||||
'default_chapter' : 'MIT_8.011_Spring_2012',
|
||||
'default_section' : 'Introduction_to_the_course',
|
||||
},
|
||||
'edx4edx': {'number' : 'edX.01',
|
||||
'title' : 'edx4edx: edX Author Course',
|
||||
'xmlpath': '/edx4edx/',
|
||||
'github_url': 'https://github.com/MITx/edx4edx',
|
||||
'active' : True,
|
||||
'default_chapter' : 'Introduction',
|
||||
'default_section' : 'edx4edx_Course',
|
||||
},
|
||||
'7.03x_Fall_2012': {'number' : '7.03x',
|
||||
'title' : 'Genetics',
|
||||
'xmlpath': '/7.03x/',
|
||||
'github_url': 'https://github.com/MITx/7.03x',
|
||||
'active' : True,
|
||||
'default_chapter' : 'Week_2',
|
||||
'default_section' : 'ps1_question_1',
|
||||
},
|
||||
'3.091x_Fall_2012': {'number' : '3.091x',
|
||||
'title' : 'Introduction to Solid State Chemistry',
|
||||
'xmlpath': '/3.091x/',
|
||||
'github_url': 'https://github.com/MITx/3.091x',
|
||||
'active' : True,
|
||||
'default_chapter' : 'Week_1',
|
||||
'default_section' : 'Problem_Set_1',
|
||||
},
|
||||
'18.06x_Linear_Algebra': {'number' : '18.06x',
|
||||
'title' : 'Linear Algebra',
|
||||
'xmlpath': '/18.06x/',
|
||||
'github_url': 'https://github.com/MITx/18.06x',
|
||||
'default_chapter' : 'Unit_1',
|
||||
'default_section' : 'Midterm_1',
|
||||
'active' : True,
|
||||
},
|
||||
'6.00x_Fall_2012': {'number' : '6.00x',
|
||||
@@ -94,6 +110,8 @@ COURSE_SETTINGS = {'6.002_Spring_2012': {'number' : '6.002x',
|
||||
'xmlpath': '/6.00x/',
|
||||
'github_url': 'https://github.com/MITx/6.00x',
|
||||
'active' : True,
|
||||
'default_chapter' : 'Week_0',
|
||||
'default_section' : 'Problem_Set_0',
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user