1 import web
2 from main.model import Computer, OrganizativeUnit
3 from user.model import User
4 from user import login
5 from decorators import i18n
8 @i18n
9
10 @login.authenticated
11 - def GET(self, name = None):
12 orm = web.ctx.orm
13 user = User.current()
14
15
16 if name:
17 ou = orm.query(OrganizativeUnit).filter(
18 OrganizativeUnit.name==name).first()
19 computer = orm.query(Computer).filter(
20 Computer.name==name).first()
21
22 if ou:
23 self.__check_permissions(ou, user)
24 return web.ctx.render.navigator.organizativeunit(
25 ou, ou.childs, ou.computers,
26 user, web.ctx.plugin_manager.get_enabled_plugins())
27
28 elif computer:
29 self.__check_permissions(computer, user)
30 return web.ctx.render.navigator.computer(computer,
31 user, web.ctx.plugin_manager.get_enabled_plugins())
32
33 else:
34 raise web.notfound()
35
36 else:
37 ous = None
38 print user.super_user
39
40 if user.super_user:
41 ous = orm.query(OrganizativeUnit).filter(
42 OrganizativeUnit.parent_id==None).all()
43 return web.ctx.render.navigator.organizativeunit(
44 None, ous, [], user, web.ctx.plugin_manager.get_enabled_plugins())
45
46
47 else:
48 ous = user.organizative_units
49
50 return web.ctx.render.navigator.organizativeunit(
51 None, ous, [], user, web.ctx.plugin_manager.get_enabled_plugins())
52
68
71