.. _action-python:

Python
=======

Une action est une classe de type Action, elle requiert certains attributs::

    class nouvelleAction(Action):
        """ ma nouvelle action """

* La variable recevant la description de l'utilisateur::

      user_description = Dict(default={}, doc="description de l'éxécutant", keys=['ip', 'name', 'role'])


* Un nom pour l'action qui sera utilisé dans perm_nomdumodule.ini (voir :term:`permission`)::

      name = "monaction"

* Un libellé pour l'action dans le menu::

      libelle = "Libellé"

* Un chemin dans le menu::

      category = "Catégorie/"

L'action sera disponible dans Catégorie->Libellé

* Une description utilisée au survol (attribut html title)::

      description = "une description de l'action (affiché au survol dans le menu)"

* Un dictionnaire recevant les options de la requête http (ou xmlhttp)::

      request = Dict(default={}, doc="arguments de la requete en cours cote frontend",
                            keys=['server', 'action'])#server et action sont les clés systématique

Cas des formulaires
--------------------

* Un dictionnaire recevant les résultats de formulaire::

      form_result = Dict(default={}, doc='retour de formulaire', keys=[])

La variable keys recevra les noms des formulaires que cette action doit valider.
Si l'action reçoit une variable inconnue, une erreur sera levée.

