2010-12-14 12 views
0

Lors de la création du Groupe en sharepoint nous avons une option « Envoyer les demandes d'adhésion à l'adresse e-mail suivante »demande l'adhésion adresse e-mail pour SPGroup sharepoint

Il est utilisé pour envoyer la demande d'adhésion à l'SPGroup.

Mais comment pouvons-nous définir l'adresse e-mail programme

Répondre

0

Je suis en train de faire la même chose dans un événement de fonction activée. J'ai trouvé comment créer le groupe et comment accéder à ces paramètres dans le modèle objet. Vous pouvez utiliser mon exemple ci-dessous. Le problème est que mes modifications apportées à ces propriétés booléennes du SPGroup ne prennent pas, malgré l'appel de SPGroup.Update(). Le groupe SP créé utilise toujours les paramètres par défaut (les demandes d'appartenance sont désactivées).

public override void FeatureActivated(SPFeatureReceiverProperties properties) 
    { 

     SPSite site = (SPSite)properties.Feature.Parent; 
     { 
      using (SPWeb web = site.RootWeb) 
      { 
       SPGroupCollection collGroups = web.SiteGroups; 
       SPUser user = web.EnsureUser("DOMAIN\\username"); 

       collGroups.Add("MySPGroupName", user, user, "MySPGroupDescription"); 
       if (!web.AssociatedGroups.Contains(collGroups["MySPGroupName"])) 
       { 
        web.AssociatedGroups.Add(collGroups["MySPGroupName"]); 
       } 
       SPRoleAssignment assignment = new SPRoleAssignment(collGroups["MySPGroupName"]); 
       SPRoleDefinition def = web.RoleDefinitions.GetByType(SPRoleType.Contributor); 
       assignment.RoleDefinitionBindings.Add(def); 
       web.RoleAssignments.Add(assignment); 
       web.Update(); 
       collGroups["MySPGroupName"].AllowMembersEditMembership = true; 
       collGroups["MySPGroupName"].AllowRequestToJoinLeave = true; 
       collGroups["MySPGroupName"].OnlyAllowMembersViewMembership = false; 
       string emailForRequests = "[email protected]"; 
       if (!String.IsNullOrEmpty(user.Email)) 
        emailForRequests = user.Email; 
       collGroups["MySPGroupName"].RequestToJoinLeaveEmailSetting = emailForRequests; 
       collGroups["MySPGroupName"].Update(); 
      } 
     } 

    } 
0

Si vous utilisez SP 2013, en utilisant PowerShell vous pouvez utiliser le code suivant:

$membersGroup = $siteCollection.SiteGroups["$groupName"] 
$membersGroup.RequestToJoinLeaveEmailSetting = "[email protected]" 
$membersGroup.Update()