From: Ricardo Markiewicz Date: Thu, 1 Mar 2007 07:05:35 +0000 (+0000) Subject: filtro el combo en base a los permisos. X-Git-Tag: pre-merge~26 X-Git-Url: https://git.llucax.com/software/sercom.git/commitdiff_plain/8d55754c391c8f0615449b8344b67ceffbd1b4a9?ds=inline filtro el combo en base a los permisos. Muy primitivo porque no tenemos todavia mucho de permisos. (y no, no puedo dormir :S) --- diff --git a/sercom/menu.py b/sercom/menu.py index 965e911..59c527f 100644 --- a/sercom/menu.py +++ b/sercom/menu.py @@ -1,13 +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() + def _check(self, c): + return c.require.eval_with_object(identity.current) + def __repr__(self): option = u"""" """ template = """ @@ -18,8 +22,9 @@ class Menu: """ - s = '' + s = option % ('', '-----') for i in self.items: - s += option % (url('/' + i), i.capitalize().replace('_', ' ')) + if self._check(getattr(self.base, i)): + s += option % (url('/' + i), i.capitalize().replace('_', ' ')) return template % s