Question : Permissions faites sur commande de statut de déroulement des opérations de Sharepoint

nous createad qu'un workfow fait sur commande s'est associé à la bibliothèque de formes, nous faisons rassembler « les données l'action d'utilisateur » qui créent une nouvelle tâche dans la liste de tâche faite sur commande « HRTasks », le problème nous avons la tâche créée pouvons être édités par tous contribuons des utilisateurs, pouvons nous avons soulevé le message nié par accès quand l'utilisateur au lequel non assigné quand clic l'article de tâche cet vers l'avant au

Thanks
« énumère de page/HRTasks/DispForm.aspx " class= de

Réponse : Permissions faites sur commande de statut de déroulement des opérations de Sharepoint

Bonjour,

J'ai essayé de courir le code et les travaux très bien avec l'utilisateur affecté et non-assigné.
Veuillez attacher le programme de mise au point (attache à w3wp.exe) dans le studio visuel pour corriger l'issue.

Sous ce pli le code, nous avons employé -

vide public ItemUpdating (propriétés de priorité de SPItemEventProperties)
        {
            base.ItemUpdating (propriétés) ;

            si == (de properties.ListTitle.Equals (DocumentLibararyType.Tasks , StringComparison.InvariantCultureIgnoreCase) vrai)
            {
                Emplacement = nulle de SPWeb ;
                essai
                {
                    spItem de SPListItem = properties.ListItem ;
                    emplacement = properties.OpenWeb () ;
                    spOwnerGroup de SPGroup = site.AssociatedOwnerGroup ;
                    spCurrentUser de SPUser = site.CurrentUser ;

                    ficeler le strStatus = le spItem [ItemFiledType.Status] .ToString () ;
                    intIndex d'international = spItem [ItemFiledType.AssignedTo] .ToString () .IndexOf (« #") ;
                    ficeler le spAssignedTo = le spItem [ItemFiledType.AssignedTo] .ToString (). Enlever (0, intIndex + 1) ;
                    ficeler le spCurrentUserLoginName = le site.CurrentUser.LoginName ;
                    ficeler le spCurrentUserName = le site.CurrentUser.Name ;  // s'est ajouté pour voir si « assigné à » correspond le nom de l'utilisateur courant.
                    blnAllowUpdate de bool = faux ;

                    si == (de spCurrentUserLoginName.Equals (« \ de sharepoint \ système », StringComparison.InvariantCultureIgnoreCase) faux)
                    {
                        foreach (SPGroup spg dans spCurrentUser.Groups)
                        {
                            si (site.AssociatedOwnerGroup ! = nulle)
                            {
                                si == 0 (de spg. Name.CompareTo (site.AssociatedOwnerGroup.Name))
                                {
                                    si == (de strStatus.Equals (FileItemStatusType.Completed, StringComparison.InvariantCultureIgnoreCase) vrai)
                                    {
                                        // ceci est le message que nous voudrions montrer à l'utilisateur
                                        // s'il essaye de mettre à jour une tâche active
                                        properties.ErrorMessage = « tâche est déjà accompli et ne peut pas être mis à jour maintenant.  » ;
                                        //// cette ligne décommande réellement la suppression
                                        propriétés. L'annulation = rectifient ;
                                    }
                                    autrement
                                    {
                                        le blnAllowUpdate = rectifient ;
                                    }
                                }
                            }
                        }

                        // si le statut de tâche est complet il n'est plus tâche active
                        // autrement nous décommandons la suppression
                        // si (strStatus ! = strStatus « réalisé » de && ! = strStatus de && de « production » ! = « approbation niée »)
                        si (== de blnAllowUpdate faux)
                        {
                            // « spAssignedTo.CompareTo (spCurrentUserName) ! = 0 » que cette condition s'est ajoutée pour voir si « assigné à » correspond le nom de l'utilisateur courant.
                            si ((spAssignedTo.CompareTo (spCurrentUserLoginName) ! = 0 && spAssignedTo.CompareTo (spCurrentUserName) ! = 0) &&
                                == (de strStatus.Equals (FileItemStatusType.Completed, StringComparison.InvariantCultureIgnoreCase) faux))
                            {
                                // ceci est le message que nous voudrions montrer à l'utilisateur
                                // s'il essaye de mettre à jour une tâche active
                                properties.ErrorMessage = « cet article est encore en marche et peut seulement être mis à jour par le créateur de l'article.  » ;
                                //// cette ligne décommande réellement la suppression
                                propriétés. L'annulation = rectifient ;
                            }
                            autrement si == (de strStatus.Equals (FileItemStatusType.Completed, StringComparison.InvariantCultureIgnoreCase) vrai)
                            {
                                // ceci est le message que nous voudrions montrer à l'utilisateur
                                // s'il essaye de supprimer une tâche active
                                properties.ErrorMessage = « tâche est déjà accompli et ne peut pas être mis à jour maintenant.  » ;
                                //// cette ligne décommande réellement la suppression
                                propriétés. L'annulation = rectifient ;
                            }
                        }
                    }
                }
                crochet (exception ex)
                {
                    properties.ErrorMessage = « une erreur interne s'est produit tout en faisant l'action » + Environment.NewLine +
                        . Message.ToString ex () ;
                    propriétés. L'annulation = rectifient ;
                }
            }

        }

J'espère, il aide.

Acclamations…
Rajendra
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us