1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
|
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:py="http://genshi.edgewall.org/">
<head>
<title>${context.subject.name} (${context.semester.year} semester ${context.semester.semester})</title>
</head>
<body>
<h1>${context.subject.name}</h1>
<div id="ivle_padding">
<div class="contextactions">
<a py:if="'enrol' in permissions"
class="groupaction"
href="${req.publisher.generate(context, None, ('+enrolments', '+new'))}">
Enrol users
</a>
</div>
<div py:if="'edit' in permissions or context.projects.count() > 0"
class="majorsection">
<h2>Projects</h2>
<py:choose test="context.projects.count()">
<p py:when="0">
There are no projects for this offering.
</p>
<py:otherwise>
<ul class="paddedlist">
<li py:for="project in context.projects"
py:attrs="{'class': 'project closed'}
if project.has_deadline_passed(req.user)
else {'class': 'project'}"
py:with="principal = project.project_set.get_submission_principal(req.user)">
<a href="${project.url}">${project.name}</a> –
<span py:content="format_submission_principal(req.user, principal)" /> –
<span title="${format_datetime(project.deadline)}">
${'closed' if project.has_deadline_passed(req.user) else 'due'} ${format_datetime_short(project.deadline)}
</span>
<py:if test="principal is not None"
py:with="submissions = project.get_submissions_for_principal(principal)">
–
<py:choose test="submissions.count()">
<span py:when="0">
not yet submitted
</span>
<span py:otherwise=""
py:with="latest = submissions.last()"
title="${format_datetime(latest.date_submitted)}">
last submitted ${format_datetime_short(latest.date_submitted)}
</span>
</py:choose>
</py:if>
<br />
${project.synopsis}
</li>
</ul>
<py:if test="context.get_open_projects_for_user(req.user).count() > 0">
<p>
To submit to a project that has not yet closed, use the file
browser to navigate to the file or directory that you wish to
submit, click “More actions...”,
“Submit”, and then select the correct project.
</p>
<p>
If the project to which you intend to submit is not listed,
ensure that you are in the correct directory, or a subdirectory
thereof. For solo projects, you must be inside the subject's
“mywork” directory. For group projects, you must be
inside the directory for the assigned group.
</p>
<p>
You may resubmit a project as you wish until the deadline, but
a new submission will overwrite any made earlier.
</p>
</py:if>
</py:otherwise>
</py:choose>
<a py:if="'edit' in permissions"
class="manageaction"
href="${req.publisher.generate(context, None, '+projects')}">
Manage projects
</a>
</div>
<div py:if="'edit' in permissions or context.worksheets.count() > 0"
class="majorsection">
<h2>Worksheets</h2>
<py:choose test="context.worksheets.count()">
<p py:when="0">
There are no worksheets for this offering.
<a class="addaction" href="${req.publisher.generate(context, None, ('+worksheets', '+new'))}">Create one now</a>
</p>
<div py:otherwise="">
<a py:if="'edit' in permissions"
class="manageaction"
href="${req.publisher.generate(context, None, ('+worksheets', '+edit'))}">
Manage worksheets
</a>
</div>
</py:choose>
</div>
</div>
</body>
</html>
|