Example #1
0
    protected void Page_Load(object sender, EventArgs e)
    {
        // Get query parameters
        membershipID  = QueryHelper.GetInteger("membershipid", 0);
        isSiteManager = (QueryHelper.GetInteger("siteid", 0) == 0);

        // Get membership
        MembershipInfo mi = MembershipInfoProvider.GetMembershipInfo(membershipID);

        EditedObject = mi;

        // Check permissions
        if (!MembershipContext.AuthenticatedUser.IsGlobalAdministrator)
        {
            if (mi != null)
            {
                if (mi.MembershipSiteID != SiteContext.CurrentSiteID)
                {
                    RedirectToAccessDenied(GetString("general.actiondenied"));
                }
            }
        }

        // Setup where condition
        string where = String.Empty;

        // Products associated with this membership
        where = SqlHelper.AddWhereCondition(where, String.Format("SKUMembershipGUID = '{0}'", mi.MembershipGUID));

        // Set where condition
        productsUniGridElem.WhereCondition = where;
    }
Example #2
0
    protected object membershipsUniGridElem_OnExternalDataBound(object sender, string sourceName, object parameter)
    {
        switch (sourceName.ToLower())
        {
        case "membershipname":
            MembershipInfo mi = MembershipInfoProvider.GetMembershipInfo(ValidationHelper.GetInteger(parameter, 0));

            if (mi != null)
            {
                return(mi.MembershipDisplayName);
            }
            break;

        case "validto":
            DateTime validTo = ValidationHelper.GetDateTime(parameter, DateTimeHelper.ZERO_TIME);

            // Format unlimited membership
            if (validTo.CompareTo(DateTimeHelper.ZERO_TIME) == 0)
            {
                return("-");
            }
            break;
        }

        return(parameter);
    }
    /// <summary>
    /// Gets and bulk updates memberships. Called when the "Get and bulk update memberships" button is pressed.
    /// Expects the CreateMembership method to be run first.
    /// </summary>
    private bool GetAndBulkUpdateMemberships()
    {
        // Prepare the parameters
        string where = "MembershipName LIKE N'MyNewMembership%'";

        // Get the data
        DataSet memberships = MembershipInfoProvider.GetMemberships(where, null);

        if (!DataHelper.DataSourceIsEmpty(memberships))
        {
            // Loop through the individual items
            foreach (DataRow membershipDr in memberships.Tables[0].Rows)
            {
                // Create object from DataRow
                MembershipInfo modifyMembership = new MembershipInfo(membershipDr);

                // Update the properties
                modifyMembership.MembershipDisplayName = modifyMembership.MembershipDisplayName.ToUpper();

                // Save the changes
                MembershipInfoProvider.SetMembershipInfo(modifyMembership);
            }

            return(true);
        }

        return(false);
    }
