We apologize for untranslated text, you can use the Google Translation button to get an automatic translation of the web page in the language of your choice.

Lien "Ajouter un contact" de la portlet Annuaire (Box)

Cyril DAVID · on 10/28/13 at 4:49 PM

Bonjour,

Sur mon environnement JCMS PME Edition v2.1, j'ai constaté que le lien "Ajouter un contact" ne s'affichait pas toujours dans la portlet Annuaire (Gabarit Box).

Sur le coup j'ai pensé à des droits d'accès différents, entre ceux qui peuvent voir ce lien, et les autres, mais ce ne serait apparemment pas le problème : avec deux utilisateurs identiques, l'un voit le lien, l'autre ne le voit pas.

En scrutant le code du fichier JSP chargé d'afficher le lien (plugins/ESNPlugin/jsp/directory/doDirectoryFooter.jsp), j'ai identifié la condition qui déterminait l'affichage ou non du lien :

<% if (com.jalios.jcmsplugin.esn.ESNManager.getInstance().canCreateExternalContacts(loggedMember) && channel.isDataWriteEnabled()) { %>

De rapides tests m'ont permis de comprendre que le premier membre du test est à l'origine de ce comportement, mais je n'en sais pas plus pour le moment.

Est-ce que quelqu'un saurait m'expliquer la raison d'un tel comportement ?

Merci d'avance,

4 pts
Ronan Kerdudou · on 10/31/13 at 5:01 PM

La méthode "canCreateExternalContacts" effectue 3 tests :

  • Vérifie la propriété "jcmsplugin.esn.external-contacts" qui permet de faire disparaitre le lien pour tout le monde si elle est mise à 'false'.
  • Vérifie si le membre possède un profil ESN, c'est sans doute ce qui manque dans votre cas, l'utilisateur doit d'abord renseigner son profil avant de pouvoir créer des contacts.
  • Vérifie le droit "canCreateContact" sur le membre. Point sur lequel vous pouvez agir via un RightPolicyFilter.

Si aucun de ces 3 test ne refuse le droit de créer un contact alors l'action est autorisée et le lien apparait.

0 pts