From 3703d0330e323b715dabcf794a27b23ab4c4ea7f Mon Sep 17 00:00:00 2001 From: Benjamin Renard Date: Tue, 16 Mar 2021 17:48:49 +0100 Subject: [PATCH] LSaccessRightsMatrixView: handle LSform layout to ordering attributes --- src/css/default/LSaccessRightsMatrixView.css | 4 + .../LSaddons.LSaccessRightsMatrixView.php | 22 ++++ src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.mo | Bin 66279 -> 66332 bytes src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.po | 114 +++++++++--------- src/lang/ldapsaisie.pot | 112 +++++++++-------- .../default/LSaccessRightsMatrixView.tpl | 28 ++++- 6 files changed, 171 insertions(+), 109 deletions(-) diff --git a/src/css/default/LSaccessRightsMatrixView.css b/src/css/default/LSaccessRightsMatrixView.css index 69ca79bd..32fa1902 100644 --- a/src/css/default/LSaccessRightsMatrixView.css +++ b/src/css/default/LSaccessRightsMatrixView.css @@ -19,6 +19,10 @@ text-align: left; } +#LSaccessRightsMatrixView table tbody th.LSaccessRightsMatrixView_layout_label { + text-align: center; +} + /* * Table rotated header */ diff --git a/src/includes/addons/LSaddons.LSaccessRightsMatrixView.php b/src/includes/addons/LSaddons.LSaccessRightsMatrixView.php index 9c86a446..df695a56 100644 --- a/src/includes/addons/LSaddons.LSaccessRightsMatrixView.php +++ b/src/includes/addons/LSaddons.LSaccessRightsMatrixView.php @@ -166,12 +166,34 @@ function LSaccessRightsMatrixView() { ); } + // Handle LSform layout + $layout = false; + if (LSconfig :: get("LSobjects.$LSobject.LSform.layout")) { + $layout = array(); + $displayed_attrs = array(); + foreach(LSconfig :: get("LSobjects.$LSobject.LSform.layout") as $tab => $tab_config) { + $layout[$tab] = array( + 'label' => __(LSconfig :: get('label', $tab, 'string', $tab_config)), + 'attrs' => LSconfig :: get('args', $tab, 'array', $tab_config), + ); + $displayed_attrs = array_merge($displayed_attrs, $layout[$tab]['attrs']); + } + $masked_attrs = array_diff(array_keys(LSconfig :: get("LSobjects.$LSobject.attrs", array(), 'array')), $displayed_attrs); + if ($masked_attrs) { + $layout['masked_attrs'] = array( + 'label' => _('Masked attributes'), + 'attrs' => $masked_attrs, + ); + } + } + $LSobjects[$LSobject] = array ( 'label' => __(LSconfig :: get("LSobjects.$LSobject.label", $LSobject, 'string')), 'attrs' => $attrs, 'relations' => $relations, 'customActions' => $customActions, 'customSearchActions' => $customSearchActions, + 'layout' => $layout, ); } diff --git a/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.mo b/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.mo index 4cab68885122b53ceca527a98887941595670d10..45ee6ddea7b173ad7485dabf502f4162c3af88fc 100644 GIT binary patch delta 9847 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 delta 9802 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\n" "Language-Team: LdapSaisie \n" @@ -229,7 +229,7 @@ msgstr "" "défini." #: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.LSaccessRightsMatrixView.php:52 -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.LSaccessRightsMatrixView.php:187 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.LSaccessRightsMatrixView.php:209 msgid "Access rights matrix" msgstr "Matrice des droits d'accès" @@ -237,7 +237,11 @@ msgstr "Matrice des droits d'accès" msgid "All connected users" msgstr "Tous les utilisateurs connectés" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.LSaccessRightsMatrixView.php:183 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.LSaccessRightsMatrixView.php:184 +msgid "Masked attributes" +msgstr "Attributs masqués" + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.LSaccessRightsMatrixView.php:205 msgid "The user him-self" msgstr "L'utilisateur lui-même" @@ -1020,17 +1024,17 @@ msgstr "Votre nouveau mot de passe vous a été envoyé à l'adresse %{mail}." msgid "Refresh" msgstr "Rafraîchir" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2726 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2730 #: templates/default/select.tpl:20 templates/default/recoverpassword.tpl:17 #: templates/default/login.tpl:16 msgid "Level" msgstr "Niveau" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2884 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2888 msgid "LSsession : The constant '%{const}' is not defined." msgstr "LSsession : La constante '%{const}' n'est pas définie." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2887 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2891 msgid "" "LSsession : The addon '%{addon}' support is uncertain. Verify system " "compatibility and the add-on configuration." @@ -1038,53 +1042,53 @@ msgstr "" "LSsession : Le support de l'addon '%{addon}' est incertain. Vérifiez la " "compatibilité du système et la configuration de l'add-on." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2890 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2894 msgid "" "LSsession : LDAP server's configuration data are invalid. Can't connect." msgstr "" "LSsession : Les données de configuration du serveur LDAP sont invalide. " "Impossible de s'y connecter." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2893 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2897 msgid "LSsession : Failed to load LSobject type '%{type}' : unknon type." msgstr "" "LSsession : Impossible de charger le type d'LSobject '%{type}' : type " "inconnu." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2896 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2900 msgid "LSsession : Failed to load LSclass '%{class}'." msgstr "LSsession : Impossible de charger la LSclass '%{class}'." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2899 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2903 msgid "LSsession : Login or password incorrect." msgstr "LSsession : Identifiant ou mot de passe incorrects." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2902 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2906 msgid "LSsession : Impossible to identify you : Duplication of identities." msgstr "LSsession : Impossible de vous identifier : Duplication d'identité." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2905 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2909 msgid "LSsession : Can't load class of authentification (%{class})." msgstr "" "LSsession : Impossible de charger la classe d'authentification (%{class})." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2908 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2912 msgid "LSsession : Can't connect to LDAP server." msgstr "LSsession : Impossible de se connecter au serveur LDAP." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2911 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2915 msgid "LSsession : Impossible to authenticate you." msgstr "LSsession : Impossible de vous identifier." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2914 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2918 msgid "LSsession : Your are not authorized to do this action." msgstr "LSsession : Vous n'êtes pas autorisé à faire cette action." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2917 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2921 msgid "LSsession : Some informations are missing to display this page." msgstr "LSsession : Des informations sont manquant pour afficher cette page." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2920 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2924 msgid "" "LSsession : The function '%{function}' of the custom action " "'%{customAction}' does not exists or is not configured." @@ -1092,24 +1096,24 @@ msgstr "" "LSsession : La fonction '%{function}' de l'action personnalisée " "'%{customAction}' n'existe pas ou n'est pas configurée." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2923 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2927 msgid "LSsession : Fail to retreive user's LDAP credentials from LSauth." msgstr "" "LSsession : Erreur en récupérant les identifiants LDAP de l'utilisateur " "depuis LSauth." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2926 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2930 msgid "" "LSsession : Fail to reconnect to LDAP server with user's LDAP credentials." msgstr "" "LSsession : Impossible de se reconnecter au serveur LDAP avec les " "identifiants de l'utilisateur." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2929 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2933 msgid "LSsession : No import/export format define for this object type." msgstr "LSsession : Aucun format d'entrée/sortie définie pour ce type d'objet." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2932 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2936 msgid "" "LSsession : Error during creation of list of levels. Contact administrators. " "(Code : %{code})" @@ -1117,13 +1121,13 @@ msgstr "" "LSsession : Erreur durant la création de la liste des niveaux. Contacter les " "administrateurs. (Code : %{type})" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2935 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2939 msgid "LSsession : The password recovery is disabled for this LDAP server." msgstr "" "LSsession : La récupération de mot de passe est désactivée pour ce serveur " "LDAP." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2938 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2942 msgid "" "LSsession : Some informations are missing to recover your password. Contact " "administrators." @@ -1131,7 +1135,7 @@ msgstr "" "LSsession : Des informations sont manques pour pouvoir récupérer votre mot " "de passe. Contacter les administrateurs." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2941 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2945 msgid "" "LSsession : Error during password recovery. Contact administrators.(Step : " "%{step})" @@ -1139,7 +1143,7 @@ msgstr "" "LSsession : Erreur durant la récupération de votre mot de passe. Contacter " "les administrateurs. (Etape : %{step})" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2944 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2948 msgid "" "LSsession : The function '%{func}' configured for the view '%{view}' of the " "LSaddon '%{addon}' is not declared in the LSaddon file." @@ -1147,7 +1151,7 @@ msgstr "" "LSsession : la fonction '%{func}' configurée pour la vue '%{view}' du " "LSaddon '%{addon}' n'est pas déclaré dans le fichier du LSaddon." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2948 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2952 msgid "" "LSsession : The function '%{func}' configured for the view '%{view}' of the " "LSaddon '%{addon}' doesn't exist." @@ -1155,11 +1159,11 @@ msgstr "" "LSsession : la fonction '%{func}' configurée pour la vue '%{view}' du " "LSaddon '%{addon}' n'existe pas." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2951 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2955 msgid "LSsession : invalid related object's DN pass in parameter." msgstr "LSsession : DN d'objet en relation incorrect dans les paramètres." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2954 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2958 msgid "" "LSsession : the LSaddon %{addon} keep using old-style addon view URL. Please " "upgrade it." @@ -1167,7 +1171,7 @@ msgstr "" "LSsession : le LSaddon %{addon} utilise toujours l'ancien type d'URL de " "vues. Merci de le mettre à jour." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2957 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2961 msgid "" "LSsession : You have been redirect from an old-style URL %{url}. Please " "upgrade this link." @@ -1175,7 +1179,7 @@ msgstr "" "LSsession : Vous avez été redirigé depuis une ancienne URL %{url}. Merci de " "le mettre à jour ce lien." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2960 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2964 msgid "" "LSsession : You always seem to use %{old} in your custom code: Please " "upgrade it and use %{new}.
\n"
@@ -1872,11 +1876,11 @@ msgstr "LdapSaisie - Authentification requise"
 msgid "LSauthMethod_HTTP : the %{var} environnement variable is missing."
 msgstr "LSauthMethod_HTTP : la variable d'environnement %{var} est manquante."
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_mail.php:88
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_mail.php:87
 msgid "Send a mail from here."
 msgstr "Envoyer un mail depuis l'interface."
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_mail.php:120
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_mail.php:119
 msgid ""
 "LSformElement_mail: the autocomplete feature was moved to parent "
 "LSformElement_text class and you still use old configuration style with "
