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

« back to all changes in this revision

Viewing changes to ivle/database.py

  • Committer: William Grant
  • Date: 2009-03-25 05:53:14 UTC
  • mto: (1165.3.1 submissions)
  • mto: This revision was merged to the branch mainline in revision 1174.
  • Revision ID: grantw@unimelb.edu.au-20090325055314-7em2o0dizz5rf5xe
Add database classes for assessed, project_extension and project_submission. 

Show diffs side-by-side

added added

removed removed

Lines of Context:
38
38
            'User',
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'
363
364
    __storm_table__ = "project"
364
365
 
365
366
    id = Int(name="projectid", primary=True)
 
367
    name = Unicode()
 
368
    short_name = Unicode()
366
369
    synopsis = Unicode()
367
370
    url = Unicode()
368
371
    project_set_id = Int(name="projectsetid")
372
375
    __init__ = _kwarg_init
373
376
 
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)
377
380
 
378
381
class ProjectGroup(Storm):
413
416
        return "<%s %r in %r>" % (type(self).__name__, self.user,
414
417
                                  self.project_group)
415
418
 
 
419
class Assessed(Storm):
 
420
    __storm_table__ = "assessed"
 
421
 
 
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)
 
427
 
 
428
    project_id = Int(name="projectid")
 
429
    project = Reference(project_id, Project.id)
 
430
 
 
431
    def __repr__(self):
 
432
        return "<%s %r in %r>" % (type(self).__name__,
 
433
            self.user or self.project_group, self.project)
 
434
 
 
435
class ProjectExtension(Storm):
 
436
    __storm_table__ = "project_extension"
 
437
 
 
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)
 
444
    notes = Unicode()
 
445
 
 
446
class ProjectSubmission(Storm):
 
447
    __storm_table__ = "project_submission"
 
448
 
 
449
    id = Int(name="submissionid", primary=True)
 
450
    assessed_id = Int(name="assessedid")
 
451
    assessed = Reference(assessed_id, Assessed.id)
 
452
    path = Unicode()
 
453
    revision = Int()
 
454
    date_submitted = DateTime()
 
455
 
 
456
 
416
457
# WORKSHEETS AND EXERCISES #
417
458
 
418
459
class Exercise(Storm):