Ejemplo n.º 1
0
        private string CheckIfUsersAndRolesExist(string[] usernames, string[] roleNames, string siteName)
        {
            UserInfo user;

            //Checks if all usernames are valid
            for (int i = 0; i < usernames.Length; i++)
            {
                user = UserInfoProvider.GetUserInfo(usernames[i]);
                if (user == null)
                {
                    return("invalid username: "******"invalid roleName: " + roleNames[i]);
                }
            }
            return("");
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Nottify Admin
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 protected void btnNotifyAdmin_Click(object sender, EventArgs e)
 {
     try
     {
         var      nodeGuid      = CurrentDocument.NodeGUID;
         var      emailTemplate = DIContainer.Resolve <IKenticoResourceService>().GetSettingsKey(SiteContext.CurrentSiteID, "KDA_CampaignProductAddedTemplate");
         Campaign campaign      = CampaignProvider.GetCampaign(nodeGuid, CurrentDocument.DocumentCulture, CurrentSite.SiteName);
         var      program       = ProgramProvider.GetPrograms()
                                  .WhereEquals("ProgramId", ddlPrograms.SelectedValue)
                                  .FirstOrDefault();
         if (program != null)
         {
             program.GlobalAdminNotified = true;
             program.Update();
             var roleName = SettingsKeyInfoProvider.GetValue(CurrentSite.SiteName + ".KDA_GlobalAminRoleName");
             var role     = RoleInfoProvider.GetRoleInfo(roleName, CurrentSite.SiteID);
             if (role != null)
             {
                 var users = RoleInfoProvider.GetRoleUsers(role.RoleID);
                 if (users != null)
                 {
                     foreach (var user in users.AsEnumerable().ToList())
                     {
                         ProductEmailNotifications.CampaignEmail(campaign.DocumentName, user.Field <string>("Email"), emailTemplate, program.DocumentName);
                     }
                 }
             }
             Response.Redirect(CurrentDocument.DocumentUrlPath, false);
         }
     }
     catch (Exception ex)
     {
         EventLogProvider.LogException("CMSWebParts_Kadena_Campaign_Web_Form_CampaignProductsFilter", "btnNotifyAdmin_Click", ex, CurrentSite.SiteID, ex.Message);
     }
 }
Ejemplo n.º 3
0
    private void MemberNonMemberRoles(string roletype, UserInfo user)
    {
        RoleInfo role = RoleInfoProvider.GetRoleInfo(roletype, CMS.SiteProvider.SiteContext.CurrentSiteID);

        // UserInfo user = UserInfoProvider.GetUserInfo("test");

        if ((role != null))
        {
            // Create new user role object
            UserRoleInfo userRole = new UserRoleInfo();

            // Set the properties
            userRole.UserID = user.UserID;
            userRole.RoleID = role.RoleID;

            // Save the user role
            UserRoleInfoProvider.SetUserRoleInfo(userRole);
            CMS.Membership.UserInfoProvider.AddUserToRole(user.UserName, roletype, CMS.SiteProvider.SiteContext.CurrentSiteName);
            //return true;
        }
        else
        {
            // create role and add user to it
            CreateUpdateRole(roletype);
            CMS.Membership.UserInfoProvider.AddUserToRole(user.UserName, roletype, CMS.SiteProvider.SiteContext.CurrentSiteName);
        }
    }
Ejemplo n.º 4
0
    protected void Page_Load(object sender, EventArgs e)
    {
        roleId  = QueryHelper.GetInteger("roleid", 0);
        groupId = QueryHelper.GetInteger("groupid", 0);

        string   currentRole = "";
        RoleInfo role        = RoleInfoProvider.GetRoleInfo(roleId);

        if (role != null)
        {
            currentRole = role.DisplayName;
        }

        // Initialize PageTitle breadcrumbs
        string[,] pageTitleTabs = new string[2, 3];
        pageTitleTabs[0, 0]     = GetString("general.roles");
        pageTitleTabs[0, 1]     = "~/CMSModules/Groups/Tools/Roles/Role_List.aspx?groupid=" + groupId;
        pageTitleTabs[0, 2]     = "_parent";
        pageTitleTabs[1, 0]     = currentRole;
        pageTitleTabs[1, 1]     = "";
        pageTitleTabs[1, 2]     = "";

        this.CurrentMaster.Title.Breadcrumbs   = pageTitleTabs;
        this.CurrentMaster.Title.HelpTopicName = "group_role_general";
        this.CurrentMaster.Title.HelpName      = "title";

        // Register script
        ScriptHelper.RegisterClientScriptBlock(this, typeof(string), "ShowContent", ScriptHelper.GetScript("function ShowContent(contentLocation) { parent.frames['content'].location.href= contentLocation; }"));

        // Tabs
        InitalizeTabs();
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        roleUsersElem.IsLiveSite = false;

        roleId  = QueryHelper.GetInteger("roleid", 0);
        groupId = QueryHelper.GetInteger("groupid", 0);

        // Check whether group exists
        GroupInfo gi = GroupInfoProvider.GetGroupInfo(groupId);

        if (gi != null)
        {
            //Check whether selected role is in selected group
            RoleInfo ri = RoleInfoProvider.GetRoleInfo(roleId);
            if ((ri != null) && (ri.RoleGroupID == gi.GroupID))
            {
                roleUsersElem.RoleID              = roleId;
                roleUsersElem.GroupID             = groupId;
                roleUsersElem.OnCheckPermissions += roleUsersElem_OnCheckPermissions;
            }
        }
        else
        {
            roleUsersElem.Visible = false;
        }
    }
Ejemplo n.º 6
0
    /// <summary>
    /// Adds role to message board. Called when the button "Add role to board" is pressed.
    /// Expects the method CreateMessageBoard to be run first.
    /// </summary>
    private bool AddRoleToMessageBoard()
    {
        // Get the tree structure
        TreeProvider tree = new TreeProvider(CMSContext.CurrentUser);

        // Get the root document
        TreeNode root = tree.SelectSingleNode(CMSContext.CurrentSiteName, "/", null, true);

        if (root != null)
        {
            // Get the message board
            BoardInfo board = BoardInfoProvider.GetBoardInfo("MyNewBoard", root.DocumentID);

            // Get the role CMSDeskAdmin
            RoleInfo role = RoleInfoProvider.GetRoleInfo("CMSDeskAdmin", CMSContext.CurrentSite.SiteID);

            if ((board != null) && (role != null))
            {
                // Add role to message board
                BoardRoleInfoProvider.AddRoleToBoard(role.RoleID, board.BoardID);

                return(true);
            }
        }

        return(false);
    }
Ejemplo n.º 7
0
    /// <summary>
    /// Adds role permission to media library. Called when the "Add role permission to library " button is pressed.
    /// Expects the CreateMediaLibrary method to be run first.
    /// </summary>
    private bool AddRolePermissionToLibrary()
    {
        // Get the media library
        MediaLibraryInfo mediaLibrary = MediaLibraryInfoProvider.GetMediaLibraryInfo("MyNewLibrary", SiteContext.CurrentSiteName);

        // Get the role
        RoleInfo libraryRole = RoleInfoProvider.GetRoleInfo("CMSDeskAdmin", SiteContext.CurrentSiteID);

        // Get the permission
        PermissionNameInfo libraryPermission = PermissionNameInfoProvider.GetPermissionNameInfo("FileCreate", "CMS.MediaLibrary", null);

        if ((mediaLibrary != null) && (libraryRole != null) && (libraryPermission != null))
        {
            // Create a new media library role permision info
            MediaLibraryRolePermissionInfo rolePermission = new MediaLibraryRolePermissionInfo();

            // Set the values
            rolePermission.LibraryID    = mediaLibrary.LibraryID;
            rolePermission.RoleID       = libraryRole.RoleID;
            rolePermission.PermissionID = libraryPermission.PermissionId;

            // Add role permission to media library
            MediaLibraryRolePermissionInfoProvider.SetMediaLibraryRolePermissionInfo(rolePermission);

            return(true);
        }

        return(false);
    }
Ejemplo n.º 8
0
    /// <summary>
    /// Returns the dataset with roles for specified site.
    /// </summary>
    /// <param name="users">Determines whether to return only roles to which the user is assigned</param>
    private DataSet GetRoleDataset(bool users)
    {
        string siteWhere = (siteId.ToString() == siteSelector.GlobalRecordValue) ? "SiteID IS NULL" : "SiteID = " + siteId;

        string where = "(RoleID " + (users ? "" : "NOT ") + "IN (SELECT RoleID FROM CMS_UserRole WHERE UserID = " + userId + ")) AND " + siteWhere + " AND RoleGroupID IS NULL";

        // Exclude generic roles
        string    genericWhere = null;
        ArrayList genericRoles = RoleInfoProvider.GetGenericRoles();

        if (genericRoles.Count != 0)
        {
            foreach (string role in genericRoles)
            {
                genericWhere += "'" + SqlHelperClass.GetSafeQueryString(role, false) + "',";
            }

            if (genericWhere != null)
            {
                genericWhere = genericWhere.TrimEnd(',');
            }
            where += " AND ( RoleName NOT IN (" + genericWhere + ") )";
        }

        return(RoleInfoProvider.GetRoles("RoleDisplayName, RoleID", where, "RoleDisplayName", 0));
    }
Ejemplo n.º 9
0
    /// <summary>
    /// Returns where condition for specialized role conditions or <c>null</c> in case no roles were selected.
    /// </summary>
    /// <param name="selector">Condition to use (ANY/ALL)</param>
    /// <param name="selectedRoles">Values separated with semicolon</param>
    /// <remarks>
    /// <c>null</c> is returned in order to allow calling <see cref="WhereConditionBase{TParent}.WhereNot"/> on method's result
    /// (empty <see cref="WhereCondition"/> would cause appending "NOT" to SQL query).
    /// </remarks>
    private WhereCondition GetRolesSelectorCondition(string selector, string selectedRoles)
    {
        if (String.IsNullOrEmpty(selectedRoles))
        {
            return(null);
        }

        string[] roles = selectedRoles.Split(';');

        var globalRolesCondition = GetGlobalRolesCondition(roles);

        var roleCondition = GetSiteRolesCondition(roles).Or(globalRolesCondition);

        var query = UserRoleInfoProvider.GetUserRoles()
                    .Column("UserID")
                    .WhereIn("RoleID", RoleInfoProvider.GetRoles()
                             .Column("RoleID")
                             .Where(roleCondition))
                    .Where(new WhereCondition()
                           .WhereNull("ValidTo")
                           .Or()
                           .WhereGreaterThan("ValidTo", DateTime.Now))
                    .GroupBy("UserID");

        if (selector.Equals(UniGrid.ALL, StringComparison.OrdinalIgnoreCase))
        {
            query.Having(condition => condition.WhereEquals(new CountColumn("RoleID"), roles.Length));
        }

        var userIdColumn = SessionInsteadOfUser ? "SessionUserID" : "UserID";

        return(new WhereCondition().WhereIn(userIdColumn, query));
    }
Ejemplo n.º 10
0
    /// <summary>
    /// Removes role from message board. Called when the button "Remove role from board" is pressed.
    /// Expects the method AddRoleToMessageBoard to be run first.
    /// </summary>
    private bool RemoveRoleFromMessageBoard()
    {
        // Get the tree structure
        TreeProvider tree = new TreeProvider(MembershipContext.AuthenticatedUser);

        // Get the root document
        TreeNode root = tree.SelectSingleNode(SiteContext.CurrentSiteName, "/", null, true);

        if (root != null)
        {
            // Get the message board
            BoardInfo board = BoardInfoProvider.GetBoardInfo("MyNewBoard", root.DocumentID);

            // Get the role
            RoleInfo role = RoleInfoProvider.GetRoleInfo("CMSDeskAdmin", SiteContext.CurrentSite.SiteID);

            if ((board != null) && (role != null))
            {
                BoardRoleInfo boardRole = BoardRoleInfoProvider.GetBoardRoleInfo(role.RoleID, board.BoardID);

                if (boardRole != null)
                {
                    // Remove role from message board
                    BoardRoleInfoProvider.DeleteBoardRoleInfo(boardRole);

                    return(true);
                }
            }
        }

        return(false);
    }
Ejemplo n.º 11
0
 public RoleInfo GetRole(string RoleName, string SiteName, string[] Columns = null)
 {
     return(RoleInfoProvider.GetRoles()
            .OnSite(new CMS.DataEngine.SiteInfoIdentifier(SiteName))
            .ColumnsNullHandled(Columns)
            .FirstOrDefault());
 }
Ejemplo n.º 12
0
    /// <summary>
    /// Adds permission to role. Called when the "Add permission to role" button is pressed.
    /// Expects the CreatePermission method to be run first.
    /// </summary>
    private bool AddPermissionToRole()
    {
        // Get the permission
        PermissionNameInfo permission = PermissionNameInfoProvider.GetPermissionNameInfo("MyNewPermission", "MyNewModule", null);

        // Get the role
        RoleInfo role = RoleInfoProvider.GetRoleInfo("cmsdeskadmin", SiteContext.CurrentSiteID);

        if ((permission != null) && (role != null))
        {
            // Create new role permission object
            RolePermissionInfo newRolePermission = new RolePermissionInfo();

            // Set the properties
            newRolePermission.PermissionID = permission.PermissionId;
            newRolePermission.RoleID       = role.RoleID;

            // Add permission to role
            RolePermissionInfoProvider.SetRolePermissionInfo(newRolePermission);

            return(true);
        }

        return(false);
    }
Ejemplo n.º 13
0
    /// <summary>
    /// Creates role UI element. Called when the "Add element to role" button is pressed.
    /// Expects the CreateUIElement method to be run first.
    /// </summary>
    private bool AddUIElementToRole()
    {
        // Get the role
        RoleInfo role = RoleInfoProvider.GetRoleInfo("cmsdeskadmin", SiteContext.CurrentSiteID);

        // Get the UI element
        UIElementInfo element = UIElementInfoProvider.GetUIElementInfo("MyNewModule", "MyNewElement");

        if ((role != null) && (element != null))
        {
            // Create new role UI element object
            RoleUIElementInfo newRoleElement = new RoleUIElementInfo();

            // Set the properties
            newRoleElement.RoleID    = role.RoleID;
            newRoleElement.ElementID = element.ElementID;

            // Save the role UI element
            RoleUIElementInfoProvider.SetRoleUIElementInfo(newRoleElement);

            return(true);
        }

        return(false);
    }
Ejemplo n.º 14
0
        public HttpResponseMessage GetRoles()
        {
            ObjectQuery <RoleInfo> roles;

            try
            {
                //the roles are got
                roles = RoleInfoProvider.GetRoles().OrderByDescending("RoleDisplayName");
                //puts the relevant information into a new object to represent the role
                List <Object> roleList = roles.Select(
                    roleInfo => new
                {
                    RoleId          = roleInfo.RoleID,
                    RoleName        = roleInfo.RoleName,
                    RoleDisplayName = roleInfo.DisplayName
                }).OrderBy(role => role.RoleDisplayName)
                                         .ToList <Object>();
                //everything is OK, the roles are also returned
                return(Request.CreateResponse(HttpStatusCode.OK, new { roleList = roleList }));
            }
            catch (Exception e)
            {
                return(Request.CreateResponse(HttpStatusCode.ServiceUnavailable, new { errorMessage = e.Message }));
            }
        }
Ejemplo n.º 15
0
 public HttpResponseMessage GetRole(int roleId)
 {
     try
     {
         List <Object> roles = RoleInfoProvider.GetRoles()
                               .WhereEquals("RoleID", roleId)
                               .Select(
             row => new
         {     //puts the relevant information into a new object representing the role
             RoleId          = row.RoleID,
             RoleName        = row.RoleName,
             RoleDisplayName = row.DisplayName
         }
             ).ToList <Object>();
         if (roles.First() != null)
         {
             //everything is OK, the role is also returned
             return(Request.CreateResponse(HttpStatusCode.OK, new { role = roles.First() }));
         }
         return(Request.CreateResponse(HttpStatusCode.BadRequest, "No role with the given roleId exists."));
     }
     catch (Exception e)
     {
         return(Request.CreateResponse(HttpStatusCode.ServiceUnavailable, new { errorMessage = e.Message }));
     }
 }
Ejemplo n.º 16
0
        public HttpResponseMessage DeleteRole(int roleId = 0)
        {
            if (roleId == 0)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, new { errorMessage = "Invalid roleId" }));
            }

            RoleInfo deleteRole = new RoleInfo();

            try
            {
                // Gets the role
                deleteRole = RoleInfoProvider.GetRoleInfo(roleId);
            }
            catch (Exception e)
            {
                return(Request.CreateResponse(HttpStatusCode.ServiceUnavailable, new { errorMessage = e.Message }));
            }

            if (deleteRole != null)
            {
                try
                {
                    // Deletes the role
                    RoleInfoProvider.DeleteRoleInfo(deleteRole);
                    return(Request.CreateResponse(HttpStatusCode.OK, new { }));
                }
                catch (Exception e)
                {
                    return(Request.CreateResponse(HttpStatusCode.BadRequest, new { errorMessage = e.Message }));
                }
            }
            return(Request.CreateResponse(HttpStatusCode.BadRequest, new { errorMessage = "There's a problem with your role." }));
        }
