From e4a3b261d42bedb8a34ef8500fc40c6f93a4ea91 Mon Sep 17 00:00:00 2001 From: Bridger Maxwell Date: Tue, 17 Jul 2012 17:09:20 -0400 Subject: [PATCH] Moved enroll and course_about to courseware, because they depend on lms. --- common/djangoapps/student/views.py | 21 --------------------- lms/djangoapps/courseware/views.py | 20 +++++++++++++++++++- lms/urls.py | 4 ++-- 3 files changed, 21 insertions(+), 24 deletions(-) diff --git a/common/djangoapps/student/views.py b/common/djangoapps/student/views.py index 3c3c6f48a5..d635a9ef2a 100644 --- a/common/djangoapps/student/views.py +++ b/common/djangoapps/student/views.py @@ -24,7 +24,6 @@ from django.core.urlresolvers import reverse from BeautifulSoup import BeautifulSoup from django.core.cache import cache -from courseware.courses import check_course from django_future.csrf import ensure_csrf_cookie from student.models import Registration, UserProfile, PendingNameChange, PendingEmailChange, CourseEnrollment from util.cache import cache_if_anonymous @@ -511,23 +510,3 @@ def accept_name_change(request): return HttpResponse(json.dumps({'success': True})) - -@ensure_csrf_cookie -@cache_if_anonymous -def course_info(request, course_id): - course = check_course(course_id, course_must_be_open=False) - # This is the advertising page for a student to look at the course before signing up - csrf_token = csrf(request)['csrf_token'] - # TODO: Couse should be a model - return render_to_response('portal/course_about.html', {'course': course}) - - -@login_required -@ensure_csrf_cookie -def enroll(request, course_id): - course = check_course(course_id, course_must_be_open=False) - user = request.user - - enrollment, created = CourseEnrollment.objects.get_or_create(user=user, course_id=course.id) - - return redirect(reverse('dashboard')) diff --git a/lms/djangoapps/courseware/views.py b/lms/djangoapps/courseware/views.py index c8391e0483..1d31600d55 100644 --- a/lms/djangoapps/courseware/views.py +++ b/lms/djangoapps/courseware/views.py @@ -3,6 +3,7 @@ import urllib from django.conf import settings from django.core.context_processors import csrf +from django.core.urlresolvers import reverse from django.contrib.auth.models import User from django.contrib.auth.decorators import login_required from django.http import Http404 @@ -18,7 +19,7 @@ from student.models import UserProfile from multicourse import multicourse_settings from util.cache import cache, cache_if_anonymous -from student.models import UserTestGroup +from student.models import UserTestGroup, CourseEnrollment from courseware import grades from courseware.courses import check_course from xmodule.modulestore.django import modulestore @@ -249,3 +250,20 @@ def course_info(request, course_id): course = check_course(course_id) return render_to_response('info.html', {'course': course}) + +@ensure_csrf_cookie +def course_about(request, course_id): + course = check_course(course_id, course_must_be_open=False) + + return render_to_response('portal/course_about.html', {'course': course}) + + +@login_required +@ensure_csrf_cookie +def enroll(request, course_id): + course = check_course(course_id, course_must_be_open=False) + user = request.user + + enrollment, created = CourseEnrollment.objects.get_or_create(user=user, course_id=course.id) + + return redirect(reverse('dashboard')) diff --git a/lms/urls.py b/lms/urls.py index 8261fef3be..39250c9e14 100644 --- a/lms/urls.py +++ b/lms/urls.py @@ -109,9 +109,9 @@ if settings.COURSEWARE_ENABLED: url(r'^courses/?$', 'courseware.views.courses', name="courses"), #About the course url(r'^courses/(?P[^/]+/[^/]+/[^/]+)/about$', - 'student.views.course_info', name="about_course"), + 'courseware.views.course_about', name="about_course"), url(r'^courses/(?P[^/]+/[^/]+/[^/]+)/enroll$', - 'student.views.enroll', name="enroll"), + 'courseware.views.enroll', name="enroll"), #Inside the course url(r'^courses/(?P[^/]+/[^/]+/[^/]+)/info$',