@@ -2488,8 +2492,8 @@ msgstr "Mme."
 msgid "Mr."
 msgstr "M."
 
-#: templates/default/LSaccessRightsMatrixView.tpl:95
-#: templates/default/LSaccessRightsMatrixView.tpl:129
+#: templates/default/LSaccessRightsMatrixView.tpl:119
+#: templates/default/LSaccessRightsMatrixView.tpl:153
 msgid "Allowed"
 msgstr "Autorisé"
 
@@ -2509,16 +2513,16 @@ msgstr "Se connecter"
 msgid "Connected as"
 msgstr "Connecté en tant que"
 
-#: templates/default/LSaccessRightsMatrixView.tpl:87
+#: templates/default/LSaccessRightsMatrixView.tpl:111
 msgid "Custom actions"
 msgstr "Actions personnalisées"
 
-#: templates/default/LSaccessRightsMatrixView.tpl:92
-#: templates/default/LSaccessRightsMatrixView.tpl:126
+#: templates/default/LSaccessRightsMatrixView.tpl:116
+#: templates/default/LSaccessRightsMatrixView.tpl:150
 msgid "Custom actions / Profiles"
 msgstr "Actions personnalisées / Profils"
 
-#: templates/default/LSaccessRightsMatrixView.tpl:121
+#: templates/default/LSaccessRightsMatrixView.tpl:145
 msgid "Custom search actions"
 msgstr "Actions personnalisées sur les recherches"
 