Ejemplo n.º 17
0
    protected void Page_Load(object sender, EventArgs e)
    {
        // Hide site selector
        usUsers.ShowSiteFilter = false;

        // Set selector live site and hide special users
        usUsers.IsLiveSite = IsLiveSite;
        if (IsLiveSite)
        {
            usUsers.HideDisabledUsers = true;
            usUsers.HideHiddenUsers   = true;
        }

        // Show only user belonging to role's site
        RoleInfo ri = RoleInfoProvider.GetRoleInfo(RoleID);

        if (ri != null)
        {
            usUsers.SiteID = ri.SiteID == 0 ? -1 : ri.SiteID;
        }

        // Load data in administration
        if (!IsLiveSite)
        {
            currentValues = GetRoleUsers();

            if (!RequestHelper.IsPostBack())
            {
                usUsers.Value = currentValues;
            }
        }

        usUsers.UniSelector.OnSelectionChanged += UniSelector_OnSelectionChanged;
    }
Ejemplo n.º 18
0
    /// <summary>
    /// Gets and bulk updates roles. Called when the "Get and bulk update roles" button is pressed.
    /// Expects the CreateRole method to be run first.
    /// </summary>
    private bool GetAndBulkUpdateRoles()
    {
        // Prepare the parameters
        string where = "RoleName LIKE N'MyNewRole%'";

        // Get the data
        DataSet roles = RoleInfoProvider.GetRoles(where, null);

        if (!DataHelper.DataSourceIsEmpty(roles))
        {
            // Loop through the individual items
            foreach (DataRow roleDr in roles.Tables[0].Rows)
            {
                // Create object from DataRow
                RoleInfo modifyRole = new RoleInfo(roleDr);

                // Update the properties
                modifyRole.DisplayName = modifyRole.DisplayName.ToUpper();

                // Save the changes
                RoleInfoProvider.SetRoleInfo(modifyRole);
            }

            return(true);
        }

        return(false);
    }
