Studio: adding course re-run-centric static template rendering * initial HTML for dashboard states * initial HTML for new course re-run view/form * initial HTML placeholder for outline alert UI Conflicts: cms/templates/index.html Studio: adding styling for course re-run-centric views * adding new view/page mast-wizard type * refactoring create course/element form styling * adding course re-run view specific styling * adding courses processing styling (w/ alerts and status) Course rerun server-side updates: support display_name and DuplicateCourseError. Studio: further design revisions and tweaks from feedback * removing new window attribute from re-run control * removing links from processing courses * revising look/feel of dismiss action on dashboard + alert * correcting font-weight of dashboard processing title * adding extra space to course rerun action on dashboard * re-wording secondary cancel action on rerun view Conflicts: cms/templates/index.html Added interation on unsucceeded courses in dashboard Studio: removing 'rel=external' property from course re-run actions Studio: removing hover styles for processing courses Fixed value bug in split and set course listing to display run moved task.py for rerun
369 lines
21 KiB
HTML
369 lines
21 KiB
HTML
<!--
|
|
|
|
DESIGN/UI NOTES:
|
|
|
|
* create-course and new-course prefixed classes have been changed to use rerun-courses plus generic form-create class
|
|
* changed form <input /> elements to <button> elements
|
|
|
|
- - -
|
|
|
|
TODO:
|
|
|
|
* sync up styling of stateful classes
|
|
* need to add support for allow_unicode_course_id in real view's template
|
|
|
|
-->
|
|
|
|
<%inherit file="../../base.html" />
|
|
|
|
<%! from django.utils.translation import ugettext as _ %>
|
|
<%! from django.core.urlresolvers import reverse %>
|
|
|
|
<%block name="title">[template] ${_("Create a Course Rerun of HarvardX SW12.2x T2_2014")}</%block>
|
|
<%block name="bodyclass">is-signedin view-course-create view-course-create-rerun</%block>
|
|
|
|
<%block name="content">
|
|
<div id="content">
|
|
|
|
<div class="wrapper-mast wrapper">
|
|
<header class="mast mast-wizard has-actions">
|
|
<h1 class="page-header">
|
|
<span class="page-header-sub">${_("Create a re-run of a course")}</span>
|
|
</h1>
|
|
|
|
<nav class="nav-actions">
|
|
<h3 class="sr">Page Actions</h3>
|
|
<ul>
|
|
<li class="nav-item">
|
|
<a href="" rel="external" class="button cancel-button">${_("Cancel")}</a>
|
|
</li>
|
|
</ul>
|
|
</nav>
|
|
|
|
<h2 class="page-header-super course-original">
|
|
<span class="sr">${_("You are creating a re-run from:")}</span>
|
|
<span class="course-original-title-id">HarvardX SW12.2x T2_2014</span>
|
|
<span class="course-original-title">China (Part 2): The Creation and End of a Centralized Empire</span>
|
|
</h2>
|
|
</header>
|
|
</div> <!-- /mast -->
|
|
|
|
<div class="wrapper-content wrapper">
|
|
<div class="inner-wrapper">
|
|
<section class="content">
|
|
<article class="content-primary">
|
|
<div class="introduction">
|
|
<div class="copy">
|
|
<p>
|
|
${_("Provide identifying information for this re-run of the course. The original course is not affected in any way by a re-run.")}
|
|
<strong>${_("Note: Together, the organization, course number, and course run must uniquely identify this new course instance.")}</strong>
|
|
<p>
|
|
</div>
|
|
</div><!-- /introduction -->
|
|
|
|
<!-- - - - -->
|
|
|
|
<!-- STATE: initial form -->
|
|
<div class="wrapper-rerun-course">
|
|
<form class="form-create rerun-course course-info" id="rerun-course-form" name="rerun-course-form">
|
|
<!-- NOTE: this element's contents should be only included when they are needed and not kept in the DOM for all states -->
|
|
<div class="wrapper-error">
|
|
|
|
</div>
|
|
|
|
<div class="wrapper-form">
|
|
<fieldset>
|
|
<legend class="sr">${_("Required Information to Create a re-run of a course")}</legend>
|
|
|
|
<ol class="list-input">
|
|
<li class="field text required" id="field-course-name">
|
|
<label for="rerun-course-name">${_("Course Name")}</label>
|
|
<input class="rerun-course-name" id="rerun-course-name" type="text" name="rerun-course-name" aria-required="true" placeholder="${_('e.g. Introduction to Computer Science')}" />
|
|
<span class="tip">
|
|
${_("The public display name for the new course. (This name is often the same as the original course name.)")}
|
|
</span>
|
|
<span class="tip tip-error is-hidden"></span>
|
|
</li>
|
|
<li class="field text required" id="field-organization">
|
|
<label for="rerun-course-org">${_("Organization")}</label>
|
|
<input class="rerun-course-org" id="rerun-course-org" type="text" name="rerun-course-org" aria-required="true" placeholder="${_('e.g. UniversityX or OrganizationX')}" />
|
|
<span class="tip">
|
|
${_("The name of the organization sponsoring the new course. (This name is often the same as the original organization name.)")}
|
|
<strong class="tip-note" class="tip-note">${_("Note: No spaces or special characters are allowed.")}</strong>
|
|
</span>
|
|
<span class="tip tip-error is-hidden"></span>
|
|
</li>
|
|
|
|
<li class="row">
|
|
<div class="column field text required" id="field-course-number">
|
|
<label for="rerun-course-number">${_("Course Number")}</label>
|
|
<input class="rerun-course-number" id="rerun-course-number" type="text" name="rerun-course-number" aria-required="true" placeholder="${_('e.g. CS101')}" />
|
|
<span class="tip">
|
|
${_("The unique number that identifies the new course within the organization. (This number is often the same as the original course number.)")}
|
|
<strong class="tip-note" class="tip-note">${_("Note: No spaces or special characters are allowed.")}</strong>
|
|
</span>
|
|
<span class="tip tip-error is-hidden"></span>
|
|
</div>
|
|
|
|
<div class="column field text required" id="field-course-run">
|
|
<label for="rerun-course-run">${_("Course Run")}</label>
|
|
<input class="rerun-course-run" id="rerun-course-run" type="text" name="rerun-course-run" aria-required="true"placeholder="${_('e.g. 2014_T1')}" />
|
|
<span class="tip">
|
|
${_("The term in which the new course will run. (This value is often different than the original course run value.)")}
|
|
<strong class="tip-note" class="tip-note">${_("Note: No spaces or special characters are allowed.")}</strong>
|
|
</span>
|
|
<span class="tip tip-error is-hidden"></span>
|
|
</div>
|
|
</li>
|
|
</ol>
|
|
|
|
<input type="hidden" value="" class="allow-unicode-course-id" /> <!-- TODO: need to add support for allow_unicode_course_id in real view's template -->
|
|
</fieldset>
|
|
</div>
|
|
|
|
<div class="actions">
|
|
<button type="submit" class="action action-primary rerun-course-save is-disabled">${_('Create Re-run')}</button>
|
|
<button type="button" class="action action-secondary action-cancel rerun-course-cancel">${_('Cancel')}</button>
|
|
</div>
|
|
</form>
|
|
</div><!-- /rerun-course -->
|
|
|
|
<!-- - - - -->
|
|
|
|
<!-- STATE: error - all attributes match an existing course -->
|
|
<div class="wrapper-rerun-course">
|
|
<form class="form-create rerun-course course-info" id="rerun-course-form" name="rerun-course-form">
|
|
<div class="wrapper-error is-shown">
|
|
<!-- NOTE: this element's contents should be only included when they are needed and not kept in the DOM for all states -->
|
|
<div id="course_rerun_error" name="course_rerun_error" class="message message-status error" role="alert">
|
|
<p>${_("A course already has that organization, course number, and course run. Change one or more of these values to give the new course a unique URL.")}</p>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="wrapper-form">
|
|
<fieldset>
|
|
<legend class="sr">${_("Required Information to Create a re-run of a course")}</legend>
|
|
|
|
<ol class="list-input">
|
|
<li class="field text required error" id="field-course-name">
|
|
<label for="rerun-course-name">${_("Course Name")}</label>
|
|
<input class="rerun-course-name" id="rerun-course-name" type="text" name="rerun-course-name" aria-required="true" placeholder="${_('e.g. Introduction to Computer Science')}" />
|
|
<span class="tip">
|
|
${_("The public display name for the new course. (This name is often the same as the original course name.)")}
|
|
</span>
|
|
<span class="tip tip-error is-hiding"></span>
|
|
</li>
|
|
<li class="field text required error" id="field-organization">
|
|
<label for="rerun-course-org">${_("Organization")}</label>
|
|
<input class="rerun-course-org" id="rerun-course-org" type="text" name="rerun-course-org" aria-required="true" placeholder="${_('e.g. UniversityX or OrganizationX')}" />
|
|
<span class="tip">
|
|
${_("The name of the organization sponsoring the new course. (This name is often the same as the original organization name.)")}
|
|
<strong class="tip-note" class="tip-note">${_("Note: No spaces or special characters are allowed.")}</strong>
|
|
</span>
|
|
<span class="tip tip-error is-hiding"></span>
|
|
</li>
|
|
|
|
<li class="row">
|
|
<div class="column field text required error" id="field-course-number">
|
|
<label for="rerun-course-number">${_("Course Number")}</label>
|
|
<input class="rerun-course-number" id="rerun-course-number" type="text" name="rerun-course-number" aria-required="true" placeholder="${_('e.g. CS101')}" />
|
|
<span class="tip">
|
|
${_("The unique number that identifies the new course within the organization. (This number is often the same as the original course number.)")}
|
|
<strong class="tip-note" class="tip-note">${_("Note: No spaces or special characters are allowed.")}</strong>
|
|
</span>
|
|
<span class="tip tip-error is-hiding"></span>
|
|
</div>
|
|
|
|
<div class="column field text required error" id="field-course-run">
|
|
<label for="rerun-course-run">${_("Course Run")}</label>
|
|
<input class="rerun-course-run" id="rerun-course-run" type="text" name="rerun-course-run" aria-required="true"placeholder="${_('e.g. 2014_T1')}" />
|
|
<span class="tip">
|
|
${_("The term in which the new course will run. (This value is often different than the original course run value.)")}
|
|
<strong class="tip-note" class="tip-note">${_("Note: No spaces or special characters are allowed.")}</strong>
|
|
</span>
|
|
<span class="tip tip-error is-hiding"></span>
|
|
</div>
|
|
</li>
|
|
</ol>
|
|
|
|
<input type="hidden" value="" class="allow-unicode-course-id" /> <!-- TODO: need to add support for allow_unicode_course_id in real view's template -->
|
|
|
|
</fieldset>
|
|
</div>
|
|
|
|
<div class="actions">
|
|
<button type="submit" class="action action-primary rerun-course-save is-disabled">${_('Create Re-run')}</button>
|
|
<button type="button" class="action action-secondary action-cancel rerun-course-cancel">${_('Cancel and Return to Dashboard')}</button>
|
|
</div>
|
|
</form>
|
|
</div><!-- /rerun-course -->
|
|
|
|
<!-- - - - -->
|
|
|
|
<!-- STATE: error - specific error fields -->
|
|
<div class="wrapper-rerun-course">
|
|
<form class="form-create rerun-course course-info" id="rerun-course-form" name="rerun-course-form">
|
|
<div class="wrapper-error is-shown">
|
|
<!-- NOTE: this element's contents should be only included when they are needed and not kept in the DOM for all states -->
|
|
<div id="course_rerun_error" name="course_rerun_error" class="message message-status error" role="alert">
|
|
<p>${_("Please correct the highlighted fields below.")}</p>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="wrapper-form">
|
|
<fieldset>
|
|
<legend class="sr">${_("Required Information to Create a re-run of a course")}</legend>
|
|
|
|
<ol class="list-input">
|
|
<li class="field text required error" id="field-course-name">
|
|
<label for="rerun-course-name">${_("Course Name")}</label>
|
|
<input class="rerun-course-name" id="rerun-course-name" type="text" name="rerun-course-name" aria-required="true" placeholder="${_('e.g. Introduction to Computer Science')}" />
|
|
<span class="tip">
|
|
${_("The public display name for the new course. (This name is often the same as the original course name.)")}
|
|
</span>
|
|
<span class="tip tip-error is-showing">Required field.</span>
|
|
</li>
|
|
<li class="field text required error" id="field-organization">
|
|
<label for="rerun-course-org">${_("Organization")}</label>
|
|
<input class="rerun-course-org" id="rerun-course-org" type="text" name="rerun-course-org" aria-required="true" placeholder="${_('e.g. UniversityX or OrganizationX')}" />
|
|
<span class="tip">
|
|
${_("The name of the organization sponsoring the new course. (This name is often the same as the original organization name.)")}
|
|
<strong class="tip-note">${_("Note: No spaces or special characters are allowed.")}</strong>
|
|
</span>
|
|
<span class="tip tip-error is-showing">Please do not use any spaces or special characters in this field.</span>
|
|
</li>
|
|
|
|
<li class="row">
|
|
<div class="column field text required error" id="field-course-number">
|
|
<label for="rerun-course-number">${_("Course Number")}</label>
|
|
<input class="rerun-course-number" id="rerun-course-number" type="text" name="rerun-course-number" aria-required="true" placeholder="${_('e.g. CS101')}" />
|
|
<span class="tip">
|
|
${_("The unique number that identifies the new course within the organization. (This number is often the same as the original course number.)")}
|
|
<strong class="tip-note">${_("Note: No spaces or special characters are allowed.")}</strong>
|
|
</span>
|
|
<span class="tip tip-error is-showing">Please do not use any spaces or special characters in this field.</span>
|
|
</div>
|
|
|
|
<div class="column field text required error" id="field-course-run">
|
|
<label for="rerun-course-run">${_("Course Run")}</label>
|
|
<input class="rerun-course-run" id="rerun-course-run" type="text" name="rerun-course-run" aria-required="true"placeholder="${_('e.g. 2014_T1')}" />
|
|
<span class="tip">
|
|
${_("The term in which the new course will run. (This value is often different than the original course run value.)")}
|
|
<strong class="tip-note">${_("Note: No spaces or special characters are allowed.")}</strong>
|
|
</span>
|
|
<span class="tip tip-error is-showing">Required field.</span>
|
|
</div>
|
|
</li>
|
|
</ol>
|
|
|
|
<input type="hidden" value="" class="allow-unicode-course-id" /> <!-- TODO: need to add support for allow_unicode_course_id in real view's template -->
|
|
|
|
</fieldset>
|
|
</div>
|
|
|
|
<div class="actions">
|
|
<button type="submit" class="action action-primary rerun-course-save is-disabled">${_('Create Re-run')}</button>
|
|
<button type="button" class="action action-secondary action-cancel rerun-course-cancel">${_('Cancel and Return to Dashboard')}</button>
|
|
</div>
|
|
</form>
|
|
</div><!-- /rerun-course -->
|
|
|
|
<!-- - - - -->
|
|
|
|
<!-- STATE: processing successful submission -->
|
|
<div class="wrapper-rerun-course">
|
|
<form class="form-create rerun-course course-info" id="rerun-course-form" name="rerun-course-form">
|
|
<div class="wrapper-error">
|
|
</div>
|
|
|
|
<div class="wrapper-form">
|
|
<fieldset>
|
|
<legend class="sr">${_("Required Information to Create a re-run of a course")}</legend>
|
|
|
|
<ol class="list-input">
|
|
<li class="field text required" id="field-course-name">
|
|
<label for="rerun-course-name">${_("Course Name")}</label>
|
|
<input class="rerun-course-name" id="rerun-course-name" type="text" name="rerun-course-name" aria-required="true" placeholder="${_('e.g. Introduction to Computer Science')}" />
|
|
<span class="tip">
|
|
${_("The public display name for the new course. (This name is often the same as the original course name.)")}
|
|
</span>
|
|
<span class="tip tip-error is-hiding"></span>
|
|
</li>
|
|
<li class="field text required" id="field-organization">
|
|
<label for="rerun-course-org">${_("Organization")}</label>
|
|
<input class="rerun-course-org" id="rerun-course-org" type="text" name="rerun-course-org" aria-required="true" placeholder="${_('e.g. UniversityX or OrganizationX')}" />
|
|
<span class="tip">
|
|
${_("The name of the organization sponsoring the new course. (This name is often the same as the original organization name.)")}
|
|
<strong class="tip-note">${_("Note: No spaces or special characters are allowed.")}</strong>
|
|
</span>
|
|
<span class="tip tip-error is-hiding"></span>
|
|
</li>
|
|
|
|
<li class="row">
|
|
<div class="column field text required" id="field-course-number">
|
|
<label for="rerun-course-number">${_("Course Number")}</label>
|
|
<input class="rerun-course-number" id="rerun-course-number" type="text" name="rerun-course-number" aria-required="true" placeholder="${_('e.g. CS101')}" />
|
|
<span class="tip">
|
|
${_("The unique number that identifies the new course within the organization. (This number is often the same as the original course number.)")}
|
|
<strong class="tip-note">${_("Note: No spaces or special characters are allowed.")}</strong>
|
|
</span>
|
|
<span class="tip tip-error is-hiding"></span>
|
|
</div>
|
|
|
|
<div class="column field text required" id="field-course-run">
|
|
<label for="rerun-course-run">${_("Course Run")}</label>
|
|
<input class="rerun-course-run" id="rerun-course-run" type="text" name="rerun-course-run" aria-required="true"placeholder="${_('e.g. 2014_T1')}" />
|
|
<span class="tip">
|
|
${_("The term in which the new course will run. (This value is often different than the original course run value.)")}
|
|
<strong class="tip-note">${_("Note: No spaces or special characters are allowed.")}</strong>
|
|
</span>
|
|
<span class="tip tip-error is-hiding"></span>
|
|
</div>
|
|
</li>
|
|
</ol>
|
|
|
|
<input type="hidden" value="" class="allow-unicode-course-id" /> <!-- TODO: need to add support for allow_unicode_course_id in real view's template -->
|
|
</fieldset>
|
|
</div>
|
|
|
|
<div class="actions">
|
|
<button type="submit" class="action action-primary rerun-course-save is-disabled is-processing">
|
|
<i class="icon-refresh icon-spin"></i>
|
|
${_('Processing Re-run Request')}
|
|
</button>
|
|
</div>
|
|
</form>
|
|
</div><!-- /rerun-course -->
|
|
|
|
</article><!-- /content-primary -->
|
|
|
|
<aside class="content-supplementary" role="complimentary">
|
|
<div class="bit">
|
|
<h3 class="title-3">${_("When will my course re-run start?")}</h3>
|
|
<ul class="list-details">
|
|
<li class="item-detail">${_("Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Sed posuere consectetur est at lobortis. Maecenas faucibus mollis interdum.")}</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div class="bit">
|
|
<h3 class="title-3">${_("What transfers from the original course?")}</h3>
|
|
<ul class="list-details">
|
|
<li class="item-detail">${_("Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Sed posuere consectetur est at lobortis. Maecenas faucibus mollis interdum.")}</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div class="bit">
|
|
<h3 class="title-3">${_("What does not transfer from the original course?")}</h3>
|
|
<ul class="list-details">
|
|
<li class="item-detail">${_("Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Sed posuere consectetur est at lobortis. Maecenas faucibus mollis interdum.")}</li>
|
|
</ul>
|
|
</div>
|
|
</aside><!-- /content-supplementary -->
|
|
|
|
</section>
|
|
</div><!-- /content -->
|
|
|
|
</div>
|
|
</div>
|
|
</%block>
|