@@ -2566,9 +2570,9 @@ msgid "Language"
 msgstr "Langue"
 
 #: templates/default/LSaccessRightsMatrixView.tpl:20
-#: templates/default/LSaccessRightsMatrixView.tpl:56
-#: templates/default/LSaccessRightsMatrixView.tpl:94
-#: templates/default/LSaccessRightsMatrixView.tpl:128
+#: templates/default/LSaccessRightsMatrixView.tpl:80
+#: templates/default/LSaccessRightsMatrixView.tpl:118
+#: templates/default/LSaccessRightsMatrixView.tpl:152
 msgid "Legend:"
 msgstr "Légende :"
 
@@ -2617,26 +2621,28 @@ msgid "Please confirm new password:"
 msgstr "Merci de confirmer le nouveau mot de passe :"
 
 #: templates/default/LSaccessRightsMatrixView.tpl:21
-#: templates/default/LSaccessRightsMatrixView.tpl:38
-#: templates/default/LSaccessRightsMatrixView.tpl:57
-#: templates/default/LSaccessRightsMatrixView.tpl:73
+#: templates/default/LSaccessRightsMatrixView.tpl:45
+#: templates/default/LSaccessRightsMatrixView.tpl:61
+#: templates/default/LSaccessRightsMatrixView.tpl:81
+#: templates/default/LSaccessRightsMatrixView.tpl:97
 msgid "R"
 msgstr "L"
 
 #: templates/default/LSaccessRightsMatrixView.tpl:23
