/// <summary> /// Store selected (unselected) memberships. /// </summary> private void SaveData() { bool saved = false; // Check permission for manage membership if (!CMSContext.CurrentUser.IsAuthorizedPerResource("CMS.Membership", "Modify")) { RedirectToAccessDenied("CMS.Membership", "Modify"); } this.lblInfo.Visible = false; // Remove old items string newValues = ValidationHelper.GetString(usMemberships.Value, null); string items = DataHelper.GetNewItemsInList(newValues, currentValues); if (!String.IsNullOrEmpty(items)) { string[] newItems = items.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries); if (newItems != null) { foreach (string item in newItems) { int membershipID = ValidationHelper.GetInteger(item, 0); MembershipRoleInfoProvider.RemoveMembershipFromRole(membershipID, RoleID); MembershipInfoProvider.InvalidateMembershipUsers(membershipID); saved = true; } } } // Add new items items = DataHelper.GetNewItemsInList(currentValues, newValues); if (!String.IsNullOrEmpty(items)) { string[] newItems = items.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries); if (newItems != null) { // Add all new items to membership foreach (string item in newItems) { int membershipID = ValidationHelper.GetInteger(item, 0); MembershipRoleInfoProvider.AddMembershipToRole(membershipID, RoleID); MembershipInfoProvider.InvalidateMembershipUsers(membershipID); saved = true; } } } if (saved) { usMemberships.Reload(true); lblInfo.Visible = true; } }
/// <summary> /// Removes membership from role. Called when the "Remove membership from role" button is pressed. /// </summary> private bool RemoveMembershipFromRole() { // Get role and user objects RoleInfo role = RoleInfoProvider.GetRoleInfo("MyNewRole", CMSContext.CurrentSiteID); MembershipInfo membership = MembershipInfoProvider.GetMembershipInfo("MyNewMembership", CMSContext.CurrentSiteName); if ((role != null) && (membership != null)) { MembershipRoleInfoProvider.RemoveMembershipFromRole(membership.MembershipID, role.RoleID); return(true); } return(false); }
protected void Page_Load(object sender, EventArgs e) { CurrentUserInfo user = CMSContext.CurrentUser; // Check UI profile for membership if (!user.IsAuthorizedPerUIElement("CMS.Administration", "Membership")) { RedirectToCMSDeskUIElementAccessDenied("CMS.Administration", "Membership"); } // Check "read" permission if (!user.IsAuthorizedPerResource("CMS.Membership", "Read")) { RedirectToAccessDenied("CMS.Membership", "Read"); } DataSet ds = MembershipRoleInfoProvider.GetMembershipRoles("RoleID = " + RoleID, String.Empty); if (!DataHelper.DataSourceIsEmpty(ds)) { currentValues = TextHelper.Join(";", SqlHelperClass.GetStringValues(ds.Tables[0], "MembershipID")); } if (!RequestHelper.IsPostBack()) { // Set values usMemberships.Value = currentValues; } // Init uni selector usMemberships.ReturnColumnName = "MembershipID"; usMemberships.DynamicColumnName = true; usMemberships.OnSelectionChanged += new EventHandler(usMemberships_OnSelectionChanged); if (!String.IsNullOrEmpty(currentValues)) { usMemberships.WhereCondition = "MembershipID NOT IN (" + currentValues.Replace(';', ',') + ")"; } string siteWhere = (SiteID <= 0) ? "MembershipSiteID IS NULL" : "MembershipSiteID =" + SiteID; usMemberships.ListingWhereCondition = SqlHelperClass.AddWhereCondition(usMemberships.ListingWhereCondition, siteWhere); usMemberships.WhereCondition = SqlHelperClass.AddWhereCondition(usMemberships.WhereCondition, siteWhere); }
protected void Page_Load(object sender, EventArgs e) { int siteID = CMSContext.CurrentSiteID; membershipID = QueryHelper.GetInteger("MembershipID", 0); // Test security MembershipInfo mi = MembershipInfoProvider.GetMembershipInfo(membershipID); EditedObject = mi; CheckMembershipPermissions(mi); // Set SiteID if (mi != null) { siteID = mi.MembershipSiteID; } usRoles.OnSelectionChanged += new EventHandler(usRoles_OnSelectionChanged); string where = (siteID == 0) ? "SiteID IS NULL" : "SiteID = " + siteID; usRoles.WhereCondition = where + " AND RoleGroupID IS NULL"; DataSet ds = MembershipRoleInfoProvider.GetMembershipRoles("MembershipID = " + membershipID, String.Empty); if (!DataHelper.DataSourceIsEmpty(ds)) { currentValues = TextHelper.Join(";", SystemDataHelper.GetStringValues(ds.Tables[0], "RoleID")); } if (!RequestHelper.IsPostBack()) { // Set values usRoles.Value = currentValues; } }