<%page expression_filter="h"/> <%namespace name='static' file='../static_content.html'/> <%! from django.utils.translation import gettext as _ from django.utils.translation import pgettext from django.urls import reverse from lms.djangoapps.courseware.courses import get_course_about_section from django.conf import settings from common.djangoapps.edxmako.shortcuts import marketing_link from openedx.core.djangolib.js_utils import js_escaped_string from openedx.core.djangolib.markup import clean_dangerous_html, HTML, Text from openedx.core.lib.courses import course_image_url %> <%inherit file="../main.html" /> <%block name="headextra"> ## OG (Open Graph) title and description added below to give social media info to display ## (https://developers.facebook.com/docs/opengraph/howtos/maximizing-distribution-media-content#tags) <%block name="js_extra"> <%block name="pagetitle">${course.display_name_with_default}
<%block name="course_about_header">
% if get_course_about_section(request, course, "video"):
%else:
% endif

${course.display_name_with_default}

${course.display_org_with_default}
%if user.is_authenticated and registered: %if show_courseware_link: %endif ${_("Already Enrolled")} %if show_courseware_link: ${_("View Course")} %endif % elif is_course_full: ${_("Course is full")} % elif invitation_only and not can_enroll: ${_("Enrollment in this course is by invitation only")} ## Shib courses need the enrollment button to be displayed even when can_enroll is False, ## because AnonymousUsers cause can_enroll for shib courses to be False, but we need them to be able to click ## so that they can register and become a real user that can enroll. % elif not is_shib_course and not can_enroll: ${_("Enrollment is Closed")} %elif allow_anonymous: %if show_courseware_link: ${_("View Course")} %endif %else: <% if ecommerce_checkout: reg_href = ecommerce_checkout_link else: reg_href="#" if single_paid_mode: href_class = "add-to-cart" else: href_class = "register" %> ${_("Enroll Now")}
%endif
<%block name="course_about_details">
% if staff_access and studio_url is not None: % endif
${clean_dangerous_html(get_course_about_section(request, course, "overview"))}

Course Summary

<%block name="course_about_important_dates">
  1. ${_("Course Number")}

    ${course.display_number_with_default}
  2. % if not course.start_date_is_still_default: <% course_start_date = course.advertised_start or course.start %>
  3. ${_("Classes Start")}

    % if isinstance(course_start_date, str): ${course_start_date} % else: <% course_date_string = course_start_date.strftime('%Y-%m-%dT%H:%M:%S%z') %> % endif
  4. % endif ## We plan to ditch end_date (which is not stored in course metadata), ## but for backwards compatibility, show about/end_date blob if it exists. % if course.end: <% course_end_date = course.end %>
  5. ${_("Classes End")}

    % if isinstance(course_end_date, str): ${course_end_date} % else: <% course_date_string = course_end_date.strftime('%Y-%m-%dT%H:%M:%S%z') %> % endif
  6. % endif % if get_course_about_section(request, course, "effort"):
  7. ${_("Estimated Effort")}

    ${get_course_about_section(request, course, "effort")}
  8. % endif ##
  9. ${_('Course Length')}

    ${_('{number} weeks').format(number=15)}
  10. %if course_price and (is_cosmetic_price_enabled):
  11. ${_("Price")}

    ${course_price}
  12. %endif % if pre_requisite_courses: <% prc_target = reverse('about_course', args=[str(pre_requisite_courses[0]['key'])]) %>
  13. ${_("Prerequisites")}

    ## Multiple pre-requisite courses are not supported on frontend that's why we are pulling first element ${pre_requisite_courses[0]['display']}

    ${Text(_("You must successfully complete {link_start}{prc_display}{link_end} before you begin this course.")).format( link_start=HTML('').format(prc_target), link_end=HTML(''), prc_display=pre_requisite_courses[0]['display'], )}

  14. % endif % if get_course_about_section(request, course, "prerequisites"):
  15. ${_("Requirements")}

    ${get_course_about_section(request, course, "prerequisites")}
  16. % endif
<%include file="course_about_sidebar_header.html" />
## For now, ocw links are the only thing that goes in additional resources % if get_course_about_section(request, course, "ocw_links"):

${_("Additional Resources")}

## "MITOpenCourseware" should *not* be translated

MITOpenCourseware

${get_course_about_section(request, course, "ocw_links")}
%endif % if sidebar_html_enabled: % if get_course_about_section(request, course, "about_sidebar_html"):
${get_course_about_section(request, course, "about_sidebar_html")}
% endif %endif
## Need to put this hidden form on the page so that the registration button works. ## Since it's no harm to display a hidden form, we display it with the most permissive conditional ## which is when the student is not registered. %if active_reg_button or is_shib_course:
${pgettext("self","Enroll")}
%endif <%include file="../video_modal.html" /> <%static:require_module_async module_name="js/dateutil_factory" class_name="DateUtilFactory"> DateUtilFactory.transform(iterationKey=".localized_datetime");