-#: templates/default/LSaccessRightsMatrixView.tpl:40
-#: templates/default/LSaccessRightsMatrixView.tpl:59
-#: templates/default/LSaccessRightsMatrixView.tpl:75
+#: templates/default/LSaccessRightsMatrixView.tpl:47
+#: templates/default/LSaccessRightsMatrixView.tpl:63
+#: templates/default/LSaccessRightsMatrixView.tpl:83
+#: templates/default/LSaccessRightsMatrixView.tpl:99
 msgid "R/W"
 msgstr "L/É"
 
 #: templates/default/LSaccessRightsMatrixView.tpl:21
-#: templates/default/LSaccessRightsMatrixView.tpl:57
+#: templates/default/LSaccessRightsMatrixView.tpl:81
 msgid "Readable"
 msgstr "Lecture"
 
 #: templates/default/LSaccessRightsMatrixView.tpl:23
-#: templates/default/LSaccessRightsMatrixView.tpl:59
+#: templates/default/LSaccessRightsMatrixView.tpl:83
 msgid "Readable / Writable"
 msgstr "Lecture / Écriture"
 
@@ -2644,7 +2650,7 @@ msgstr "Lecture / Écriture"
 msgid "Refresh my access rights"
 msgstr "Rafraîchir mes droits d'accès"
 
-#: templates/default/LSaccessRightsMatrixView.tpl:54
+#: templates/default/LSaccessRightsMatrixView.tpl:78
 msgid "Relations / Profiles"
 msgstr "Relations / Profils"
 
@@ -2660,21 +2666,21 @@ msgstr "Afficher/cacher le menu"
 msgid "Subject"
 msgstr "Sujet"
 
-#: templates/default/LSaccessRightsMatrixView.tpl:49
+#: templates/default/LSaccessRightsMatrixView.tpl:73
 msgid "Their relations with other objects"
 msgstr "Leurs relations avec les autres objets"
 
-#: templates/default/LSaccessRightsMatrixView.tpl:118
+#: templates/default/LSaccessRightsMatrixView.tpl:142
 msgid "This object type has no configured custom action."
 msgstr "Ce type d'objet n'a aucune action personnalisée de configurée."
 
