X-Git-Url: https://git.llucax.com/z.facultad/75.52/sercom.git/blobdiff_plain/ff934654c28a0cb60c0e8b4a23736d105ba5a00a..94b32d115d412a3baa90a96c9165d7f57a189ba0:/sercom/menu.py?ds=sidebyside diff --git a/sercom/menu.py b/sercom/menu.py index acaf498..a72d6a2 100644 --- a/sercom/menu.py +++ b/sercom/menu.py @@ -1,12 +1,17 @@ from turbogears import url from turbogears.controllers import Controller +from turbogears import identity class Menu: def __init__(self, base): - # Armo la lista de subcontrollers + self.base = base self.items = filter(lambda i: isinstance(getattr(base, i), Controller), base.__dict__) self.items.sort() + self.items = ['dashboard'] + self.items + + def _check(self, c): + return c.require.eval_with_object(identity.current) def __repr__(self): option = u"""" """ @@ -18,8 +23,9 @@ class Menu: """ - s = '' + s = option % ('', '-----') for i in self.items: - s + = option % (url('/' + i), i.capitalize().replace('_', ' ')) - return t % s + if i == 'dashboard' or self._check(getattr(self.base, i)): + s += option % (url('/' + i), i.capitalize().replace('_', ' ')) + return template % s