Ejemplo n.º 19
0
    /// <summary>
    /// Expects the "CreateDocumentStructure" method to be run first.
    /// </summary>
    private bool SetRolePermissions()
    {
        // Create an instance of the Tree provider
        TreeProvider tree = new TreeProvider(CMSContext.CurrentUser);

        // Get default culture code
        string culture = SettingsKeyProvider.GetStringValue(CMSContext.CurrentSiteName + ".CMSDefaultCultureCode");

        // Get the API Example document
        TreeNode node = tree.SelectSingleNode(CMSContext.CurrentSiteName, "/API-Example", culture);

        if (node != null)
        {
            // Get the role ID
            RoleInfo role = RoleInfoProvider.GetRoleInfo("CMSEditor", CMSContext.CurrentSiteName);

            if (role != null)
            {
                // Prepare allowed / denied permissions
                int allowed = 0;
                int denied  = 0;
                allowed += Convert.ToInt32(Math.Pow(2, Convert.ToInt32(NodePermissionsEnum.Modify)));

                // Create an instance of ACL provider
                AclProvider acl = new AclProvider(tree);

                // Set role permissions
                acl.SetRolePermissions(node, allowed, denied, role.RoleID);

                return(true);
            }
        }

        return(false);
    }
Ejemplo n.º 20
0
        /// <inheritdoc/>
        public void SetLoggingRole(IRole role, string taskGroupName)
        {
            // Gets a "collection" of task groups (in this case one group whose code name is equal to "Group_Name")
            // TODO: get task groups from a task group service as well.
            var taskGroups = TaskGroupInfoProvider.GetTaskGroups().WhereEquals("TaskGroupCodeName", taskGroupName);

            // Prepares a synchronization action context
            // The context ensures that any staging tasks logged by the wrapped code are included in the specified task groups
            using (new SynchronizationActionContext()
            {
                TaskGroups = taskGroups
            })
            {
                // Creates a new role object
                RoleInfo newRole = new RoleInfo
                {
                    // Sets the role properties
                    RoleDisplayName = role.RoleDisplayName,
                    RoleName        = role.RoleName,
                    SiteID          = role.SiteID,
                };

                // Saves the role to the database
                RoleInfoProvider.SetRoleInfo(newRole);
            }
        }
    /// <summary>
    /// Reloads data.
    /// </summary>
    public override void ReloadData()
    {
        base.ReloadData();

        // Get roles for current user
        LoadCurrentRoles();

        string where           = CreateWhereCondition();
        usRoles.WhereCondition = where;

        // Show message or uniselector?
        RoleInfo role = RoleInfoProvider.GetRoles().Where(where).Columns("RoleID").TopN(1).FirstOrDefault();

        if (role == null)
        {
            usRoles.Visible = false;
            lblRole.Visible = true;
        }
        else
        {
            usRoles.Visible = true;
            lblRole.Visible = false;
        }

        // Enable or disable buttons according to state of user's approval process
        if ((CurrentMember != null) && (CurrentMember.MemberGroupID > 0))
        {
            // Current user cannot approve/reject him self
            if (IsLiveSite && (CurrentMember.MemberUserID == MembershipContext.AuthenticatedUser.UserID))
            {
                // Member can nothing
                btnApprove.Enabled = false;
                btnReject.Enabled  = false;
            }
            else if (CurrentMember.MemberStatus == GroupMemberStatus.Approved)
            {
                // Member can be rejected
                btnApprove.Enabled = false;
                btnReject.Enabled  = true;
            }
            else if (CurrentMember.MemberStatus == GroupMemberStatus.Rejected)
            {
                // Member can be approved
                btnApprove.Enabled = true;
                btnReject.Enabled  = false;
            }
            else if (CurrentMember.MemberStatus == GroupMemberStatus.WaitingForApproval)
            {
                // Member can be rejected and approved
                btnApprove.Enabled = true;
                btnReject.Enabled  = true;
            }
        }

        InitializeForm();
        usRoles.Value = currentValues;
    }
Ejemplo n.º 22
0
        public void SetUp()
        {
            mMembershipFakeFactory.GetIntegrationUsers().ToList().ForEach(x => UserInfoProvider.SetUserInfo(x));
            mMembershipFakeFactory.GetIntegrationRoles().ToList().ForEach(x => RoleInfoProvider.SetRoleInfo(x));
            mMembershipFakeFactory.GetIntegrationExternalLogins().ToList().ForEach(x => ExternalLoginInfoProvider.SetExternalLoginInfo(x));
            SettingsKeyInfoProvider.SetValue("cmssitesharedaccounts", 0, "True");

            mUserStore = new UserStore("NonExistingSiteForTestingPurposes");
        }
Ejemplo n.º 23
0
        public async Task RoleDeletion_OneRoleIsCreatedWithID_AfterDeletingRole_NoRoleInfoExists()
        {
            int idToBeDeleted = role.Id;

            await store.DeleteAsync(role);

            CMSAssert.All(
                () => Assert.AreNotEqual(0, idToBeDeleted),
                () => Assert.AreEqual(0, RoleInfoProvider.GetRoles().Count));
        }
Ejemplo n.º 24
0
    /// <summary>
    /// Deletes role. Called when the "Delete role" button is pressed.
    /// Expects the CreateRole method to be run first.
    /// </summary>
    private bool DeleteRole()
    {
        // Get the role
        RoleInfo deleteRole = RoleInfoProvider.GetRoleInfo("MyNewRole", CMSContext.CurrentSiteID);

        // Delete the role
        RoleInfoProvider.DeleteRoleInfo(deleteRole);

        return(deleteRole != null);
    }