Example #4
0
    /// <summary>
    /// Handles UniGrid's OnAction event.
    /// </summary>
    /// <param name="actionName">Name of the action which should be performed</param>
    /// <param name="actionArgument">ID of the item the action should be performed with</param>
    protected void gridElem_OnAction(string actionName, object actionArgument)
    {
        int membershipId = ValidationHelper.GetInteger(actionArgument, 0);

        if (membershipId > 0)
        {
            switch (actionName.ToLowerCSafe())
            {
            case "edit":
                SelectedItemID = membershipId;
                RaiseOnEdit();
                break;

            case "delete":
                if (CheckPermissions("CMS.Membership", PERMISSION_MODIFY))
                {
                    // Check dependencies
                    if (MembershipInfoProvider.CheckDependencies(membershipId))
                    {
                        ShowError(GetString("membership.dependencies"));
                        return;
                    }

                    // Delete the object
                    MembershipInfoProvider.DeleteMembershipInfo(membershipId);
                    RaiseOnDelete();

                    // Reload data
                    gridElem.ReloadData();
                }
                break;
            }
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        // Get query parameters
        membershipID = QueryHelper.GetInteger("membershipid", 0);

        // Get membership
        var mi = MembershipInfoProvider.GetMembershipInfo(membershipID);

        EditedObject = mi;

        // Check permissions
        if (!MembershipContext.AuthenticatedUser.CheckPrivilegeLevel(UserPrivilegeLevelEnum.Admin))
        {
            if (mi != null)
            {
                if (mi.MembershipSiteID != SiteContext.CurrentSiteID)
                {
                    RedirectToAccessDenied(GetString("general.actiondenied"));
                }
            }
        }

        // Products and product options associated with this membership
        productsUniGridElem.WhereCondition = $"(SKUMembershipGUID = '{mi.MembershipGUID}') AND ((SKUSiteID = '{mi.MembershipSiteID}') OR SKUSiteID IS NULL)";
    }
Example #6
0
    protected void Page_Load(object sender, EventArgs e)
    {
        membershipID = QueryHelper.GetInteger("MembershipID", 0);
        MembershipInfo mi = MembershipInfoProvider.GetMembershipInfo(membershipID);

        // Test security
        CheckMembershipPermissions(mi);
    }
    /// <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>
    /// Deletes membership. Called when the "Delete membership" button is pressed.
    /// Expects the CreateMembership method to be run first.
    /// </summary>
    private bool DeleteMembership()
    {
        // Get the membership
        MembershipInfo deleteMembership = MembershipInfoProvider.GetMembershipInfo("MyNewMembership", CMSContext.CurrentSiteName);

        // Delete the membership
        MembershipInfoProvider.DeleteMembershipInfo(deleteMembership);

        return(deleteMembership != null);
    }
    /// <summary>
    /// Removes membership from user. Called when the "Remove membership from user" button is pressed.
    /// </summary>
    private bool RemoveMembershipFromUser()
    {
        // Get role and user objects
        UserInfo       user       = UserInfoProvider.GetUserInfo("MyNewUser");
        MembershipInfo membership = MembershipInfoProvider.GetMembershipInfo("MyNewMembership", CMSContext.CurrentSiteName);

        if ((user != null) && (membership != null))
        {
            MembershipUserInfoProvider.RemoveMembershipFromUser(membership.MembershipID, user.UserID);

            return(true);
        }

        return(false);
    }
    /// <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);
    }
    /// <summary>
    /// Creates membership. Called when the "Create membership" button is pressed.
    /// </summary>
    private bool CreateMembership()
    {
        // Create new membership object
        MembershipInfo newMembership = new MembershipInfo();

        // Set the properties
        newMembership.MembershipDisplayName = "My new membership";
        newMembership.MembershipName        = "MyNewMembership";
        newMembership.MembershipSiteID      = CMSContext.CurrentSiteID;

        // Save the membership
        MembershipInfoProvider.SetMembershipInfo(newMembership);

        return(true);
    }
    /// <summary>
    /// Adds membership to user. Called when the "Add membership to user" button is pressed.
    /// </summary>
    private bool AddMembershipToUser()
    {
        // Get role and user objects
        UserInfo       user       = UserInfoProvider.GetUserInfo("MyNewUser");
        MembershipInfo membership = MembershipInfoProvider.GetMembershipInfo("MyNewMembership", CMSContext.CurrentSiteName);

        if ((user != null) && (membership != null))
        {
            MembershipUserInfoProvider.AddMembershipToUser(membership.MembershipID, user.UserID, DateTime.Now.AddMinutes(3));

            return(true);
        }

        return(false);
    }
Example #13
0
 protected void gridElem_OnAction(string actionName, object actionArgument)
 {
     switch (actionName)
     {
     case "delete":
         int membershipId = ValidationHelper.GetInteger(actionArgument, 0);
         if (membershipId > 0)
         {
             // Check permissions
             if (ContactHelper.AuthorizedModifyContact(ci.ContactSiteID, true))
             {
                 MembershipInfoProvider.DeleteRelationship(membershipId);
             }
         }
         break;
     }
 }
