~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: 2009-12-08 05:26:00 UTC
  • Revision ID: grantw@unimelb.edu.au-20091208052600-j5jpe25vgjtypex9
Fix missing GroupsView when creating a project set.

Show diffs side-by-side

added added

removed removed

Lines of Context:
15
15
# along with this program; if not, write to the Free Software
16
16
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
17
17
 
 
18
from storm.locals import Store
 
19
 
18
20
from ivle.database import Offering, ProjectSet, Project, Subject, User
19
21
 
20
22
from ivle.webapp import ApplicationRoot
21
 
from ivle.webapp.routing import ROOT
22
 
from ivle.webapp.routing.decorators import forward_route, reverse_route
 
23
from ivle.webapp.publisher import ROOT
 
24
from ivle.webapp.publisher.decorators import forward_route, reverse_route
23
25
 
24
26
@forward_route(ApplicationRoot, argc=1)
25
27
def root_to_user(root, segment):
38
40
@forward_route(Offering, '+projects', argc=1)
39
41
def offering_to_project(offering, name):
40
42
    return Store.of(offering).find(Project,
 
43
                                   Project.short_name == name,
41
44
                                   Project.project_set_id == ProjectSet.id,
42
45
                                   ProjectSet.offering == offering).one()
43
46
 
44
47
@forward_route(Offering, '+projectsets', argc=1)
45
48
def offering_to_projectset(offering, name):
 
49
    try:
 
50
        ps_id = int(name)
 
51
    except ValueError:
 
52
        return None
46
53
    return Store.of(offering).find(ProjectSet,
 
54
                                   ProjectSet.id == ps_id,
47
55
                                   ProjectSet.offering == offering).one()
48
56
 
49
57
@reverse_route(User)
50
58
def user_url(user):
51
 
    return (ROOT, '~' + user)
 
59
    return (ROOT, '~' + user.login)
52
60
 
53
61
@reverse_route(Subject)
54
62
def subject_url(subject):
61
69
 
62
70
@reverse_route(ProjectSet)
63
71
def projectset_url(project_set):
64
 
    return (project_set.offering, ('+projectsets', project_set.name))
 
72
    return (project_set.offering, ('+projectsets', str(project_set.id)))
65
73
 
66
74
@reverse_route(Project)
67
75
def project_url(project):
68
 
    return (project.project_set.offering, ('+projects', project.name))
 
76
    return (project.project_set.offering, ('+projects', project.short_name))