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
5c0accaa
Commit
5c0accaa
authored
Dec 10, 2015
by
Sarina Canelake
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #10900 from stvstnfrd/courseware/enabled
Remove COURSEWARE_ENABLED flag
parents
6d09a5b5
03618f7c
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
443 additions
and
147 deletions
+443
-147
lms/djangoapps/branding/views.py
+1
-1
lms/envs/common.py
+0
-1
lms/urls.py
+442
-145
No files found.
lms/djangoapps/branding/views.py
View file @
5c0accaa
...
@@ -51,7 +51,7 @@ def index(request):
...
@@ -51,7 +51,7 @@ def index(request):
Redirects to main page -- info page if user authenticated, or marketing if not
Redirects to main page -- info page if user authenticated, or marketing if not
'''
'''
if
settings
.
COURSEWARE_ENABLED
and
request
.
user
.
is_authenticated
():
if
request
.
user
.
is_authenticated
():
# For microsites, only redirect to dashboard if user has
# For microsites, only redirect to dashboard if user has
# courses in his/her dashboard. Otherwise UX is a bit cryptic.
# courses in his/her dashboard. Otherwise UX is a bit cryptic.
# In this case, we want to have the user stay on a course catalog
# In this case, we want to have the user stay on a course catalog
...
...
lms/envs/common.py
View file @
5c0accaa
...
@@ -54,7 +54,6 @@ COPYRIGHT_YEAR = "2015"
...
@@ -54,7 +54,6 @@ COPYRIGHT_YEAR = "2015"
PLATFORM_FACEBOOK_ACCOUNT
=
"http://www.facebook.com/YourPlatformFacebookAccount"
PLATFORM_FACEBOOK_ACCOUNT
=
"http://www.facebook.com/YourPlatformFacebookAccount"
PLATFORM_TWITTER_ACCOUNT
=
"@YourPlatformTwitterAccount"
PLATFORM_TWITTER_ACCOUNT
=
"@YourPlatformTwitterAccount"
COURSEWARE_ENABLED
=
True
ENABLE_JASMINE
=
False
ENABLE_JASMINE
=
False
DISCUSSION_SETTINGS
=
{
DISCUSSION_SETTINGS
=
{
...
...
lms/urls.py
View file @
5c0accaa
...
@@ -238,29 +238,34 @@ if settings.WIKI_ENABLED:
...
@@ -238,29 +238,34 @@ if settings.WIKI_ENABLED:
url
(
r'^courses/{}/wiki/'
.
format
(
settings
.
COURSE_KEY_REGEX
),
include
(
wiki_pattern
())),
url
(
r'^courses/{}/wiki/'
.
format
(
settings
.
COURSE_KEY_REGEX
),
include
(
wiki_pattern
())),
)
)
if
settings
.
COURSEWARE_ENABLED
:
COURSE_URLS
=
patterns
(
COURSE_URLS
=
patterns
(
''
,
''
,
url
(
url
(
r'^look_up_registration_code$'
,
r'^look_up_registration_code$'
,
'instructor.views.registration_codes.look_up_registration_code'
,
'instructor.views.registration_codes.look_up_registration_code'
,
name
=
'look_up_registration_code'
name
=
'look_up_registration_code'
,
),
),
url
(
url
(
r'^registration_code_details$'
,
r'^registration_code_details$'
,
'instructor.views.registration_codes.registration_code_details'
,
'instructor.views.registration_codes.registration_code_details'
,
name
=
'registration_code_details'
name
=
'registration_code_details'
,
)
),
)
)
urlpatterns
+=
(
urlpatterns
+=
(
# jump_to URLs for direct access to a location in the course
# jump_to URLs for direct access to a location in the course
url
(
url
(
r'^courses/{}/jump_to/(?P<location>.*)$'
.
format
(
settings
.
COURSE_ID_PATTERN
),
r'^courses/{}/jump_to/(?P<location>.*)$'
.
format
(
'courseware.views.jump_to'
,
name
=
"jump_to"
,
settings
.
COURSE_ID_PATTERN
,
),
'courseware.views.jump_to'
,
name
=
'jump_to'
,
),
),
url
(
url
(
r'^courses/{}/jump_to_id/(?P<module_id>.*)$'
.
format
(
settings
.
COURSE_ID_PATTERN
),
r'^courses/{}/jump_to_id/(?P<module_id>.*)$'
.
format
(
'courseware.views.jump_to_id'
,
name
=
"jump_to_id"
,
settings
.
COURSE_ID_PATTERN
,
),
'courseware.views.jump_to_id'
,
name
=
'jump_to_id'
,
),
),
# xblock Handler APIs
# xblock Handler APIs
...
@@ -312,224 +317,516 @@ if settings.COURSEWARE_ENABLED:
...
@@ -312,224 +317,516 @@ if settings.COURSEWARE_ENABLED:
url
(
url
(
r'^courses/{}/xqueue/(?P<userid>[^/]*)/(?P<mod_id>.*?)/(?P<dispatch>[^/]*)$'
.
format
(
r'^courses/{}/xqueue/(?P<userid>[^/]*)/(?P<mod_id>.*?)/(?P<dispatch>[^/]*)$'
.
format
(
settings
.
COURSE_ID_PATTERN
settings
.
COURSE_ID_PATTERN
,
),
),
'courseware.module_render.xqueue_callback'
,
'courseware.module_render.xqueue_callback'
,
name
=
'xqueue_callback'
name
=
'xqueue_callback'
,
),
url
(
r'^change_setting$'
,
'student.views.change_setting'
,
name
=
'change_setting'
,
),
),
url
(
r'^change_setting$'
,
'student.views.change_setting'
,
name
=
'change_setting'
),
# TODO: These views need to be updated before they work
# TODO: These views need to be updated before they work
url
(
r'^calculate$'
,
'util.views.calculate'
),
url
(
r'^calculate$'
,
'util.views.calculate'
),
url
(
r'^courses/?$'
,
'branding.views.courses'
,
name
=
"courses"
),
url
(
r'^courses/?$'
,
'branding.views.courses'
,
name
=
"courses"
),
url
(
r'^change_enrollment$'
,
url
(
'student.views.change_enrollment'
,
name
=
"change_enrollment"
),
r'^change_enrollment$'
,
url
(
r'^change_email_settings$'
,
'student.views.change_email_settings'
,
name
=
"change_email_settings"
),
'student.views.change_enrollment'
,
name
=
'change_enrollment'
,
),
url
(
r'^change_email_settings$'
,
'student.views.change_email_settings'
,
name
=
'change_email_settings'
,
),
#About the course
#About the course
url
(
r'^courses/{}/about$'
.
format
(
settings
.
COURSE_ID_PATTERN
),
url
(
'courseware.views.course_about'
,
name
=
"about_course"
),
r'^courses/{}/about$'
.
format
(
settings
.
COURSE_ID_PATTERN
,
),
'courseware.views.course_about'
,
name
=
'about_course'
,
),
#Inside the course
#Inside the course
url
(
r'^courses/{}/$'
.
format
(
settings
.
COURSE_ID_PATTERN
),
url
(
'courseware.views.course_info'
,
name
=
"course_root"
),
r'^courses/{}/$'
.
format
(
url
(
r'^courses/{}/info$'
.
format
(
settings
.
COURSE_ID_PATTERN
),
settings
.
COURSE_ID_PATTERN
,
'courseware.views.course_info'
,
name
=
"info"
),
),
'courseware.views.course_info'
,
name
=
'course_root'
,
),
url
(
r'^courses/{}/info$'
.
format
(
settings
.
COURSE_ID_PATTERN
,
),
'courseware.views.course_info'
,
name
=
'info'
,
),
# TODO arjun remove when custom tabs in place, see courseware/courses.py
# TODO arjun remove when custom tabs in place, see courseware/courses.py
url
(
r'^courses/{}/syllabus$'
.
format
(
settings
.
COURSE_ID_PATTERN
),
url
(
'courseware.views.syllabus'
,
name
=
"syllabus"
),
r'^courses/{}/syllabus$'
.
format
(
settings
.
COURSE_ID_PATTERN
,
),
'courseware.views.syllabus'
,
name
=
'syllabus'
,
),
#Survey associated with a course
# Survey associated with a course
url
(
r'^courses/{}/survey$'
.
format
(
settings
.
COURSE_ID_PATTERN
),
url
(
'courseware.views.course_survey'
,
name
=
"course_survey"
),
r'^courses/{}/survey$'
.
format
(
settings
.
COURSE_ID_PATTERN
,
),
'courseware.views.course_survey'
,
name
=
'course_survey'
,
),
url
(
r'^courses/{}/book/(?P<book_index>\d+)/$'
.
format
(
settings
.
COURSE_ID_PATTERN
),
url
(
'staticbook.views.index'
,
name
=
"book"
),
r'^courses/{}/book/(?P<book_index>\d+)/$'
.
format
(
url
(
r'^courses/{}/book/(?P<book_index>\d+)/(?P<page>\d+)$'
.
format
(
settings
.
COURSE_ID_PATTERN
),
settings
.
COURSE_ID_PATTERN
,
'staticbook.views.index'
,
name
=
"book"
),
),
'staticbook.views.index'
,
name
=
'book'
,
),
url
(
r'^courses/{}/book/(?P<book_index>\d+)/(?P<page>\d+)$'
.
format
(
settings
.
COURSE_ID_PATTERN
,
),
'staticbook.views.index'
,
name
=
'book'
,
),
url
(
r'^courses/{}/pdfbook/(?P<book_index>\d+)/$'
.
format
(
settings
.
COURSE_ID_PATTERN
),
url
(
'staticbook.views.pdf_index'
,
name
=
"pdf_book"
),
r'^courses/{}/pdfbook/(?P<book_index>\d+)/$'
.
format
(
url
(
r'^courses/{}/pdfbook/(?P<book_index>\d+)/(?P<page>\d+)$'
.
format
(
settings
.
COURSE_ID_PATTERN
),
settings
.
COURSE_ID_PATTERN
,
'staticbook.views.pdf_index'
,
name
=
"pdf_book"
),
),
'staticbook.views.pdf_index'
,
name
=
'pdf_book'
,
),
url
(
r'^courses/{}/pdfbook/(?P<book_index>\d+)/(?P<page>\d+)$'
.
format
(
settings
.
COURSE_ID_PATTERN
,
),
'staticbook.views.pdf_index'
,
name
=
'pdf_book'
,
),
url
(
r'^courses/{}/pdfbook/(?P<book_index>\d+)/chapter/(?P<chapter>\d+)/$'
.
format
(
settings
.
COURSE_ID_PATTERN
),
url
(
'staticbook.views.pdf_index'
,
name
=
"pdf_book"
),
r'^courses/{}/pdfbook/(?P<book_index>\d+)/chapter/(?P<chapter>\d+)/$'
.
format
(
settings
.
COURSE_ID_PATTERN
,
),
'staticbook.views.pdf_index'
,
name
=
'pdf_book'
,
),
url
(
url
(
r'^courses/{}/pdfbook/(?P<book_index>\d+)/chapter/(?P<chapter>\d+)/(?P<page>\d+)$'
.
format
(
r'^courses/{}/pdfbook/(?P<book_index>\d+)/chapter/(?P<chapter>\d+)/(?P<page>\d+)$'
.
format
(
settings
.
COURSE_ID_PATTERN
settings
.
COURSE_ID_PATTERN
,
),
),
'staticbook.views.pdf_index'
,
name
=
"pdf_book"
'staticbook.views.pdf_index'
,
name
=
'pdf_book'
,
),
),
url
(
r'^courses/{}/htmlbook/(?P<book_index>\d+)/$'
.
format
(
settings
.
COURSE_ID_PATTERN
),
url
(
'staticbook.views.html_index'
,
name
=
"html_book"
),
r'^courses/{}/htmlbook/(?P<book_index>\d+)/$'
.
format
(
url
(
r'^courses/{}/htmlbook/(?P<book_index>\d+)/chapter/(?P<chapter>\d+)/$'
.
format
(
settings
.
COURSE_ID_PATTERN
),
settings
.
COURSE_ID_PATTERN
,
'staticbook.views.html_index'
,
name
=
"html_book"
),
),
'staticbook.views.html_index'
,
name
=
'html_book'
,
),
url
(
r'^courses/{}/htmlbook/(?P<book_index>\d+)/chapter/(?P<chapter>\d+)/$'
.
format
(
settings
.
COURSE_ID_PATTERN
,
),
'staticbook.views.html_index'
,
name
=
'html_book'
,
),
url
(
r'^courses/{}/courseware/?$'
.
format
(
settings
.
COURSE_ID_PATTERN
),
url
(
'courseware.views.index'
,
name
=
"courseware"
),
r'^courses/{}/courseware/?$'
.
format
(
url
(
r'^courses/{}/courseware/(?P<chapter>[^/]*)/$'
.
format
(
settings
.
COURSE_ID_PATTERN
),
settings
.
COURSE_ID_PATTERN
,
'courseware.views.index'
,
name
=
"courseware_chapter"
),
),
url
(
r'^courses/{}/courseware/(?P<chapter>[^/]*)/(?P<section>[^/]*)/$'
.
format
(
settings
.
COURSE_ID_PATTERN
),
'courseware.views.index'
,
'courseware.views.index'
,
name
=
"courseware_section"
),
name
=
'courseware'
,
),
url
(
r'^courses/{}/courseware/(?P<chapter>[^/]*)/$'
.
format
(
settings
.
COURSE_ID_PATTERN
,
),
'courseware.views.index'
,
name
=
'courseware_chapter'
,
),
url
(
r'^courses/{}/courseware/(?P<chapter>[^/]*)/(?P<section>[^/]*)/$'
.
format
(
settings
.
COURSE_ID_PATTERN
,
),
'courseware.views.index'
,
name
=
'courseware_section'
,
),
url
(
url
(
r'^courses/{}/courseware/(?P<chapter>[^/]*)/(?P<section>[^/]*)/(?P<position>[^/]*)/?$'
.
format
(
r'^courses/{}/courseware/(?P<chapter>[^/]*)/(?P<section>[^/]*)/(?P<position>[^/]*)/?$'
.
format
(
settings
.
COURSE_ID_PATTERN
settings
.
COURSE_ID_PATTERN
,
),
),
'courseware.views.index'
,
name
=
"courseware_position"
'courseware.views.index'
,
name
=
'courseware_position'
,
),
),
url
(
r'^courses/{}/progress$'
.
format
(
settings
.
COURSE_ID_PATTERN
),
url
(
'courseware.views.progress'
,
name
=
"progress"
),
r'^courses/{}/progress$'
.
format
(
settings
.
COURSE_ID_PATTERN
,
),
'courseware.views.progress'
,
name
=
'progress'
,
),
# Takes optional student_id for instructor use--shows profile as that student sees it.
# Takes optional student_id for instructor use--shows profile as that student sees it.
url
(
r'^courses/{}/progress/(?P<student_id>[^/]*)/$'
.
format
(
settings
.
COURSE_ID_PATTERN
),
url
(
'courseware.views.progress'
,
name
=
"student_progress"
),
r'^courses/{}/progress/(?P<student_id>[^/]*)/$'
.
format
(
settings
.
COURSE_ID_PATTERN
,
),
'courseware.views.progress'
,
name
=
'student_progress'
,
),
# For the instructor
# For the instructor
url
(
r'^courses/{}/instructor$'
.
format
(
settings
.
COURSE_ID_PATTERN
),
url
(
'instructor.views.instructor_dashboard.instructor_dashboard_2'
,
name
=
"instructor_dashboard"
),
r'^courses/{}/instructor$'
.
format
(
settings
.
COURSE_ID_PATTERN
,
),
'instructor.views.instructor_dashboard.instructor_dashboard_2'
,
name
=
'instructor_dashboard'
,
),
url
(
r'^courses/{}/set_course_mode_price$'
.
format
(
settings
.
COURSE_ID_PATTERN
),
url
(
'instructor.views.instructor_dashboard.set_course_mode_price'
,
name
=
"set_course_mode_price"
),
r'^courses/{}/set_course_mode_price$'
.
format
(
url
(
r'^courses/{}/instructor/api/'
.
format
(
settings
.
COURSE_ID_PATTERN
),
settings
.
COURSE_ID_PATTERN
,
),
'instructor.views.instructor_dashboard.set_course_mode_price'
,
name
=
'set_course_mode_price'
,
),
url
(
r'^courses/{}/instructor/api/'
.
format
(
settings
.
COURSE_ID_PATTERN
,
),
include
(
'instructor.views.api_urls'
)),
include
(
'instructor.views.api_urls'
)),
url
(
r'^courses/{}/remove_coupon$'
.
format
(
settings
.
COURSE_ID_PATTERN
),
url
(
'instructor.views.coupons.remove_coupon'
,
name
=
"remove_coupon"
),
r'^courses/{}/remove_coupon$'
.
format
(
url
(
r'^courses/{}/add_coupon$'
.
format
(
settings
.
COURSE_ID_PATTERN
),
settings
.
COURSE_ID_PATTERN
,
'instructor.views.coupons.add_coupon'
,
name
=
"add_coupon"
),
),
url
(
r'^courses/{}/update_coupon$'
.
format
(
settings
.
COURSE_ID_PATTERN
),
'instructor.views.coupons.remove_coupon'
,
'instructor.views.coupons.update_coupon'
,
name
=
"update_coupon"
),
name
=
'remove_coupon'
,
url
(
r'^courses/{}/get_coupon_info$'
.
format
(
settings
.
COURSE_ID_PATTERN
),
),
'instructor.views.coupons.get_coupon_info'
,
name
=
"get_coupon_info"
),
url
(
r'^courses/{}/add_coupon$'
.
format
(
url
(
r'^courses/{}/'
.
format
(
settings
.
COURSE_ID_PATTERN
),
include
(
COURSE_URLS
)),
settings
.
COURSE_ID_PATTERN
,
),
'instructor.views.coupons.add_coupon'
,
name
=
'add_coupon'
,
),
url
(
r'^courses/{}/update_coupon$'
.
format
(
settings
.
COURSE_ID_PATTERN
,
),
'instructor.views.coupons.update_coupon'
,
name
=
'update_coupon'
,
),
url
(
r'^courses/{}/get_coupon_info$'
.
format
(
settings
.
COURSE_ID_PATTERN
,
),
'instructor.views.coupons.get_coupon_info'
,
name
=
'get_coupon_info'
,
),
url
(
r'^courses/{}/'
.
format
(
settings
.
COURSE_ID_PATTERN
,
),
include
(
COURSE_URLS
)
),
# see ENABLE_INSTRUCTOR_LEGACY_DASHBOARD section for legacy dash urls
# see ENABLE_INSTRUCTOR_LEGACY_DASHBOARD section for legacy dash urls
# Open Ended grading views
# Open Ended grading views
url
(
r'^courses/{}/staff_grading$'
.
format
(
settings
.
COURSE_ID_PATTERN
),
url
(
'open_ended_grading.views.staff_grading'
,
name
=
'staff_grading'
),
r'^courses/{}/staff_grading$'
.
format
(
url
(
r'^courses/{}/staff_grading/get_next$'
.
format
(
settings
.
COURSE_ID_PATTERN
),
settings
.
COURSE_ID_PATTERN
,
'open_ended_grading.staff_grading_service.get_next'
,
name
=
'staff_grading_get_next'
),
),
url
(
r'^courses/{}/staff_grading/save_grade$'
.
format
(
settings
.
COURSE_ID_PATTERN
),
'open_ended_grading.views.staff_grading'
,
'open_ended_grading.staff_grading_service.save_grade'
,
name
=
'staff_grading_save_grade'
),
name
=
'staff_grading'
,
url
(
r'^courses/{}/staff_grading/get_problem_list$'
.
format
(
settings
.
COURSE_ID_PATTERN
),
),
'open_ended_grading.staff_grading_service.get_problem_list'
,
name
=
'staff_grading_get_problem_list'
),
url
(
r'^courses/{}/staff_grading/get_next$'
.
format
(
settings
.
COURSE_ID_PATTERN
,
),
'open_ended_grading.staff_grading_service.get_next'
,
name
=
'staff_grading_get_next'
,
),
url
(
r'^courses/{}/staff_grading/save_grade$'
.
format
(
settings
.
COURSE_ID_PATTERN
,
),
'open_ended_grading.staff_grading_service.save_grade'
,
name
=
'staff_grading_save_grade'
,
),
url
(
r'^courses/{}/staff_grading/get_problem_list$'
.
format
(
settings
.
COURSE_ID_PATTERN
,
),
'open_ended_grading.staff_grading_service.get_problem_list'
,
name
=
'staff_grading_get_problem_list'
,
),
# Open Ended problem list
# Open Ended problem list
url
(
r'^courses/{}/open_ended_problems$'
.
format
(
settings
.
COURSE_ID_PATTERN
),
url
(
'open_ended_grading.views.student_problem_list'
,
name
=
'open_ended_problems'
),
r'^courses/{}/open_ended_problems$'
.
format
(
settings
.
COURSE_ID_PATTERN
,
),
'open_ended_grading.views.student_problem_list'
,
name
=
'open_ended_problems'
,
),
# Open Ended flagged problem list
# Open Ended flagged problem list
url
(
r'^courses/{}/open_ended_flagged_problems$'
.
format
(
settings
.
COURSE_ID_PATTERN
),
url
(
'open_ended_grading.views.flagged_problem_list'
,
name
=
'open_ended_flagged_problems'
),
r'^courses/{}/open_ended_flagged_problems$'
.
format
(
url
(
r'^courses/{}/open_ended_flagged_problems/take_action_on_flags$'
.
format
(
settings
.
COURSE_ID_PATTERN
),
settings
.
COURSE_ID_PATTERN
,
'open_ended_grading.views.take_action_on_flags'
,
name
=
'open_ended_flagged_problems_take_action'
),
),
'open_ended_grading.views.flagged_problem_list'
,
name
=
'open_ended_flagged_problems'
,
),
url
(
r'^courses/{}/open_ended_flagged_problems/take_action_on_flags$'
.
format
(
settings
.
COURSE_ID_PATTERN
,
),
'open_ended_grading.views.take_action_on_flags'
,
name
=
'open_ended_flagged_problems_take_action'
,
),
# Cohorts management
# Cohorts management
url
(
r'^courses/{}/cohorts/settings$'
.
format
(
settings
.
COURSE_KEY_PATTERN
),
url
(
r'^courses/{}/cohorts/settings$'
.
format
(
settings
.
COURSE_KEY_PATTERN
,
),
'openedx.core.djangoapps.course_groups.views.course_cohort_settings_handler'
,
'openedx.core.djangoapps.course_groups.views.course_cohort_settings_handler'
,
name
=
"course_cohort_settings"
),
name
=
'course_cohort_settings'
,
url
(
r'^courses/{}/cohorts/(?P<cohort_id>[0-9]+)?$'
.
format
(
settings
.
COURSE_KEY_PATTERN
),
),
'openedx.core.djangoapps.course_groups.views.cohort_handler'
,
name
=
"cohorts"
),
url
(
url
(
r'^courses/{}/cohorts/(?P<cohort_id>[0-9]+)$'
.
format
(
settings
.
COURSE_KEY_PATTERN
),
r'^courses/{}/cohorts/(?P<cohort_id>[0-9]+)?$'
.
format
(
settings
.
COURSE_KEY_PATTERN
,
),
'openedx.core.djangoapps.course_groups.views.cohort_handler'
,
name
=
'cohorts'
,
),
url
(
r'^courses/{}/cohorts/(?P<cohort_id>[0-9]+)$'
.
format
(
settings
.
COURSE_KEY_PATTERN
,
),
'openedx.core.djangoapps.course_groups.views.users_in_cohort'
,
'openedx.core.djangoapps.course_groups.views.users_in_cohort'
,
name
=
"list_cohort"
),
name
=
'list_cohort'
,
url
(
r'^courses/{}/cohorts/(?P<cohort_id>[0-9]+)/add$'
.
format
(
settings
.
COURSE_KEY_PATTERN
),
),
url
(
r'^courses/{}/cohorts/(?P<cohort_id>[0-9]+)/add$'
.
format
(
settings
.
COURSE_KEY_PATTERN
,
),
'openedx.core.djangoapps.course_groups.views.add_users_to_cohort'
,
'openedx.core.djangoapps.course_groups.views.add_users_to_cohort'
,
name
=
"add_to_cohort"
),
name
=
'add_to_cohort'
,
url
(
r'^courses/{}/cohorts/(?P<cohort_id>[0-9]+)/delete$'
.
format
(
settings
.
COURSE_KEY_PATTERN
),
),
url
(
r'^courses/{}/cohorts/(?P<cohort_id>[0-9]+)/delete$'
.
format
(
settings
.
COURSE_KEY_PATTERN
,
),
'openedx.core.djangoapps.course_groups.views.remove_user_from_cohort'
,
'openedx.core.djangoapps.course_groups.views.remove_user_from_cohort'
,
name
=
"remove_from_cohort"
),
name
=
'remove_from_cohort'
,
url
(
r'^courses/{}/cohorts/debug$'
.
format
(
settings
.
COURSE_KEY_PATTERN
),
),
url
(
r'^courses/{}/cohorts/debug$'
.
format
(
settings
.
COURSE_KEY_PATTERN
,
),
'openedx.core.djangoapps.course_groups.views.debug_cohort_mgmt'
,
'openedx.core.djangoapps.course_groups.views.debug_cohort_mgmt'
,
name
=
"debug_cohort_mgmt"
),
name
=
'debug_cohort_mgmt'
,
url
(
r'^courses/{}/cohorts/topics$'
.
format
(
settings
.
COURSE_KEY_PATTERN
),
),
url
(
r'^courses/{}/cohorts/topics$'
.
format
(
settings
.
COURSE_KEY_PATTERN
,
),
'openedx.core.djangoapps.course_groups.views.cohort_discussion_topics'
,
'openedx.core.djangoapps.course_groups.views.cohort_discussion_topics'
,
name
=
'cohort_discussion_topics'
),
name
=
'cohort_discussion_topics'
,
),
# Open Ended Notifications
# Open Ended Notifications
url
(
r'^courses/{}/open_ended_notifications$'
.
format
(
settings
.
COURSE_ID_PATTERN
),
url
(
'open_ended_grading.views.combined_notifications'
,
name
=
'open_ended_notifications'
),
r'^courses/{}/open_ended_notifications$'
.
format
(
settings
.
COURSE_ID_PATTERN
,
),
'open_ended_grading.views.combined_notifications'
,
name
=
'open_ended_notifications'
,
),
url
(
r'^courses/{}/peer_grading$'
.
format
(
settings
.
COURSE_ID_PATTERN
),
url
(
'open_ended_grading.views.peer_grading'
,
name
=
'peer_grading'
),
r'^courses/{}/peer_grading$'
.
format
(
settings
.
COURSE_ID_PATTERN
,
),
'open_ended_grading.views.peer_grading'
,
name
=
'peer_grading'
,
),
url
(
r'^courses/{}/notes$'
.
format
(
settings
.
COURSE_ID_PATTERN
),
'notes.views.notes'
,
name
=
'notes'
),
url
(
url
(
r'^courses/{}/notes/'
.
format
(
settings
.
COURSE_ID_PATTERN
),
include
(
'notes.urls'
)),
r'^courses/{}/notes$'
.
format
(
settings
.
COURSE_ID_PATTERN
,
),
'notes.views.notes'
,
name
=
'notes'
,
),
url
(
r'^courses/{}/notes/'
.
format
(
settings
.
COURSE_ID_PATTERN
,
),
include
(
'notes.urls'
)
),
# LTI endpoints listing
# LTI endpoints listing
url
(
r'^courses/{}/lti_rest_endpoints/'
.
format
(
settings
.
COURSE_ID_PATTERN
),
url
(
'courseware.views.get_course_lti_endpoints'
,
name
=
'lti_rest_endpoints'
),
r'^courses/{}/lti_rest_endpoints/'
.
format
(
settings
.
COURSE_ID_PATTERN
,
),
'courseware.views.get_course_lti_endpoints'
,
name
=
'lti_rest_endpoints'
,
),
# Student account
# Student account
url
(
r'^account/'
,
include
(
'student_account.urls'
)),
url
(
r'^account/'
,
include
(
'student_account.urls'
)
),
# Student profile
# Student profile
url
(
r'^u/(?P<username>[\w.@+-]+)$'
,
'student_profile.views.learner_profile'
,
name
=
'learner_profile'
),
url
(
r'^u/(?P<username>[\w.@+-]+)$'
,
'student_profile.views.learner_profile'
,
name
=
'learner_profile'
,
),
# Student Notes
# Student Notes
url
(
r'^courses/{}/edxnotes'
.
format
(
settings
.
COURSE_ID_PATTERN
),
url
(
include
(
'edxnotes.urls'
),
name
=
"edxnotes_endpoints"
),
r'^courses/{}/edxnotes'
.
format
(
settings
.
COURSE_ID_PATTERN
,
),
include
(
'edxnotes.urls'
),
name
=
'edxnotes_endpoints'
,
),
url
(
r'^api/branding/v1/'
,
include
(
'branding.api_urls'
)),
url
(
)
r'^api/branding/v1/'
,
include
(
'branding.api_urls'
)
),
)
if
settings
.
FEATURES
[
"ENABLE_TEAMS"
]:
if
settings
.
FEATURES
[
"ENABLE_TEAMS"
]:
# Teams endpoints
# Teams endpoints
urlpatterns
+=
(
urlpatterns
+=
(
url
(
r'^api/team/'
,
include
(
'lms.djangoapps.teams.api_urls'
)),
url
(
url
(
r'^courses/{}/teams'
.
format
(
settings
.
COURSE_ID_PATTERN
),
r'^api/team/'
,
include
(
'lms.djangoapps.teams.urls'
),
name
=
"teams_endpoints"
),
include
(
'lms.djangoapps.teams.api_urls'
)
),
url
(
r'^courses/{}/teams'
.
format
(
settings
.
COURSE_ID_PATTERN
,
),
include
(
'lms.djangoapps.teams.urls'
),
name
=
'teams_endpoints'
,
),
)
)
# allow course staff to change to student view of courseware
# allow course staff to change to student view of courseware
if
settings
.
FEATURES
.
get
(
'ENABLE_MASQUERADE'
):
if
settings
.
FEATURES
.
get
(
'ENABLE_MASQUERADE'
):
urlpatterns
+=
(
urlpatterns
+=
(
url
(
r'^courses/{}/masquerade$'
.
format
(
settings
.
COURSE_KEY_PATTERN
),
url
(
'courseware.masquerade.handle_ajax'
,
name
=
"masquerade_update"
),
r'^courses/{}/masquerade$'
.
format
(
settings
.
COURSE_KEY_PATTERN
,
),
'courseware.masquerade.handle_ajax'
,
name
=
'masquerade_update'
,
),
)
)
urlpatterns
+=
(
urlpatterns
+=
(
url
(
r'^courses/{}/generate_user_cert'
.
format
(
settings
.
COURSE_ID_PATTERN
),
url
(
'courseware.views.generate_user_cert'
,
name
=
"generate_user_cert"
),
r'^courses/{}/generate_user_cert'
.
format
(
)
settings
.
COURSE_ID_PATTERN
,
),
'courseware.views.generate_user_cert'
,
name
=
'generate_user_cert'
,
),
)
# discussion forums live within courseware, so courseware must be enabled first
# discussion forums live within courseware, so courseware must be enabled first
if
settings
.
FEATURES
.
get
(
'ENABLE_DISCUSSION_SERVICE'
):
if
settings
.
FEATURES
.
get
(
'ENABLE_DISCUSSION_SERVICE'
):
urlpatterns
+=
(
urlpatterns
+=
(
url
(
r'^api/discussion/'
,
include
(
'discussion_api.urls'
)),
url
(
url
(
r'^courses/{}/discussion/'
.
format
(
settings
.
COURSE_ID_PATTERN
),
r'^api/discussion/'
,
include
(
'django_comment_client.urls'
)),
include
(
'discussion_api.urls'
)
url
(
r'^notification_prefs/enable/'
,
'notification_prefs.views.ajax_enable'
),
),
url
(
r'^notification_prefs/disable/'
,
'notification_prefs.views.ajax_disable'
),
url
(
url
(
r'^notification_prefs/status/'
,
'notification_prefs.views.ajax_status'
),
r'^courses/{}/discussion/'
.
format
(
url
(
r'^notification_prefs/unsubscribe/(?P<token>[a-zA-Z0-9-_=]+)/'
,
settings
.
COURSE_ID_PATTERN
,
'notification_prefs.views.set_subscription'
,
{
'subscribe'
:
False
},
name
=
"unsubscribe_forum_update"
),
),
url
(
r'^notification_prefs/resubscribe/(?P<token>[a-zA-Z0-9-_=]+)/'
,
include
(
'django_comment_client.urls'
)
'notification_prefs.views.set_subscription'
,
{
'subscribe'
:
True
},
name
=
"resubscribe_forum_update"
),
),
url
(
r'^notification_prefs/enable/'
,
'notification_prefs.views.ajax_enable'
),
url
(
r'^notification_prefs/disable/'
,
'notification_prefs.views.ajax_disable'
),
url
(
r'^notification_prefs/status/'
,
'notification_prefs.views.ajax_status'
),
url
(
r'^notification_prefs/unsubscribe/(?P<token>[a-zA-Z0-9-_=]+)/'
,
'notification_prefs.views.set_subscription'
,
{
'subscribe'
:
False
,
},
name
=
'unsubscribe_forum_update'
,
),
url
(
r'^notification_prefs/resubscribe/(?P<token>[a-zA-Z0-9-_=]+)/'
,
'notification_prefs.views.set_subscription'
,
{
'subscribe'
:
True
,
},
name
=
'resubscribe_forum_update'
,
),
)
)
urlpatterns
+=
(
urlpatterns
+=
(
# This MUST be the last view in the courseware--it's a catch-all for custom tabs.
# This MUST be the last view in the courseware--it's a catch-all for custom tabs.
url
(
r'^courses/{}/(?P<tab_slug>[^/]+)/$'
.
format
(
settings
.
COURSE_ID_PATTERN
),
url
(
'courseware.views.static_tab'
,
name
=
"static_tab"
),
r'^courses/{}/(?P<tab_slug>[^/]+)/$'
.
format
(
)
settings
.
COURSE_ID_PATTERN
,
),
'courseware.views.static_tab'
,
name
=
'static_tab'
,
),
)
if
settings
.
FEATURES
.
get
(
'ENABLE_STUDENT_HISTORY_VIEW'
):
if
settings
.
FEATURES
.
get
(
'ENABLE_STUDENT_HISTORY_VIEW'
):
urlpatterns
+=
(
urlpatterns
+=
(
url
(
url
(
r'^courses/{}/submission_history/(?P<student_username>[^/]*)/(?P<location>.*?)$'
.
format
(
r'^courses/{}/submission_history/(?P<student_username>[^/]*)/(?P<location>.*?)$'
.
format
(
settings
.
COURSE_ID_PATTERN
settings
.
COURSE_ID_PATTERN
),
),
'courseware.views.submission_history'
,
'courseware.views.submission_history'
,
name
=
'submission_history'
),
name
=
'submission_history'
,
),
)
)
if
settings
.
COURSEWARE_ENABLED
and
settings
.
FEATURES
.
get
(
'ENABLE_INSTRUCTOR_LEGACY_DASHBOARD'
):
if
settings
.
FEATURES
.
get
(
'ENABLE_INSTRUCTOR_LEGACY_DASHBOARD'
):
urlpatterns
+=
(
urlpatterns
+=
(
url
(
r'^courses/{}/legacy_instructor_dash$'
.
format
(
settings
.
COURSE_ID_PATTERN
),
url
(
r'^courses/{}/legacy_instructor_dash$'
.
format
(
settings
.
COURSE_ID_PATTERN
),
'instructor.views.legacy.instructor_dashboard'
,
name
=
"instructor_dashboard_legacy"
),
'instructor.views.legacy.instructor_dashboard'
,
name
=
"instructor_dashboard_legacy"
),
...
...
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