<%inherit file="base.html" />
<%namespace name='static' file='static_content.html'/>

<%!
  from django.core.urlresolvers import reverse
  from django.utils.translation import ugettext as _
  import json
%>
<%block name="title">${_("Course Export")}</%block>
<%block name="bodyclass">is-signedin course tools view-export</%block>

<%block name="jsextra">
  % if in_err:
  <script type='text/javascript'>
var hasUnit = ${json.dumps(bool(unit))},
    editUnitUrl = "${edit_unit_url or ""}",
    courseHomeUrl = "${course_home_url or ""}",
    errMsg = ${json.dumps(raw_err_msg or "")};

require(["domReady!", "gettext", "js/views/feedback_prompt"], function(doc, gettext, PromptView) {
  var dialog;
  if(hasUnit) {
    dialog = new PromptView({
      title: gettext('There has been an error while exporting.'),
      message: gettext("There has been a failure to export to XML at least one component. It is recommended that you go to the edit page and repair the error before attempting another export. Please check that all components on the page are valid and do not display any error messages."),
      intent: "error",
      actions: {
        primary: {
          text: gettext('Correct failed component'),
          click: function(view) {
            view.hide();
            document.location = editUnitUrl;
          }
        },
        secondary: {
          text: gettext('Return to Export'),
          click: function(view) {
            view.hide();
          }
        }
      }
    });
  } else {
    var msg = "<p>" + gettext("There has been a failure to export your course to XML. Unfortunately, we do not have specific enough information to assist you in identifying the failed component. It is recommended that you inspect your courseware to identify any components in error and try again.") + "</p><p>" + gettext("The raw error message is:") + "</p>" + errMsg;
    dialog = new PromptView({
      title: gettext('There has been an error with your export.'),
      message: msg,
      intent: "error",
      actions: {
        primary: {
          text: gettext('Yes, take me to the main course page'),
          click: function(view) {
            view.hide();
            document.location = courseHomeUrl;
          }
        },
        secondary: {
          text: gettext('Cancel'),
          click: function(view) {
            view.hide();
          }
        }
      }
    });
  }

  // The CSS animation for the dialog relies on the 'js' class
  // being on the body. This happens after this JavaScript is executed,
  // causing a "bouncing" of the dialog after it is initially shown.
  // As a workaround, add this class first.
  $('body').addClass('js');
  dialog.show();

});
  </script>
  %endif
</%block>

<%block name="content">
<div class="wrapper-mast wrapper">
  <header class="mast has-subtitle">
    <h1 class="page-header">
      <small class="subtitle">${_("Tools")}</small>
      <span class="sr">&gt; </span>${_("Course Export")}
    </h1>
  </header>
</div>

<div class="wrapper-content wrapper">
  <section class="content">
    <article class="content-primary" role="main">

      <div class="introduction">
        <h2 class="title">${_("About Exporting Courses")}</h2>
        <div class="copy">
          ## Translators: ".tar.gz" is a file extension, and should not be translated
          <p>${_("You can export courses and edit them outside of Studio. The exported file is a .tar.gz file (that is, a .tar file compressed with GNU Zip) that contains the course structure and content. You can also re-import courses that you've exported.").format(em_start='<strong>', em_end="</strong>")}</p>
        </div>
      </div>

      <div class="export-controls">
        <h2 class="title">${_("Export My Course Content")}</h2>

        <ul class="list-actions">
          <li class="item-action">
            <a class="action action-export action-primary" href="${export_url}">
              <i class="icon-download"></i>
              <span class="copy">${_("Export Course Content")}</span>
            </a>
          </li>
        </ul>
      </div>

      <div class="export-contents">
        <div class="export-includes">
          <h3 class="title-3">${_("Data {em_start}exported with{em_end} your course:").format(em_start='<strong>', em_end="</strong>")}</h3>
          <ul class="list-details list-export-includes">
            <li class="item-detail">${_("Course Content (all Sections, Sub-sections, and Units)")}</li>
            <li class="item-detail">${_("Course Structure")}</li>
            <li class="item-detail">${_("Individual Problems")}</li>
            <li class="item-detail">${_("Static Pages")}</li>
            <li class="item-detail">${_("Course Assets")}</li>
            <li class="item-detail">${_("Course Settings")}</li>
          </ul>
        </div>

        <div class="export-excludes">
          <h3 class="title-3">${_("Data {em_start}not exported{em_end} with your course:").format(em_start='<strong>', em_end="</strong>")}</h3>
          <ul class="list-details list-export-excludes">
            <li class="item-detail">${_("User Data")}</li>
            <li class="item-detail">${_("Course Team Data")}</li>
            <li class="item-detail">${_("Forum/discussion Data")}</li>
            <li class="item-detail">${_("Certificates")}</li>
          </ul>
        </div>
      </div>
    </article>

    <aside class="content-supplementary" role="complimentary">
      <div class="bit">
        <h3 class="title-3">${_("Why export a course?")}</h3>
        <p>${_("You may want to edit the XML in your course directly, outside of Studio. You may want to create a backup copy of your course. Or, you may want to create a copy of your course that you can later import into another course instance and customize.")}</p>
      </div>

      <div class="bit">
        <h3 class="title-3">${_("What content is exported?")}</h3>

        <p>${_("Only the course content and structure (including sections, subsections, and units) are exported. Other data, including student data, grading information, discussion forum data, course settings, and course team information, is not exported.")}</p>
      </div>

      <div class="bit">
        <h3 class="title-3">${_("Opening the downloaded file")}</h3>
        ## Translators: ".tar.gz" is a file extension, and should not be translated
        <p>${_("Use an archive program to extract the data from the .tar.gz file. Extracted data includes the course.xml file, as well as subfolders that contain course content.")}</p>
      </div>
    </aside>
  </section>
</div>
</%block>
