<%! from django.utils.translation import ugettext as _ %> <%inherit file="base.html" /> <%! from django.core.urlresolvers import reverse %> <%namespace name="units" file="widgets/units.html" /> <%block name="title">${_("Individual Unit")}</%block> <%block name="bodyclass">is-signedin course unit</%block> <%block name="jsextra"> <script type='text/javascript'> $(document).ready(function() { new CMS.Views.UnitEdit({ el: $('.main-wrapper'), model: new CMS.Models.Module({ id: '${unit_location}', state: '${unit_state}' }) }); $(document).ready(function() { // tabs $('.tab-group').tabs(); }); $('.new-component-template').each(function(){ $emptyEditor = $(this).find('.empty'); $(this).prepend($emptyEditor); }); }); var unit_location_analytics = '${unit_location}'; </script> </%block> <%block name="content"> <div class="main-wrapper edit-state-${unit_state}" data-id="${unit_location}"> <div class="inner-wrapper"> <div class="alert editing-draft-alert"> <p class="alert-message"><strong>${_("You are editing a draft.")}</strong> % if published_date: ${_("This unit was originally published on {date}.").format(date=published_date)} % endif </p> <a href="${published_preview_link}" target="_blank" class="alert-action secondary">${_("View the Live Version")}</a> </div> <div class="main-column"> <article class="unit-body window"> <p class="unit-name-input"><label>${_("Display Name:")}</label><input type="text" value="${unit.display_name_with_default | h}" class="unit-display-name-input" /></p> <ol class="components"> % for id in components: <li class="component" data-id="${id}"/> % endfor <li class="new-component-item adding"> <div class="new-component"> <h5>${_("Add New Component")}</h5> <ul class="new-component-type"> % for type, templates in sorted(component_templates.items()): <li> % if type == 'advanced' or len(templates) > 1: <a href="#" class="multiple-templates" data-type="${type}"> % else: % for __, category, __, __ in templates: <a href="#" class="single-template" data-type="${type}" data-category="${category}"> % endfor % endif <span class="large-template-icon large-${type}-icon"></span> <span class="name">${type}</span> </a> </li> % endfor </ul> </div> % for type, templates in sorted(component_templates.items()): % if len(templates) > 1 or type == 'advanced': <div class="new-component-templates new-component-${type}"> % if type == "problem": <div class="tab-group tabs"> <ul class="problem-type-tabs nav-tabs"> <li class="current"> <a class="link-tab" href="#tab1">${_("Common Problem Types")}</a> </li> <li> <a class="link-tab" href="#tab2">${_("Advanced")}</a> </li> </ul> % endif <div class="tab current" id="tab1"> <ul class="new-component-template"> % for name, category, has_markdown, boilerplate_name in sorted(templates): % if has_markdown or type != "problem": % if boilerplate_name is None: <li class="editor-md empty"> <a href="#" data-category="${category}"> <span class="name">${name}</span> </a> </li> % else: <li class="editor-md"> <a href="#" data-category="${category}" data-boilerplate="${boilerplate_name}"> <span class="name">${name}</span> </a> </li> % endif % endif %endfor </ul> </div> % if type == "problem": <div class="tab" id="tab2"> <ul class="new-component-template"> % for name, category, has_markdown, boilerplate_name in sorted(templates): % if not has_markdown: <li class="editor-manual"> <a href="#" data-category="${category}" data-boilerplate="${boilerplate_name}"> <span class="name">${name}</span> </a> </li> % endif % endfor </ul> </div> </div> % endif <a href="#" class="cancel-button">Cancel</a> </div> % endif % endfor </li> </ol> </article> </div> <div class="sidebar"> <div class="unit-settings window"> <h4 class="header">${_("Unit Settings")}</h4> <div class="window-contents"> <div class="row visibility"> <label class="inline-label">${_("Visibility:")}</label> <select class='visibility-select'> <option value="public">${_("Public")}</option> <option value="private">${_("Private")}</option> </select> </div> <div class="row published-alert"> <p class="edit-draft-message">${_('This unit has been published. To make changes, you must {link_start}edit a draft{link_end}.').format(link_start='<a href="#" class="create-draft">', link_end='</a>')}</p> <p class="publish-draft-message">${_('This is a draft of the published unit. To update the live version, you must {link_start}replace it with this draft{link_end}.').format(link_start='<a href="#" class="publish-draft">', link_end='</a>')}</p> </div> <div class="row status"> <p>${_("This unit is scheduled to be released to <strong>students</strong>")} % if release_date is not None: ${_(u"on {date}").format(date=u"<strong>{}</strong>".format(release_date))} % endif ${_("with the subsection {link_start}{name}{link_end}").format( name=subsection.display_name_with_default, link_start='<a href="{url}">'.format(url=reverse('edit_subsection', kwargs={'location': subsection.location})), link_end='</a>', )} </p> </div> <div class="row unit-actions"> <a href="#" class="delete-draft delete-button">${_("Delete Draft")}</a> <a href="${draft_preview_link}" target="_blank" class="preview-button">${_("Preview")}</a> <a href="${published_preview_link}" target="_blank" class="view-button">${_("View Live")}</a> </div> </div> </div> <div class="window unit-location"> <h4 class="header">${_("Unit Location")}</h4> <div class="window-contents"> <div><input type="text" class="url" value="/courseware/${section.url_name}/${subsection.url_name}" disabled /></div> <ol> <li> <a href="#" class="section-item">${section.display_name_with_default}</a> <ol> <li> <a href="${reverse('edit_subsection', args=[subsection.location])}" class="section-item"> <span class="folder-icon"></span> <span class="subsection-name"><span class="subsection-name-value">${subsection.display_name_with_default}</span></span> </a> ${units.enum_units(subsection, actions=False, selected=unit.location)} </li> </ol> </li> </ol> </div> </div> </div> </div> </div> </%block>