~azzar1/unity/add-show-desktop-key

« back to all changes in this revision

Viewing changes to ivle/webapp/submit/submit.html

  • Committer: David Coles
  • Date: 2010-07-28 10:52:48 UTC
  • mfrom: (1791.2.10 mediahandlers)
  • Revision ID: coles.david@gmail.com-20100728105248-zvbn9g72v1nsskvd
A series of HTML5 based media handlers using the <audio> and <video> tags.  
This replaces the previous page that just showed a download link (which is 
already available on the menu).

Also solves issue where media files were downloaded by the client twice (once 
in an AJAX request intended only for text).

Known issues:
    * Bug #588285: External BHO will not be able to play media due to not
      having IVLE cookie.
    * Bug #610745: Does not correctly preview revisions
    * Bug #610780: Ogg media does not work in Chromium

Show diffs side-by-side

added added

removed removed

Lines of Context:
8
8
    <div id="ivle_padding">
9
9
      <py:choose test="offering">
10
10
        <div py:when="None">
11
 
          <p>You may not submit files from <span style="font-family: monospace">${path}</span> in
 
11
          <p>Error: IVLE could not find a valid offering to submit to, from <span style="font-family: monospace">${path}</span> in
12
12
            <py:choose test="">
13
13
              <span py:when="principal is req.user">your repository.</span>
14
14
              <span py:otherwise="">the repository for ${principal.display_name}.</span>
15
15
            </py:choose>
16
 
            You can only submit files from a subject directory.
 
16
            This may have one of the following causes:
17
17
          </p>
 
18
          <ul>
 
19
            <li>You are not in a subject directory. You can only submit files from a subject directory. For example, you cannot submit a file from your "<code>stuff</code>" directory.</li>
 
20
            <li>You are not enrolled in the subject of that name. You can only submit files to a subject you are enrolled in.</li>
 
21
            <li>You are enrolled in a past (or even future) offering of the subject. You can only submit files to a current offering of a subject.</li>
 
22
          </ul>
18
23
        </div>
19
24
        <div py:otherwise="">
20
25
          <p>You are submitting <span style="font-family: monospace">${path}</span> from
27
32
          <form action="" method="post">
28
33
            <table>
29
34
              <tr py:for="project in principal.get_projects(offering=offering)"
30
 
                  py:with="attrs = {'disabled': 'disabled'} if project.deadline &lt; now else {}">
 
35
                  py:attrs="{'class': 'project closed'} if project.has_deadline_passed(req.user) else {'class': 'project'}">
31
36
                <td style="vertical-align: top">
32
 
                  <input type="radio" name="project" id="project_${project.id}" value="${project.id}" py:attrs="attrs" />
 
37
                  <input type="radio" name="project" id="project_${project.id}" value="${project.id}" />
33
38
                </td>
34
39
                <td>
35
 
                  <label for="project_${project.id}"><a href="${project.url}">${project.name}</a> (<span title="Due ${format_datetime(project.deadline)}">due ${format_datetime_short(project.deadline)}</span>)<br />${project.synopsis}</label>
 
40
                  <label for="project_${project.id}">
 
41
                    <py:choose test="project.url not in (None, '')">
 
42
                      <a py:when="True" href="${project.url}">${project.name}</a>
 
43
                      <span py:otherwise="">${project.name}</span> 
 
44
                    </py:choose>
 
45
                    &ndash;
 
46
                    <span py:content="format_submission_principal(req.user, principal)" /> &ndash;
 
47
                    <!-- XXX This deadline does not take the student's extensions into account. -->
 
48
                    <span title="${format_datetime(project.deadline)}">
 
49
                      ${'closed' if project.has_deadline_passed(req.user) else 'due'} ${format_datetime_short(project.deadline)}
 
50
                    </span>
 
51
                    <py:if test="principal is not None"
 
52
                           py:with="submissions = project.get_submissions_for_principal(principal)">
 
53
                      &ndash;
 
54
                      <py:choose test="submissions.count()">
 
55
                        <span py:when="0">
 
56
                          not yet submitted
 
57
                        </span>
 
58
                        <span py:otherwise=""
 
59
                              py:with="latest = submissions.last()"
 
60
                              title="${format_datetime(latest.date_submitted)}">
 
61
                          last submitted ${format_datetime_short(latest.date_submitted)}
 
62
                        </span>
 
63
                      </py:choose>
 
64
                    </py:if>
 
65
                    <br />
 
66
                    ${project.synopsis}
 
67
                    <py:if test="project.has_deadline_passed(req.user)"><br />
 
68
                      <em>Note: The deadline has passed. You may still submit late, but a penalty may be incurred.</em>
 
69
                    </py:if>
 
70
                  </label>
36
71
                </td>
37
72
              </tr>
38
73
            </table>
39
74
            <p>Ensure that you have committed all changes - only changes in the repository will be submitted.</p>
40
 
            <p>You may resubmit a project again at any time until its deadline.</p>
41
 
            <p><input type="submit" value="Submit Project" /></p>
 
75
            <p>You may resubmit a project again at any time, but a new submission will overwrite any made earlier, and submissions after the deadline may incur a penalty.</p>
 
76
            <p><input type="submit" value="Submit Project" />
 
77
              <a class="helpaction" href="/+help/Submitting%20a%20project">Help submitting a project</a>
 
78
            </p>
42
79
          </form>
43
80
        </div>
44
81
      </py:choose>