-#: templates/default/LSaccessRightsMatrixView.tpl:152
+#: templates/default/LSaccessRightsMatrixView.tpl:176
 msgid "This object type has no configured custom search action."
 msgstr ""
 "Ce type d'objet n'a aucune action personnalisée sur les recherches de "
 "configurée."
 
-#: templates/default/LSaccessRightsMatrixView.tpl:84
+#: templates/default/LSaccessRightsMatrixView.tpl:108
 msgid "This object type has no configured relation."
 msgstr "Ce type d'objet n'a aucune relation de configurée."
 
diff --git a/src/lang/ldapsaisie.pot b/src/lang/ldapsaisie.pot
index 6c72ea66..85d23d98 100644
--- a/src/lang/ldapsaisie.pot
+++ b/src/lang/ldapsaisie.pot
@@ -176,7 +176,7 @@ msgid "Access Right Matrix Support : The global array %{array} is not defined."
 msgstr ""
 
 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.LSaccessRightsMatrixView.php:52
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.LSaccessRightsMatrixView.php:187
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.LSaccessRightsMatrixView.php:209
 msgid "Access rights matrix"
 msgstr ""
 
@@ -184,7 +184,11 @@ msgstr ""
 msgid "All connected users"
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.LSaccessRightsMatrixView.php:183
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.LSaccessRightsMatrixView.php:184
+msgid "Masked attributes"
+msgstr ""
+
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.LSaccessRightsMatrixView.php:205
 msgid "The user him-self"
 msgstr ""
 
@@ -866,133 +870,133 @@ msgstr ""
 msgid "Refresh"
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2726
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2730
 #: templates/default/select.tpl:20 templates/default/recoverpassword.tpl:17
 #: templates/default/login.tpl:16
 msgid "Level"
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2884
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2888
 msgid "LSsession : The constant '%{const}' is not defined."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2887
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2891
 msgid ""
 "LSsession : The addon '%{addon}' support is uncertain. Verify system "
 "compatibility and the add-on configuration."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2890
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2894
 msgid ""
 "LSsession : LDAP server's configuration data are invalid. Can't connect."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2893
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2897
 msgid "LSsession : Failed to load LSobject type '%{type}' : unknon type."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2896
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2900
 msgid "LSsession : Failed to load LSclass '%{class}'."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2899
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2903
 msgid "LSsession : Login or password incorrect."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2902
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2906
 msgid "LSsession : Impossible to identify you : Duplication of identities."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2905
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2909
 msgid "LSsession : Can't load class of authentification (%{class})."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2908
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2912
 msgid "LSsession : Can't connect to LDAP server."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2911
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2915
 msgid "LSsession : Impossible to authenticate you."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2914
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2918
 msgid "LSsession : Your are not authorized to do this action."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2917
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2921
 msgid "LSsession : Some informations are missing to display this page."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2920
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2924
 msgid ""
 "LSsession : The function '%{function}' of the custom action "
 "'%{customAction}' does not exists or is not configured."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2923
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2927
 msgid "LSsession : Fail to retreive user's LDAP credentials from LSauth."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2926
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2930
 msgid ""
 "LSsession : Fail to reconnect to LDAP server with user's LDAP credentials."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2929
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2933
 msgid "LSsession : No import/export format define for this object type."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2932
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2936
 msgid ""
 "LSsession : Error during creation of list of levels. Contact administrators. "
 "(Code : %{code})"
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2935
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2939
 msgid "LSsession : The password recovery is disabled for this LDAP server."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2938
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2942
 msgid ""
 "LSsession : Some informations are missing to recover your password. Contact "
 "administrators."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2941
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2945
 msgid ""
 "LSsession : Error during password recovery. Contact administrators.(Step : "
 "%{step})"
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2944
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2948
 msgid ""
 "LSsession : The function '%{func}' configured for the view '%{view}' of the "
 "LSaddon '%{addon}' is not declared in the LSaddon file."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2948
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2952
 msgid ""
 "LSsession : The function '%{func}' configured for the view '%{view}' of the "
 "LSaddon '%{addon}' doesn't exist."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2951
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2955
 msgid "LSsession : invalid related object's DN pass in parameter."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2954
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2958
 msgid ""
 "LSsession : the LSaddon %{addon} keep using old-style addon view URL. Please "
 "upgrade it."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2957
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2961
 msgid ""
 "LSsession : You have been redirect from an old-style URL %{url}. Please "
 "upgrade this link."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2960
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2964
 msgid ""
 "LSsession : You always seem to use %{old} in your custom code: Please "
 "upgrade it and use %{new}.
