projectroles.ascx.cs

来自「BugNET is an issue tracking and project 」· CS 代码 · 共 462 行 · 第 1/2 页

CS
462
字号
        {
            switch (e.CommandName)
            {
                case "Edit":
                    //get roles details and bind to form
                    BindRoleDetails(Convert.ToInt32(e.CommandArgument));
                    break;
            }
        }

        /// <summary>
        /// Updates the permissions.
        /// </summary>
        /// <param name="roleId">The role id.</param>
        private void UpdatePermissions(int roleId)
        {
            //adds
            if (chkAddIssue.Checked)
            { Role.AddRolePermission(roleId, (int)Globals.Permission.ADD_ISSUE); }
            else
            { Role.DeleteRolePermission(roleId, (int)Globals.Permission.ADD_ISSUE); }
            if (chkAddComment.Checked)
            { Role.AddRolePermission(roleId, (int)Globals.Permission.ADD_COMMENT); }
            else
            { Role.DeleteRolePermission(roleId, (int)Globals.Permission.ADD_COMMENT); }
            if (chkAddAttachment.Checked)
            { Role.AddRolePermission(roleId, (int)Globals.Permission.ADD_ATTACHMENT); }
            else
            { Role.DeleteRolePermission(roleId, (int)Globals.Permission.ADD_ATTACHMENT); }
            if (chkAddRelated.Checked)
            { Role.AddRolePermission(roleId, (int)Globals.Permission.ADD_RELATED); }
            else
            { Role.DeleteRolePermission(roleId, (int)Globals.Permission.ADD_RELATED); }
            if (chkAddTimeEntry.Checked)
            { Role.AddRolePermission(roleId, (int)Globals.Permission.ADD_TIME_ENTRY); }
            else
            { Role.DeleteRolePermission(roleId, (int)Globals.Permission.ADD_TIME_ENTRY); }

            if (chkAddQuery.Checked) Role.AddRolePermission(roleId, (int)Globals.Permission.ADD_QUERY); else Role.DeleteRolePermission(roleId, (int)Globals.Permission.ADD_QUERY);

            //edits
            if (chkEditIssue.Checked)
            { Role.AddRolePermission(roleId, (int)Globals.Permission.EDIT_ISSUE); }
            else
            { Role.DeleteRolePermission(roleId, (int)Globals.Permission.EDIT_ISSUE); }
            if (chkEditComment.Checked)
            { Role.AddRolePermission(roleId, (int)Globals.Permission.EDIT_COMMENT); }
            else
            { Role.DeleteRolePermission(roleId, (int)Globals.Permission.EDIT_COMMENT); }
            if (chkEditOwnComment.Checked)
            { Role.AddRolePermission(roleId, (int)Globals.Permission.OWNER_EDIT_COMMENT); }
            else
            { Role.DeleteRolePermission(roleId, (int)Globals.Permission.OWNER_EDIT_COMMENT); }
            if (chkEditIssueDescription.Checked)
            { Role.AddRolePermission(roleId, (int)Globals.Permission.EDIT_ISSUE_DESCRIPTION); }
            else
            { Role.DeleteRolePermission(roleId, (int)Globals.Permission.EDIT_ISSUE_DESCRIPTION); }
            if (chkEditIssueSummary.Checked)
            { Role.AddRolePermission(roleId, (int)Globals.Permission.EDIT_ISSUE_TITLE); }
            else
            { Role.DeleteRolePermission(roleId, (int)Globals.Permission.EDIT_ISSUE_TITLE); }

            //deletes
            if (chkDeleteIssue.Checked)
            { Role.AddRolePermission(roleId, (int)Globals.Permission.DELETE_ISSUE); }
            else
            { Role.DeleteRolePermission(roleId, (int)Globals.Permission.DELETE_ISSUE); }
            if (chkDeleteComment.Checked)
            { Role.AddRolePermission(roleId, (int)Globals.Permission.DELETE_COMMENT); }
            else
            { Role.DeleteRolePermission(roleId, (int)Globals.Permission.DELETE_COMMENT); }
            if (chkDeleteAttachment.Checked)
            { Role.AddRolePermission(roleId, (int)Globals.Permission.DELETE_ATTACHMENT); }
            else
            { Role.DeleteRolePermission(roleId, (int)Globals.Permission.DELETE_ATTACHMENT); }
            if (chkDeleteRelated.Checked)
            { Role.AddRolePermission(roleId, (int)Globals.Permission.DELETE_RELATED); }
            else
            { Role.DeleteRolePermission(roleId, (int)Globals.Permission.DELETE_RELATED); }

            if (chkDeleteQuery.Checked) Role.AddRolePermission(roleId, (int)Globals.Permission.DELETE_QUERY); else Role.DeleteRolePermission(roleId, (int)Globals.Permission.DELETE_QUERY);

            //misc
            if (chkAssignIssue.Checked)
            { Role.AddRolePermission(roleId, (int)Globals.Permission.ASSIGN_ISSUE); }
            else
            { Role.DeleteRolePermission(roleId, (int)Globals.Permission.ASSIGN_ISSUE); }
            if (chkSubscribeIssue.Checked)
            { Role.AddRolePermission(roleId, (int)Globals.Permission.SUBSCRIBE_ISSUE); }
            else
            { Role.DeleteRolePermission(roleId, (int)Globals.Permission.SUBSCRIBE_ISSUE); }
            //if (chkReOpenIssue.Checked)
            //{ Role.AddRolePermission(roleId, (int)Globals.Permission.REOPEN_ISSUE); }
            //else
            //{ Role.DeleteRolePermission(roleId, (int)Globals.Permission.REOPEN_ISSUE); }
            
            if (chkCloseIssue.Checked) Role.AddRolePermission(roleId, (int)Globals.Permission.CLOSE_ISSUE); else Role.DeleteRolePermission(roleId, (int)Globals.Permission.CLOSE_ISSUE); 

            if (chkDeleteTimeEntry.Checked)
            { Role.AddRolePermission(roleId, (int)Globals.Permission.DELETE_TIME_ENTRY); }
            else
            { Role.DeleteRolePermission(roleId, (int)Globals.Permission.DELETE_TIME_ENTRY); }
        }

        /// <summary>
        /// Rebinds the permission checkboxes.
        /// </summary>
        private void ReBind()
        {
            chkAssignIssue.Checked = false;
            chkCloseIssue.Checked = false;
            chkAddAttachment.Checked = false;
            chkAddComment.Checked = false;
            chkAddIssue.Checked = false;
            chkAddRelated.Checked = false;
            chkAddTimeEntry.Checked = false;
            chkAssignIssue.Checked = false;
            chkDeleteAttachment.Checked = false;
            chkDeleteComment.Checked = false;
            chkDeleteIssue.Checked = false;
            chkDeleteRelated.Checked = false;
            chkDeleteTimeEntry.Checked = false;
            chkEditComment.Checked = false;
            chkEditIssue.Checked = false;
            chkEditIssueDescription.Checked = false;
            chkEditIssueSummary.Checked = false;
            chkEditOwnComment.Checked = false;
            chkReOpenIssue.Checked = false;
            chkSubscribeIssue.Checked = false;

            List<Permission> permissions = Role.GetPermissionsByRoleId(RoleId);

            foreach (Permission p in permissions)
            {
                switch (p.Key)
                {
                    case "ADD_ISSUE":
                        chkAddIssue.Checked = true;
                        break;
                    case "ADD_COMMENT":
                        chkAddComment.Checked = true;
                        break;
                    case "ADD_ATTACHMENT":
                        chkAddAttachment.Checked = true;
                        break;
                    case "ADD_RELATED":
                        chkAddRelated.Checked = true;
                        break;
                    case "EDIT_ISSUE":
                        chkEditIssue.Checked = true;
                        break;
                    case "EDIT_COMMENT":
                        chkEditComment.Checked = true;
                        break;
                    case "OWNER_EDIT_COMMENT":
                        chkEditOwnComment.Checked = true;
                        break;
                    case "DELETE_ISSUE":
                        chkDeleteIssue.Checked = true;
                        break;
                    case "DELETE_COMMENT":
                        chkDeleteComment.Checked = true;
                        break;
                    case "DELETE_ATTACHMENT":
                        chkDeleteAttachment.Checked = true;
                        break;
                    case "DELETE_RELATED":
                        chkDeleteRelated.Checked = true;
                        break;
                    case "ASSIGN_ISSUE":
                        chkAssignIssue.Checked = true;
                        break;
                    case "SUBSCRIBE_ISSUE":
                        chkSubscribeIssue.Checked = true;
                        break;
                    //case "REOPEN_ISSUE":
                    //    chkReOpenIssue.Checked = true;
                    //    break;
                    case "CLOSE_ISSUE":
                        chkCloseIssue.Checked = true;
                        break;
                    case "EDIT_ISSUE_DESCRIPTION":
                        chkEditIssueDescription.Checked = true;
                        break;
                    case "EDIT_ISSUE_TITLE":
                        chkEditIssueSummary.Checked = true;
                        break;
                    case "ADD_TIME_ENTRY":
                        chkAddTimeEntry.Checked = true;
                        break;
                    case "DELETE_TIME_ENTRY":
                        chkDeleteTimeEntry.Checked = true;
                        break;
                }

            }
        }
        /// <summary>
        /// Handles the Click event of the cmdCancel control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="T:System.EventArgs"/> instance containing the event data.</param>
        protected void cmdCancel_Click(object sender, EventArgs e)
        {
            AddRole.Visible = !AddRole.Visible;
            Roles.Visible = !Roles.Visible;
            RoleId = -1;
        }

        /// <summary>
        /// Handles the Click event of the cmdDelete control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="T:System.EventArgs"/> instance containing the event data.</param>
        protected void cmdDelete_Click(object sender, EventArgs e)
        {
            try
            {
                Role.DeleteRole(RoleId);
                AddRole.Visible = !AddRole.Visible;
                Roles.Visible = !Roles.Visible;
                Initialize();
            }
            catch
            {
                lblError.Text = "An error occurred deleting this role";
            }
        }
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?