示例#1
0
    /// <summary>
    /// Removes authorized role to project. Called when the "Remove authorized role" button is pressed.
    /// Expects the CreateProject and AddAuthorizedRole methods to be run first.
    /// </summary>
    private bool RemoveAuthorizedRole()
    {
        // Get the project
        ProjectInfo        project    = ProjectInfoProvider.GetProjectInfo("MyNewProject", SiteContext.CurrentSiteID, 0);
        RoleInfo           role       = RoleInfoProvider.GetRoleInfo("CMSDeskAdmin", SiteContext.CurrentSiteID);
        PermissionNameInfo permission = PermissionNameInfoProvider.GetPermissionNameInfo("AccessToProject", "ProjectManagement", null);

        if ((project != null) && (role != null) && (permission != null))
        {
            // Remove relationship
            ProjectRolePermissionInfoProvider.RemoveRelationship(project.ProjectID, role.RoleID, permission.PermissionId);

            return(true);
        }

        return(false);
    }
示例#2
0
    /// <summary>
    /// On item changed event.
    /// </summary>
    protected void gridMatrix_OnItemChanged(object sender, int roleId, int permissionId, bool allow)
    {
        if (!CheckPermissions("CMS.ProjectManagement", PERMISSION_MANAGE))
        {
            return;
        }

        // Delete permission hash tables
        ProjectInfoProvider.ClearProjectPermissionTable(ProjectID, CMSContext.CurrentUser);

        if (allow)
        {
            ProjectRolePermissionInfoProvider.AddRelationship(ProjectID, roleId, permissionId);
        }
        else
        {
            ProjectRolePermissionInfoProvider.RemoveRelationship(ProjectID, roleId, permissionId);
        }
    }