200 lines
8.6 KiB
HTML
200 lines
8.6 KiB
HTML
<%inherit file="base.html" />
|
|
<%! from django.core.urlresolvers import reverse %>
|
|
<%namespace name="units" file="widgets/units.html" />
|
|
<%block name="bodyclass">unit</%block>
|
|
<%block name="title">CMS 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() {
|
|
$('body').addClass('js');
|
|
|
|
// tabs
|
|
$('.tab-group').tabs();
|
|
});
|
|
|
|
$('.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-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 ${published_date}.
|
|
% endif
|
|
</p>
|
|
<a href="${published_preview_link}" target="_blank" class="alert-action secondary">Preview the published 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}" 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 in sorted(component_templates.keys()):
|
|
<li>
|
|
<a href="#" data-type="${type}">
|
|
<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()):
|
|
<div class="new-component-templates new-component-${type}">
|
|
<div class="tab-group">
|
|
|
|
<ul class="problem-type-tabs nav-tabs">
|
|
<span class="problem-type-label">Problem Types: </span>
|
|
<li class="current">
|
|
<a class="link-tab" href="#tab1">Common</a>
|
|
</li>
|
|
<li>
|
|
<a class="link-tab" href="#tab2">Advanced</a>
|
|
</li>
|
|
</ul>
|
|
<div class="tabs">
|
|
<div class="tab current" id="tab1">
|
|
<ul class="new-component-template">
|
|
% for name, location, has_markdown, is_empty in templates:
|
|
|
|
% if is_empty:
|
|
<li class="editor-md empty">
|
|
<a href="#" data-location="${location}">
|
|
<span class="name"> ${name}</span>
|
|
</a>
|
|
</li>
|
|
|
|
% else:
|
|
<li class="editor-manual">
|
|
<a href="#" data-location="${location}">
|
|
<span class="name">${name}</span>
|
|
|
|
</a>
|
|
|
|
</li>
|
|
% endif
|
|
|
|
%endfor
|
|
</ul>
|
|
</div>
|
|
<div class="tab" id="tab2">
|
|
<ul class="new-component-template" id="tab2">
|
|
% for name, location, has_markdown, is_empty in templates:
|
|
|
|
% if is_empty:
|
|
<li class="editor-md empty">
|
|
<a href="#" data-location="${location}">
|
|
<span class="name"><i class="ss-icon ss-symbolicons-block"></i> ${name}</span>
|
|
<span class="editor-indicator">Simple <span class="sr">Editor</span></span>
|
|
</a>
|
|
</li>
|
|
|
|
% elif has_markdown:
|
|
<li class="editor-md">
|
|
<a href="#" data-location="${location}">
|
|
<span class="name"><i class="ss-icon ss-symbolicons-block"></i> ${name}</span>
|
|
<span class="editor-indicator">Simple <span class="sr">Editor</span></span>
|
|
</a>
|
|
</li>
|
|
|
|
% else:
|
|
<li class="editor-manual">
|
|
<a href="#" data-location="${location}">
|
|
<span class="name"><i class="ss-icon ss-symbolicons-block">🔧</i> ${name}</span>
|
|
<span class="editor-indicator">Advanced <span class="sr">Editor</span></span>
|
|
</a>
|
|
|
|
</li>
|
|
% endif
|
|
|
|
%endfor
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<a href="#" class="cancel-button">Cancel</a>
|
|
</div>
|
|
% 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 <a href="#" class="create-draft">edit a draft</a>.</p>
|
|
<p class="publish-draft-message">This is a draft of the published unit. To update the live version, you must <a href="#" class="publish-draft">replace it with this draft</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:
|
|
on <strong>${release_date}</strong>
|
|
% endif
|
|
with the subsection <a href="${reverse('edit_subsection', kwargs={'location': subsection.location})}">"${subsection.display_name}"</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}</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}</span></span>
|
|
</a>
|
|
${units.enum_units(subsection, actions=False, selected=unit.location)}
|
|
</li>
|
|
</ol>
|
|
</li>
|
|
</ol>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</%block>
|