адрес электронной почты для членства в SPGroup - PullRequest
0 голосов
/ 14 декабря 2010

При создании группы в sharepoint у нас есть опция «Отправить запросы на членство на следующий адрес электронной почты»

Используется для отправки запроса на членство в SPGroup.

Но как мы можем установить адрес электронной почты программно

Ответы [ 2 ]

0 голосов
/ 04 ноября 2015

При использовании SP 2013, с помощью PowerShell вы можете использовать следующий код:

$membersGroup = $siteCollection.SiteGroups["$groupName"]
$membersGroup.RequestToJoinLeaveEmailSetting = "someone@mail.com"
$membersGroup.Update() 
0 голосов
/ 26 апреля 2011

Я пытаюсь выполнить то же самое в событии, активированном функцией.Я нашел, как создать группу и как получить доступ к этим настройкам в объектной модели.Вы можете использовать мой пример ниже.Проблема в том, что мои изменения в этих логических свойствах SPGroup не принимаются, несмотря на вызов SPGroup.Update ().Созданная группа SPG по-прежнему использует настройки по умолчанию (запросы на членство отключены).

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 = "username@domain.com";
                if (!String.IsNullOrEmpty(user.Email))
                    emailForRequests = user.Email;
                collGroups["MySPGroupName"].RequestToJoinLeaveEmailSetting = emailForRequests;
                collGroups["MySPGroupName"].Update();
            }
        }

    }
...