~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-17 11:32:50 UTC
  • Revision ID: coles.david@gmail.com-20100717113250-vi18n50bcjmfmzrt
Show warning for CGI header field-names which contain restricted characters.

Forbidden characters are the separators defined by RFC3875. This is mainly to 
fix an issue where printing a dictionary (with no CGI headers) could be 
assumed to be a CGI header with no warnings.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<html xmlns="http://www.w3.org/1999/xhtml"
 
2
      xmlns:py="http://genshi.edgewall.org/">
 
3
  <head>
 
4
    <title>Submit project</title>
 
5
  </head>
 
6
  <body>
 
7
    <h1>Submit project</h1>
 
8
    <div id="ivle_padding">
 
9
      <py:choose test="offering">
 
10
        <div py:when="None">
 
11
          <p>You may not submit files from <span style="font-family: monospace">${path}</span> in
 
12
            <py:choose test="">
 
13
              <span py:when="principal is req.user">your repository.</span>
 
14
              <span py:otherwise="">the repository for ${principal.display_name}.</span>
 
15
            </py:choose>
 
16
            You can only submit files from a subject directory.
 
17
          </p>
 
18
        </div>
 
19
        <div py:otherwise="">
 
20
          <p>You are submitting <span style="font-family: monospace">${path}</span> from
 
21
            <py:choose test="">
 
22
              <span py:when="principal is req.user">your repository.</span>
 
23
              <span py:otherwise="">the repository for ${principal.display_name}.</span>
 
24
            </py:choose>
 
25
          </p>
 
26
          <p>You may submit to any open project in ${offering.subject.name}. Which project do you wish to submit this for?</p>
 
27
          <form action="" method="post">
 
28
            <table>
 
29
              <tr py:for="project in principal.get_projects(offering=offering)"
 
30
                  py:with="attrs = {'disabled': 'disabled'} if project.has_deadline_passed(req.user) else {}"
 
31
                  py:attrs="{'class': 'project closed'} if project.has_deadline_passed(req.user) else {'class': 'project'}">
 
32
                <td style="vertical-align: top">
 
33
                  <input type="radio" name="project" id="project_${project.id}" value="${project.id}" py:attrs="attrs" />
 
34
                </td>
 
35
                <td>
 
36
                  <label for="project_${project.id}">
 
37
                    <py:choose test="project.url not in (None, '')">
 
38
                      <a py:when="True" href="${project.url}">${project.name}</a>
 
39
                      <span py:otherwise="">${project.name}</span> 
 
40
                    </py:choose>
 
41
                    &ndash;
 
42
                    <span py:content="format_submission_principal(req.user, principal)" /> &ndash;
 
43
                    <!-- XXX This deadline does not take the student's extensions into account. -->
 
44
                    <span title="${format_datetime(project.deadline)}">
 
45
                      ${'closed' if project.has_deadline_passed(req.user) else 'due'} ${format_datetime_short(project.deadline)}
 
46
                    </span>
 
47
                    <py:if test="principal is not None"
 
48
                           py:with="submissions = project.get_submissions_for_principal(principal)">
 
49
                      &ndash;
 
50
                      <py:choose test="submissions.count()">
 
51
                        <span py:when="0">
 
52
                          not yet submitted
 
53
                        </span>
 
54
                        <span py:otherwise=""
 
55
                              py:with="latest = submissions.last()"
 
56
                              title="${format_datetime(latest.date_submitted)}">
 
57
                          last submitted ${format_datetime_short(latest.date_submitted)}
 
58
                        </span>
 
59
                      </py:choose>
 
60
                    </py:if>
 
61
                    <br />
 
62
                    ${project.synopsis}
 
63
                  </label>
 
64
                </td>
 
65
              </tr>
 
66
            </table>
 
67
            <p>Ensure that you have committed all changes - only changes in the repository will be submitted.</p>
 
68
            <p>You may resubmit a project again at any time until its deadline, but a new submission will overwrite any made earlier.</p>
 
69
            <p><input type="submit" value="Submit Project" />
 
70
              <a class="helpaction" href="/+help/Submitting%20a%20project">Help submitting a project</a>
 
71
            </p>
 
72
          </form>
 
73
        </div>
 
74
      </py:choose>
 
75
    </div>
 
76
  </body>
 
77
</html>