218
220
if self.context is None:
223
def build_subversion_url(self, svnroot, submission):
224
princ = submission.assessed.principal
226
if isinstance(princ, User):
227
path = 'users/%s' % princ.login
229
path = 'groups/%s_%s_%s_%s' % (
230
princ.project_set.offering.subject.short_name,
231
princ.project_set.offering.semester.year,
232
princ.project_set.offering.semester.semester,
235
return urlparse.urljoin(
237
os.path.join(path, submission.path[1:] if
238
submission.path.startswith(os.sep) else
221
241
def populate(self, req, ctx):
222
242
ctx['format_datetime_short'] = ivle.date.format_datetime_for_paragraph
243
ctx['build_subversion_url'] = self.build_subversion_url
244
ctx['svn_addr'] = req.config['urls']['svn_addr']
224
245
ctx['project'] = self.context
225
ctx['assesseds'] = self.context.assesseds
227
ctx['submissions'] = []
228
for assessed in self.context.assesseds:
229
if assessed.submissions.count() > 0:
230
ctx['submissions'].append(
231
assessed.submissions.order_by(
232
ProjectSubmission.date_submitted)[-1])
233
ctx['assigned'] = self.context.project_set.get_assigned()
246
ctx['user'] = req.user
235
248
class Plugin(ViewPlugin, MediaPlugin):