\n"
@@ -1574,11 +1578,11 @@ msgstr ""
 msgid "LSauthMethod_HTTP : the %{var} environnement variable is missing."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_mail.php:88
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_mail.php:87
 msgid "Send a mail from here."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_mail.php:120
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_mail.php:119
 msgid ""
 "LSformElement_mail: the autocomplete feature was moved to parent "
 "LSformElement_text class and you still use old configuration style with "
@@ -2130,8 +2134,8 @@ msgstr ""
 msgid "Mr."
 msgstr ""
 
-#: templates/default/LSaccessRightsMatrixView.tpl:95
-#: templates/default/LSaccessRightsMatrixView.tpl:129
+#: templates/default/LSaccessRightsMatrixView.tpl:119
+#: templates/default/LSaccessRightsMatrixView.tpl:153
 msgid "Allowed"
 msgstr ""
 
@@ -2151,16 +2155,16 @@ msgstr ""
 msgid "Connected as"
 msgstr ""
 
-#: templates/default/LSaccessRightsMatrixView.tpl:87
+#: templates/default/LSaccessRightsMatrixView.tpl:111
 msgid "Custom actions"
 msgstr ""
 
-#: templates/default/LSaccessRightsMatrixView.tpl:92
-#: templates/default/LSaccessRightsMatrixView.tpl:126
+#: templates/default/LSaccessRightsMatrixView.tpl:116
+#: templates/default/LSaccessRightsMatrixView.tpl:150
 msgid "Custom actions / Profiles"
 msgstr ""
 
-#: templates/default/LSaccessRightsMatrixView.tpl:121
+#: templates/default/LSaccessRightsMatrixView.tpl:145
 msgid "Custom search actions"
 msgstr ""
 
@@ -2208,9 +2212,9 @@ msgid "Language"
 msgstr ""
 
 #: templates/default/LSaccessRightsMatrixView.tpl:20
-#: templates/default/LSaccessRightsMatrixView.tpl:56
-#: templates/default/LSaccessRightsMatrixView.tpl:94
-#: templates/default/LSaccessRightsMatrixView.tpl:128
+#: templates/default/LSaccessRightsMatrixView.tpl:80
+#: templates/default/LSaccessRightsMatrixView.tpl:118
+#: templates/default/LSaccessRightsMatrixView.tpl:152
 msgid "Legend:"
 msgstr ""
 
@@ -2259,26 +2263,28 @@ msgid "Please confirm new password:"
 msgstr ""
 
 #: templates/default/LSaccessRightsMatrixView.tpl:21
-#: templates/default/LSaccessRightsMatrixView.tpl:38
-#: templates/default/LSaccessRightsMatrixView.tpl:57
-#: templates/default/LSaccessRightsMatrixView.tpl:73
+#: templates/default/LSaccessRightsMatrixView.tpl:45
+#: templates/default/LSaccessRightsMatrixView.tpl:61
+#: templates/default/LSaccessRightsMatrixView.tpl:81
+#: templates/default/LSaccessRightsMatrixView.tpl:97
 msgid "R"
 msgstr ""
 
 #: templates/default/LSaccessRightsMatrixView.tpl:23
