mirror of
https://gitlab.easter-eggs.com/ee/ldapsaisie.git
synced 2024-12-23 08:53:47 +01:00
191 lines
7.2 KiB
Text
191 lines
7.2 KiB
Text
<sect2 id="config-LSobject-LSrelation">
|
|
<title>LSrelation</title>
|
|
<para>Cette section décrit la manière de configurer les relations entre les
|
|
&LSobjects; appelées &LSrelation;.</para>
|
|
<para>Dans le cadre d'une liaison dîte <emphasis>simple</emphasis>, c'est à
|
|
dire une liaison au travers la valeur d'un attribut qui fera directement
|
|
référence à un autre objet (<emphasis>DN</emphasis> ou la première valeur
|
|
d'un attribut de référence), pourra être configurée simplement en spécifiant
|
|
l'attribut de liaison et le type de valeur qu'il contient. Dans le cas d'une
|
|
liaison plus complexe, il sera possible de développer vous même des méthodes
|
|
de mise en relation.</para>
|
|
|
|
<programlisting>
|
|
<citetitle>Structure</citetitle>
|
|
<![CDATA[$GLOBALS['LSobjects']['[nom du type d'LSobject]']['LSrelation'] = array (
|
|
'relation1' => array(
|
|
'label' => '[label de la relation]',
|
|
'emptyText' => "[texte affiché si aucune relation avec d'autres objets
|
|
n'existe pour l'objet courant]",
|
|
'LSobject' => '[le type d'LSobjet en relation]',
|
|
|
|
// Liaison simple
|
|
'linkAttribute' => '[attribut de liaison]',
|
|
'linkAttributeValue' => '[valeur de l'attribut de liaison]',
|
|
'linkAttributeOtherValues' => array('[autres valeurs possible de l'attribut de liaison]', [...]),
|
|
|
|
// Liaison complexe
|
|
'list_function' => '[méthode1]',
|
|
'getkeyvalue_function' => '[methode2]',
|
|
'update_function' => '[methode3]',
|
|
'remove_function' => '[methode4]',
|
|
'rename_function' => '[methode5]',
|
|
'canEdit_function' => '[methode6]',
|
|
'canEdit_attribute' => '[nom d'attribut]',
|
|
|
|
'rights' => array(
|
|
'LSprofile1' => 'r',
|
|
'LSprofile2' => 'w',
|
|
...
|
|
)
|
|
)
|
|
);]]>
|
|
</programlisting>
|
|
|
|
<variablelist>
|
|
<title>Paramètres de configuration</title>
|
|
|
|
<varlistentry>
|
|
<term>label</term>
|
|
<listitem>
|
|
<simpara>Le label de la relation.</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>emptyText</term>
|
|
<listitem>
|
|
<simpara>Le texte à afficher pour décrire le fait que l'objet courant n'a
|
|
aucune relation d'établie avec d'autres &LSobjects;. Exemple (au sujet d'un
|
|
utilisateur) : <emphasis>N'appartient à aucun groupe.</emphasis></simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>LSobject</term>
|
|
<listitem>
|
|
<simpara>Le type d'&LSobject; en relation avec le type courant.
|
|
<emphasis>(Facultatif en cas de liaison complexe)</emphasis></simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>linkAttribute</term>
|
|
<listitem>
|
|
<simpara>Dans le cadre d'une relation simple, il s'agit de l'attribut de
|
|
liaison du type d'&LSobject; en relation avec le type courant, c'est à dire
|
|
l'attribut dans lequel on retrouve une valeur en relation avec l'objet
|
|
courant. <emphasis>(Facultatif en cas de liaison complexe)</emphasis></simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>linkAttributeValue</term>
|
|
<listitem>
|
|
<simpara>Dans le cadre d'une relation simple, il s'agit du type de valeur prisent
|
|
par l'attribut de liaison du type d'&LSobject; en relation avec le type courant.
|
|
Il peut s'agir du mot clé <literal>dn</literal> si l'attribut de liaison contient
|
|
le <emphasis>DN</emphasis> de l'objet courant ou bien le nom d'un attribut du type
|
|
d'objet courant dont la première valeur sera stockée par l'attribut de liaison.
|
|
<emphasis>(Facultatif en cas de liaison complexe)</emphasis></simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>linkAttributeOtherValues</term>
|
|
<listitem>
|
|
<simpara>Dans le cadre d'une relation simple, il s'agit d'autres types de valeur
|
|
possiblement prisent par l'attribut en plus de celui défini par le paramètre
|
|
<literal>linkAttributeValue</literal>. Ce paramètre ne sert qu'a détecter des
|
|
liaisons établies à l'aide de valeurs autres que celle relative au paramètre
|
|
<literal>linkAttributeValue</literal> : en cas de nouvelle liaison, c'est la
|
|
valeur associée à ce dernier qui sera utilisée pour établir la liaison.
|
|
<emphasis>(Facultatif en cas de liaison complexe)</emphasis></simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>list_function</term>
|
|
<listitem>
|
|
<simpara>La méthode de la classe du type d'&LSobject; en relation, permettant
|
|
de lister les objets de ce type en relation avec l'objet courant.
|
|
<emphasis>(Facultatif en cas de liaison simple)</emphasis></simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>getkeyvalue_function</term>
|
|
<listitem>
|
|
<simpara>La méthode de la classe du type d'&LSobject; en relation, permettant
|
|
d'obtenir la valeur clé à stocker pour établir la relation entre l'objet
|
|
courant et d'autres objets du type concerné. <emphasis>(Facultatif en cas de
|
|
liaison simple)</emphasis></simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>update_function</term>
|
|
<listitem>
|
|
<simpara>La méthode de la classe du type d'&LSobject; en relation, permettant
|
|
de mettre à jour les relations existantes entre l'objet courant et les objets
|
|
du type concerné. Cette liste d'objets en relation est établie par
|
|
l'utilisateur à travers l'interface. <emphasis>(Facultatif en cas de liaison
|
|
simple)</emphasis></simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>remove_function</term>
|
|
<listitem>
|
|
<simpara>La méthode de la classe du type d'&LSobject; en relation permettant
|
|
de supprimer une relation existante entre l'objet courant et un objet du
|
|
type concerné. <emphasis>(Facultatif en cas de liaison simple)</emphasis>
|
|
</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>rename_function</term>
|
|
<listitem>
|
|
<simpara>La méthode de la classe du type d'&LSobject; en relation permettant
|
|
d'effectuer les actions nécessaires lorsque l'objet courant est renommé dans
|
|
le but de maintenir les valeurs clés permettant d'établir les relations entre
|
|
l'objet courant et les objets en relation avec lui. <emphasis>(Facultatif en
|
|
cas de liaison simple)</emphasis></simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>canEdit_function</term>
|
|
<listitem>
|
|
<simpara>La méthode de la classe du type d'&LSobject; en relation permettant
|
|
de vérifier que l'utilisateur à le droit de modifier la relation avec un objet
|
|
en particulier. <emphasis>(Facultatif en cas de liaison simple)</emphasis>
|
|
</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>canEdit_attribute</term>
|
|
<listitem>
|
|
<simpara>Le nom de l'attibut du type d'&LSobject; en relation devant être
|
|
éditable par l'utilisateur pour que celui-ci puisse modifier la relation.
|
|
Dans le cadre d'une relation simple, celui-ci peut, si nécessaire, être
|
|
différent du paramètre <literal>linkAttribute</literal>.</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>rights</term>
|
|
<listitem>
|
|
<simpara>Tableau associatif dont les clés sont les noms des &LSprofiles; ayant
|
|
des droits sur cette relation et dont les valeurs associées sont les droits
|
|
correspondants. La valeur des droits d'un &LSprofile; peut être
|
|
<literal>r</literal> pour le droit de lecture ou <literal>w</literal> pour
|
|
le droit de lecture-écriture.Par défaut, un &LSprofile; n'a aucun droit.</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
</variablelist>
|
|
|
|
</sect2>
|