Example #14
0
    private void ucSelectCustomer_Changed(object sender, EventArgs e)
    {
        // Check permissions
        if (ContactHelper.AuthorizedModifyContact(ci.ContactSiteID, true))
        {
            // Load value form dynamic control
            string values = null;
            if (ucSelectCustomer != null)
            {
                values = ValidationHelper.GetString(ucSelectCustomer.GetValue("OnlineMarketingValue"), null);
            }

            if (!String.IsNullOrEmpty(values))
            {
                // Store users one by one
                string[] customerIds = values.Split(';');
                foreach (string customerId in customerIds)
                {
                    // Check if user ID is valid
                    int customerIdInt = ValidationHelper.GetInteger(customerId, 0);
                    if (customerIdInt <= 0)
                    {
                        continue;
                    }
                    // Add new relation
                    int parentId = (ci.ContactMergedWithContactID == 0)
                   ? ci.ContactID
                   : ci.ContactMergedWithContactID;

                    MembershipInfoProvider.SetRelationship(customerIdInt, MemberTypeEnum.EcommerceCustomer, ci.ContactID, parentId, true);
                    ci = ContactInfoProvider.GetContactInfo(contactId);
                }

                // When contact was merged then refresh complete page
                if ((ci != null) && (ci.ContactMergedWithContactID > 0))
                {
                    Page.Response.Redirect(URLHelper.Url.ToString(), true);
                }
                else
                {
                    gridElem.ReloadData();
                }
            }
        }
    }
    /// <summary>
    /// Gets and updates membership. Called when the "Get and update membership" button is pressed.
    /// Expects the CreateMembership method to be run first.
    /// </summary>
    private bool GetAndUpdateMembership()
    {
        // Get the membership
        MembershipInfo updateMembership = MembershipInfoProvider.GetMembershipInfo("MyNewMembership", CMSContext.CurrentSiteName);

        if (updateMembership != null)
        {
            // Update the properties
            updateMembership.MembershipDisplayName = updateMembership.MembershipDisplayName.ToLower();

            // Save the changes
            MembershipInfoProvider.SetMembershipInfo(updateMembership);

            return(true);
        }

        return(false);
    }
Example #16
0
    /// <summary>
    /// Gets and bulk updates memberships. Called when the "Get and bulk update memberships" button is pressed.
    /// Expects the CreateMembership method to be run first.
    /// </summary>
    private bool GetAndBulkUpdateMemberships()
    {
        // Prepare the parameters
        string where = "MembershipName LIKE N'MyNewMembership%'";

        // Get the data from database
        var memberships = MembershipInfoProvider.GetMemberships().Where(where);

        // Loop through the individual items
        foreach (MembershipInfo modifyMembership in memberships)
        {
            // Update the properties
            modifyMembership.MembershipDisplayName = modifyMembership.MembershipDisplayName.ToUpper();

            // Save the changes
            MembershipInfoProvider.SetMembershipInfo(modifyMembership);
        }

        // Return TRUE if any object was found and updated, FALSE otherwise
        return(memberships.Count > 0);
    }
    private void UniSelector_OnItemsSelected(object sender, EventArgs e)
    {
        // Check permissions
        if (ContactHelper.AuthorizedModifyContact(ci.ContactSiteID, true))
        {
            string values = ValidationHelper.GetString(selectUser.UniSelector.Value, null);
            if (!String.IsNullOrEmpty(values))
            {
                // Store users one by one
                string[] userIds = values.Split(';');
                foreach (string userId in userIds)
                {
                    // Check if user ID is valid
                    int userIdInt = ValidationHelper.GetInteger(userId, 0);
                    if (userIdInt <= 0)
                    {
                        continue;
                    }
                    // Add new relation
                    int parentId = (ci.ContactMergedWithContactID == 0)
                                       ? ci.ContactID
                                       : ci.ContactMergedWithContactID;
                    MembershipInfoProvider.SetRelationship(userIdInt, MemberTypeEnum.CmsUser, ci.ContactID, parentId, true);

                    // When contact was merged update contact info
                    ci = ContactInfoProvider.GetContactInfo(contactId);
                }

                // When contact was merged then refresh complete page
                if ((ci != null) && (ci.ContactMergedWithContactID > 0))
                {
                    Page.Response.Redirect(URLHelper.Url.ToString(), true);
                }
                else
                {
                    gridElem.ReloadData();
                }
            }
        }
    }
Example #18
0
    /// <summary>
    // Processes the form - saves the data.
    /// </summary>
    private void Process()
    {
        // Check "modify" permission
        if (!CheckPermissions("CMS.Membership", PERMISSION_MODIFY))
        {
            return;
        }

        // Ensure the info object
        if (MembershipObj == null)
        {
            MembershipObj = new MembershipInfo();
            MembershipObj.MembershipSiteID = SiteID;
        }

        if (MembershipObj.MembershipDisplayName != txtMembershipName.Text.Trim())
        {
            // Refresh a breadcrumb if used in the tabs layout
            ScriptHelper.RefreshTabHeader(Page, string.Empty);
        }

        // Initialize object
        MembershipObj.MembershipDisplayName = txtMembershipName.Text.Trim();
        MembershipObj.MembershipName        = txtMembershipCodeName.Text.Trim();
        MembershipObj.MembershipDescription = txtMembershipDescription.Text.Trim();

        // Validate the form
        if (Validate())
        {
            // Save object data to database
            MembershipInfoProvider.SetMembershipInfo(MembershipObj);

            ItemID = MembershipObj.MembershipID;
            RaiseOnSaved();

            // Set the info message
            ShowChangesSaved();
        }
    }