-#: templates/default/LSaccessRightsMatrixView.tpl:40
-#: templates/default/LSaccessRightsMatrixView.tpl:59
-#: templates/default/LSaccessRightsMatrixView.tpl:75
+#: templates/default/LSaccessRightsMatrixView.tpl:47
+#: templates/default/LSaccessRightsMatrixView.tpl:63
+#: templates/default/LSaccessRightsMatrixView.tpl:83
+#: templates/default/LSaccessRightsMatrixView.tpl:99
 msgid "R/W"
 msgstr ""
 
 #: templates/default/LSaccessRightsMatrixView.tpl:21
-#: templates/default/LSaccessRightsMatrixView.tpl:57
+#: templates/default/LSaccessRightsMatrixView.tpl:81
 msgid "Readable"
 msgstr ""
 
 #: templates/default/LSaccessRightsMatrixView.tpl:23
-#: templates/default/LSaccessRightsMatrixView.tpl:59
+#: templates/default/LSaccessRightsMatrixView.tpl:83
 msgid "Readable / Writable"
 msgstr ""
 
@@ -2286,7 +2292,7 @@ msgstr ""
 msgid "Refresh my access rights"
 msgstr ""
 
-#: templates/default/LSaccessRightsMatrixView.tpl:54
+#: templates/default/LSaccessRightsMatrixView.tpl:78
 msgid "Relations / Profiles"
 msgstr ""
 
@@ -2302,19 +2308,19 @@ msgstr ""
 msgid "Subject"
 msgstr ""
 
-#: templates/default/LSaccessRightsMatrixView.tpl:49
+#: templates/default/LSaccessRightsMatrixView.tpl:73
 msgid "Their relations with other objects"
 msgstr ""
 
-#: templates/default/LSaccessRightsMatrixView.tpl:118
+#: templates/default/LSaccessRightsMatrixView.tpl:142
 msgid "This object type has no configured custom action."
 msgstr ""
 
-#: templates/default/LSaccessRightsMatrixView.tpl:152
+#: templates/default/LSaccessRightsMatrixView.tpl:176
 msgid "This object type has no configured custom search action."
 msgstr ""
 
-#: templates/default/LSaccessRightsMatrixView.tpl:84
+#: templates/default/LSaccessRightsMatrixView.tpl:108
 msgid "This object type has no configured relation."
 msgstr ""
 
diff --git a/src/templates/default/LSaccessRightsMatrixView.tpl b/src/templates/default/LSaccessRightsMatrixView.tpl
index 9eb5684d..85e390f6 100644
--- a/src/templates/default/LSaccessRightsMatrixView.tpl
+++ b/src/templates/default/LSaccessRightsMatrixView.tpl
@@ -29,7 +29,30 @@
         
       
       
-      {foreach $LSobjects[$LSobject]['attrs'] as $name => $conf}
+      {if $LSobjects[$LSobject]['layout']}
+        {foreach $LSobjects[$LSobject]['layout'] as $tab_name => $tab}
+          
+            {$tab.label}
+          
+          {foreach $tab.attrs as $name}
+          {if !isset($LSobjects[$LSobject]['attrs'][$name])}{continue}{/if}
+          {assign var=conf value=$LSobjects[$LSobject]['attrs'][$name]}
+          
+            {$conf.label} ?
+            {foreach $LSprofiles as $profil => $profil_label}
+            
+            {if $conf.rights[$profil] == 'r'}
+              {tr msg="R"}
+            {elseif $conf.rights[$profil] == 'w'}
+              {tr msg="R/W"}
+            {/if}
+            
+            {/foreach}
+          
+          {/foreach}
+        {/foreach}
+      {else}
+        {foreach $LSobjects[$LSobject]['attrs'] as $name => $conf}
         
           {$conf.label} ?
           {foreach $LSprofiles as $profil => $profil_label}
@@ -42,7 +65,8 @@
           
           {/foreach}
         
-      {/foreach}
+        {/foreach}
+      {/if}