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

« back to all changes in this revision

Viewing changes to ivle/webapp/admin/templates/project.html

Modified the database so that exercises are now stored in the database, rather
than in flat files.

This also necessitated adding new tables and storm classes for test suites
and test cases.

Note that this commit merely changes the database and adds a script to
upload exercises. The code for actually reading exercises has yet
to be changed.

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>${project.name} for ${project.project_set.offering.subject.name}</title>
5
 
  </head>
6
 
  <body>
7
 
    <h1>${project.name} for ${project.project_set.offering.subject.name}</h1>
8
 
    <div id="ivle_padding">
9
 
      <div class="contextactions">
10
 
        <a py:if="'edit' in permissions"
11
 
           class="editaction"
12
 
           href="${req.publisher.generate(project, ProjectEdit)}">
13
 
           Change details
14
 
        </a>
15
 
        <a py:if="'edit' in permissions"
16
 
           class="deleteaction"
17
 
           href="${req.publisher.generate(project, ProjectDelete)}">
18
 
           Delete project
19
 
        </a>
20
 
      </div>
21
 
      <a py:if="project.url not in (None, '')" href="${project.url}">${project.url}</a>
22
 
      <p>Deadline: ${format_datetime(project.deadline)}</p>
23
 
      <p>${project.synopsis}</p>
24
 
      <p>Submissions: ${project.latest_submissions.count()}/${project.project_set.assigned.count()}</p>
25
 
 
26
 
      <h2>Latest submissions</h2>
27
 
      <p>Check these out with your IVLE username and Subversion password, as
28
 
      documented under <a class="helpaction"
29
 
      href="/+help/Files/Subversion#external">External Subversion
30
 
      access</a>.<br />
31
 
      <a class="marksaction"
32
 
           href="${req.publisher.generate(project, ProjectExport)}">
33
 
           Bash script for exporting submitted projects
34
 
        </a>
35
 
      </p>
36
 
      <p class="late_submission">* Late submissions (number of days late)</p>
37
 
      <div py:if="project.latest_submissions.count() == 0">
38
 
        There are no submissions.
39
 
      </div>
40
 
      <table id="project_submissions" class="pretty_table" summary="Latest Submissions"
41
 
             py:if="project.latest_submissions.count() > 0">
42
 
        <thead>
43
 
          <tr>
44
 
            <th>Group</th>
45
 
            <th>Submitter</th>
46
 
            <th>Date</th>
47
 
            <th>Download</th>
48
 
          </tr>
49
 
        </thead>
50
 
        <tbody>
51
 
        <py:for each="submission in project.latest_submissions">
52
 
          <tr py:attrs="{'class': 'late_submission'} if submission.late else {}">
53
 
          <py:choose test="submission.assessed.principal is submission.submitter">
54
 
            <td py:when="True">-</td>
55
 
            <td py:otherwise=""><span title="${submission.assessed.principal.display_name}">${submission.assessed.principal.short_name}</span></td>
56
 
          </py:choose>
57
 
            <td><span title="${submission.submitter.display_name}">${submission.submitter.short_name}</span></td>
58
 
            <td>${submission.date_submitted.strftime("%Y-%m-%d %H:%M:%S")}<py:if test="submission.late">* (${submission.days_late})</py:if></td>
59
 
            <td>${submission.get_svn_export_command(req)}</td>
60
 
          </tr>
61
 
        </py:for>
62
 
        </tbody>
63
 
      </table>
64
 
 
65
 
      <h2>Expected submitters</h2>
66
 
      <div py:if="project.project_set.assigned.count() == 0"
67
 
           py:choose="project.project_set.is_group">
68
 
        <py:when test="True">There are no groups assigned to submit this project. Do you want to <a href="${req.publisher.generate(project.project_set, GroupsView)}">create some</a>?</py:when>
69
 
        <py:otherwise>There are no students assigned to submit this project. Do you want to <a href="${req.publisher.generate(project.project_set.offering, EnrolView)}">enrol some</a>?</py:otherwise>
70
 
      </div>
71
 
      <table id="project_assigneds" class="pretty_table"
72
 
             py:if="project.project_set.assigned.count() > 0">
73
 
        <thead><tr><th>Name</th></tr></thead>
74
 
        <tbody>
75
 
        <py:for each="assignee in project.project_set.assigned">
76
 
          <tr>
77
 
            <td><span title="${assignee.display_name}">${assignee.short_name}</span></td>
78
 
            <!-- <td><a>Grant an extension</a></td> -->
79
 
          </tr>
80
 
        </py:for>
81
 
        </tbody>
82
 
      </table>
83
 
    </div>
84
 
  </body>
85
 
</html>