2009-11-23 2 views
2

Y at-il un moyen de désactiver la modification après l'approbation de l'élément?Comment désactiver la modification de l'élément après son approbation dans SharePoint (WSS)?

Une option à laquelle je pensais est d'écrire un gestionnaire d'événements qui se déclenchera lorsque l'utilisateur essayera de modifier l'élément et autorisera l'opération en fonction de l'état d'approbation.

Quelqu'un at-il une solution plus directe à ce problème?

P.S. Le propriétaire de l'article devrait rester le même.

Répondre

1

Ce sont les étapes que je prendrais:

  1. Créer un hanlder d'événement ItemUpdated.
  2. Dans le gestionnaire d'événements, vérifiez la colonne d'état.
  3. Si le statut est approuvé, supprimez l'héritage des autorisations sur l'élément, supprimez l'autorisation de contribution et ajoutez l'autorisation de lecture.

P.S. Vous pouvez également le faire sans code en utilisant Sharepoint Designer Workflow et les activités personnalisées au http://spdactivities.codeplex.com

1

Vous pouvez ajouter un gestionnaire ItemUpdating et annuler simplement les futures opérations de mise à jour avec un message d'erreur sensible pour l'utilisateur. Cela le rend un peu loufoque, cependant, parce que vous leur donnez toujours la possibilité d'essayer de modifier l'article avant de leur claquer la porte au nez. OTTOMH, vous pouvez déclarer un custom edit form dans votre fichier schema.xml pour votre définition de liste. Pour le formulaire d'édition, vous pouvez vous diriger vers une page d'application personnalisée qui évaluerait la possibilité de modification de votre article. Si l'élément est modifiable, il redirige vers le formulaire d'édition normal. Si ce n'est pas modifiable, il affiche le message d'erreur sensible.

L'idée de Unclepaul84 est bonne, surtout si vous voulez vous assurer que l'utilisateur ne voit même pas le menu "modifier" pour un article. Il vous incomberait de parcourir les données de liste existantes et d'appliquer ces paramètres de sécurité, et si vos règles changent, vous devrez revenir en arrière et appliquer les paramètres corrects. Ce n'est peut-être pas une grande préoccupation pour vous, mais si vos règles changent un jour ou si vos règles sont réellement plus dynamiques, je pense que l'interception du formulaire d'édition pourrait vous donner un meilleur kilométrage.

Questions connexes