SharePoint : Bug natif dans le modèle de liste « Forum de discussion »

Un paquet de CAML !

Quelque soient les droits des utilisateurs dans un forum de discussion SharePoint, le lien « Afficher les propriétés » apparait pour chaque message. Or ce lien redirige vers les propriétés du message, où il est possible de le modifier, le supprimer…

Résultat : l’utilisateur va se retrouver devant une page d’erreur quand il tentera ces actions.

Pour corriger ce dysfonctionnement natif, le mieux et de créer son propre modèle de liste DiscussionList (en copiant-collant l’original), et de corriger le fichier %FEATURE%DiscussionsListDiscussschema.xml

Dans notre cas, on va simplement afficher ce lien uniquement aux utilisateurs qui sont l’auteur du message. A la ligne 351du fichier, il faut remplacer le code défécteux par celui-ci (entre le </Switch> de la ligne 351 et le <IfHasRights> de la ligne 354) :

          <HTML><![CDATA[<td style="border-style:none" nowrap="TRUE"><div>]]></HTML>
<IfEqual>
<Expr1>
<Column Name="Author"/>
</Expr1>
<Expr2>
<UserID></UserID>
</Expr2>
<Then>
<HTML><![CDATA[<a id="DisplayLink]]></HTML>
<Field Name="ID" />
<HTML><![CDATA[" href="]]></HTML>
<URL Cmd="EDIT" />
<HTML><![CDATA[" ONCLICK="GoToLink(this);return false;" target="_self">]]></HTML>
<HTML><![CDATA[<NOBR>Afficher les propriétés</NOBR></a>]]></HTML>
</IfHasRights>
</Then>
</IfEqual>

Bien sûr, tout ceci peut être libre de toute fantaisie !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *