fixing unit tests fixing merge error fixing xqueue submission issue with unicode url (trial 0.1) fixing fotmats as commented upon removing yaml file language selection Unicode changes to support QRF removed unnecessary pass in modulestore/init.py fixing merge error fixing fotmats as commented upon removing yaml file language selection fixing pep8 violations - fixing pylint violations pylint violation fixing line spaces and formats ignore pylint E1101 remove empty line fixing pylint violations pep8 violations bulk mail unicode/decode fix migration error fix pep8 just to push again more unicode/decode Final changes to comments and error messages.
212 lines
9.6 KiB
HTML
212 lines
9.6 KiB
HTML
<%inherit file="base.html" />
|
|
<%!
|
|
from django.core.urlresolvers import reverse
|
|
from django.utils.translation import ugettext as _
|
|
from xmodule.modulestore.django import loc_mapper
|
|
%>
|
|
<%namespace name="units" file="widgets/units.html" />
|
|
<%block name="title">${_("Individual Unit")}</%block>
|
|
<%block name="bodyclass">is-signedin course unit view-unit</%block>
|
|
|
|
<%block name="jsextra">
|
|
<script type='text/javascript'>
|
|
require(["domReady!", "jquery", "js/models/module_info", "coffee/src/views/unit", "jquery.ui"],
|
|
function(doc, $, ModuleModel, UnitEditView, ui) {
|
|
window.unit_location_analytics = '${unit_locator}';
|
|
|
|
// tabs
|
|
$('.tab-group').tabs();
|
|
|
|
new UnitEditView({
|
|
el: $('.main-wrapper'),
|
|
model: new ModuleModel({
|
|
id: '${unit_locator}',
|
|
state: '${unit_state}'
|
|
})
|
|
});
|
|
|
|
$('.new-component-template').each(function(){
|
|
$emptyEditor = $(this).find('.empty');
|
|
$(this).prepend($emptyEditor);
|
|
});
|
|
});
|
|
</script>
|
|
|
|
</%block>
|
|
<%block name="content">
|
|
<div class="main-wrapper edit-state-${unit_state}" data-locator="${unit_locator}">
|
|
<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 for="unit-display-name-input">${_("Display Name:")}</label><input type="text" value="${unit.display_name_with_default | h}" id="unit-display-name-input" class="unit-display-name-input" /></p>
|
|
<ol class="components">
|
|
% for locator in components:
|
|
<li class="component" data-locator="${locator}"/>
|
|
% 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>
|
|
|
|
<%
|
|
ctx_loc = context_course.location
|
|
index_url = loc_mapper().translate_location(ctx_loc.course_id, ctx_loc, False, True).url_reverse('course')
|
|
subsection_url = loc_mapper().translate_location(
|
|
ctx_loc.course_id, subsection.location, False, True
|
|
).url_reverse('subsection')
|
|
%>
|
|
<div class="sidebar">
|
|
<div class="unit-settings window">
|
|
<h4 class="header">${_("Unit Settings")}</h4>
|
|
<div class="window-contents">
|
|
<div class="row visibility">
|
|
<label for="visibility-select" class="inline-label">${_("Visibility:")}</label>
|
|
<select name="visibility-select" id="visibility-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=u'<a href="{url}">'.format(url=subsection_url),
|
|
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 class="row wrapper-unit-id">
|
|
<p class="unit-id">
|
|
<label for="unit-location-id-input">${_("Unit Identifier:")}</label>
|
|
<input type="text" class="url value" id="unit-location-id-input" value="${unit.location.name}" readonly />
|
|
</p>
|
|
</div>
|
|
<div class="unit-tree-location">
|
|
<ol>
|
|
<li class="section">
|
|
<a href="${index_url}" class="section-item section-name">
|
|
<span class="section-name">${section.display_name_with_default}</span>
|
|
</a>
|
|
<ol>
|
|
<li class="subsection">
|
|
<a href="${subsection_url}" class="section-item">
|
|
<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>
|
|
</div>
|
|
|
|
</%block>
|