39
39
'Subject', 'Semester', 'Offering', 'Enrolment',
40
40
'ProjectSet', 'Project', 'ProjectGroup', 'ProjectGroupMembership',
41
'Assessed', 'ProjectSubmission', 'ProjectExtension',
41
42
'Exercise', 'Worksheet', 'WorksheetExercise',
42
43
'ExerciseSave', 'ExerciseAttempt',
43
44
'TestCase', 'TestSuite', 'TestSuiteVar'
372
375
__init__ = _kwarg_init
374
377
def __repr__(self):
375
return "<%s '%s' in %r>" % (type(self).__name__, self.synopsis,
378
return "<%s '%s' in %r>" % (type(self).__name__, self.short_name,
376
379
self.project_set.offering)
378
381
class ProjectGroup(Storm):
413
416
return "<%s %r in %r>" % (type(self).__name__, self.user,
414
417
self.project_group)
419
class Assessed(Storm):
420
__storm_table__ = "assessed"
422
id = Int(name="assessedid", primary=True)
423
user_id = Int(name="loginid")
424
user = Reference(user_id, User.id)
425
project_group_id = Int(name="groupid")
426
project_group = Reference(project_group_id, ProjectGroup.id)
428
project_id = Int(name="projectid")
429
project = Reference(project_id, Project.id)
432
return "<%s %r in %r>" % (type(self).__name__,
433
self.user or self.project_group, self.project)
435
class ProjectExtension(Storm):
436
__storm_table__ = "project_extension"
438
id = Int(name="extensionid", primary=True)
439
assessed_id = Int(name="assessedid")
440
assessed = Reference(assessed_id, Assessed.id)
441
deadline = DateTime()
442
approver_id = Int(name="approver")
443
approver = Reference(approver_id, User.id)
446
class ProjectSubmission(Storm):
447
__storm_table__ = "project_submission"
449
id = Int(name="submissionid", primary=True)
450
assessed_id = Int(name="assessedid")
451
assessed = Reference(assessed_id, Assessed.id)
454
date_submitted = DateTime()
416
457
# WORKSHEETS AND EXERCISES #
418
459
class Exercise(Storm):