Example #19
0
    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;
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        chkEmail.Enabled      = !String.IsNullOrEmpty(ContactHelper.GetEmailDomain(CurrentContact.ContactEmail));
        chkAddress.Enabled    = !String.IsNullOrEmpty(CurrentContact.ContactAddress1) || !String.IsNullOrEmpty(CurrentContact.ContactAddress2) || !String.IsNullOrEmpty(CurrentContact.ContactCity) || !String.IsNullOrEmpty(CurrentContact.ContactZIP);
        chkBirthDay.Enabled   = (CurrentContact.ContactBirthday != DateTimeHelper.ZERO_TIME);
        chkPhone.Enabled      = !String.IsNullOrEmpty(CurrentContact.ContactBusinessPhone) || !String.IsNullOrEmpty(CurrentContact.ContactHomePhone) || !String.IsNullOrEmpty(CurrentContact.ContactMobilePhone);
        chkMembership.Visible = chkIPaddress.Visible = ci.ContactSiteID != 0;

        if (chkMembership.Visible)
        {
            DataSet ds = MembershipInfoProvider.GetRelationships("(ActiveContactID = " + CurrentContact.ContactID + ")", null, 1, "MembershipID");
            chkMembership.Enabled = !DataHelper.DataSourceIsEmpty(ds);

            ds = IPInfoProvider.GetIps("IPActiveContactID = " + CurrentContact.ContactID, null, 1, "IPID");
            chkIPaddress.Enabled = !DataHelper.DataSourceIsEmpty(ds);
        }

        // Current contact is global object
        if (ci.ContactSiteID == 0)
        {
            plcSite.Visible = true;
            // Display site selector in site manager
            if (ContactHelper.IsSiteManager)
            {
                siteOrGlobalSelector.Visible = false;
            }
            // Display 'site or global' selector in CMS desk for global objects
            else if (ContactHelper.AuthorizedReadContact(CMSContext.CurrentSiteID, false) && ContactHelper.AuthorizedModifyContact(CMSContext.CurrentSiteID, false))
            {
                siteSelector.Visible = false;
            }
            else
            {
                plcSite.Visible = false;
            }
        }
    }
