Commit d64e4b06 by Malik Shahzad Committed by Douglas Hall

Add CourseDetails model to course_about template context.

parent 0b6da4cd
...@@ -35,6 +35,7 @@ import shoppingcart ...@@ -35,6 +35,7 @@ import shoppingcart
import survey.utils import survey.utils
import survey.views import survey.views
from certificates import api as certs_api from certificates import api as certs_api
from openedx.core.djangoapps.models.course_details import CourseDetails
from commerce.utils import EcommerceService from commerce.utils import EcommerceService
from course_modes.models import CourseMode from course_modes.models import CourseMode
from courseware import grades from courseware import grades
...@@ -464,6 +465,7 @@ def course_about(request, course_id): ...@@ -464,6 +465,7 @@ def course_about(request, course_id):
with modulestore().bulk_operations(course_key): with modulestore().bulk_operations(course_key):
permission = get_permission_for_course_about() permission = get_permission_for_course_about()
course = get_course_with_access(request.user, permission, course_key) course = get_course_with_access(request.user, permission, course_key)
course_details = CourseDetails.populate(course)
modes = CourseMode.modes_for_course_dict(course_key) modes = CourseMode.modes_for_course_dict(course_key)
if theming_helpers.get_value('ENABLE_MKTG_SITE', settings.FEATURES.get('ENABLE_MKTG_SITE', False)): if theming_helpers.get_value('ENABLE_MKTG_SITE', settings.FEATURES.get('ENABLE_MKTG_SITE', False)):
...@@ -543,6 +545,7 @@ def course_about(request, course_id): ...@@ -543,6 +545,7 @@ def course_about(request, course_id):
context = { context = {
'course': course, 'course': course,
'course_details': course_details,
'staff_access': staff_access, 'staff_access': staff_access,
'studio_url': studio_url, 'studio_url': studio_url,
'registered': registered, 'registered': registered,
......
...@@ -94,27 +94,33 @@ class CourseDetails(object): ...@@ -94,27 +94,33 @@ class CourseDetails(object):
Fetch the course details for the given course from persistence Fetch the course details for the given course from persistence
and return a CourseDetails model. and return a CourseDetails model.
""" """
descriptor = modulestore().get_course(course_key) return cls.populate(modulestore().get_course(course_key))
course_details = cls(course_key.org, course_key.course, course_key.run)
course_details.start_date = descriptor.start @classmethod
course_details.end_date = descriptor.end def populate(cls, course_descriptor):
course_details.enrollment_start = descriptor.enrollment_start """
course_details.enrollment_end = descriptor.enrollment_end Returns a fully populated CourseDetails model given the course descriptor
course_details.pre_requisite_courses = descriptor.pre_requisite_courses """
course_details.course_image_name = descriptor.course_image course_key = course_descriptor.id
course_details.course_image_asset_path = course_image_url(descriptor, 'course_image') course_details = cls(course_key.org, course_key.course, course_key.run)
course_details.banner_image_name = descriptor.banner_image course_details.start_date = course_descriptor.start
course_details.banner_image_asset_path = course_image_url(descriptor, 'banner_image') course_details.end_date = course_descriptor.end
course_details.video_thumbnail_image_name = descriptor.video_thumbnail_image course_details.enrollment_start = course_descriptor.enrollment_start
course_details.video_thumbnail_image_asset_path = course_image_url(descriptor, 'video_thumbnail_image') course_details.enrollment_end = course_descriptor.enrollment_end
course_details.language = descriptor.language course_details.pre_requisite_courses = course_descriptor.pre_requisite_courses
course_details.self_paced = descriptor.self_paced course_details.course_image_name = course_descriptor.course_image
course_details.learning_info = descriptor.learning_info course_details.course_image_asset_path = course_image_url(course_descriptor, 'course_image')
course_details.instructor_info = descriptor.instructor_info course_details.banner_image_name = course_descriptor.banner_image
course_details.banner_image_asset_path = course_image_url(course_descriptor, 'banner_image')
course_details.video_thumbnail_image_name = course_descriptor.video_thumbnail_image
course_details.video_thumbnail_image_asset_path = course_image_url(course_descriptor, 'video_thumbnail_image')
course_details.language = course_descriptor.language
course_details.self_paced = course_descriptor.self_paced
course_details.learning_info = course_descriptor.learning_info
course_details.instructor_info = course_descriptor.instructor_info
# Default course license is "All Rights Reserved" # Default course license is "All Rights Reserved"
course_details.license = getattr(descriptor, "license", "all-rights-reserved") course_details.license = getattr(course_descriptor, "license", "all-rights-reserved")
course_details.intro_video = cls.fetch_youtube_video_id(course_key) course_details.intro_video = cls.fetch_youtube_video_id(course_key)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment