예제 #1
0
    /// <summary>
    /// Saves data of edited role from TextBoxes into DB.
    /// </summary>
    protected void btnOK_Click(object sender, EventArgs e)
    {
        if (!CheckPermissions("cms.roles", PERMISSION_MODIFY))
        {
            return;
        }

        // Generate code name in simple mode
        string codeName    = txtRoleCodeName.Text.Trim();
        string displayName = txtRoleDisplayName.Text.Trim();

        // Check whether required fields are not empty
        string errorMessage = new Validator().NotEmpty(displayName, GetString("general.requiresdisplayname"))
                              .NotEmpty(codeName, GetString("general.requirescodename"))
                              .IsCodeName(codeName, GetString("general.invalidcodename")).Result;

        if (errorMessage == string.Empty)
        {
            txtRoleCodeName.Text    = codeName;
            txtRoleDisplayName.Text = displayName;
            if (GlobalRole && CMSContext.CurrentUser.UserSiteManagerAdmin)
            {
                RoleInfo ri = RoleInfoProvider.GetExistingRoleInfo(codeName, 0);
                if ((ri == null) || (ri.RoleID == ItemID) || (codeName == BaseInfo.CODENAME_AUTOMATIC))
                {
                    SaveRole(ri, codeName, displayName);
                }
                else
                {
                    ShowError(GetString("Administration-Role_New.RoleExists"));
                }
            }
            else
            {
                SiteInfo si = SiteInfoProvider.GetSiteInfo(SiteID);
                if (si != null)
                {
                    // Check unique name
                    RoleInfo ri = RoleInfoProvider.GetExistingRoleInfo(codeName, si.SiteID);
                    if ((ri == null) || (ri.RoleID == ItemID) || (codeName == BaseInfo.CODENAME_AUTOMATIC))
                    {
                        SaveRole(ri, codeName, displayName);
                    }
                    else
                    {
                        ShowError(GetString("Administration-Role_New.RoleExists"));
                    }
                }
            }
        }
        else
        {
            ShowError(errorMessage);
        }
    }
예제 #2
0
    /// <summary>
    /// Saves data of edited role from TextBoxes into DB.
    /// </summary>
    protected void btnOK_Click(object sender, EventArgs e)
    {
        if (!CheckPermissions("cms.roles", PERMISSION_MODIFY))
        {
            return;
        }

        // Generate code name in simple mode
        string codeName    = txtRoleCodeName.Text.Trim();
        string displayName = txtRoleDisplayName.Text.Trim();

        if ((DisplayMode == ControlDisplayModeEnum.Simple) && (ItemID == 0))
        {
            codeName = ValidationHelper.GetCodeName(txtRoleDisplayName.Text, 50) + "_group_" + GroupGUID;
        }

        // Check whether required fields are not empty
        string errorMessage = new Validator().NotEmpty(displayName, GetString("general.requiresdisplayname"))
                              .NotEmpty(codeName, GetString("general.requirescodename"))
                              .IsCodeName(codeName, GetString("general.invalidcodename")).Result;

        if (errorMessage == string.Empty)
        {
            txtRoleCodeName.Text    = codeName;
            txtRoleDisplayName.Text = displayName;
            if (GlobalRole && CMSContext.CurrentUser.UserSiteManagerAdmin)
            {
                RoleInfo ri = RoleInfoProvider.GetExistingRoleInfo(codeName, 0);
                if ((ri == null) || (ri.RoleID == ItemID))
                {
                    SaveRole(ri, codeName, displayName);
                }
                else
                {
                    lblError.Visible = true;
                    lblError.Text    = GetString("Administration-Role_New.RoleExists");
                }
            }
            else
            {
                SiteInfo si = SiteInfoProvider.GetSiteInfo(SiteID);
                if (si != null)
                {
                    // Ensure safe role name
                    if (UserInfoProvider.UseSafeRoleName)
                    {
                        codeName = ValidationHelper.GetSafeUserName(codeName, si.SiteName);
                    }

                    // Check unique name
                    RoleInfo ri = RoleInfoProvider.GetExistingRoleInfo(codeName, si.SiteID);
                    if ((ri == null) || (ri.RoleID == ItemID))
                    {
                        SaveRole(ri, codeName, displayName);
                    }
                    else
                    {
                        lblError.Visible = true;
                        lblError.Text    = GetString("Administration-Role_New.RoleExists");
                    }
                }
            }
        }
        else
        {
            lblError.Visible = true;
            lblError.Text    = errorMessage;
        }
    }