Example #21
0
    protected void Page_Load(object sender, EventArgs e)
    {
        int siteId       = QueryHelper.GetInteger("siteID", 0);
        int membershipId = QueryHelper.GetInteger("membershipID", 0);

        MembershipInfo membership = MembershipInfoProvider.GetMembershipInfo(membershipId);

        if (membership != null)
        {
            // Check E-commerce module availability
            bool ecommerceAvailable = false;

            if (CMSContext.CurrentSiteName != null)
            {
                ecommerceAvailable = LicenseHelper.IsFeatureAvailableInUI(FeatureEnum.Ecommerce, "CMS.Ecommerce") && ResourceSiteInfoProvider.IsResourceOnSite("CMS.Ecommerce", CMSContext.CurrentSiteName);
            }

            // Prepare the tabs
            string[,] tabs = new string[ecommerceAvailable ? 4 : 3, 4];
            string siteIDParam = (siteId != 0) ? "&SiteID=" + siteId : String.Empty;

            tabs[0, 0] = GetString("general.general");
            tabs[0, 1] = "SetHelpTopic('helpTopic', 'membership_general');";
            tabs[0, 2] = "Tab_General.aspx?membershipID=" + membershipId + siteIDParam;

            tabs[1, 0] = GetString("general.roles");
            tabs[1, 1] = "SetHelpTopic('helpTopic', 'membership_roles');";
            tabs[1, 2] = "Tab_Roles.aspx?membershipID=" + membershipId + siteIDParam;

            tabs[2, 0] = GetString("general.users");
            tabs[2, 1] = "SetHelpTopic('helpTopic', 'membership_users');";
            tabs[2, 2] = "Tab_Users.aspx?membershipID=" + membershipId + siteIDParam;

            // Show Ecommerce tab if available
            if (ecommerceAvailable)
            {
                tabs[3, 0] = GetString("ecommerce.products");
                tabs[3, 1] = "SetHelpTopic('helpTopic', 'membership_products');";
                string url = ResolveUrl("~/CMSModules/Ecommerce/Pages/Administration/Membership/Membership_Edit_Products.aspx");
                if (siteId > 0)
                {
                    url = URLHelper.AddParameterToUrl(url, "siteID", siteId.ToString());
                }
                url        = URLHelper.AddParameterToUrl(url, "membershipID", membershipId.ToString());
                tabs[3, 2] = url;
            }

            string query   = URLHelper.GetQuery(URLHelper.Url.ToString());
            string bcQuery = URLHelper.RemoveUrlParameter(query, "membershipID");

            // Prepare the breadcrumbs
            string[,] breadcrumbs = new string[2, 3];
            breadcrumbs[0, 0]     = GetString("membership.membership.list");
            breadcrumbs[0, 1]     = "~/CMSModules/Membership/Pages/Membership/List.aspx" + bcQuery;
            breadcrumbs[0, 2]     = "_parent";
            breadcrumbs[1, 0]     = membership.MembershipDisplayName;

            // Set the tabs
            ICMSMasterPage master = CurrentMaster;
            master.Tabs.Tabs      = tabs;
            master.Tabs.UrlTarget = "content";

            // Set the title
            PageTitle title = CurrentMaster.Title;
            title.Breadcrumbs   = breadcrumbs;
            title.TitleText     = GetString("membership.membership.edit");
            title.TitleImage    = GetImageUrl("Objects/CMS_Membership/object.png");
            title.HelpTopicName = "membership_general";
            title.HelpName      = "helpTopic";
        }
    }
Example #22
0
    protected void Page_Load(object sender, EventArgs e)
    {
        membershipID = QueryHelper.GetInteger("membershipID", 0);
        MembershipInfo mi = MembershipInfoProvider.GetMembershipInfo(membershipID);

        EditedObject = mi;

        // Test permissions
        CheckMembershipPermissions(mi);

        usUsers.AdditionalColumns       = "UserID,ValidTo";
        usUsers.GridName                = "~/CMSModules/Membership/Pages/Users/UsersValidTo.xml";
        usUsers.DynamicColumnName       = false;
        usUsers.SelectItemPageUrl       = "~/CMSModules/Membership/Pages/Users/User_Edit_Add_Item_Dialog.aspx";
        usUsers.AdditionalUrlParameters = "&UseSendNotification=1";
        usUsers.WhereCondition          = (mi.MembershipSiteID > 0) ? $"UserID IN (SELECT UserID FROM CMS_UserSite WHERE SiteID={mi.MembershipSiteID})" : String.Empty;
        usUsers.ListingWhereCondition   = "MembershipID =" + membershipID;
        usUsers.ReturnColumnName        = "UserID";
        usUsers.DialogWindowHeight      = 790;

        // Load data in administration
        currentValues = GetMembershipUsers();
        if (!RequestHelper.IsPostBack())
        {
            usUsers.Value = currentValues;
        }


        string script = "function setNewDateTime(date) {$cmsj('#" + hdnDate.ClientID + "').val(date);}";

        script += "function setNewSendNotification(sendNotification) {$cmsj('#" + hdnSendNotification.ClientID + "').val(sendNotification);}";
        ScriptHelper.RegisterClientScriptBlock(Page, typeof(string), "key", ScriptHelper.GetScript(script));

        usUsers.OnSelectionChanged    += UniSelector_OnSelectionChanged;
        usUsers.OnAdditionalDataBound += usUsers_OnAdditionalDataBound;

        // Manage single item valid to change by calendar
        string eventTarget   = Request[postEventSourceID];
        string eventArgument = Request[postEventArgumentID];

        if (eventTarget == ucCalendar.DateTimeTextBox.UniqueID)
        {
            // Check "modify" permission
            if (!MembershipContext.AuthenticatedUser.IsAuthorizedPerResource("CMS.Membership", "ManageUserMembership"))
            {
                RedirectToAccessDenied("CMS.Membership", "Manage user membership");
            }

            int id = ValidationHelper.GetInteger(hdnDate.Value, 0);

            if (id != 0)
            {
                DateTime           dt  = ValidationHelper.GetDateTime(eventArgument, DateTimeHelper.ZERO_TIME);
                MembershipUserInfo mui = MembershipUserInfoProvider.GetMembershipUserInfo(mi.MembershipID, id);
                if (mui != null)
                {
                    mui.ValidTo = dt;
                    MembershipUserInfoProvider.SetMembershipUserInfo(mui);

                    // Invalidate changes
                    UserInfoProvider.InvalidateUser(mui.UserID);

                    ShowChangesSaved();
                }
            }
        }
    }
Example #23
0
    protected void Page_Load(object sender, EventArgs e)
    {
        membershipID = QueryHelper.GetInteger("membershipID", 0);
        MembershipInfo mi = MembershipInfoProvider.GetMembershipInfo(membershipID);

        EditedObject = mi;

        // Test permissions
        CheckMembershipPermissions(mi);

        usUsers.AdditionalColumns       = "UserID,ValidTo";
        usUsers.GridName                = "~/CMSModules/Membership/Pages/Users/UsersValidTo.xml";
        usUsers.DynamicColumnName       = false;
        usUsers.SelectItemPageUrl       = "~/CMSModules/Membership/Pages/Users/User_Edit_Add_Item_Dialog.aspx";
        usUsers.AdditionalUrlParameters = "&UseSendNotification=1";
        usUsers.WhereCondition          = (mi.MembershipSiteID > 0) ? "UserID IN (SELECT UserID FROM CMS_UserSite WHERE SiteID=" + mi.MembershipSiteID + ")" : String.Empty;
        usUsers.ListingWhereCondition   = "MembershipID =" + membershipID;
        usUsers.ReturnColumnName        = "UserID";

        // Load data in administration
        currentValues = GetMembershipUsers();
        if (!RequestHelper.IsPostBack())
        {
            usUsers.Value = currentValues;
        }

        if (!String.IsNullOrEmpty(currentValues))
        {
            usUsers.WhereCondition = SqlHelperClass.AddWhereCondition(usUsers.WhereCondition, "UserID NOT IN (" + currentValues.Replace(';', ',') + ")");
        }

        string script = "function setNewDateTime(date) {$j('#" + hdnDate.ClientID + "').val(date);}";

        script += "function setNewSendNotification(sendNotification) {$j('#" + this.hdnSendNotification.ClientID + "').val(sendNotification);}";
        ScriptHelper.RegisterClientScriptBlock(Page, typeof(string), "key", ScriptHelper.GetScript(script));

        usUsers.OnSelectionChanged    += UniSelector_OnSelectionChanged;
        usUsers.OnAdditionalDataBound += new CMSAdminControls_UI_UniSelector_UniSelector.AdditionalDataBoundEventHandler(usUsers_OnAdditionalDataBound);

        // Manage single item valid to change by calendar
        string eventTarget   = Request["__EVENTTARGET"];
        string eventArgument = Request["__EVENTARGUMENT"];

        if (eventTarget == ucCalendar.DateTimeTextBox.UniqueID)
        {
            // Check "modify" permission
            if (!CMSContext.CurrentUser.IsAuthorizedPerResource("CMS.Membership", "ManageUserMembership"))
            {
                RedirectToAccessDenied("CMS.Membership", "Manage user membership");
            }

            int id = ValidationHelper.GetInteger(hdnDate.Value, 0);

            if (id != 0)
            {
                DateTime           dt  = ValidationHelper.GetDateTime(eventArgument, DateTimeHelper.ZERO_TIME);
                MembershipUserInfo mui = MembershipUserInfoProvider.GetMembershipUserInfo(mi.MembershipID, id);
                if (mui != null)
                {
                    mui.ValidTo = dt;
                    MembershipUserInfoProvider.SetMembershipUserInfo(mui);
                    UserInfo ui = UserInfoProvider.GetUserInfo(id);

                    // Invalidate changes
                    if (ui != null)
                    {
                        ui.Invalidate();
                    }

                    this.lblInfo.Visible = true;
                    this.lblInfo.Text    = GetString("General.ChangesSaved");
                }
            }
        }
    }