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

« back to all changes in this revision

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

  • Committer: Matt Giuca
  • Date: 2010-02-11 07:39:15 UTC
  • Revision ID: matt.giuca@gmail.com-20100211073915-rirq98zg3sanvf09
Submit view: The projects list is now identical (except for radio buttons) to the view on the subjects page. It is much clearer and contains more info. The code is somewhat different, because it's a table, not a list, so I didn't abstract it. Moved a function out of subject.py to ivle.util, as it is shared by both views.

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.</p>
 
69
            <p><input type="submit" value="Submit Project" /></p>
 
70
          </form>
 
71
        </div>
 
72
      </py:choose>
 
73
    </div>
 
74
  </body>
 
75
</html>