Skip to content

Commit ac07cbc

Browse files
authored
Raise 404 when program or course key is wrong (#128)
* Raise 404 when program or course key is wrong * Exclude enrolled_students from Program admin view
1 parent ef8bbe0 commit ac07cbc

3 files changed

Lines changed: 10 additions & 2 deletions

File tree

lms/djangoapps/ci_program/admin.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ class ProgramAdmin(admin.ModelAdmin):
88
"status",
99
"name",
1010
)
11-
11+
exclude = ["enrolled_students"]
1212
ordering = ("-status",)
1313

1414
admin.site.register(ProgramCourseCode)

lms/djangoapps/ci_program/views.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
from edxmako.shortcuts import render_to_response
88
from ci_program.models import Program
99
from openedx.core.djangoapps.bookmarks.models import Bookmark
10+
from django.http import Http404
1011

1112

1213
@login_required
@@ -17,7 +18,10 @@ def show_programs(request, program_name):
1718
student_email = request.user.email
1819
cache_key = '%s_program_name' % student_email
1920

20-
program = Program.objects.get(marketing_slug=program_name)
21+
try:
22+
program = Program.objects.get(marketing_slug=program_name)
23+
except Program.DoesNotExist:
24+
raise Http404
2125
if request.user not in program.enrolled_students.all():
2226
return redirect(reverse('dashboard'))
2327

lms/djangoapps/courseware/views/index.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,10 @@ def _redirect_if_course_updated():
165165
except Http404 as nfe:
166166
_redirect_if_course_updated()
167167

168+
# handle url errors in course key
169+
if not self.course:
170+
raise Http404
171+
168172
self.course_overview = CourseOverview.get_from_id(self.course.id)
169173
self.is_staff = has_access(request.user, 'staff', self.course)
170174

0 commit comments

Comments
 (0)