X-Git-Url: https://git.llucax.com/z.facultad/75.52/sercom.git/blobdiff_plain/94b32d115d412a3baa90a96c9165d7f57a189ba0..547d05bc0d164faa1e0f6d4b3e8c744ba47a534b:/sercom/menu.py?ds=sidebyside diff --git a/sercom/menu.py b/sercom/menu.py index a72d6a2..1d90c89 100644 --- a/sercom/menu.py +++ b/sercom/menu.py @@ -1,27 +1,31 @@ +# vim: set et sw=4 sts=4 encoding=utf-8 foldmethod=marker : from turbogears import url -from turbogears.controllers import Controller +from turbogears.identity import SecureResource from turbogears import identity class Menu: def __init__(self, base): self.base = base - self.items = filter(lambda i: isinstance(getattr(base, i), Controller), base.__dict__) + self.items = [i for i in dir(base) + if isinstance(getattr(base, i), SecureResource)] self.items.sort() self.items = ['dashboard'] + self.items def _check(self, c): + if hasattr(c, 'hide_to_admin') and 'admin' in identity.current.permissions: return False + if hasattr(c, 'hide_to_entregar') and 'admin' not in identity.current.permissions: return False return c.require.eval_with_object(identity.current) def __repr__(self): option = u"""" """ template = """ + Ir a : + + """ s = option % ('', '-----') for i in self.items: