private void setupWebUserGroup(SPWeb web, string groupName, SPRoleType role, string groupDescription = null)
        {
            SPGroup group = null;

            try
            {
                group = web.SiteGroups[groupName];
                log.addInformation("Existing Group '" + group.Name + "' found.  Will attach to site " + web.ServerRelativeUrl.ToString());
            }
            catch
            {
                log.addWarning("'" + groupName + "' Group wasn't found.  Will be created.");
                web.SiteGroups.Add(groupName, web.CurrentUser, web.CurrentUser, groupDescription);
                group = web.SiteGroups[groupName];
                group.RemoveUser(web.CurrentUser);
            }
            finally
            {
                SPRoleDefinition roleDefinition = web.RoleDefinitions.GetByType(role);
                SPRoleAssignment roleAssignment = new SPRoleAssignment(group);
                roleAssignment.RoleDefinitionBindings.Add(roleDefinition);
                web.RoleAssignments.Add(roleAssignment);
                web.Update();
            }
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Removes all users from the group
 /// </summary>
 /// <param name="group">the effected group</param>
 public static void RemoveUsers(this SPGroup group)
 {
     foreach (SPUser u in group.Users)
     {
         group.RemoveUser(u);
     }
 }
Ejemplo n.º 3
0
 public static void emptySPGroup(SPGroup group)
 {
     foreach (SPUser user in group.Users)
     {
         group.RemoveUser(user);
     }
 }
        public static void Clear(this SPGroup group)
        {
            var users = group.Users;

            foreach (SPUser user in users)
            {
                group.RemoveUser(user);
            }
        }
Ejemplo n.º 5
0
        public void RemoveUser(object user)
        {
            var instance = user as SPUserInstance;

            if (instance != null)
            {
                var spUser = instance;
                m_group.RemoveUser(spUser.User);
            }
            else
            {
                SPUser spUser;
                var    loginName = TypeConverter.ToString(user);
                if (SPHelper.TryGetSPUserFromLoginName(loginName, out spUser) == false)
                {
                    throw new JavaScriptException(Engine, "Error", "A user with the specified login name does not exist.");
                }
                m_group.RemoveUser(spUser);
            }
        }
Ejemplo n.º 6
0
        internal void RemoveMember(SPSite site, SPUser userToRemove)
        {
            SPGroup members = this.MembersGroup(site);

            if (members != null)
            {
                members.RemoveUser(userToRemove);
                members.Update();

                SyncRemoveMember(members, userToRemove);
            }
        }
Ejemplo n.º 7
0
        private void DeleteUserFromGroup(SPWeb web, string groupName, string userName)
        {
            if (IsExistGroup(web, groupName))
            {
                web.AllowUnsafeUpdates = true;

                SPGroup group = web.SiteGroups.GetByName(groupName);
                SPUser  user  = web.EnsureUser(userName);
                group.RemoveUser(user);
                group.Update();

                web.AllowUnsafeUpdates = false;
            }
        }
Ejemplo n.º 8
0
        private void SyncRemoveMember(SPGroup fromGroup, SPUser userToRemove)
        {
            WBFarm farm      = WBFarm.Local;
            String groupName = fromGroup.Name;

            SPSecurity.RunWithElevatedPrivileges(delegate()
            {
                using (SPSite site = new SPSite(farm.TimerJobsManagementSiteUrl))
                    using (SPWeb web = site.OpenWeb())
                    {
                        SPList dailyJobs        = web.Lists[WBTimerTasksJob.DAILY_TIMER_TASKS__LIST_NAME];
                        SPView inOrderToExecute = dailyJobs.Views[WBTimerTasksJob.DAILY_TIMER_TASKS__ORDERED_VIEW_NAME];

                        foreach (SPListItem task in dailyJobs.GetItems(inOrderToExecute))
                        {
                            string command   = task.WBxGetColumnAsString(WBTimerTask.COLUMN_NAME__COMMAND);
                            string targetUrl = task.WBxGetColumnAsString(WBTimerTask.COLUMN_NAME__TARGET_URL);
                            string argument1 = task.WBxGetColumnAsString(WBTimerTask.COLUMN_NAME__ARGUMENT_1);

                            if (command == WBTimerTask.COMMAND__SYNCHRONISE_ALL_TEAMS)
                            {
                                using (SPSite toSite = new SPSite(targetUrl))
                                {
                                    SPGroup toGroup = toSite.RootWeb.WBxGetGroupOrNull(groupName);

                                    toSite.AllowUnsafeUpdates         = true;
                                    toSite.RootWeb.AllowUnsafeUpdates = true;

                                    if (toGroup != null)
                                    {
                                        WBLogging.Teams.Verbose("Removing a user: "******"Something went wrong when trying to remove " + userToRemove.LoginName + " from " + groupName + " on site collection " + targetUrl, exception);
                                        }
                                    }
                                }
                            }
                        }
                    }
            });
        }
Ejemplo n.º 9
0
        /// <summary>
        /// Remove User from Group
        /// </summary>
        /// <param name="web"></param>
        /// <param name="user"></param>
        /// <param name="groupName"></param>
        public static void RemoveUserFromGroup(SPWeb web, SPUser user, string groupName)
        {
            web.AllowUnsafeUpdates = true;
            SPGroup group = null;

            if (GroupExistsInSiteCollection(web, groupName))
            {
                group = web.SiteGroups[groupName];

                bool userExsists = user.Groups.Cast <SPGroup>().Any(g => g.Name.ToLower() == groupName.ToLower());

                if (group != null && userExsists)
                {
                    SPUser spUser = web.EnsureUser(user.LoginName);
                    group.RemoveUser(spUser);
                }
            }
            web.AllowUnsafeUpdates = false;
        }
Ejemplo n.º 10
0
 public static void LeaveGroup(this SPUser spUser, string groupName, SPWeb spWeb)
 {
     SPSecurity.RunWithElevatedPrivileges(delegate()
     {
         using (SPSite site = new SPSite(spWeb.Site.ID))
         {
             using (SPWeb web = site.OpenWeb(spWeb.ID))
             {
                 SPGroup spGroup = web.SiteGroups[groupName];
                 if (spUser.InGroup(spGroup))
                 {
                     web.AllowUnsafeUpdates = true;
                     spGroup.RemoveUser(spUser);
                     web.AllowUnsafeUpdates = false;
                 }
             }
         }
     });
 }
Ejemplo n.º 11
0
        internal void RemoveOwner(SPSite site, SPUser userToRemove)
        {
            if (userToRemove == null)
            {
                return;
            }
            if (IsUserTeamManager(userToRemove))
            {
                WBLogging.Teams.HighLevel("You can't remove the team manager (" + ManagerLogin + ") from being an owner of the team (" + Name + ")");
                return;
            }

            SPGroup owners = this.OwnersGroup(site);

            if (owners != null)
            {
                owners.RemoveUser(userToRemove);
                owners.Update();
            }
        }
        public void RemoveUserFromGroup(UserObject user)
        {
            if (user == null)
            {
                return;
            }
            if (string.IsNullOrEmpty(user.UserName))
            {
                return;
            }
            if (string.IsNullOrEmpty(user.GroupName))
            {
                return;
            }
            try
            {
                SPUser sharepointUser = GetUserObject(user.UserName);
                if (sharepointUser == null)
                {
                    return;
                }
                SPGroup sharepointGroup = GetGroupObject(user.GroupName);
                if (sharepointGroup == null)
                {
                    return;
                }

                sharepointGroup.RemoveUser(sharepointUser);
                sharepointGroup.Update();
            }
            catch (Exception ex)
            {
                var log = new AppEventLog(AppException.ExceptionMessage(ex, "RemoveUserFromGroup", "ClsHelper"));
                log.WriteToLog();
            }
        }
Ejemplo n.º 13
0
        private void AddOrRemoveUserToGroup(IEnumerable <string> groups, UserOpType operationType)
        {
            XPathNavigator root    = MainDataSource.CreateNavigator();
            string         siteUrl = root.SelectSingleNode("/my:EmployeeForm/my:siteUrl", NamespaceManager).Value;
            string         userID  = root.SelectSingleNode("/my:EmployeeForm/my:txtUserID", NamespaceManager).Value;

            if (groups.Count() > 0)
            {
                using (SPSite site = new SPSite(siteUrl))
                {
                    using (SPWeb web = site.RootWeb)
                    {
                        web.AllowUnsafeUpdates = true;
                        SPUser user = web.EnsureUser(userID);

                        foreach (string group in groups)
                        {
                            SPGroup spGroup = web.Groups[group];
                            if (spGroup != null)
                            {
                                if (operationType.Equals(UserOpType.AddUser))
                                {
                                    spGroup.AddUser(user);
                                }
                                else
                                {
                                    spGroup.RemoveUser(user);
                                }
                            }
                        } //  foreach (string group

                        web.AllowUnsafeUpdates = false;
                    }
                }
            } // if (groups.Count() > 0)
        }
        /// <summary>
        /// Adds SharePoint group to SharePoint v3 site
        /// </summary>
        /// <param name="SiteURL">SharePoint v3 site URL</param>
        /// <param name="GroupName">Group to be added</param>
        /// <param name="GroupOwner">Group owner. If the user does not belong to site it will be added.</param>
        /// <param name="DefaultUser">Default group user. If the user does not belong to site it will be added.</param>
        /// <param name="OverwriteIfExists">If set, the group will be removed and created again, if it exists.</param>
        /// <param name="ResultText">The method returns log of operations performed.</param>
        /// <returns>true if the group is successfully added.</returns>
        public bool CreateUsersGroup(string siteURL, string groupName, CS4User groupOwner,
                                     CS4User defaultUser, bool overwriteIfExists, ref string resultText)
        {
            bool result = false;

            resultText = String.Format(TextResources.AttemptingToCreateGroup, groupName) + Environment.NewLine;
            SPSite            site    = null;
            SPWeb             siteWeb = null;
            SPGroupCollection groups  = null;

            try
            {
                site    = new SPSite(siteURL);
                siteWeb = site.OpenWeb();
                groups  = siteWeb.SiteGroups;
            }
            catch (System.Exception ex)
            {
                resultText += TextResources.CantCreateGroup + ex.Message + System.Environment.NewLine;
                return(result);
            }
            SPUser user = null;
            bool   createDefaultUser = false;

            try
            {
                user = siteWeb.SiteUsers[defaultUser.UserLoginWithDomain];
            }
            catch
            {
                //user does not exist
                createDefaultUser = true;
            }
            SPMember owner            = null;
            bool     createGroupOwner = false;

            try
            {
                owner = siteWeb.SiteUsers[groupOwner.UserLoginWithDomain];
            }
            catch
            {
                createGroupOwner = true;
            }
            try
            {
                if (createDefaultUser)
                {
                    AddSiteUser(defaultUser);
                    user = siteWeb.SiteUsers[defaultUser.UserLoginWithDomain];
                }
                if (createGroupOwner)
                {
                    AddSiteUser(groupOwner);
                    owner = siteWeb.SiteUsers[groupOwner.UserLoginWithDomain];
                }
            }
            catch (System.Exception ex)
            {
                resultText += TextResources.NoGroupOwnerOrDefaultUser + ex.Message + Environment.NewLine;
                return(result);
            }
            SPGroup group       = null;
            bool    groupExists = false;

            try
            {
                group       = groups[groupName];
                groupExists = true;
                resultText += TextResources.GroupExists + Environment.NewLine;
            }
            catch
            {
                //group does not exist
            }
            try
            {
                if (groupExists)
                {
                    if (overwriteIfExists)
                    {
                        SPUserCollection groupUsers = group.Users;
                        //emptying group users collection
                        foreach (SPUser groupUser in groupUsers)
                        {
                            group.RemoveUser(groupUser);
                        }
                        groups.Remove(groupName);
                    }
                    else
                    {
                        result = true;
                        return(result);
                    }
                }
                groups.Add(groupName, owner, user, String.Empty);
                resultText += TextResources.GroupCreated + System.Environment.NewLine;
                result      = true;
            }
            catch (System.Exception ex)
            {
                resultText += ex.Message;
            }
            return(result);
        }