Ejemplo n.º 25
0
        public Role[] GetAllRoles(int siteID)
        {
            var roles = RoleInfoProvider.GetAllRoles(siteID)
                        .Select(s => new Role {
                ID = s.RoleID, Description = s.RoleDisplayName
            })
                        .ToArray();

            return(roles);
        }
Ejemplo n.º 26
0
    private ObjectQuery <RoleInfo> GetBoardRoles(params string[] columns)
    {
        var roles = RoleInfoProvider.GetRoles()
                    .Columns(columns)
                    .WhereIn("RoleID", BoardRoleInfoProvider.GetBoardRoles()
                             .Column("RoleID")
                             .WhereEquals("BoardID", BoardID));

        return(roles);
    }
Ejemplo n.º 27
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);
        }
    }
Ejemplo n.º 28
0
        public HttpResponseMessage RemoveUsersFromRoles([FromBody] JObject postData)
        {
            string[] usernames, roleNames;
            string   siteName;

            //parsing postdata
            try
            {
                usernames = postData["usernames"].ToObject <string[]>();
                roleNames = postData["roleNames"].ToObject <string[]>();
                siteName  = postData["siteName"].ToObject <string>();
            }
            catch (Exception e)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, new { errorMessage = e.Message }));
            }
            //checks if the given usernames and role names are valid on the given site
            string check = CheckIfUsersAndRolesExist(usernames, roleNames, siteName);

            if (check != "")
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, new { errorMessage = check }));
            }

            UserInfo user;
            RoleInfo role;

            //for all usernames
            for (int i = 0; i < usernames.Length; i++)
            {   //gets the user according to the username
                user = UserInfoProvider.GetUserInfo(usernames[i]);
                //and for all role names
                for (int j = 0; j < roleNames.Length; j++)
                {
                    //all global and membership roles will be checked
                    bool checkGlobalRoles = true;
                    bool checkMembership  = true;

                    // Checks whether the user is assigned to a role with the role name
                    if (user.IsInRole(roleNames[j], siteName, checkGlobalRoles, checkMembership))
                    {
                        // Removes the user from the role
                        try
                        {
                            role = RoleInfoProvider.GetRoleInfo(roleNames[i], siteName, true);
                            UserInfoProvider.RemoveUserFromRole(user.UserID, role.RoleID);
                        } catch (Exception e)
                        {
                            return(Request.CreateResponse(HttpStatusCode.BadRequest, new { errorMessage = e.Message }));
                        }
                    }
                }
            }
            return(Request.CreateResponse(HttpStatusCode.OK, new { }));
        }
Ejemplo n.º 29
0
 private string AreRoleIdsValid(int[] roleIds)
 {
     for (int i = 0; i < roleIds.Length; i++)
     {
         if (RoleInfoProvider.GetRoleInfo(roleIds[i]) == null)
         {
             return("invalid roleId: " + roleIds[i]);
         }
     }
     return("");
 }
Ejemplo n.º 30
0
        private RoleInfo GetRoleByRoleName(string roleName, int siteId)
        {
            var role = RoleInfoProvider.GetRoleInfo(roleName, siteId);

            if (role == null)
            {
                throw new InvalidOperationException(ResHelper.GetString("general.rolenotfound"));
            }

            return(role);
        }