Muy primitivo porque no tenemos todavia mucho de permisos.
(y no, no puedo dormir :S)
from turbogears import url
from turbogears.controllers import Controller
from turbogears import url
from turbogears.controllers import Controller
+from turbogears import identity
class Menu:
def __init__(self, base):
class Menu:
def __init__(self, base):
- # Armo la lista de subcontrollers
self.items = filter(lambda i: isinstance(getattr(base, i), Controller), base.__dict__)
self.items.sort()
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"""<option value="%s">%s</option>" """
template = """
def __repr__(self):
option = u"""<option value="%s">%s</option>" """
template = """
+ s = option % ('', '-----')
- s += option % (url('/' + i), i.capitalize().replace('_', ' '))
+ if self._check(getattr(self.base, i)):
+ s += option % (url('/' + i), i.capitalize().replace('_', ' '))