コード例 #1
0
    protected void btnOk_Click(object sender, EventArgs e)
    {
        // Check 'EditForm' permission
        if (!MembershipContext.AuthenticatedUser.IsAuthorizedPerResource("cms.form", "EditForm"))
        {
            RedirectToAccessDenied("cms.form", "EditForm");
        }

        if (FormInfo != null)
        {
            if (radAllUsers.Checked)
            {
                FormInfo.FormAccess = FormAccessEnum.AllBizFormUsers;
                BizFormRoleInfoProvider.RemoveAllRolesFromForm(FormInfo.FormID);

                // Clear authorized roles from hashtable
                FormInfo.ClearAuthorizedRoles();
                lstRoles.Items.Clear();
            }
            else
            {
                FormInfo.FormAccess = FormAccessEnum.OnlyAuthorizedRoles;
            }

            BizFormInfoProvider.SetBizFormInfo(FormInfo);

            ShowChangesSaved();
        }
    }
コード例 #2
0
    protected void btnRemoveRole_Click(object sender, EventArgs e)
    {
        // Check 'EditForm' permission
        if (!MembershipContext.AuthenticatedUser.IsAuthorizedPerResource("cms.form", "EditForm"))
        {
            RedirectToAccessDenied("cms.form", "EditForm");
        }

        foreach (ListItem item in lstRoles.GetSelectedItems())
        {
            // Remove role-form association from database
            BizFormRoleInfoProvider.DeleteBizFormRoleInfo(Convert.ToInt32(item.Value), FormInfo.FormID);
        }

        LoadRoles();
    }
コード例 #3
0
    /// <summary>
    /// On items selected event handling.
    /// </summary>
    private void usRoles_OnItemsSelected(object sender, EventArgs e)
    {
        // Remove old items
        string newValues = ValidationHelper.GetString(usRoles.Value, null);
        string items     = DataHelper.GetNewItemsInList(newValues, CurrentValues);

        if (!String.IsNullOrEmpty(items))
        {
            string[] newItems = items.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
            if (newItems != null)
            {
                // Add all new items to site
                foreach (string item in newItems)
                {
                    int roleID = ValidationHelper.GetInteger(item, 0);

                    if (PollID > 0)
                    {
                        // Remove role from poll
                        ModuleCommands.PollsRemoveRoleFromPoll(roleID, PollID);
                    }
                    else if (FormID > 0)
                    {
                        // Remove role from form
                        BizFormRoleInfoProvider.DeleteBizFormRoleInfo(roleID, FormID);
                    }
                    else if (BoardID > 0)
                    {
                        // Check permissions
                        if (MembershipContext.AuthenticatedUser.IsAuthorizedPerResource("cms.messageboards", CMSAdminControl.PERMISSION_MODIFY))
                        {
                            // Remove message board from board
                            ModuleCommands.MessageBoardRemoveRoleFromBoard(roleID, BoardID);
                        }
                    }
                    else if (Node != null)
                    {
                        RoleInfo ri = RoleInfoProvider.GetRoleInfo(roleID);
                        // Remove role from treenode
                        AclItemInfoProvider.RemoveRole(NodeID, ri);
                    }
                }
            }
        }

        // 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 site
                foreach (string item in newItems)
                {
                    int roleID = ValidationHelper.GetInteger(item, 0);

                    if (PollID > 0)
                    {
                        // Add poll role
                        ModuleCommands.PollsAddRoleToPoll(roleID, PollID);
                    }
                    else if (FormID > 0)
                    {
                        // Add BizForm role
                        BizFormRoleInfoProvider.SetBizFormRoleInfo(roleID, FormID);
                    }
                    else if (BoardID > 0)
                    {
                        // Add role to the message board
                        ModuleCommands.MessageBoardAddRoleToBoard(roleID, BoardID);
                    }
                    else if (Node != null)
                    {
                        RoleInfo ri = RoleInfoProvider.GetRoleInfo(roleID);
                        // Add role to treenode
                        AclItemInfoProvider.SetRolePermissions(Node, 0, 0, ri);
                    }
                }
            }
        }

        // Log synchronization task
        if (Node != null)
        {
            DocumentSynchronizationHelper.LogDocumentChange(Node, TaskTypeEnum.UpdateDocument, Node.TreeProvider);
        }

        RaiseOnChanged();
    }