==========================================
Menu de gestion des actions sur un serveur
==========================================

Un fragment permet d'afficher le menu d'actions.

Fonctionnement
--------------

Le menu est construit de manire rcursive, il ncessite le passage du contexte et s'occupe seul de communiquer avec le serveur,

pour rcuprer les dicos dcrivant le menu et les actions, l'objet session de nevow doit rfrencer l'ead_server et le magic_number:

Construction des datas
~~~~~~~~~~~~~~~~~~~~~~

::

    def _data_menu(self):
        """
        construction des datas pour le menu
        """
        session = inevow.ISession(self.ctx)
        data = None
        if session.ead_server is not None:
            magic_number = session.magic_number
            if magic_number is not None:
                data = session.ead_server.get_menu(magic_number)
                session.menu = data
                self.menu = data['menu']
                self.actions = data['actions']
                return
        self.menu = None
        self.actions = None


Appel dans la page
~~~~~~~~~~~~~~~~~~

::

    def render_menu(self, ctx, data):
        """menu d'actions du serveur choisi vide par defaut
        """
        self.menu = Menu(ctx)
        self.menu.page = self
        return self.menu
