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

« back to all changes in this revision

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

ivle.webapp.testing: Add, with fake request and user.
ivle.webapp.base.test: Add! Test the JSONRESTView, using the new mocks.

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>