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

« back to all changes in this revision

Viewing changes to ivle/webapp/admin/publishing.py

  • Committer: William Grant
  • Date: 2010-02-15 05:37:50 UTC
  • Revision ID: grantw@unimelb.edu.au-20100215053750-hihmegnp8e7dshc2
Ignore test coverage files.

Show diffs side-by-side

added added

removed removed

Lines of Context:
17
17
 
18
18
from storm.locals import Store
19
19
 
20
 
from ivle.database import (
21
 
    Enrolment, Offering, ProjectSet, Project, Semester, Subject, User)
 
20
from ivle.database import Offering, ProjectSet, Project, Subject, User
22
21
 
23
22
from ivle.webapp import ApplicationRoot
24
23
from ivle.webapp.publisher import ROOT
34
33
def root_to_subject(root, name):
35
34
    return root.store.find(Subject, short_name=name).one()
36
35
 
37
 
@forward_route(ApplicationRoot, '+semesters', argc=2)
38
 
def root_to_semester(root, year, semester):
39
 
    return root.store.find(Semester, year=year, semester=semester).one()
40
 
 
41
36
@forward_route(Subject, argc=2)
42
37
def subject_to_offering(subject, year, semester):
43
38
    return subject.offering_for_semester(year, semester)
59
54
                                   ProjectSet.id == ps_id,
60
55
                                   ProjectSet.offering == offering).one()
61
56
 
62
 
@forward_route(Offering, '+enrolments', argc=1)
63
 
def offering_to_enrolment(offering, login):
64
 
    return Store.of(offering).find(Enrolment,
65
 
                                   Enrolment.offering == offering,
66
 
                                   Enrolment.user_id == User.id,
67
 
                                   User.login == login).one()
68
 
 
69
57
@reverse_route(User)
70
58
def user_url(user):
71
59
    return (ROOT, '~' + user.login)
74
62
def subject_url(subject):
75
63
    return (ROOT, ('subjects', subject.short_name))
76
64
 
77
 
@reverse_route(Semester)
78
 
def semester_url(semester):
79
 
    return (ROOT, ('+semesters', semester.year, semester.semester))
80
 
 
81
65
@reverse_route(Offering)
82
66
def offering_url(offering):
83
67
    return (offering.subject, (offering.semester.year,
90
74
@reverse_route(Project)
91
75
def project_url(project):
92
76
    return (project.project_set.offering, ('+projects', project.short_name))
93
 
 
94
 
@reverse_route(Enrolment)
95
 
def enrolment_url(enrolment):
96
 
    return (enrolment.offering, ('+enrolments', enrolment.user.login))