<%page expression_filter="h"/> <%inherit file="../main.html"/> <%! from datetime import datetime from django.core.urlresolvers import reverse from django.utils.translation import ugettext as _ from mako import exceptions from openedx.core.djangolib.markup import HTML, Text %> <%namespace name='static' file='../static_content.html'/> <% faq = program['faq'] program_type = program['type'] program_type_slug = program['type_slug'] title = program['title'] status = program['status'] courses = program['courses'] subtitle = program['subtitle'] overview = program['overview'] instructors = program['instructors'] job_outlook_items = program['job_outlook_items'] weeks_to_complete = program['weeks_to_complete'] full_program_price_format = '{0:.0f}' if program['full_program_price'].is_integer() else '{0:.2f}' full_program_price = full_program_price_format.format(program['full_program_price']) endorsement = program['individual_endorsements'][0] if program['individual_endorsements'] else {} endorsement_quote = endorsement.get('quote', '') endorser = endorsement.get('endorser', {}) endorsement_image = endorser.get('profile_image', {}).get('medium', {}).get('url', '') endorsement_name = endorser.get('given_name', '') endorsement_position = (endorser.get('position') or {}).get('title', '') endorsement_organization = (endorser.get('position') or {}).get('organization_name', '') expected_learning_items = program['expected_learning_items'] authoring_organizations = program['authoring_organizations'] min_hours_effort_per_week = program['min_hours_effort_per_week'] max_hours_effort_per_week = program['max_hours_effort_per_week'] video_url = (program.get('video', {}) or {}).get('src', '') banner_image = program.get('banner_image', {}).get('large', {}).get('url', '') description_max_length = 250 %> <%static:css group='style-main-v2'/> <%static:css group='style-learner-dashboard'/> <%block name="js_extra"> <%block name="pagetitle">${program['title']}

${title}

% if program.get('is_learner_eligible_for_one_click_purchase'): ${_('Purchase the Program')} % else: ${_('Start Learning')} % endif
${_('View Program Trailer')}
  • ${_('Number of Courses')} ${Text(_('{number_of_courses} courses in program')).format( number_of_courses=len(courses) )}
  • ${_('Average Length')} ${Text(_('{weeks_to_complete} weeks per course')).format( weeks_to_complete=weeks_to_complete )}
  • ${_('Effort')} ${Text(_('{min_hours_effort_per_week}-{max_hours_effort_per_week} hours per week, per course')).format( max_hours_effort_per_week=max_hours_effort_per_week, min_hours_effort_per_week=min_hours_effort_per_week )}
  • ${_('Price (USD)')} % if program.get('discount_data') and program['discount_data']['is_discounted']: ${Text(_('${oldPrice}')).format( oldPrice=full_program_price_format.format(program['discount_data']['total_incl_tax_excl_discounts']) )} ${Text(_('${newPrice}{htmlEnd} for entire program')).format( newPrice=full_program_price, htmlEnd=HTML('') )} ${Text(_('You save ${discount_value} {currency}')).format( discount_value=full_program_price_format.format(program['discount_data']['discount_value']), currency=program['discount_data']['currency'] )} % else: ${Text(_('${full_program_price} for entire program')).format( full_program_price=full_program_price )} % endif
${_('Overview')}

${HTML(overview)}

% if job_outlook_items:
${_('Job Outlook')}
    % for item in job_outlook_items:
  • ${item}
  • % endfor
% endif
${_("What You'll Learn")}
    % for item in expected_learning_items:
  • ${item}
  • % endfor
${_("Instructors")}
<% index = 0 %> % for instructor in instructors: <% index += 1 %>
% if instructor.get('position'):
${instructor['position'].get('organization_name')}
% endif
%endfor
% try: <%include file="_${program_type_slug}_faq.html" args="program_type=program_type" /> % except exceptions.TemplateLookupException: ## pass % endtry
${_("FAQ")}
% if endorsement: "${endorsement_quote}" % if endorser: % if endorsement_image: ${_('Endorser Image')} % endif ${endorsement_name}, ${endorsement_position}, ${endorsement_organization} % endif % endif

${Text(_('Courses in the {program_type}')).format( program_type=program_type )}

% for course in courses: % if course.get('course_runs'):

${course['title']} ${Text(_('Starts {course_start_datetime}')).format( course_start_datetime=datetime.strptime(course['course_runs'][0]['start'], '%Y-%m-%dT%H:%M:%SZ').strftime('%B %-d, %Y') )} % if course['course_runs'][0]['pacing_type'] == "instructor_paced": ${_('Instructor - Paced')} % else: ${_('Self - Paced')} % endif

% if course['course_runs'][0]['short_description']: ${course['course_runs'][0]['short_description']} % endif

% if course['course_runs'][0]['short_description']: ${course['course_runs'][0]['short_description'][:description_max_length]} % if len(course['course_runs'][0]['short_description']) > description_max_length: ... % endif % endif

% endif % endfor