Description détaillée |
|
Pour chaque "methode" référencée dans un widget (onglet, action, étendu) il convient de faire une fonction publique.
Pour ce faire, il convient de sortir la méthode d'InterfaceIntervenant et toutes ses surcharges (Internvenant, Personnel, ConteactDeService, Elu, Maire, Directeur, et toutes les classes du paquetage utilisateurs) pour les aplatir dans une fonction publique.
Ensuite, au lieu de référencer une "methode" nous allons referencer une "function". La function peut avoir un nom un peut plus normalisé, et en anglais.
$array_retour = function ed_[object]_[action]($array_params, $obj_user);
par exemple pour sélectionner un rapport, on fera
function ed_deliberation_select ($ar_params_with_r_id, $obj_user) {
$delib = & new Deliberation();
$delib->whereAdd("etat >= " $obj_user->getEtapeMin());
$delib->get($ar_params_with_r_id["r_id"]);
return $delib->toArray();
}
Et dans activites.xml on mettra
<ACTIVITES ...>
<ACTIVITE id="select" function="ed_deliberation_select" pourquoi="consulter_rapport">
...
</ACTIVITES>
Et le tour est joué.
Mais il conviendrait aussi d'enlever selectRapport des classe utilisateur pour ne pas en faire une duplication des méthodes/fonctions, pour utiliser ed_deliberation_select à la place. Cela pourra prendre un peu plus de temps et nécessitera un IDE correct. |
|