ldapsaisie/doc/conf/LSobject/customActions.docbook
Benjamin Renard 2183149097 Update doc
2020-05-06 12:31:24 +02:00

163 lines
4.9 KiB
Text

<sect2 id="config-LSobject-customActions">
<title>customActions</title>
<para>Cette section décrit la manière de configurer les actions personnalisées exécutables
sur les &LSobjects; appelées &customActions;.</para>
<programlisting>
<citetitle>Structure</citetitle>
<![CDATA[$GLOBALS['LSobjects']['[nom du type d'LSobject]']['customActions'] = array (
'action1' => array(
'label' => '[label l'action]',
'hideLabel' => '[booléen]',
'helpInfo' => '[label d'aide]',
'icon' => '[nom de l'icône de l'action]',
'function' => '[fonction à exécuter]',
'question_format' => '[LSformat de la question de confirmation]',
'onSuccessMsgFormat' => '[LSformat du message à afficher en cas de succès de l'action]',
'disableOnSuccessMsg' => '[booléen]',
'noConfirmation' => '[booléen]',
'redirectToObjectList' => '[booléen]',
'noRedirect' => '[booléen]',
'rights' => array(
'LSprofile1',
'LSprofile2',
...
)
)
);]]>
</programlisting>
<variablelist>
<title>Paramètres de configuration</title>
<varlistentry>
<term>label</term>
<listitem>
<simpara>Le label de l'action.</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>hideLabel</term>
<listitem>
<simpara>Cache le label dans le bouton de l'action.</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>helpInfo</term>
<listitem>
<simpara>Le label du message d'aide qui sera affiché au survole du bouton de l'action.</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>icon</term>
<listitem>
<simpara>Nom de l'îcone à afficher dans le bouton de l'action. Ce nom correspond
au nom du fichier de l'image (sans l'extention) qui devra se trouver dans le
dossier <emphasis>src/images/[nom du theme d'images]/</emphasis> ou dans le dossier
<emphasis>src/local/images</emphasis>.</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>function</term>
<listitem>
<simpara>Le nom de la fonction à exécuter qui implémente l'action personnalisée
Cette fonction prendra en seule paramètre le &LSobject; sur lequel l'action devra
être exécutée et retournera <emphasis>True</emphasis> en cas de succès ou
<emphasis>False</emphasis> en cas d'échec d'exécution de la fonction.</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>question_format</term>
<listitem>
<simpara>Le &LSformat; de la question de confirmation d'exécution de l'action.
Ce &LSformat; sera composé à l'aide du nom de l'objet.</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>onSuccessMsgFormat</term>
<listitem>
<simpara>Le &LSformat; du message à afficher en cas de succès d'exécution de
l'action. Ce &LSformat; sera composé à l'aide du nom de l'objet.</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>disableOnSuccessMsg</term>
<listitem>
<simpara>Booléen permetant de désactiver le message afficher en cas de succès
d'exécution de l'action.</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>noConfirmation</term>
<listitem>
<simpara>Booléen permetant de désactiver la confirmation de l'exécution de
l'action.</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>redirectToObjectList</term>
<listitem>
<simpara>Booléen permetant de rediriger l'utilisateur vers la liste des objets
plutôt que sur la fiche de l'objet après l'execution de l'action.</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>noRedirect</term>
<listitem>
<simpara>Booléen permetant de désactiver la redirection de l'utilisateur après
l'execution de l'action. Cela permet à la fonction de définir son propre fichier
de template de retour et donc d'afficher une page personnalisable.</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>rights</term>
<listitem>
<simpara>Tableau contenant la liste des noms des &LSprofiles; ayant le droit
d'exécuter cette action.</simpara>
</listitem>
</varlistentry>
</variablelist>
<sect3>
<title>Ecriture d'une fonction implémentant une customAction</title>
<para>Une fonction implémentant une <emphasis>customAction</emphasis> se déclare de
la manière suivante :
<programlisting linenumbering="unnumbered"><![CDATA[
/*
* Ma fonction implémentant ma customAction
*
* Paramètre :
* - $object : Le LSobject sur lequel mon action doit être exécutée
*
* Valeurs retournées :
* - True : Tout s'est bien passé
* - False : Une erreur est survenue
*/
function maFonction ($object) {
// Actions
}
]]></programlisting>
Cette fonction doit prendre pour seul paramètre, le &LSobject; sur lequel l'action
personnalisée doit être exécutée et doit retourner soit <literal>True</literal> si
tout s'est bien passé, soit <literal>False</literal> en cas de problème.</para>
<note><simpara>Ces fonctions sont le plus couramment définies au sein d'&LSaddon;.</simpara></note>
</sect3>
</sect2>