You can subscribe to this list here.
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(5) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
(4) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(16) |
Jun
(41) |
Jul
(101) |
Aug
(71) |
Sep
|
Oct
|
Nov
|
Dec
|
From: <ro...@us...> - 2006-07-31 20:21:50
|
Revision: 243 Author: rouquin Date: 2006-07-31 13:21:40 -0700 (Mon, 31 Jul 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=243&view=rev Log Message: ----------- Add enforced user rights to the Assignments page. It definately makes the code a little more complicated and ugly, but it appears to be working. We may want some more debug/comments added. Modified Paths: -------------- Website/App_Code/Assignments.cs Website/App_Code/Common.cs Website/App_Code/Users.cs Website/Includes/Assignments.ascx.cs Website/Includes/AssignmentsTree.ascx Website/Includes/AssignmentsTree.ascx.cs Website/Includes/Products.ascx Website/Right.aspx Modified: Website/App_Code/Assignments.cs =================================================================== --- Website/App_Code/Assignments.cs 2006-07-31 19:48:43 UTC (rev 242) +++ Website/App_Code/Assignments.cs 2006-07-31 20:21:40 UTC (rev 243) @@ -537,20 +537,24 @@ private int p_id; private string p_name; - private int p_creatorID; + private User p_creator; + private User p_assigned; + public WorkOrder() { p_id = 0; p_name = ""; - p_creatorID = 0; + p_creator = new User(); + p_assigned = new User(); } - public WorkOrder(int id, string name, string description, int creatorID) + public WorkOrder(int id, string name, string description, User assigned, User creator) { p_id = id; p_name = name; - p_creatorID = creatorID; + p_assigned = assigned; + p_creator = creator; } public int ID @@ -565,12 +569,18 @@ set { p_name = value; } } - public int CREATORID + public User CREATOR { - get { return p_creatorID; } - set { p_creatorID = value; } + get { return p_creator; } + set { p_creator = value; } } + public User ASSIGNED + { + get { return p_assigned; } + set { p_assigned = value; } + } + public override string ToString() { return NAME; Modified: Website/App_Code/Common.cs =================================================================== --- Website/App_Code/Common.cs 2006-07-31 19:48:43 UTC (rev 242) +++ Website/App_Code/Common.cs 2006-07-31 20:21:40 UTC (rev 243) @@ -1204,6 +1204,7 @@ // Defaults in the database public static int ANONYMOUSUSERID = 1; public static int PRODUCT_SITEID = 1; + public static int PRODUCT_ANYID = -1; public static string CODE_USER = "u"; Modified: Website/App_Code/Users.cs =================================================================== --- Website/App_Code/Users.cs 2006-07-31 19:48:43 UTC (rev 242) +++ Website/App_Code/Users.cs 2006-07-31 20:21:40 UTC (rev 243) @@ -20,6 +20,7 @@ using System.Web.SessionState; using log4net; using TCDB.Rights; +using TCDB.Products; namespace TCDB.Users { @@ -403,11 +404,25 @@ public bool HasRight(string right, int productID) { + // Any product + if (productID == Constants.PRODUCT_ANYID) + { + List<Product> products = ProductDB.GetProductList(true); + foreach (Product product in products) + { + if (HasRight(right, product.ID)) + return true; + } + return false; + } + + // Specified product if (!p_rights.ContainsKey(productID)) p_rights[productID] = RightDB.TCDB_GetUserRights(productID,p_id); if (p_rights[productID].Contains(right)) return true; + // Site rights? if (productID != Constants.PRODUCT_SITEID) { if (!p_rights.ContainsKey(Constants.PRODUCT_SITEID)) @@ -424,6 +439,22 @@ return (RightDB.TCDB_GetUserRight(productID, userID, right) != null); } + public bool HasRights(int productID) + { + if (!p_rights.ContainsKey(productID)) + p_rights[productID] = RightDB.TCDB_GetUserRights(productID, p_id); + + if (p_rights[productID].Count > 0) + return true; + + return false; + } + + public static bool HasRights(int userID, int productID) + { + return (RightDB.TCDB_GetUserRights(productID, userID).Count > 0); + } + public void AddRole(String role, int productID) { // Insert user role Product Modified: Website/Includes/Assignments.ascx.cs =================================================================== --- Website/Includes/Assignments.ascx.cs 2006-07-31 19:48:43 UTC (rev 242) +++ Website/Includes/Assignments.ascx.cs 2006-07-31 20:21:40 UTC (rev 243) @@ -12,6 +12,7 @@ using TCDB.Assignments; using TCDB.Common; using TCDB.Users; +using TCDB.Products; using log4net; /// <summary> @@ -21,46 +22,73 @@ { private static ILog m_logg = LogManager.GetLogger("Page:Assignments"); private String uid = HttpContext.Current.Request.QueryString[Constants.CODE_USER]; + private int productID = Convert.ToInt32(HttpContext.Current.Request.QueryString[Constants.CODE_PRODUCT]); private const int MAX_NAME_LENGTH = 30; protected void Page_Load(object sender, EventArgs e) { - if (!m_user.ISAUTHENTICATED) { - return; } - m_logg.Debug("Loading assignments for [" + m_user.ToString() + "]"); + if (!m_user.ISAUTHENTICATED) + { + return; + } + m_logg.Debug("Loading assignments for [" + m_user.ToString() + "]"); + if (productID == 0) + productID = Constants.PRODUCT_ANYID; + if (uid == null) { m_logg.Debug("UserID not specified in the url, checking for permissions to view multiple users assignments"); - if (m_user.HasRight(Constants.RIGHTS_SITEADMIN, Constants.PRODUCT_SITEID)) + if (m_user.HasRight("view_other_ai", productID) || m_user.HasRight("view_created_ai", productID) || + m_user.HasRight("view_other_wo", productID) || m_user.HasRight("view_created_wo", productID)) { - m_logg.Debug("User has site admin rights, display all users"); - // Admin user should get everything, so don't set any values! - Page.Title = "TCDB: All Assignments"; - header.Text = "All Assignments"; + Product product = ProductDB.GetProduct(true, Convert.ToInt32(productID)); + + if (product != null) + { + m_logg.Debug("User has product admin rights, display all product users"); + + // Admin user should get everything, so don't set any values! + Page.Title = "TCDB: " + product.NAME + " Assignments"; + header.Text = product.NAME + " Assignments"; + } } - // TODO: add code for if user has create/edit/view assignments right anywhere else { - m_logg.Debug("User has no special privledges, only display own assignments"); - uid = m_user.ID.ToString(); - Page.Title = "TCDB: My Assignments"; - header.Text = "My Assignments"; + if (m_user.HasRight("view_my_ai") || m_user.HasRight("view_my_wo")) + { + m_logg.Debug("User has no special privledges, only display own assignments"); + uid = m_user.ID.ToString(); + Page.Title = "TCDB: My Assignments"; + header.Text = "My Assignments"; + } + else // No rights to do anything + Response.Redirect("~/Default.aspx"); } } else if (uid == m_user.ID.ToString()) { - m_logg.Debug("The current user's assignments have been requested, only displaying those"); - // TODO: Set these text fields dynamically from the config/DB (and do it globally!) - Page.Title = "TCDB: My Assignments"; - header.Text = "My Assignments"; + if (m_user.HasRight("view_my_ai") || m_user.HasRight("view_my_wo")) + { + m_logg.Debug("The current user's assignments have been requested, only displaying those"); + Page.Title = "TCDB: My Assignments"; + header.Text = "My Assignments"; + } + else // No rights to do anything + Response.Redirect("~/Default.aspx"); } else { - // TODO: check permissions before displaying this! If no permission, redirect to this page with no params - String name = UserDB.GetUserInfo(Convert.ToInt32(uid)).FULLNAME; - m_logg.Debug("User requested assignments for [" + name + "]"); - Page.Title = "TCDB: " + name + "'s Assignments"; - header.Text = name + "'s Assignments"; + User user = UserDB.GetUserInfo(Convert.ToInt32(uid)); + + if (user.HasRights(productID) && + (m_user.HasRight("view_other_ai", productID) || m_user.HasRight("view_other_wo", productID) || + m_user.HasRight("view_created_ai", productID) || m_user.HasRight("view_created_wo", productID))) + { + String name = user.FULLNAME; + m_logg.Debug("User requested assignments for [" + name + "]"); + Page.Title = "TCDB: " + name + "'s Assignments"; + header.Text = name + "'s Assignments"; + } } Session.Add("uid", uid); m_logg.Debug("Databinding the AssignmentsGridView"); @@ -101,7 +129,7 @@ gRow.Cells[0].Text = "<div class=\"priority_normal\"></div>"; // Set Hyperlink URL - String cid = data["childID"].ToString(); + int cid = Convert.ToInt32(data["childID"]); String type = data["aType"].ToString(); String name = data["aName"].ToString(); String displayName; @@ -112,12 +140,34 @@ gRow.Cells[1].ToolTip = name; if (type == Constants.CODE_AI) + { + ActionItem ai = ActionItemDB.GetActionItem(cid); + + if (ai != null && + (!m_user.HasRight("view_other_ai",productID) && + !(ai.ASSIGNED.ID == m_user.ID && m_user.HasRight("view_my_ai", productID)) && + !(ai.CREATOR.ID == m_user.ID && m_user.HasRight("view_created_ai",productID)))) + gRow.Visible = false; + gRow.Cells[1].Text = "<a href=\"ActionItem.aspx?" + Constants.CODE_AI + "=" + cid + "\">" + displayName + "</a>"; + } else if (type == Constants.CODE_WO) + { + WorkOrder wo = WorkOrderDB.TCDB_GetWorkOrder(cid); + + if (wo != null && + (!m_user.HasRight("view_other_wo",productID) && + !(wo.ASSIGNED.ID == m_user.ID && m_user.HasRight("view_my_wo", productID)) && + !(wo.CREATOR.ID == m_user.ID && m_user.HasRight("view_created_wo",productID)))) + gRow.Visible = false; + gRow.Cells[1].Text = "<a href=\"WorkOrder.aspx?" + Constants.CODE_WO + "=" + cid + "\">" + name + "</a>"; + } else + { m_logg.Debug("Couldn't determine what type [" + type + "] is"); - + } + if (cboPriorityFilter.Checked) { switch (priority) @@ -200,7 +250,7 @@ if ((dateDue < from) || (dateDue > to)) gRow.Visible = false; } - if (gRow.Visible && cboFinishedFilter.Checked) + if (gRow.Visible && cboFinishedFilter.Checked && data["dateFinished"].ToString() != "") { DateTime dateFinished = Convert.ToDateTime(data["dateFinished"]); DateTime to = toFinishedDate.SelectedDate; @@ -388,66 +438,82 @@ } protected void toDate_Init(object sender, EventArgs e) { - toDate.SelectedDate = m_user.GetConfigDate("filter_show_to_assigned_date"); + if (!IsPostBack) + toDate.SelectedDate = m_user.GetConfigDate("filter_show_to_assigned_date"); } protected void toDueDate_Init(object sender, EventArgs e) { - toDueDate.SelectedDate = m_user.GetConfigDate("filter_show_to_due_date"); + if (!IsPostBack) + toDueDate.SelectedDate = m_user.GetConfigDate("filter_show_to_due_date"); } protected void toFinishedDate_Init(object sender, EventArgs e) { - toFinishedDate.SelectedDate = m_user.GetConfigDate("filter_show_to_finished_dates"); + if (!IsPostBack) + toFinishedDate.SelectedDate = m_user.GetConfigDate("filter_show_to_finished_dates"); } protected void fromDate_Init(object sender, EventArgs e) { - fromDate.SelectedDate = m_user.GetConfigDate("filter_show_from_assigned_date"); + if (!IsPostBack) + fromDate.SelectedDate = m_user.GetConfigDate("filter_show_from_assigned_date"); } protected void fromDueDate_Init(object sender, EventArgs e) { - fromDueDate.SelectedDate = m_user.GetConfigDate("filter_show_from_due_date"); + if (!IsPostBack) + fromDueDate.SelectedDate = m_user.GetConfigDate("filter_show_from_due_date"); } protected void fromFinishedDate_Init(object sender, EventArgs e) { - fromFinishedDate.SelectedDate = m_user.GetConfigDate("filter_show_from_finished_date"); + if (!IsPostBack) + fromFinishedDate.SelectedDate = m_user.GetConfigDate("filter_show_from_finished_date"); } protected void cboShowActionItems_Init(object sender, EventArgs e) { - cboShowActionItems.Checked = m_user.GetConfigBool("filter_show_action_items"); + if (!IsPostBack) + cboShowActionItems.Checked = m_user.GetConfigBool("filter_show_action_items"); } protected void cboShowWorkOrders_Init(object sender, EventArgs e) { - cboShowWorkOrders.Checked = m_user.GetConfigBool("filter_show_work_orders"); + if (!IsPostBack) + cboShowWorkOrders.Checked = m_user.GetConfigBool("filter_show_work_orders"); } protected void cboHighPriority_Init(object sender, EventArgs e) { - cboHighPriority.Checked = m_user.GetConfigBool("filter_show_high_priority"); + if (!IsPostBack) + cboHighPriority.Checked = m_user.GetConfigBool("filter_show_high_priority"); } protected void cboLowPriority_Init(object sender, EventArgs e) { - cboLowPriority.Checked = m_user.GetConfigBool("filter_show_low_priority"); + if (!IsPostBack) + cboLowPriority.Checked = m_user.GetConfigBool("filter_show_low_priority"); } protected void cboStatusFilter_Init(object sender, EventArgs e) { - cboStatusFilter.Checked = m_user.GetConfigBool("filter_enable_status_filter"); + if (!IsPostBack) + cboStatusFilter.Checked = m_user.GetConfigBool("filter_enable_status_filter"); } protected void cboDateFilter_Init(object sender, EventArgs e) { - cboDateFilter.Checked = m_user.GetConfigBool("filter_enable_assigned_date_filter"); + if (!IsPostBack) + cboDateFilter.Checked = m_user.GetConfigBool("filter_enable_assigned_date_filter"); } protected void cboDueFilter_Init(object sender, EventArgs e) { - cboDueFilter.Checked = m_user.GetConfigBool("filter_enable_due_date_filter"); + if (!IsPostBack) + cboDueFilter.Checked = m_user.GetConfigBool("filter_enable_due_date_filter"); } protected void cboFinishedFilter_Init(object sender, EventArgs e) { - cboFinishedFilter.Checked = m_user.GetConfigBool("filter_enable_finished_date_filter"); + if (!IsPostBack) + cboFinishedFilter.Checked = m_user.GetConfigBool("filter_enable_finished_date_filter"); } protected void cboTypeFilter_Init(object sender, EventArgs e) { - cboTypeFilter.Checked = m_user.GetConfigBool("filter_enable_type_filter"); + if (!IsPostBack) + cboTypeFilter.Checked = m_user.GetConfigBool("filter_enable_type_filter"); } protected void cboPriorityFilter_Init(object sender, EventArgs e) { - cboPriorityFilter.Checked = m_user.GetConfigBool("filter_enable_priority_filter"); + if (!IsPostBack) + cboPriorityFilter.Checked = m_user.GetConfigBool("filter_enable_priority_filter"); } } Modified: Website/Includes/AssignmentsTree.ascx =================================================================== --- Website/Includes/AssignmentsTree.ascx 2006-07-31 19:48:43 UTC (rev 242) +++ Website/Includes/AssignmentsTree.ascx 2006-07-31 20:21:40 UTC (rev 243) @@ -2,13 +2,11 @@ <asp:CheckBox ID="statusComplete" runat="server" Text="Show Completed" AutoPostBack="True" OnCheckedChanged="statusComplete_CheckedChanged" OnInit="statusComplete_Init"/> <asp:TreeView ID="AssignmentTree" runat="server" SelectedNodeStyle-CssClass="selectednode" - OnTreeNodePopulate="AssignmentTree_TreeNodePopulate" ExpandDepth="1" + OnTreeNodePopulate="AssignmentTree_TreeNodePopulate" OnTreeNodeCollapsed="AssignmentTree_TreeNodeCollapsed" - OnTreeNodeExpanded="AssignmentTree_TreeNodeExpanded" OnInit="AssignmentTree_Init"> + OnTreeNodeExpanded="AssignmentTree_TreeNodeExpanded" OnInit="AssignmentTree_Init" OnSelectedNodeChanged="AssignmentTree_SelectedNodeChanged" ExpandDepth="1"> <Nodes> - <asp:TreeNode Text="User Assignments" Value="Users" PopulateOnDemand="True" - SelectAction="Expand" - NavigateUrl="~/Assignments.aspx" /> + <asp:TreeNode Text="All Assignments" Value="Users" PopulateOnDemand="True" /> </Nodes> <SelectedNodeStyle CssClass="selectednode" /> </asp:TreeView> Modified: Website/Includes/AssignmentsTree.ascx.cs =================================================================== --- Website/Includes/AssignmentsTree.ascx.cs 2006-07-31 19:48:43 UTC (rev 242) +++ Website/Includes/AssignmentsTree.ascx.cs 2006-07-31 20:21:40 UTC (rev 243) @@ -25,10 +25,17 @@ m_logg.Debug("Loading AssignmentsTree page"); } + protected void AssignmentTree_Init(object sender, EventArgs e) { if (Session["AssignmentNodes"] == null) Session.Add("AssignmentNodes", new ArrayList()); + + if (!m_user.HasRight("view_other_ai", Constants.PRODUCT_ANYID) && !m_user.HasRight("view_created_ai", Constants.PRODUCT_ANYID) && + !m_user.HasRight("view_other_wo", Constants.PRODUCT_ANYID) && !m_user.HasRight("view_created_wo", Constants.PRODUCT_ANYID)) + { + AssignmentTree.Visible = false; + } } protected void AssignmentTree_TreeNodeCollapsed(object sender, TreeNodeEventArgs e) { @@ -40,6 +47,25 @@ m_logg.Debug("Collapsing node [" + nodes[index].ToString() + "]"); nodes.RemoveAt(index); } + + if (e.Node.Selected && AssignmentTree.ShowExpandCollapse == false) + { + e.Node.Selected = false; + switch (e.Node.Depth) + { + case 0: + Response.Redirect("~/Assignments.aspx"); + break; + case 1: + Response.Redirect("~/Assignments.aspx?" + Constants.CODE_PRODUCT + "=" + e.Node.Value); + break; + case 2: + Response.Redirect("~/Assignments.aspx?" + Constants.CODE_PRODUCT + "=" + e.Node.Parent.Value + "&"+ Constants.CODE_USER + "=" + e.Node.Value); + break; + default: + break; + } + } } protected void AssignmentTree_TreeNodeExpanded(object sender, TreeNodeEventArgs e) { @@ -50,30 +76,156 @@ nodes.Add(e.Node.ValuePath); m_logg.Debug("Expanding node [" + nodes[nodes.IndexOf(e.Node.ValuePath)].ToString() + "]"); } + + if (e.Node.Selected && AssignmentTree.ShowExpandCollapse == false) + { + e.Node.Selected = false; + switch (e.Node.Depth) + { + case 0: + Response.Redirect("~/Assignments.aspx"); + break; + case 1: + Response.Redirect("~/Assignments.aspx?" + Constants.CODE_PRODUCT + "=" + e.Node.Value); + break; + case 2: + Response.Redirect("~/Assignments.aspx?" + Constants.CODE_USER + "=" + e.Node.Value); + break; + default: + break; + } + } } + protected void AssignmentTree_SelectedNodeChanged(object sender, EventArgs e) + { + TreeNode node = AssignmentTree.SelectedNode; + node.Selected = false; + if (AssignmentTree.ShowExpandCollapse == false) + { + if (node.Expanded == true) + node.Collapse(); + else + node.Expand(); + } + else + { + switch (node.Depth) + { + case 0: + Response.Redirect("~/Assignments.aspx"); + break; + case 1: + Response.Redirect("~/Assignments.aspx?" + Constants.CODE_PRODUCT + "=" + node.Value); + break; + case 2: + Response.Redirect("~/Assignments.aspx?" + Constants.CODE_PRODUCT + "=" + node.Parent.Value + "&" + Constants.CODE_USER + "=" + node.Value); + break; + default: + break; + } + } + } protected void AssignmentTree_TreeNodePopulate(object sender, TreeNodeEventArgs e) { m_logg.Debug("Populating tree"); + if (AssignmentTree.Visible != true) + return; + // Call the appropriate method to populate a node at a particular level. switch (e.Node.Depth) { case 0: + BuildProductList(e.Node); + break; + case 1: BuildUserList(e.Node); break; - case 1: + case 2: BuildAssignmentList(e.Node); break; default: break; } } + private void BuildProductList(TreeNode parent) + { + ArrayList nodes = (ArrayList)Session["AssignmentNodes"]; + tcdbDataSetTableAdapters.db_productsTableAdapter pAdapter = new tcdbDataSetTableAdapters.db_productsTableAdapter(); + tcdbDataSet.db_productsDataTable pTable = pAdapter.GetData(true, null); + foreach (tcdbDataSet.db_productsRow row in pTable) + { + TreeNode child = new TreeNode(); + child.Text = row.name; + child.Value = row.productID.ToString(); + child.PopulateOnDemand = true; + child.SelectAction = TreeNodeSelectAction.Select; + parent.ChildNodes.Add(child); + if (nodes.Contains(child.ValuePath)) + child.Expand(); + else + AssignmentTree_TreeNodePopulate(AssignmentTree, new TreeNodeEventArgs(child)); + } + // If there are no children + if (parent.ChildNodes.Count == 0) + AssignmentTree.Visible = false; + + // if there's only one + if (parent.ChildNodes.Count == 1) + { + TreeNode child = parent.ChildNodes[0]; + + child.NavigateUrl = "~/Assignments.aspx?" + Constants.CODE_PRODUCT + "=" + child.Value; + AssignmentTree.Nodes[0].Text = ""; + AssignmentTree.ShowExpandCollapse = false; + child.Expand(); + } + } + private void BuildUserList(TreeNode parent) + { + m_logg.Debug("Building user list"); + ArrayList nodes = (ArrayList)Session["AssignmentNodes"]; + tcdbDataSetTableAdapters.db_roleProductUserTableAdapter rpuAdapter = new tcdbDataSetTableAdapters.db_roleProductUserTableAdapter(); + tcdbDataSet.db_roleProductUserDataTable rpuTable = rpuAdapter.GetData(null, Convert.ToInt32(parent.Value), true); + m_logg.Debug("There are currently [" + rpuTable.Count.ToString() + "] users"); + + // Assignment status + int status = Constants.ASSIGNMENT_UNFINISHED; + if (statusComplete.Checked) + status = Constants.ASSIGNMENT_FINISHEDANDUNFINISHED; + + foreach (tcdbDataSet.db_roleProductUserRow row in rpuTable) + { + User u = UserDB.GetUserInfo(row.userID); + if (u.GetAssignments(true, status).Count == 0) + continue; + + // Create the new child node. + TreeNode child = new TreeNode(); + child.Text = u.FULLNAME; + child.Value = u.ID.ToString(); + child.PopulateOnDemand = true; + child.SelectAction = TreeNodeSelectAction.Select; + parent.ChildNodes.Add(child); + if (nodes.Contains(child.ValuePath)) + child.Expand(); + else + AssignmentTree_TreeNodePopulate(AssignmentTree,new TreeNodeEventArgs(child)); + } + + // if there are no assignments + if (parent.ChildNodes.Count == 0) + parent.Parent.ChildNodes.Remove(parent); + } private void BuildAssignmentList(TreeNode parent) { m_logg.Debug("Building assignment list"); // Populate the second-level nodes with assignments int status = Constants.ASSIGNMENT_UNFINISHED; + int productID = Convert.ToInt32(parent.Parent.Value); + int userID = Convert.ToInt32(parent.Value); + if (statusComplete.Checked) status = Constants.ASSIGNMENT_FINISHEDANDUNFINISHED; List<Assignment> assignmentList = UserDB.GetUserInfo(Convert.ToInt32(parent.Value)).GetAssignments(false,status); @@ -93,82 +245,36 @@ child.Text = a.NAME; if (a.ISACTIONITEM) { - child.Value = a.ACTIONITEM.ID.ToString(); - child.NavigateUrl = "~/ActionItem.aspx?" + Constants.CODE_AI + "=" + child.Value; + if ((m_user.HasRight("view_other_ai",productID)) || + ((userID == m_user.ID) && m_user.HasRight("view_my_ai", productID)) || + ((a.ACTIONITEM.CREATOR.ID == m_user.ID) && m_user.HasRight("view_created_ai", productID))) + { + child.Value = a.ACTIONITEM.ID.ToString(); + child.NavigateUrl = "~/ActionItem.aspx?" + Constants.CODE_AI + "=" + child.Value; + } + else continue; } else { - child.Value = a.WORKORDER.ID.ToString(); - child.NavigateUrl = "~/WorkOrder.aspx?" + Constants.CODE_WO + "=" + child.Value; + if ((m_user.HasRight("view_other_wo", productID)) || + ((userID == m_user.ID) && m_user.HasRight("view_my_ai", productID)) || + ((a.WORKORDER.CREATOR.ID == m_user.ID) && m_user.HasRight("view_created_ai", productID))) + { + child.Value = a.WORKORDER.ID.ToString(); + child.NavigateUrl = "~/WorkOrder.aspx?" + Constants.CODE_WO + "=" + child.Value; + } + else continue; } - // Set the PopulateOnDemand property to true so that the child nodes can be - // dynamically populated. - child.PopulateOnDemand = true; - - // Set additional properties for the node. - child.SelectAction = TreeNodeSelectAction.Expand; - // Add the new child node to the ChildNodes collection of the parent node. parent.ChildNodes.Add(child); - child.Expand(); } + if (parent.ChildNodes.Count == 0) + parent.Parent.ChildNodes.Remove(parent); } } + - private void BuildUserList(TreeNode parent) - { - m_logg.Debug("Building user list"); - // TODO: implement security on this list - - // Populate the first-level nodes with users - List<User> userList = UserDB.TCDB_GetUserList(); - int numFoundUsers = 0; - int lastUserID = 0; - ArrayList nodes = (ArrayList)Session["AssignmentNodes"]; - - m_logg.Debug("There are currently [" + userList.Count.ToString() + "] users"); - if (userList.Count > 0) - { - foreach (User u in userList) - { - if (u.GetAssignments(true, Constants.ASSIGNMENT_FINISHEDANDUNFINISHED).Count == 0) - continue; - numFoundUsers++; - lastUserID = u.ID; - - // Create the new child node. - TreeNode child = new TreeNode(); - child.Text = u.FULLNAME; - child.Value = u.ID.ToString(); - - // Set the PopulateOnDemand property to true so that the child nodes can be - // dynamically populated. - child.PopulateOnDemand = true; - - // Set additional properties for the node. - child.SelectAction = TreeNodeSelectAction.Expand; - - // TODO: Make sure that when the node is clicked on, it brings up a list of assignments - // for the specified user as the user would see them - child.NavigateUrl = "~/Assignments.aspx?" + Constants.CODE_USER + "=" + child.Value; - - // Add the new child node to the ChildNodes collection of the parent node. - parent.ChildNodes.Add(child); - if (nodes.Contains(child.ValuePath)) - child.Expand(); - } - } - - // TODO: work out the logic on this! - // If we only found one user (the current user), hide the tree - if (!m_user.HasRight(Constants.RIGHTS_SITEADMIN, Constants.PRODUCT_SITEID)) // && numFoundUsers <= 1 && lastUserID == m_user.ID) - { - m_logg.Debug("Hiding assignments tree because there is only one user (the current user) and no admin/rights to see others"); - AssignmentTree.Visible = false; - } - } - protected void statusComplete_CheckedChanged(object sender, EventArgs e) { ArrayList nodes = (ArrayList)Session["AssignmentNodes"]; Modified: Website/Includes/Products.ascx =================================================================== --- Website/Includes/Products.ascx 2006-07-31 19:48:43 UTC (rev 242) +++ Website/Includes/Products.ascx 2006-07-31 20:21:40 UTC (rev 243) @@ -67,10 +67,10 @@ { Panel ruPanel = (Panel)sender; - tcdbDataSetTableAdapters.db_roleTableAdapter rAdapter = new tcdbDataSetTableAdapters.db_roleTableAdapter(); - tcdbDataSet.db_roleDataTable rTable = rAdapter.GetData(null, null, true); + tcdbDataSetTableAdapters.db_roleUserProductTableAdapter rupAdapter = new tcdbDataSetTableAdapters.db_roleUserProductTableAdapter(); + tcdbDataSet.db_roleUserProductDataTable rupTable = rupAdapter.GetData(null, productID, true); - foreach (tcdbDataSet.db_roleRow rRow in rTable) + foreach (tcdbDataSet.db_roleUserProductRow rRow in rupTable) { int roleID = rRow.roleID; Modified: Website/Right.aspx =================================================================== --- Website/Right.aspx 2006-07-31 19:48:43 UTC (rev 242) +++ Website/Right.aspx 2006-07-31 20:21:40 UTC (rev 243) @@ -1,4 +1,4 @@ -<%@ Page Language="C#" MasterPageFile="~/TCDB.master" AutoEventWireup="true" Title="TCDB: Right" %> +<%@ Page Language="C#" MasterPageFile="~/TCDB.master" AutoEventWireup="true" Title="TCDB: Right" ValidateRequest="false"%> <%@ Register Src="~/Includes/AdministrationTree.ascx" TagPrefix="admin" TagName="Tree" %> <%@ Register Src="~/Includes/Rights.ascx" TagPrefix="admin" TagName="Right" %> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <m_h...@us...> - 2006-07-31 19:49:06
|
Revision: 242 Author: m_hildebrand Date: 2006-07-31 12:48:43 -0700 (Mon, 31 Jul 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=242&view=rev Log Message: ----------- Made some style changes with the graphics Modified Paths: -------------- Website/Administration.aspx Website/App_Themes/Python/Python.skin Website/App_Themes/Python/python.css Website/Includes/Assignments.ascx Added Paths: ----------- Website/App_Themes/Python/Images/important.png Modified: Website/Administration.aspx =================================================================== --- Website/Administration.aspx 2006-07-31 17:09:29 UTC (rev 241) +++ Website/Administration.aspx 2006-07-31 19:48:43 UTC (rev 242) @@ -9,7 +9,7 @@ <tr> <td align="center" valign="middle"> <!-- ***NONPRODUCTION***<asp:LinkButton ID="newProduct" runat="server" PostBackUrl="~/Product.aspx?mode=new">New Product</asp:LinkButton> --> - <div class="button"><asp:LinkButton ID="newUser" runat="server" PostBackUrl="~/UserSettings.aspx?mode=new"><img src="App_Themes/Python/Images/user_add_32.png" alt="New User" />New User</asp:LinkButton></div></td> + <div class="button"><asp:LinkButton ID="newUser" runat="server" PostBackUrl="~/UserSettings.aspx?mode=new"><asp:Image runat="server" SkinID="newUserImage" AlternateText="New User" />New User</asp:LinkButton></div></td> </tr> </table> </asp:Content> Added: Website/App_Themes/Python/Images/important.png =================================================================== (Binary files differ) Property changes on: Website/App_Themes/Python/Images/important.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: Website/App_Themes/Python/Python.skin =================================================================== --- Website/App_Themes/Python/Python.skin 2006-07-31 17:09:29 UTC (rev 241) +++ Website/App_Themes/Python/Python.skin 2006-07-31 19:48:43 UTC (rev 242) @@ -21,4 +21,5 @@ <atlas:CollapsiblePanelExtender runat="server" SkinId="note" ExpandedImage="Images/ArrowDown.gif" CollapsedImage="Images/ArrowUp.gif" /> --%> <asp:GridView runat="server" SkinId="assignments" Width="100%" /> +<asp:Image runat="server" SkinId="newUserImage" ImageUrl="Images/user_add_32.png" /> Modified: Website/App_Themes/Python/python.css =================================================================== --- Website/App_Themes/Python/python.css 2006-07-31 17:09:29 UTC (rev 241) +++ Website/App_Themes/Python/python.css 2006-07-31 19:48:43 UTC (rev 242) @@ -153,6 +153,8 @@ top: 6px !important; padding-left: 5px !important; margin: 0 0 3px 0 !important; + height: 20px !important; + width: 20px !important; } /********** END Calendar Classes ************/ @@ -646,7 +648,7 @@ - +*/ #Assignments .priority_high, #Assignments .priority_normal { display: inline; @@ -654,14 +656,14 @@ #Assignments .priority_high { - background-image: url(images/priority_high_small.gif); + background-image: url(images/important.png); padding: 0; - margin: 0; + margin: 0 0 0 1px; background-repeat: no-repeat; - width: 10px; - height: 10px; - min-width: 10px; - min-height: 10px; + width: 12px; + height: 11px; + min-width: 12px; + min-height: 11px; display: block; } @@ -676,7 +678,7 @@ text-align: center; display: inline; } - +/* #aiContent .top .priority { display: inline; Modified: Website/Includes/Assignments.ascx =================================================================== --- Website/Includes/Assignments.ascx 2006-07-31 17:09:29 UTC (rev 241) +++ Website/Includes/Assignments.ascx 2006-07-31 19:48:43 UTC (rev 242) @@ -165,7 +165,7 @@ To:</label><div class="calendar"> <ew:CalendarPopup ID="toDate" runat="server" PopupLocation="Bottom" ShowGoToToday="True" ControlDisplay="LabelImage" SkinID="calendar" SelectedDate="1/1/3000 12:00:00 AM" - AutoPostBack="true" OnDateChanged="update" OnInit="toDate_Init"> + AutoPostBack="true" OnDateChanged="update" OnInit="toDate_Init" > </ew:CalendarPopup> </div> </div> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <m_h...@us...> - 2006-07-31 17:09:37
|
Revision: 241 Author: m_hildebrand Date: 2006-07-31 10:09:29 -0700 (Mon, 31 Jul 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=241&view=rev Log Message: ----------- Added "add user" icon and appropriate css styles for it Changed the order of items in the footer Modified Paths: -------------- Website/Administration.aspx Website/App_Themes/Python/python.css Website/Includes/Footer.ascx Added Paths: ----------- Website/App_Themes/Python/Images/user_add_32.png Modified: Website/Administration.aspx =================================================================== --- Website/Administration.aspx 2006-07-31 15:39:18 UTC (rev 240) +++ Website/Administration.aspx 2006-07-31 17:09:29 UTC (rev 241) @@ -9,7 +9,7 @@ <tr> <td align="center" valign="middle"> <!-- ***NONPRODUCTION***<asp:LinkButton ID="newProduct" runat="server" PostBackUrl="~/Product.aspx?mode=new">New Product</asp:LinkButton> --> - <asp:LinkButton ID="newUser" runat="server" PostBackUrl="~/UserSettings.aspx?mode=new">New User</asp:LinkButton></td> + <div class="button"><asp:LinkButton ID="newUser" runat="server" PostBackUrl="~/UserSettings.aspx?mode=new"><img src="App_Themes/Python/Images/user_add_32.png" alt="New User" />New User</asp:LinkButton></div></td> </tr> </table> </asp:Content> Added: Website/App_Themes/Python/Images/user_add_32.png =================================================================== (Binary files differ) Property changes on: Website/App_Themes/Python/Images/user_add_32.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: Website/App_Themes/Python/python.css =================================================================== --- Website/App_Themes/Python/python.css 2006-07-31 15:39:18 UTC (rev 240) +++ Website/App_Themes/Python/python.css 2006-07-31 17:09:29 UTC (rev 241) @@ -121,6 +121,18 @@ list-style-type: circle; } +.button +{ + display: inline; +} + +.button IMG +{ + display: block; + border: none; +} + + /********** END Global Classes **********/ /********** BEGIN Calendar Classes **********/ Modified: Website/Includes/Footer.ascx =================================================================== --- Website/Includes/Footer.ascx 2006-07-31 15:39:18 UTC (rev 240) +++ Website/Includes/Footer.ascx 2006-07-31 17:09:29 UTC (rev 241) @@ -1,6 +1,5 @@ <%@ Control Language="C#" AutoEventWireup="true" Inherits="Footer" CodeFile="Footer.ascx.cs" %> -\xA9 2006 <a href="http://www.quest.com">Quest Software, Inc.</a> | TCDB -<%= TCDB.Common.ConfigDB.GetConfigString("tcdb_version") %> +\xA9 2006 <a href="http://www.quest.com">Quest Software, Inc.</a> <% if (m_user.ISAUTHENTICATED) { @@ -9,5 +8,7 @@ Map</a><% } %> + | TCDB +<%= TCDB.Common.ConfigDB.GetConfigString("tcdb_version") %> | Page loaded in <%= PageLoad() %> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <m_h...@us...> - 2006-07-31 15:39:23
|
Revision: 240 Author: m_hildebrand Date: 2006-07-31 08:39:18 -0700 (Mon, 31 Jul 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=240&view=rev Log Message: ----------- Commented out sections unnecessary for the next production release. Comments start with ***NONPRODUCTION*** Modified Paths: -------------- Website/Administration.aspx Website/Includes/AdministrationTree.ascx.cs Website/Includes/Header_CurrentInfo.ascx Website/Includes/Header_Menu.ascx Website/Includes/UserSettings.ascx Modified: Website/Administration.aspx =================================================================== --- Website/Administration.aspx 2006-07-31 15:35:53 UTC (rev 239) +++ Website/Administration.aspx 2006-07-31 15:39:18 UTC (rev 240) @@ -8,7 +8,7 @@ <table width="700"> <tr> <td align="center" valign="middle"> - <asp:LinkButton ID="newProduct" runat="server" PostBackUrl="~/Product.aspx?mode=new">New Product</asp:LinkButton> + <!-- ***NONPRODUCTION***<asp:LinkButton ID="newProduct" runat="server" PostBackUrl="~/Product.aspx?mode=new">New Product</asp:LinkButton> --> <asp:LinkButton ID="newUser" runat="server" PostBackUrl="~/UserSettings.aspx?mode=new">New User</asp:LinkButton></td> </tr> </table> Modified: Website/Includes/AdministrationTree.ascx.cs =================================================================== --- Website/Includes/AdministrationTree.ascx.cs 2006-07-31 15:35:53 UTC (rev 239) +++ Website/Includes/AdministrationTree.ascx.cs 2006-07-31 15:39:18 UTC (rev 240) @@ -119,6 +119,7 @@ newNode.Expand(); } + /* ***NONPRODUCTION*** // Operating Systems newNode = new TreeNode(); newNode.Text = "Operating Systems"; @@ -138,6 +139,7 @@ parent.ChildNodes.Add(newNode); if (nodes.Contains(newNode.ValuePath)) newNode.Expand(); + ***END NONPRODUCTION*** */ } protected void BuildReleaseList(TreeNode parent) { @@ -207,6 +209,7 @@ TreeNode newNode; // Versions + /* ***NONPRODUCTION*** newNode = new TreeNode(); newNode.Text = "Releases"; newNode.Value = "release"; @@ -215,7 +218,7 @@ parent.ChildNodes.Add(newNode); if (nodes.Contains(newNode.ValuePath)) newNode.Expand(); - + // Tags newNode = new TreeNode(); newNode.Text = "Tags"; @@ -245,6 +248,7 @@ parent.ChildNodes.Add(newNode); if (nodes.Contains(newNode.ValuePath)) newNode.Expand(); + ***END NONPRODUCTION*** */ // Users newNode = new TreeNode(); @@ -272,6 +276,7 @@ if (nodes.Contains(newNode.ValuePath)) newNode.Expand(); + /* ***NONPRODUCTION*** // WorkOrder newNode = new TreeNode(); newNode.Text = "Work Order"; @@ -301,6 +306,7 @@ parent.ChildNodes.Add(newNode); if (nodes.Contains(newNode.ValuePath)) newNode.Expand(); + ***END NONPRODUCTION*** */ } protected void BuildLabList(TreeNode parent) { @@ -761,9 +767,10 @@ BuildCategoryList(e.Node); break; case 2: + /* ***NONPRODUCTION*** if (e.Node.Value == "release") BuildReleaseList(e.Node); - else if (e.Node.Value == "tag") + else */ if (e.Node.Value == "tag") BuildTagList(e.Node); else if (e.Node.Value == "status") BuildStatusGroupList(e.Node); Modified: Website/Includes/Header_CurrentInfo.ascx =================================================================== --- Website/Includes/Header_CurrentInfo.ascx 2006-07-31 15:35:53 UTC (rev 239) +++ Website/Includes/Header_CurrentInfo.ascx 2006-07-31 15:39:18 UTC (rev 240) @@ -1,4 +1,4 @@ <%@ Control Language="C#" AutoEventWireup="true" %> <%@ Import Namespace="TCDB.Users" %> -Product | Version | Build \ No newline at end of file +<!-- ***NONPRODUCTION*** Product | Version | Build--> \ No newline at end of file Modified: Website/Includes/Header_Menu.ascx =================================================================== --- Website/Includes/Header_Menu.ascx 2006-07-31 15:35:53 UTC (rev 239) +++ Website/Includes/Header_Menu.ascx 2006-07-31 15:39:18 UTC (rev 240) @@ -2,4 +2,4 @@ <%@ Import Namespace="TCDB.Users" %> <%@ Import Namespace="TCDB.Common" %> -<a href="Assignments.aspx?<% Response.Write(Constants.CODE_USER+"="+m_user.ID); %>">Assignments</a> | Execute | <a href="TestManagement.aspx">Management</a> +<a href="Assignments.aspx?<% Response.Write(Constants.CODE_USER+"="+m_user.ID); %>">Assignments</a><!-- ***NONPRODUCTION*** | Execute | <a href="TestManagement.aspx">Management</a>--> Modified: Website/Includes/UserSettings.ascx =================================================================== --- Website/Includes/UserSettings.ascx 2006-07-31 15:35:53 UTC (rev 239) +++ Website/Includes/UserSettings.ascx 2006-07-31 15:39:18 UTC (rev 240) @@ -91,8 +91,8 @@ <asp:LinkButton ID="New" runat="server" CommandName="New" OnLoad="newButton_Load">New</asp:LinkButton><asp:Label runat="server" ID="newLabel" OnLoad="newLabel_Load"> | </asp:Label> <asp:LinkButton ID="Edit" runat="server" CommandName="Edit">Edit User</asp:LinkButton> - | - <asp:LinkButton ID="editConfig" runat="server" CommandName="editConfig" OnCommand="editConfig">Preferences</asp:LinkButton> + <!-- ***NONPRODUCTION*** | + <asp:LinkButton ID="editConfig" runat="server" CommandName="editConfig" OnCommand="editConfig">Preferences</asp:LinkButton> --> <asp:Label runat="server" ID="deleteLabel" OnLoad="deleteLabel_Load"> | </asp:Label><asp:LinkButton ID="Delete" runat="server" CommandName="Delete" OnLoad="deleteButton_Load">Delete</asp:LinkButton> </div> @@ -169,6 +169,7 @@ </div> <div class="cm"> <div class="left"> + <div class="item"><label>Roles:</label></div> <div class="item"> <asp:TreeView ID="roleTree" runat="server" OnInit="roleTreeEdit_Init" OnTreeNodePopulate="roleTree_TreeNodePopulate" ShowCheckBoxes="All" OnSelectedNodeChanged="roleTree_SelectedNodeChanged" ShowExpandCollapse="false"> @@ -268,6 +269,7 @@ </div> <div class="cm"> <div class="left"> + <div class="item"><label>Roles:</label></div> <div class="item"> <asp:TreeView ID="roleTree" runat="server" OnInit="roleTreeEdit_Init" OnTreeNodePopulate="roleTree_TreeNodePopulate" ShowCheckBoxes="All" OnSelectedNodeChanged="roleTree_SelectedNodeChanged" ShowExpandCollapse="false"> @@ -291,9 +293,9 @@ <asp:LinkButton ID="UpdateCancelButton" runat="server" CausesValidation="False" CommandName="Cancel" Text="Cancel" /> | <asp:LinkButton ID="sync" runat="server" Text="Sync with AD" OnCommand="SyncWithAD" /> - + <!-- <asp:Label ID="passwordLbl" runat="server" Text="Password: "></asp:Label><asp:TextBox - ID="passwordBox" runat="server" TextMode="Password"></asp:TextBox> + ID="passwordBox" runat="server" TextMode="Password"></asp:TextBox>--> </div> <div class="right"> </div> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2006-07-31 15:36:05
|
Revision: 239 Author: rouquin Date: 2006-07-31 08:35:53 -0700 (Mon, 31 Jul 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=239&view=rev Log Message: ----------- Made a number of changes to the admin tree. Prune a little here add a little there... Also changed the view format of Roles/Products/Users on the Role view and Product view pages. These need beautification. Matt and I decided that we don't need all of the roles hard coded to the product in the database - we're going to use built-in role objects instead. So we can get rid of those attributes. Started work on enforcing rights. Still need an insert user/product/role query, etc. Modified Paths: -------------- Website/AdminRole.aspx Website/App_Code/Users.cs Website/App_Code/tcdbDataSet.xsd Website/App_Code/tcdbDataSet.xss Website/Includes/AdministrationTree.ascx.cs Website/Includes/Products.ascx Website/Includes/Roles.ascx Website/Includes/Roles.ascx.cs Modified: Website/AdminRole.aspx =================================================================== --- Website/AdminRole.aspx 2006-07-29 20:47:23 UTC (rev 238) +++ Website/AdminRole.aspx 2006-07-31 15:35:53 UTC (rev 239) @@ -9,18 +9,10 @@ protected void Page_Load(object sender, EventArgs e) { } - protected void newRole(object sender, CommandEventArgs e) - { - Response.Redirect("Role.aspx?mode=new&" + Constants.CODE_PRODUCT + "=" + product); - } protected void addRole(object sender, CommandEventArgs e) { - Response.Redirect("Role.aspx?mode=edit&"+Constants.CODE_ROLE+"=" + roleList.SelectedValue + "&" + Constants.CODE_PRODUCT + "=" + product); + Response.Redirect("Role.aspx?mode=new&" + Constants.CODE_PRODUCT + "=" + product+"&"+Constants.CODE_ROLE+"="+roleList.SelectedValue); } - protected void newRight(object sender, CommandEventArgs e) - { - Response.Redirect("Right.aspx?mode=new"); - } </script> <asp:Content ID="TreeContent" ContentPlaceHolderID="TreeContentPlaceHolder" runat="Server"> @@ -42,9 +34,7 @@ </asp:ObjectDataSource> <asp:LinkButton ID="addRoleBtn" runat="server" CommandName="addRole" OnCommand="addRole">Add User Role</asp:LinkButton> <br /> - <br /> - <asp:LinkButton ID="newRoleBtn" runat="server" CommandName="newRole" OnCommand="newRole">New User Role</asp:LinkButton> - <asp:LinkButton ID="newRightBtn" runat="server" CommandName="newRight" OnCommand="newRight">New Right</asp:LinkButton></td> + </td> </tr> </table> </asp:Content> Modified: Website/App_Code/Users.cs =================================================================== --- Website/App_Code/Users.cs 2006-07-29 20:47:23 UTC (rev 238) +++ Website/App_Code/Users.cs 2006-07-31 15:35:53 UTC (rev 239) @@ -209,6 +209,16 @@ if (ds.db_users.HasErrors) return false; + // Guest user == 1, Site Admin = 2 + if (ta.GetData(null, null).Count > 2) + { + user.AddRole("Basic User", Constants.PRODUCT_SITEID); + } + else + { + user.AddRole("Admin", Constants.PRODUCT_SITEID); + } + return true; } } @@ -393,14 +403,20 @@ public bool HasRight(string right, int productID) { - if (p_rights.ContainsKey(productID)) - return p_rights[productID].Contains(right); - else - { + if (!p_rights.ContainsKey(productID)) p_rights[productID] = RightDB.TCDB_GetUserRights(productID,p_id); + if (p_rights[productID].Contains(right)) + return true; - return p_rights[productID].Contains(right); + if (productID != Constants.PRODUCT_SITEID) + { + if (!p_rights.ContainsKey(Constants.PRODUCT_SITEID)) + p_rights[Constants.PRODUCT_SITEID] = RightDB.TCDB_GetUserRights(Constants.PRODUCT_SITEID, p_id); + if (p_rights[Constants.PRODUCT_SITEID].Contains(right)) + return true; } + + return false; } public static bool HasRight(int userID, string right, int productID) @@ -408,6 +424,11 @@ return (RightDB.TCDB_GetUserRight(productID, userID, right) != null); } + public void AddRole(String role, int productID) + { + // Insert user role Product + } + public List<Assignment> GetAssignments(bool reload, int statusFilter) { // TODO: This list needs to be able to reflect filters! Modified: Website/App_Code/tcdbDataSet.xsd =================================================================== --- Website/App_Code/tcdbDataSet.xsd 2006-07-29 20:47:23 UTC (rev 238) +++ Website/App_Code/tcdbDataSet.xsd 2006-07-31 15:35:53 UTC (rev 239) @@ -782,6 +782,19 @@ <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="db_roleRightTableAdapter" GeneratorDataComponentClassName="db_roleRightTableAdapter" Name="db_roleRight" UserDataComponentName="db_roleRightTableAdapter"> <MainSource> <DbSource ConnectionRef="tcdbConnectionString (Web.config)" DbObjectName="tcdb.dbo.sel_roleRight" DbObjectType="StoredProcedure" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="False" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="False" UserGetMethodName="GetData" UserSourceName="Fill"> + <InsertCommand> + <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> + <CommandText>dbo.ins_roleRight</CommandText> + <Parameters> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@roleID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumn="roleID" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@rightsID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumn="rightsID" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + </Parameters> + </DbCommand> + </InsertCommand> <SelectCommand> <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> <CommandText>dbo.sel_roleRight</CommandText> @@ -854,172 +867,172 @@ <xs:element name="db_users" msprop:Generator_UserTableName="db_users" msprop:Generator_RowDeletedName="db_usersRowDeleted" msprop:Generator_RowChangedName="db_usersRowChanged" msprop:Generator_RowClassName="db_usersRow" msprop:Generator_RowChangingName="db_usersRowChanging" msprop:Generator_RowEvArgName="db_usersRowChangeEvent" msprop:Generator_RowEvHandlerName="db_usersRowChangeEventHandler" msprop:Generator_TableClassName="db_usersDataTable" msprop:Generator_TableVarName="tabledb_users" msprop:Generator_RowDeletingName="db_usersRowDeleting" msprop:Generator_TablePropName="db_users"> <xs:complexType> <xs:sequence> - <xs:element name="userID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="userID" msprop:Generator_ColumnVarNameInTable="columnuserID" msprop:Generator_ColumnPropNameInRow="userID" msprop:Generator_ColumnPropNameInTable="userIDColumn" type="xs:int" /> - <xs:element name="username" msprop:Generator_UserColumnName="username" msprop:Generator_ColumnVarNameInTable="columnusername" msprop:Generator_ColumnPropNameInRow="username" msprop:Generator_ColumnPropNameInTable="usernameColumn"> + <xs:element name="userID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="userID" msprop:Generator_ColumnPropNameInRow="userID" msprop:Generator_ColumnVarNameInTable="columnuserID" msprop:Generator_ColumnPropNameInTable="userIDColumn" type="xs:int" /> + <xs:element name="username" msprop:Generator_UserColumnName="username" msprop:Generator_ColumnPropNameInRow="username" msprop:Generator_ColumnVarNameInTable="columnusername" msprop:Generator_ColumnPropNameInTable="usernameColumn"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="email" msprop:Generator_UserColumnName="email" msprop:Generator_ColumnVarNameInTable="columnemail" msprop:Generator_ColumnPropNameInRow="email" msprop:Generator_ColumnPropNameInTable="emailColumn"> + <xs:element name="email" msprop:Generator_UserColumnName="email" msprop:Generator_ColumnPropNameInRow="email" msprop:Generator_ColumnVarNameInTable="columnemail" msprop:Generator_ColumnPropNameInTable="emailColumn"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="officePhone" msprop:Generator_UserColumnName="officePhone" msprop:Generator_ColumnVarNameInTable="columnofficePhone" msprop:Generator_ColumnPropNameInRow="officePhone" msprop:Generator_ColumnPropNameInTable="officePhoneColumn" minOccurs="0"> + <xs:element name="officePhone" msprop:Generator_UserColumnName="officePhone" msprop:Generator_ColumnPropNameInRow="officePhone" msprop:Generator_ColumnVarNameInTable="columnofficePhone" msprop:Generator_ColumnPropNameInTable="officePhoneColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="14" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="homePhone" msprop:Generator_UserColumnName="homePhone" msprop:Generator_ColumnVarNameInTable="columnhomePhone" msprop:Generator_ColumnPropNameInRow="homePhone" msprop:Generator_ColumnPropNameInTable="homePhoneColumn" minOccurs="0"> + <xs:element name="homePhone" msprop:Generator_UserColumnName="homePhone" msprop:Generator_ColumnPropNameInRow="homePhone" msprop:Generator_ColumnVarNameInTable="columnhomePhone" msprop:Generator_ColumnPropNameInTable="homePhoneColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="14" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="cellPhone" msprop:Generator_UserColumnName="cellPhone" msprop:Generator_ColumnVarNameInTable="columncellPhone" msprop:Generator_ColumnPropNameInRow="cellPhone" msprop:Generator_ColumnPropNameInTable="cellPhoneColumn" minOccurs="0"> + <xs:element name="cellPhone" msprop:Generator_UserColumnName="cellPhone" msprop:Generator_ColumnPropNameInRow="cellPhone" msprop:Generator_ColumnVarNameInTable="columncellPhone" msprop:Generator_ColumnPropNameInTable="cellPhoneColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="14" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="firstName" msprop:Generator_UserColumnName="firstName" msprop:Generator_ColumnVarNameInTable="columnfirstName" msprop:Generator_ColumnPropNameInRow="firstName" msprop:Generator_ColumnPropNameInTable="firstNameColumn"> + <xs:element name="firstName" msprop:Generator_UserColumnName="firstName" msprop:Generator_ColumnPropNameInRow="firstName" msprop:Generator_ColumnVarNameInTable="columnfirstName" msprop:Generator_ColumnPropNameInTable="firstNameColumn"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="24" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="lastName" msprop:Generator_UserColumnName="lastName" msprop:Generator_ColumnVarNameInTable="columnlastName" msprop:Generator_ColumnPropNameInRow="lastName" msprop:Generator_ColumnPropNameInTable="lastNameColumn"> + <xs:element name="lastName" msprop:Generator_UserColumnName="lastName" msprop:Generator_ColumnPropNameInRow="lastName" msprop:Generator_ColumnVarNameInTable="columnlastName" msprop:Generator_ColumnPropNameInTable="lastNameColumn"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="24" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="fullName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="fullName" msprop:Generator_ColumnVarNameInTable="columnfullName" msprop:Generator_ColumnPropNameInRow="fullName" msprop:Generator_ColumnPropNameInTable="fullNameColumn" minOccurs="0"> + <xs:element name="fullName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="fullName" msprop:Generator_ColumnPropNameInRow="fullName" msprop:Generator_ColumnVarNameInTable="columnfullName" msprop:Generator_ColumnPropNameInTable="fullNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="automation" msprop:Generator_UserColumnName="automation" msprop:Generator_ColumnVarNameInTable="columnautomation" msprop:Generator_ColumnPropNameInRow="automation" msprop:Generator_ColumnPropNameInTable="automationColumn" type="xs:boolean" /> + <xs:element name="automation" msprop:Generator_UserColumnName="automation" msprop:Generator_ColumnPropNameInRow="automation" msprop:Generator_ColumnVarNameInTable="columnautomation" msprop:Generator_ColumnPropNameInTable="automationColumn" type="xs:boolean" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_products" msprop:Generator_UserTableName="db_products" msprop:Generator_RowDeletedName="db_productsRowDeleted" msprop:Generator_RowChangedName="db_productsRowChanged" msprop:Generator_RowClassName="db_productsRow" msprop:Generator_RowChangingName="db_productsRowChanging" msprop:Generator_RowEvArgName="db_productsRowChangeEvent" msprop:Generator_RowEvHandlerName="db_productsRowChangeEventHandler" msprop:Generator_TableClassName="db_productsDataTable" msprop:Generator_TableVarName="tabledb_products" msprop:Generator_RowDeletingName="db_productsRowDeleting" msprop:Generator_TablePropName="db_products"> <xs:complexType> <xs:sequence> - <xs:element name="productID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" /> - <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> + <xs:element name="productID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" /> + <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> + <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="devManager" msprop:Generator_UserColumnName="devManager" msprop:Generator_ColumnVarNameInTable="columndevManager" msprop:Generator_ColumnPropNameInRow="devManager" msprop:Generator_ColumnPropNameInTable="devManagerColumn" type="xs:int" minOccurs="0" /> - <xs:element name="qaManager" msprop:Generator_UserColumnName="qaManager" msprop:Generator_ColumnVarNameInTable="columnqaManager" msprop:Generator_ColumnPropNameInRow="qaManager" msprop:Generator_ColumnPropNameInTable="qaManagerColumn" type="xs:int" minOccurs="0" /> - <xs:element name="devLead" msprop:Generator_UserColumnName="devLead" msprop:Generator_ColumnVarNameInTable="columndevLead" msprop:Generator_ColumnPropNameInRow="devLead" msprop:Generator_ColumnPropNameInTable="devLeadColumn" type="xs:int" minOccurs="0" /> - <xs:element name="qaLead" msprop:Generator_UserColumnName="qaLead" msprop:Generator_ColumnVarNameInTable="columnqaLead" msprop:Generator_ColumnPropNameInRow="qaLead" msprop:Generator_ColumnPropNameInTable="qaLeadColumn" type="xs:int" minOccurs="0" /> - <xs:element name="pm" msprop:Generator_UserColumnName="pm" msprop:Generator_ColumnVarNameInTable="columnpm" msprop:Generator_ColumnPropNameInRow="pm" msprop:Generator_ColumnPropNameInTable="pmColumn" type="xs:int" minOccurs="0" /> - <xs:element name="codeName" msprop:Generator_UserColumnName="codeName" msprop:Generator_ColumnVarNameInTable="columncodeName" msprop:Generator_ColumnPropNameInRow="codeName" msprop:Generator_ColumnPropNameInTable="codeNameColumn" minOccurs="0"> + <xs:element name="devManager" msprop:Generator_UserColumnName="devManager" msprop:Generator_ColumnPropNameInRow="devManager" msprop:Generator_ColumnVarNameInTable="columndevManager" msprop:Generator_ColumnPropNameInTable="devManagerColumn" type="xs:int" minOccurs="0" /> + <xs:element name="qaManager" msprop:Generator_UserColumnName="qaManager" msprop:Generator_ColumnPropNameInRow="qaManager" msprop:Generator_ColumnVarNameInTable="columnqaManager" msprop:Generator_ColumnPropNameInTable="qaManagerColumn" type="xs:int" minOccurs="0" /> + <xs:element name="devLead" msprop:Generator_UserColumnName="devLead" msprop:Generator_ColumnPropNameInRow="devLead" msprop:Generator_ColumnVarNameInTable="columndevLead" msprop:Generator_ColumnPropNameInTable="devLeadColumn" type="xs:int" minOccurs="0" /> + <xs:element name="qaLead" msprop:Generator_UserColumnName="qaLead" msprop:Generator_ColumnPropNameInRow="qaLead" msprop:Generator_ColumnVarNameInTable="columnqaLead" msprop:Generator_ColumnPropNameInTable="qaLeadColumn" type="xs:int" minOccurs="0" /> + <xs:element name="pm" msprop:Generator_UserColumnName="pm" msprop:Generator_ColumnPropNameInRow="pm" msprop:Generator_ColumnVarNameInTable="columnpm" msprop:Generator_ColumnPropNameInTable="pmColumn" type="xs:int" minOccurs="0" /> + <xs:element name="codeName" msprop:Generator_UserColumnName="codeName" msprop:Generator_ColumnPropNameInRow="codeName" msprop:Generator_ColumnVarNameInTable="columncodeName" msprop:Generator_ColumnPropNameInTable="codeNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="10" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> + <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_actionItems" msprop:Generator_UserTableName="db_actionItems" msprop:Generator_RowDeletedName="db_actionItemsRowDeleted" msprop:Generator_RowChangedName="db_actionItemsRowChanged" msprop:Generator_RowClassName="db_actionItemsRow" msprop:Generator_RowChangingName="db_actionItemsRowChanging" msprop:Generator_RowEvArgName="db_actionItemsRowChangeEvent" msprop:Generator_RowEvHandlerName="db_actionItemsRowChangeEventHandler" msprop:Generator_TableClassName="db_actionItemsDataTable" msprop:Generator_TableVarName="tabledb_actionItems" msprop:Generator_RowDeletingName="db_actionItemsRowDeleting" msprop:Generator_TablePropName="db_actionItems"> <xs:complexType> <xs:sequence> - <xs:element name="actionItemID" msprop:Generator_UserColumnName="actionItemID" msprop:Generator_ColumnPropNameInRow="actionItemID" msprop:Generator_ColumnVarNameInTable="columnactionItemID" msprop:Generator_ColumnPropNameInTable="actionItemIDColumn" type="xs:int" /> - <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> + <xs:element name="actionItemID" msprop:Generator_UserColumnName="actionItemID" msprop:Generator_ColumnVarNameInTable="columnactionItemID" msprop:Generator_ColumnPropNameInRow="actionItemID" msprop:Generator_ColumnPropNameInTable="actionItemIDColumn" type="xs:int" /> + <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> + <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="dateAssigned" msprop:Generator_UserColumnName="dateAssigned" msprop:Generator_ColumnPropNameInRow="dateAssigned" msprop:Generator_ColumnVarNameInTable="columndateAssigned" msprop:Generator_ColumnPropNameInTable="dateAssignedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="dateDue" msprop:Generator_UserColumnName="dateDue" msprop:Generator_ColumnPropNameInRow="dateDue" msprop:Generator_ColumnVarNameInTable="columndateDue" msprop:Generator_ColumnPropNameInTable="dateDueColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="percentComplete" msprop:Generator_UserColumnName="percentComplete" msprop:Generator_ColumnPropNameInRow="percentComplete" msprop:Generator_ColumnVarNameInTable="columnpercentComplete" msprop:Generator_ColumnPropNameInTable="percentCompleteColumn" type="xs:int" minOccurs="0" /> - <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> + <xs:element name="dateAssigned" msprop:Generator_UserColumnName="dateAssigned" msprop:Generator_ColumnVarNameInTable="columndateAssigned" msprop:Generator_ColumnPropNameInRow="dateAssigned" msprop:Generator_ColumnPropNameInTable="dateAssignedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="dateDue" msprop:Generator_UserColumnName="dateDue" msprop:Generator_ColumnVarNameInTable="columndateDue" msprop:Generator_ColumnPropNameInRow="dateDue" msprop:Generator_ColumnPropNameInTable="dateDueColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="percentComplete" msprop:Generator_UserColumnName="percentComplete" msprop:Generator_ColumnVarNameInTable="columnpercentComplete" msprop:Generator_ColumnPropNameInRow="percentComplete" msprop:Generator_ColumnPropNameInTable="percentCompleteColumn" type="xs:int" minOccurs="0" /> + <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="createdBy" msdata:ReadOnly="true" msprop:Generator_UserColumnName="createdBy" msprop:Generator_ColumnPropNameInRow="createdBy" msprop:Generator_ColumnVarNameInTable="columncreatedBy" msprop:Generator_ColumnPropNameInTable="createdByColumn" minOccurs="0"> + <xs:element name="createdBy" msdata:ReadOnly="true" msprop:Generator_UserColumnName="createdBy" msprop:Generator_ColumnVarNameInTable="columncreatedBy" msprop:Generator_ColumnPropNameInRow="createdBy" msprop:Generator_ColumnPropNameInTable="createdByColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="highPriority" msprop:Generator_UserColumnName="highPriority" msprop:Generator_ColumnPropNameInRow="highPriority" msprop:Generator_ColumnVarNameInTable="columnhighPriority" msprop:Generator_ColumnPropNameInTable="highPriorityColumn" type="xs:boolean" minOccurs="0" /> - <xs:element name="testPass" msprop:Generator_UserColumnName="testPass" msprop:Generator_ColumnVarNameInTable="columntestPass" msprop:Generator_ColumnPropNameInRow="testPass" msprop:Generator_ColumnPropNameInTable="testPassColumn" minOccurs="0"> + <xs:element name="highPriority" msprop:Generator_UserColumnName="highPriority" msprop:Generator_ColumnVarNameInTable="columnhighPriority" msprop:Generator_ColumnPropNameInRow="highPriority" msprop:Generator_ColumnPropNameInTable="highPriorityColumn" type="xs:boolean" minOccurs="0" /> + <xs:element name="testPass" msprop:Generator_UserColumnName="testPass" msprop:Generator_ColumnPropNameInRow="testPass" msprop:Generator_ColumnVarNameInTable="columntestPass" msprop:Generator_ColumnPropNameInTable="testPassColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="dateFinished" msprop:Generator_UserColumnName="dateFinished" msprop:Generator_ColumnVarNameInTable="columndateFinished" msprop:Generator_ColumnPropNameInRow="dateFinished" msprop:Generator_ColumnPropNameInTable="dateFinishedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="assignedID" msprop:Generator_UserColumnName="assignedID" msprop:Generator_ColumnVarNameInTable="columnassignedID" msprop:Generator_ColumnPropNameInRow="assignedID" msprop:Generator_ColumnPropNameInTable="assignedIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="assigned" msdata:ReadOnly="true" msprop:Generator_UserColumnName="assigned" msprop:Generator_ColumnVarNameInTable="columnassigned" msprop:Generator_ColumnPropNameInRow="assigned" msprop:Generator_ColumnPropNameInTable="assignedColumn" minOccurs="0"> + <xs:element name="dateFinished" msprop:Generator_UserColumnName="dateFinished" msprop:Generator_ColumnPropNameInRow="dateFinished" msprop:Generator_ColumnVarNameInTable="columndateFinished" msprop:Generator_ColumnPropNameInTable="dateFinishedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="assignedID" msprop:Generator_UserColumnName="assignedID" msprop:Generator_ColumnPropNameInRow="assignedID" msprop:Generator_ColumnVarNameInTable="columnassignedID" msprop:Generator_ColumnPropNameInTable="assignedIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="assigned" msdata:ReadOnly="true" msprop:Generator_UserColumnName="assigned" msprop:Generator_ColumnPropNameInRow="assigned" msprop:Generator_ColumnVarNameInTable="columnassigned" msprop:Generator_ColumnPropNameInTable="assignedColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="statusID" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="testPassID" msprop:Generator_UserColumnName="testPassID" msprop:Generator_ColumnPropNameInRow="testPassID" msprop:Generator_ColumnVarNameInTable="columntestPassID" msprop:Generator_ColumnPropNameInTable="testPassIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> - <xs:element name="creatorID" msprop:Generator_UserColumnName="creatorID" msprop:Generator_ColumnPropNameInRow="creatorID" msprop:Generator_ColumnVarNameInTable="columncreatorID" msprop:Generator_ColumnPropNameInTable="creatorIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="statusID" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="testPassID" msprop:Generator_UserColumnName="testPassID" msprop:Generator_ColumnVarNameInTable="columntestPassID" msprop:Generator_ColumnPropNameInRow="testPassID" msprop:Generator_ColumnPropNameInTable="testPassIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> + <xs:element name="creatorID" msprop:Generator_UserColumnName="creatorID" msprop:Generator_ColumnVarNameInTable="columncreatorID" msprop:Generator_ColumnPropNameInRow="creatorID" msprop:Generator_ColumnPropNameInTable="creatorIDColumn" type="xs:int" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_status" msprop:Generator_UserTableName="db_status" msprop:Generator_RowDeletedName="db_statusRowDeleted" msprop:Generator_RowChangedName="db_statusRowChanged" msprop:Generator_RowClassName="db_statusRow" msprop:Generator_RowChangingName="db_statusRowChanging" msprop:Generator_RowEvArgName="db_statusRowChangeEvent" msprop:Generator_RowEvHandlerName="db_statusRowChangeEventHandler" msprop:Generator_TableClassName="db_statusDataTable" msprop:Generator_TableVarName="tabledb_status" msprop:Generator_RowDeletingName="db_statusRowDeleting" msprop:Generator_TablePropName="db_status"> <xs:complexType> <xs:sequence> - <xs:element name="statusID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" /> - <xs:element name="Description" msprop:Generator_UserColumnName="Description" msprop:Generator_ColumnVarNameInTable="columnDescription" msprop:Generator_ColumnPropNameInRow="Description" msprop:Generator_ColumnPropNameInTable="DescriptionColumn" minOccurs="0"> + <xs:element name="statusID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" /> + <xs:element name="Description" msprop:Generator_UserColumnName="Description" msprop:Generator_ColumnPropNameInRow="Description" msprop:Generator_ColumnVarNameInTable="columnDescription" msprop:Generator_ColumnPropNameInTable="DescriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> + <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> @@ -1032,113 +1045,113 @@ <xs:element name="db_notes" msprop:Generator_UserTableName="db_notes" msprop:Generator_RowDeletedName="db_notesRowDeleted" msprop:Generator_RowChangedName="db_notesRowChanged" msprop:Generator_RowClassName="db_notesRow" msprop:Generator_RowChangingName="db_notesRowChanging" msprop:Generator_RowEvArgName="db_notesRowChangeEvent" msprop:Generator_RowEvHandlerName="db_notesRowChangeEventHandler" msprop:Generator_TableClassName="db_notesDataTable" msprop:Generator_TableVarName="tabledb_notes" msprop:Generator_RowDeletingName="db_notesRowDeleting" msprop:Generator_TablePropName="db_notes"> <xs:complexType> <xs:sequence> - <xs:element name="noteID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="noteID" msprop:Generator_ColumnVarNameInTable="columnnoteID" msprop:Generator_ColumnPropNameInRow="noteID" msprop:Generator_ColumnPropNameInTable="noteIDColumn" type="xs:int" /> - <xs:element name="dateCreated" msprop:Generator_UserColumnName="dateCreated" msprop:Generator_ColumnVarNameInTable="columndateCreated" msprop:Generator_ColumnPropNameInRow="dateCreated" msprop:Generator_ColumnPropNameInTable="dateCreatedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="noteField" msprop:Generator_UserColumnName="noteField" msprop:Generator_ColumnVarNameInTable="columnnoteField" msprop:Generator_ColumnPropNameInRow="noteField" msprop:Generator_ColumnPropNameInTable="noteFieldColumn" minOccurs="0"> + <xs:element name="noteID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="noteID" msprop:Generator_ColumnPropNameInRow="noteID" msprop:Generator_ColumnVarNameInTable="columnnoteID" msprop:Generator_ColumnPropNameInTable="noteIDColumn" type="xs:int" /> + <xs:element name="dateCreated" msprop:Generator_UserColumnName="dateCreated" msprop:Generator_ColumnPropNameInRow="dateCreated" msprop:Generator_ColumnVarNameInTable="columndateCreated" msprop:Generator_ColumnPropNameInTable="dateCreatedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="noteField" msprop:Generator_UserColumnName="noteField" msprop:Generator_ColumnPropNameInRow="noteField" msprop:Generator_ColumnVarNameInTable="columnnoteField" msprop:Generator_ColumnPropNameInTable="noteFieldColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="noteAuthor" msprop:Generator_UserColumnName="noteAuthor" msprop:Generator_ColumnVarNameInTable="columnnoteAuthor" msprop:Generator_ColumnPropNameInRow="noteAuthor" msprop:Generator_ColumnPropNameInTable="noteAuthorColumn" type="xs:int" minOccurs="0" /> + <xs:element name="noteAuthor" msprop:Generator_UserColumnName="noteAuthor" msprop:Generator_ColumnPropNameInRow="noteAuthor" msprop:Generator_ColumnVarNameInTable="columnnoteAuthor" msprop:Generator_ColumnPropNameInTable="noteAuthorColumn" type="xs:int" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_assignments" msprop:Generator_UserTableName="db_assignments" msprop:Generator_RowDeletedName="db_assignmentsRowDeleted" msprop:Generator_RowChangedName="db_assignmentsRowChanged" msprop:Generator_RowClassName="db_assignmentsRow" msprop:Generator_RowChangingName="db_assignmentsRowChanging" msprop:Generator_RowEvArgName="db_assignmentsRowChangeEvent" msprop:Generator_RowEvHandlerName="db_assignmentsRowChangeEventHandler" msprop:Generator_TableClassName="db_assignmentsDataTable" msprop:Generator_TableVarName="tabledb_assignments" msprop:Generator_RowDeletingName="db_assignmentsRowDeleting" msprop:Generator_TablePropName="db_assignments"> <xs:complexType> <xs:sequence> - <xs:element name="aType" msdata:ReadOnly="true" msprop:Generator_UserColumnName="aType" msprop:Generator_ColumnVarNameInTable="columnaType" msprop:Generator_ColumnPropNameInRow="aType" msprop:Generator_ColumnPropNameInTable="aTypeColumn" minOccurs="0"> + <xs:element name="aType" msdata:ReadOnly="true" msprop:Generator_UserColumnName="aType" msprop:Generator_ColumnPropNameInRow="aType" msprop:Generator_ColumnVarNameInTable="columnaType" msprop:Generator_ColumnPropNameInTable="aTypeColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="childID" msdata:ReadOnly="true" msprop:Generator_UserColumnName="childID" msprop:Generator_ColumnVarNameInTable="columnchildID" msprop:Generator_ColumnPropNameInRow="childID" msprop:Generator_ColumnPropNameInTable="childIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="creator" msdata:ReadOnly="true" msprop:Generator_UserColumnName="creator" msprop:Generator_ColumnVarNameInTable="columncreator" msprop:Generator_ColumnPropNameInRow="creator" msprop:Generator_ColumnPropNameInTable="creatorColumn" minOccurs="0"> + <xs:element name="childID" msdata:ReadOnly="true" msprop:Generator_UserColumnName="childID" msprop:Generator_ColumnPropNameInRow="childID" msprop:Generator_ColumnVarNameInTable="columnchildID" msprop:Generator_ColumnPropNameInTable="childIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="creator" msdata:ReadOnly="true" msprop:Generator_UserColumnName="creator" msprop:Generator_ColumnPropNameInRow="creator" msprop:Generator_ColumnVarNameInTable="columncreator" msprop:Generator_ColumnPropNameInTable="creatorColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="assigned" msdata:ReadOnly="true" msprop:Generator_UserColumnName="assigned" msprop:Generator_ColumnVarNameInTable="columnassigned" msprop:Generator_ColumnPropNameInRow="assigned" msprop:Generator_ColumnPropNameInTable="assignedColumn" minOccurs="0"> + <xs:element name="assigned" msdata:ReadOnly="true" msprop:Generator_UserColumnName="assigned" msprop:Generator_ColumnPropNameInRow="assigned" msprop:Generator_ColumnVarNameInTable="columnassigned" msprop:Generator_ColumnPropNameInTable="assignedColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="assignedID" msprop:Generator_UserColumnName="assignedID" msprop:Generator_ColumnVarNameInTable="columnassignedID" msprop:Generator_ColumnPropNameInRow="assignedID" msprop:Generator_ColumnPropNameInTable="assignedIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="dateAssigned" msprop:Generator_UserColumnName="dateAssigned" msprop:Generator_ColumnVarNameInTable="columndateAssigned" msprop:Generator_ColumnPropNameInRow="dateAssigned" msprop:Generator_ColumnPropNameInTable="dateAssignedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="dateDue" msprop:Generator_UserColumnName="dateDue" msprop:Generator_ColumnVarNameInTable="columndateDue" msprop:Generator_ColumnPropNameInRow="dateDue" msprop:Generator_ColumnPropNameInTable="dateDueColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="dateFinished" msprop:Generator_UserColumnName="dateFinished" msprop:Generator_ColumnVarNameInTable="columndateFinished" msprop:Generator_ColumnPropNameInRow="dateFinished" msprop:Generator_ColumnPropNameInTable="dateFinishedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="highPriority" msprop:Generator_UserColumnName="highPriority" msprop:Generator_ColumnVarNameInTable="columnhighPriority" msprop:Generator_ColumnPropNameInRow="highPriority" msprop:Generator_ColumnPropNameInTable="highPriorityColumn" type="xs:boolean" minOccurs="0" /> - <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> + <xs:element name="assignedID" msprop:Generator_UserColumnName="assignedID" msprop:Generator_ColumnPropNameInRow="assignedID" msprop:Generator_ColumnVarNameInTable="columnassignedID" msprop:Generator_ColumnPropNameInTable="assignedIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="dateAssigned" msprop:Generator_UserColumnName="dateAssigned" msprop:Generator_ColumnPropNameInRow="dateAssigned" msprop:Generator_ColumnVarNameInTable="columndateAssigned" msprop:Generator_ColumnPropNameInTable="dateAssignedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="dateDue" msprop:Generator_UserColumnName="dateDue" msprop:Generator_ColumnPropNameInRow="dateDue" msprop:Generator_ColumnVarNameInTable="columndateDue" msprop:Generator_ColumnPropNameInTable="dateDueColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="dateFinished" msprop:Generator_UserColumnName="dateFinished" msprop:Generator_ColumnPropNameInRow="dateFinished" msprop:Generator_ColumnVarNameInTable="columndateFinished" msprop:Generator_ColumnPropNameInTable="dateFinishedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="highPriority" msprop:Generator_UserColumnName="highPriority" msprop:Generator_ColumnPropNameInRow="highPriority" msprop:Generator_ColumnVarNameInTable="columnhighPriority" msprop:Generator_ColumnPropNameInTable="highPriorityColumn" type="xs:boolean" minOccurs="0" /> + <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="WOTotalTest" msprop:Generator_UserColumnName="WOTotalTest" msprop:Generator_ColumnVarNameInTable="columnWOTotalTest" msprop:Generator_ColumnPropNameInRow="WOTotalTest" msprop:Generator_ColumnPropNameInTable="WOTotalTestColumn" type="xs:int" minOccurs="0" /> - <xs:element name="WOPassRate" msdata:ReadOnly="true" msprop:Generator_UserColumnName="WOPassRate" msprop:Generator_ColumnVarNameInTable="columnWOPassRate" msprop:Generator_ColumnPropNameInRow="WOPassRate" msprop:Generator_ColumnPropNameInTable="WOPassRateColumn" minOccurs="0"> + <xs:element name="WOTotalTest" msprop:Generator_UserColumnName="WOTotalTest" msprop:Generator_ColumnPropNameInRow="WOTotalTest" msprop:Generator_ColumnVarNameInTable="columnWOTotalTest" msprop:Generator_ColumnPropNameInTable="WOTotalTestColumn" type="xs:int" minOccurs="0" /> + <xs:element name="WOPassRate" msdata:ReadOnly="true" msprop:Generator_UserColumnName="WOPassRate" msprop:Generator_ColumnPropNameInRow="WOPassRate" msprop:Generator_ColumnVarNameInTable="columnWOPassRate" msprop:Generator_ColumnPropNameInTable="WOPassRateColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="31" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="WOPass" msprop:Generator_UserColumnName="WOPass" msprop:Generator_ColumnVarNameInTable="columnWOPass" msprop:Generator_ColumnPropNameInRow="WOPass" msprop:Generator_ColumnPropNameInTable="WOPassColumn" type="xs:int" minOccurs="0" /> - <xs:element name="WOFail" msprop:Generator_UserColumnName="WOFail" msprop:Generator_ColumnVarNameInTable="columnWOFail" msprop:Generator_ColumnPropNameInRow="WOFail" msprop:Generator_ColumnPropNameInTable="WOFailColumn" type="xs:int" minOccurs="0" /> - <xs:element name="WOError" msprop:Generator_UserColumnName="WOError" msprop:Generator_ColumnVarNameInTable="columnWOError" msprop:Generator_ColumnPropNameInRow="WOError" msprop:Generator_ColumnPropNameInTable="WOErrorColumn" type="xs:int" minOccurs="0" /> - <xs:element name="aName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="aName" msprop:Generator_ColumnVarNameInTable="columnaName" msprop:Generator_ColumnPropNameInRow="aName" msprop:Generator_ColumnPropNameInTable="aNameColumn" minOccurs="0"> + <xs:element name="WOPass" msprop:Generator_UserColumnName="WOPass" msprop:Generator_ColumnPropNameInRow="WOPass" msprop:Generator_ColumnVarNameInTable="columnWOPass" msprop:Generator_ColumnPropNameInTable="WOPassColumn" type="xs:int" minOccurs="0" /> + <xs:element name="WOFail" msprop:Generator_UserColumnName="WOFail" msprop:Generator_ColumnPropNameInRow="WOFail" msprop:Generator_ColumnVarNameInTable="columnWOFail" msprop:Generator_ColumnPropNameInTable="WOFailColumn" type="xs:int" minOccurs="0" /> + <xs:element name="WOError" msprop:Generator_UserColumnName="WOError" msprop:Generator_ColumnPropNameInRow="WOError" msprop:Generator_ColumnVarNameInTable="columnWOError" msprop:Generator_ColumnPropNameInTable="WOErrorColumn" type="xs:int" minOccurs="0" /> + <xs:element name="aName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="aName" msprop:Generator_ColumnPropNameInRow="aName" msprop:Generator_ColumnVarNameInTable="columnaName" msprop:Generator_ColumnPropNameInTable="aNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> + <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_testPass" msprop:Generator_UserTableName="db_testPass" msprop:Generator_RowDeletedName="db_testPassRowDeleted" msprop:Generator_RowChangedName="db_testPassRowChanged" msprop:Generator_RowClassName="db_testPassRow" msprop:Generator_RowChangingName="db_testPassRowChanging" msprop:Generator_RowEvArgName="db_testPassRowChangeEvent" msprop:Generator_RowEvHandlerName="db_testPassRowChangeEventHandler" msprop:Generator_TableClassName="db_testPassDataTable" msprop:Generator_TableVarName="tabledb_testPass" msprop:Generator_RowDeletingName="db_testPassRowDeleting" msprop:Generator_TablePropName="db_testPass"> <xs:complexType> <xs:sequence> - <xs:element name="testPassID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="testPassID" msprop:Generator_ColumnPropNameInRow="testPassID" msprop:Generator_ColumnVarNameInTable="columntestPassID" msprop:Generator_ColumnPropNameInTable="testPassIDColumn" type="xs:int" /> - <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> + <xs:element name="testPassID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="testPassID" msprop:Generator_ColumnVarNameInTable="columntestPassID" msprop:Generator_ColumnPropNameInRow="testPassID" msprop:Generator_ColumnPropNameInTable="testPassIDColumn" type="xs:int" /> + <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="versionID" msprop:Generator_UserColumnName="versionID" msprop:Generator_ColumnPropNameInRow="versionID" msprop:Generator_ColumnVarNameInTable="columnversionID" msprop:Generator_ColumnPropNameInTable="versionIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="versionID" msprop:Generator_UserColumnName="versionID" msprop:Generator_ColumnVarNameInTable="columnversionID" msprop:Generator_ColumnPropNameInRow="versionID" msprop:Generator_ColumnPropNameInTable="versionIDColumn" type="xs:int" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_config" msprop:Generator_UserTableName="db_config" msprop:Generator_RowDeletedName="db_configRowDeleted" msprop:Generator_RowChangedName="db_configRowChanged" msprop:Generator_RowClassName="db_configRow" msprop:Generator_RowChangingName="db_configRowChanging" msprop:Generator_RowEvArgName="db_configRowChangeEvent" msprop:Generator_RowEvHandlerName="db_configRowChangeEventHandler" msprop:Generator_TableClassName="db_configDataTable" msprop:Generator_TableVarName="tabledb_config" msprop:Generator_RowDeletingName="db_configRowDeleting" msprop:Generator_TablePropName="db_config"> <xs:complexType> <xs:sequence> - <xs:element name="configID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="configID" msprop:Generator_ColumnPropNameInRow="configID" msprop:Generator_ColumnVarNameInTable="columnconfigID" msprop:Generator_ColumnPropNameInTable="configIDColumn" type="xs:int" /> - <xs:element name="userID" msprop:Generator_UserColumnName="userID" msprop:Generator_ColumnPropNameInRow="userID" msprop:Generator_ColumnVarNameInTable="columnuserID" msprop:Generator_ColumnPropNameInTable="userIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> + <xs:element name="configID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="configID" msprop:Generator_ColumnVarNameInTable="columnconfigID" msprop:Generator_ColumnPropNameInRow="configID" msprop:Generator_ColumnPropNameInTable="configIDColumn" type="xs:int" /> + <xs:element name="userID" msprop:Generator_UserColumnName="userID" msprop:Generator_ColumnVarNameInTable="columnuserID" msprop:Generator_ColumnPropNameInRow="userID" msprop:Generator_ColumnPropNameInTable="userIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="value" msprop:Generator_UserColumnName="value" msprop:Generator_ColumnPropNameInRow="value" msprop:Generator_ColumnVarNameInTable="columnvalue" msprop:Generator_ColumnPropNameInTable="valueColumn" minOccurs="0"> + <xs:element name="value" msprop:Generator_UserColumnName="value" msprop:Generator_ColumnVarNameInTable="columnvalue" msprop:Generator_ColumnPropNameInRow="value" msprop:Generator_ColumnPropNameInTable="valueColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> + <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> @@ -1151,93 +1164,93 @@ <xs:element name="db_version" msprop:Generator_UserTableName="db_version" msprop:Generator_RowDeletedName="db_versionRowDeleted" msprop:Generator_RowChangedName="db_versionRowChanged" msprop:Generator_RowClassName="db_versionRow" msprop:Generator_RowChangingName="db_versionRowChanging" msprop:Generator_RowEvArgName="db_versionRowChangeEvent" msprop:Generator_RowEvHandlerName="db_versionRowChangeEventHandler" msprop:Generator_TableClassName="db_versionDataTable" msprop:Generator_TableVarName="tabledb_version" msprop:Generator_RowDeletingName="db_versionRowDeleting" msprop:Generator_TablePropName="db_version"> <xs:complexType> <xs:sequence> - <xs:element name="versionID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="versionID" msprop:Generator_ColumnPropNameInRow="versionID" msprop:Generator_ColumnVarNameInTable="columnversionID" msprop:Generator_ColumnPropNameInTable="versionIDColumn" type="xs:int" /> - <xs:element name="productID" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="number" msprop:Generator_UserColumnName="number" msprop:Generator_ColumnPropNameInRow="number" msprop:Generator_ColumnVarNameInTable="columnnumber" msprop:Generator_ColumnPropNameInTable="numberColumn" minOccurs="0"> + <xs:element name="versionID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="versionID" msprop:Generator_ColumnVarNameInTable="columnversionID" msprop:Generator_ColumnPropNameInRow="versionID" msprop:Generator_ColumnPropNameInTable="versionIDColumn" type="xs:int" /> + <xs:element name="productID" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="number" msprop:Generator_UserColumnName="number" msprop:Generator_ColumnVarNameInTable="columnnumber... [truncated message content] |
From: <ro...@us...> - 2006-07-29 20:47:28
|
Revision: 238 Author: rouquin Date: 2006-07-29 13:47:23 -0700 (Sat, 29 Jul 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=238&view=rev Log Message: ----------- Some notes on rights Added Paths: ----------- Design/Rights.txt Added: Design/Rights.txt =================================================================== --- Design/Rights.txt (rev 0) +++ Design/Rights.txt 2006-07-29 20:47:23 UTC (rev 238) @@ -0,0 +1,106 @@ +-------------------------------------------- +Rights +-------------------------------------------- + +Action Item +----------- +view_my_ai +view_other_ai +view_created_ai + +edit_my_ai +edit_created_ai +edit_other_ai + +status_my_ai +status_created_ai +status_other_ai + +create_my_ai +create_other_ai + +delete_my_ai +delete_created_ai +delete_other_ai + +WorkOrder +----------- +view_my_wo +view_other_wo +view_created_wo + +edit_my_wo +edit_created_wo +edit_other_wo + +status_my_wo +status_created_wo +status_other_wo + +create_my_wo +create_other_wo + +delete_my_wo +delete_created_wo +delete_other_wo + +User Settings +------------- +view_my_settings +view_other_settings + +edit_my_settings +edit_other_settings + +create_new_user + +delete_user (not self) + +Administration +--------------- +view_admin + +-------------------------------------------- +Roles +-------------------------------------------- +Basic User +---------- +view_my_ai +view_my_wo +view_my_settings + +status_my_ai +status_my_wo + +create_my_ai +create_my_wo + +edit_my_settings + +Action Item Creator +------------------- +view_my_created_ai +edit_my_created_ai +status_created_ai +create_other_ai +delete_created_ai + +Work Order Creator +------------------- +view_my_created_wo +edit_my_created_wo +status_created_wo +create_other_wo +delete_created_wo + +Admin +-------- +all rights + +NOTES: +------- +TCDB Product -> Site + +1St New User -> Give (Admin,Site) role +Otherwise -> Give (Basic User, site) role + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <m_h...@us...> - 2006-07-28 23:08:41
|
Revision: 237 Author: m_hildebrand Date: 2006-07-28 16:08:31 -0700 (Fri, 28 Jul 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=237&view=rev Log Message: ----------- Theme changes Removed rights from administration tree Modified Paths: -------------- Website/App_Code/Common.cs Website/App_Code/SiteMaster.cs Website/App_Code/Users.cs Website/App_Themes/Python/python.css Website/Includes/AdministrationTree.ascx.cs Website/Includes/UserSettings.ascx Website/Includes/UserSettings.ascx.cs Modified: Website/App_Code/Common.cs =================================================================== --- Website/App_Code/Common.cs 2006-07-28 23:04:20 UTC (rev 236) +++ Website/App_Code/Common.cs 2006-07-28 23:08:31 UTC (rev 237) @@ -1201,6 +1201,7 @@ public static int NOTREGISTERED = -1; public static int NEWUSER = -1; + // Defaults in the database public static int ANONYMOUSUSERID = 1; public static int PRODUCT_SITEID = 1; Modified: Website/App_Code/SiteMaster.cs =================================================================== --- Website/App_Code/SiteMaster.cs 2006-07-28 23:04:20 UTC (rev 236) +++ Website/App_Code/SiteMaster.cs 2006-07-28 23:08:31 UTC (rev 237) @@ -7,6 +7,7 @@ using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; +using System.Web.Configuration; using TCDB.Users; using TCDB.Common; using log4net; @@ -30,7 +31,12 @@ //TimeSpan d = DateTime.Now - m_startTime; //d.Milliseconds; - } + }/* + else + { + PagesSection ps = (PagesSection)WebConfigurationManager.OpenWebConfiguration("").GetSection("system.web/pages"); + ps.ValidateRequest = false; + }*/ } public DateTime LoadStartTime() @@ -41,6 +47,7 @@ } return DateTime.Now; + } public User LoadSessionUser() Modified: Website/App_Code/Users.cs =================================================================== --- Website/App_Code/Users.cs 2006-07-28 23:04:20 UTC (rev 236) +++ Website/App_Code/Users.cs 2006-07-28 23:08:31 UTC (rev 237) @@ -386,6 +386,11 @@ return p_username.Trim(); } + public bool HasRight(string right) + { + return HasRight(right, Constants.PRODUCT_SITEID); + } + public bool HasRight(string right, int productID) { if (p_rights.ContainsKey(productID)) Modified: Website/App_Themes/Python/python.css =================================================================== --- Website/App_Themes/Python/python.css 2006-07-28 23:04:20 UTC (rev 236) +++ Website/App_Themes/Python/python.css 2006-07-28 23:08:31 UTC (rev 237) @@ -311,6 +311,29 @@ } /*********** END Form Content ***********/ +/********** BEGIN User Settings **************/ +#fullname input +{ + width: 75px; +} + +#fullname input + input +{ + width: 100px; +} + +* html #fullname input +{ + width: 100px; +} + +#email input +{ + width: 200px; +} + +/********** END User Settings *************/ + /********** BEGIN Box Content **********/ /* Snazzy borders by Stu Nicholls (http://www.cssplay.co.uk/boxes/snazzy.html) */ .xsnazzy Modified: Website/Includes/AdministrationTree.ascx.cs =================================================================== --- Website/Includes/AdministrationTree.ascx.cs 2006-07-28 23:04:20 UTC (rev 236) +++ Website/Includes/AdministrationTree.ascx.cs 2006-07-28 23:08:31 UTC (rev 237) @@ -47,7 +47,7 @@ // Add Admin Settings TreeNode newNode = new TreeNode(); - newNode.Text = "<font color=green>Site Settings</font>"; + newNode.Text = "Site Settings"; newNode.Value = "admin"; newNode.PopulateOnDemand = true; newNode.SelectAction = TreeNodeSelectAction.Expand; @@ -87,7 +87,7 @@ // Users newNode = new TreeNode(); - newNode.Text = "<font color=black>Users</font>"; + newNode.Text = "Users"; newNode.Value = "users"; newNode.PopulateOnDemand = true; newNode.SelectAction = TreeNodeSelectAction.Expand; @@ -97,7 +97,7 @@ // Roles newNode = new TreeNode(); - newNode.Text = "<font color=black>User Roles</font>"; + newNode.Text = "User Roles"; newNode.Value = "roles"; newNode.PopulateOnDemand = true; newNode.SelectAction = TreeNodeSelectAction.Expand; @@ -106,18 +106,18 @@ newNode.Expand(); // Rights - newNode = new TreeNode(); - newNode.Text = "<font color=black>User Rights</font>"; + /*newNode = new TreeNode(); + newNode.Text = "User Rights"; newNode.Value = "rights"; newNode.PopulateOnDemand = true; newNode.SelectAction = TreeNodeSelectAction.Expand; parent.ChildNodes.Add(newNode); if (nodes.Contains(newNode.ValuePath)) - newNode.Expand(); + newNode.Expand();*/ // Operating Systems newNode = new TreeNode(); - newNode.Text = "<font color=black>Operating Systems</font>"; + newNode.Text = "Operating Systems"; newNode.Value = "os"; newNode.PopulateOnDemand = true; newNode.SelectAction = TreeNodeSelectAction.Expand; @@ -127,7 +127,7 @@ // Architectures newNode = new TreeNode(); - newNode.Text = "<font color=black>Architectures</font>"; + newNode.Text = "Architectures"; newNode.Value = "arch"; newNode.PopulateOnDemand = true; newNode.SelectAction = TreeNodeSelectAction.Expand; @@ -204,7 +204,7 @@ // Versions newNode = new TreeNode(); - newNode.Text = "<font color=black>Releases</font>"; + newNode.Text = "Releases"; newNode.Value = "release"; newNode.PopulateOnDemand = true; newNode.SelectAction = TreeNodeSelectAction.Expand; @@ -214,7 +214,7 @@ // Tags newNode = new TreeNode(); - newNode.Text = "<font color=black>Tags</font>"; + newNode.Text = "Tags"; newNode.Value = "tag"; newNode.PopulateOnDemand = true; newNode.SelectAction = TreeNodeSelectAction.Expand; @@ -224,7 +224,7 @@ // Status Labels newNode = new TreeNode(); - newNode.Text = "<font color=black>Status Levels</font>"; + newNode.Text = "Status Levels"; newNode.Value = "status"; newNode.PopulateOnDemand = true; newNode.SelectAction = TreeNodeSelectAction.Expand; @@ -234,7 +234,7 @@ // Labs newNode = new TreeNode(); - newNode.Text = "<font color=black>Labs</font>"; + newNode.Text = "Labs"; newNode.Value = "lab"; newNode.PopulateOnDemand = true; newNode.SelectAction = TreeNodeSelectAction.Expand; @@ -244,7 +244,7 @@ // Roles newNode = new TreeNode(); - newNode.Text = "<font color=black>Roles</font>"; + newNode.Text = "Roles"; newNode.Value = "role"; newNode.PopulateOnDemand = true; newNode.SelectAction = TreeNodeSelectAction.Expand; @@ -255,7 +255,7 @@ // Users newNode = new TreeNode(); - newNode.Text = "<font color=black>Users</font>"; + newNode.Text = "Users"; newNode.Value = "user"; newNode.PopulateOnDemand = true; newNode.SelectAction = TreeNodeSelectAction.Expand; @@ -270,7 +270,7 @@ // Action Item newNode = new TreeNode(); - newNode.Text = "<font color=black>Action Item</font>"; + newNode.Text = "Action Item"; newNode.Value = "ActionItem"; newNode.PopulateOnDemand = true; newNode.SelectAction = TreeNodeSelectAction.Expand; @@ -280,7 +280,7 @@ // WorkOrder newNode = new TreeNode(); - newNode.Text = "<font color=black>Work Order</font>"; + newNode.Text = "Work Order"; newNode.Value = "WorkOrder"; newNode.PopulateOnDemand = true; newNode.SelectAction = TreeNodeSelectAction.Expand; @@ -290,7 +290,7 @@ // Objective newNode = new TreeNode(); - newNode.Text = "<font color=black>Objective</font>"; + newNode.Text = "Objective"; newNode.Value = "objective"; newNode.PopulateOnDemand = true; newNode.SelectAction = TreeNodeSelectAction.Expand; @@ -300,7 +300,7 @@ // TestCase newNode = new TreeNode(); - newNode.Text = "<font color=black>Testcase</font>"; + newNode.Text = "Testcase"; newNode.Value = "testcase"; newNode.PopulateOnDemand = true; newNode.SelectAction = TreeNodeSelectAction.Expand; @@ -353,7 +353,7 @@ { // Create the new node. TreeNode newNode = new TreeNode(); - newNode.Text = "<font color=blue>" + row.roleName + "</font>"; + newNode.Text = row.roleName; newNode.Value = row.roleID.ToString(); // Set the PopulateOnDemand property to true so that the child nodes can be @@ -379,7 +379,7 @@ { // Create the new node. TreeNode newNode = new TreeNode(); - newNode.Text = "<font color=blue>" + row.fullName + "</font>"; + newNode.Text = row.fullName; newNode.Value = row.userID.ToString(); ; // Set the PopulateOnDemand property to true so that the child nodes can be @@ -403,7 +403,7 @@ foreach (tcdbDataSet.db_usersRow row in uTable) { TreeNode child = new TreeNode(); - child.Text = "<FontInfo color=black>" + row.fullName + "</font>"; + child.Text = row.fullName; child.Value = row.userID.ToString(); child.NavigateUrl = "~/UserSettings.aspx?" + Constants.CODE_USER + "=" + child.Value; @@ -452,13 +452,14 @@ foreach (tcdbDataSet.db_roleRow row in rTable) { TreeNode child = new TreeNode(); - child.Text = "<FontInfo color=black>" + row.roleName + "</font>"; + child.Text = row.roleName; child.Value = row.roleID.ToString(); child.NavigateUrl = "~/Role.aspx?" + Constants.CODE_ROLE + "=" + child.Value; parent.ChildNodes.Add(child); } } + /* protected void BuildAllRightsList(TreeNode parent) { tcdbDataSetTableAdapters.db_rightsTableAdapter rAdapter = new tcdbDataSetTableAdapters.db_rightsTableAdapter(); @@ -467,13 +468,14 @@ foreach (tcdbDataSet.db_rightsRow row in rTable) { TreeNode child = new TreeNode(); - child.Text = "<FontInfo color=black>" + row.rightsName + "</font>"; + child.Text = row.rightsName; child.Value = row.rightsID.ToString(); child.NavigateUrl = "~/Right.aspx?" + Constants.CODE_RIGHT + "=" + child.Value; parent.ChildNodes.Add(child); } } + */ protected void BuildVersionCategories(TreeNode parent) { ArrayList nodes = (ArrayList)Session["AdminNodes"]; @@ -481,7 +483,7 @@ // Test Pass newNode = new TreeNode(); - newNode.Text = "<font color=black>Test Passes</font>"; + newNode.Text = "Test Passes"; newNode.Value = "testpass"; newNode.PopulateOnDemand = true; newNode.SelectAction = TreeNodeSelectAction.Expand; @@ -491,7 +493,7 @@ // Builds newNode = new TreeNode(); - newNode.Text = "<font color=black>Builds</font>"; + newNode.Text = "Builds"; newNode.Value = "build"; newNode.PopulateOnDemand = true; newNode.SelectAction = TreeNodeSelectAction.Expand; @@ -501,7 +503,7 @@ // Systems newNode = new TreeNode(); - newNode.Text = "<font color=black>Supported Systems</font>"; + newNode.Text = "Supported Systems"; newNode.Value = "system"; newNode.PopulateOnDemand = true; newNode.SelectAction = TreeNodeSelectAction.Expand; @@ -575,6 +577,7 @@ } */ } + /* protected void BuildRightsList(TreeNode parent) { ArrayList nodes = (ArrayList)Session["AdminNodes"]; @@ -586,7 +589,7 @@ { // Create the new node. TreeNode newNode = new TreeNode(); - newNode.Text = "<font color=green>Right: </font><font color=blue>" + row.rightName + "</font>"; + newNode.Text = "Right: " + row.rightName; newNode.Value = row.rightsID.ToString(); // Set the PopulateOnDemand property to true so that the child nodes can be @@ -602,6 +605,7 @@ newNode.Expand(); } } + */ protected void BuildBuildList(TreeNode parent) { ArrayList nodes = (ArrayList)Session["AdminNodes"]; @@ -813,8 +817,8 @@ BuildAllArchList(e.Node); else if (e.Node.Value == "roles") BuildAllRolesList(e.Node); - else if (e.Node.Value == "rights") - BuildAllRolesList(e.Node); + /*else if (e.Node.Value == "rights") + BuildAllRightsList(e.Node);*/ break; case 3: if (e.Node.NavigateUrl.Contains("Version")) @@ -823,8 +827,8 @@ BuildStatusList(e.Node); else if (e.Node.NavigateUrl.Contains("Lab")) BuildComputerList(e.Node); - else if (e.Node.NavigateUrl.Contains("Role")) - BuildRightsList(e.Node); + /*else if (e.Node.NavigateUrl.Contains("Role")) + BuildRightsList(e.Node);*/ break; case 4: if (e.Node.Value == "build") Modified: Website/Includes/UserSettings.ascx =================================================================== --- Website/Includes/UserSettings.ascx 2006-07-28 23:04:20 UTC (rev 236) +++ Website/Includes/UserSettings.ascx 2006-07-28 23:08:31 UTC (rev 237) @@ -113,19 +113,19 @@ <div class="xboxcontent"> <div class="ct"> <div class="left"> - <div class="item"> + <div class="item" id="username"> <label> User:</label> <asp:TextBox ID="usernameBox" runat="server" Text='<%# Bind("username") %>'></asp:TextBox> </div> - <div class="item"> + <div class="item" id="fullname"> <label> Name: </label> <asp:TextBox ID="firstNameBox" runat="server" Text='<%# Bind("firstName") %>'></asp:TextBox> <asp:TextBox ID="lastNameBox" runat="server" Text='<%# Bind("lastName") %>'></asp:TextBox> </div> - <div class="item"> + <div class="item" id="email"> <label> Email:</label> <asp:TextBox ID="emailBox" runat="server" Text='<%# Bind("email") %>'></asp:TextBox> @@ -144,18 +144,18 @@ </div> <div class="ct"> <div class="left"> - <div class="item"> + <div class="item" id="office"> <label> Office #:</label> <asp:TextBox ID="officePhoneBox" runat="server" Text='<%# Bind("officePhone") %>'></asp:TextBox> </div> - <div class="item"> + <div class="item" id="home"> <label> Home #:</label> <asp:TextBox ID="homePhoneBox" runat="server" Text='<%# Bind("homePhone") %>'> </asp:TextBox> </div> - <div class="item"> + <div class="item" id="cell"> <label> Cell #:</label> <asp:TextBox ID="cellPhoneBox" runat="server" Text='<%# Bind("cellPhone") %>'> Modified: Website/Includes/UserSettings.ascx.cs =================================================================== --- Website/Includes/UserSettings.ascx.cs 2006-07-28 23:04:20 UTC (rev 236) +++ Website/Includes/UserSettings.ascx.cs 2006-07-28 23:08:31 UTC (rev 237) @@ -249,29 +249,38 @@ { TreeView roleTree = (TreeView)sender; - // Initialize Product Roles - if (Session["ProductRoles"] == null) - Session.Add("ProductRoles", new Dictionary<String, ArrayList>()); - Dictionary<String, ArrayList> ProductRoles = (Dictionary<String, ArrayList>)Session["ProductRoles"]; - ProductRoles.Clear(); + // Only display the rights tree if the user has permissions to access this + if (m_user.HasRight(Constants.RIGHTS_ASSIGNPERMISSION) || m_user.HasRight(Constants.RIGHTS_SITEADMIN)) + { + roleTree.Visible = true; + // Initialize Product Roles + if (Session["ProductRoles"] == null) + Session.Add("ProductRoles", new Dictionary<String, ArrayList>()); + Dictionary<String, ArrayList> ProductRoles = (Dictionary<String, ArrayList>)Session["ProductRoles"]; + ProductRoles.Clear(); - // Get products - tcdbDataSetTableAdapters.db_productsTableAdapter pAdapter = new tcdbDataSetTableAdapters.db_productsTableAdapter(); - tcdbDataSet.db_productsDataTable pTable = pAdapter.GetData(null, null); + // Get products + tcdbDataSetTableAdapters.db_productsTableAdapter pAdapter = new tcdbDataSetTableAdapters.db_productsTableAdapter(); + tcdbDataSet.db_productsDataTable pTable = pAdapter.GetData(null, null); - foreach (tcdbDataSet.db_productsRow pRow in pTable) - { - // Get Roles - tcdbDataSetTableAdapters.db_roleUserProductTableAdapter rupAdapter = new tcdbDataSetTableAdapters.db_roleUserProductTableAdapter(); - tcdbDataSet.db_roleUserProductDataTable rupTable = rupAdapter.GetData(userID, pRow.productID, true); - ArrayList roles = new ArrayList(); + foreach (tcdbDataSet.db_productsRow pRow in pTable) + { + // Get Roles + tcdbDataSetTableAdapters.db_roleUserProductTableAdapter rupAdapter = new tcdbDataSetTableAdapters.db_roleUserProductTableAdapter(); + tcdbDataSet.db_roleUserProductDataTable rupTable = rupAdapter.GetData(userID, pRow.productID, true); + ArrayList roles = new ArrayList(); - foreach (tcdbDataSet.db_roleUserProductRow rupRow in rupTable) - roles.Add(rupRow.roleID.ToString()); + foreach (tcdbDataSet.db_roleUserProductRow rupRow in rupTable) + roles.Add(rupRow.roleID.ToString()); - if (roles.Count > 0) - ProductRoles[pRow.productID.ToString()] = roles; + if (roles.Count > 0) + ProductRoles[pRow.productID.ToString()] = roles; + } } + else + { + roleTree.Visible = false; + } } protected void BuildProductList(TreeNode parent) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2006-07-28 23:04:26
|
Revision: 236 Author: rouquin Date: 2006-07-28 16:04:20 -0700 (Fri, 28 Jul 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=236&view=rev Log Message: ----------- I hid the root of the role tree. You can still do select alls, but not expand collapse. It's one or the other. Modified Paths: -------------- Website/Includes/UserSettings.ascx Website/Includes/UserSettings.ascx.cs Modified: Website/Includes/UserSettings.ascx =================================================================== --- Website/Includes/UserSettings.ascx 2006-07-28 22:15:58 UTC (rev 235) +++ Website/Includes/UserSettings.ascx 2006-07-28 23:04:20 UTC (rev 236) @@ -171,9 +171,9 @@ <div class="left"> <div class="item"> <asp:TreeView ID="roleTree" runat="server" OnInit="roleTreeEdit_Init" OnTreeNodePopulate="roleTree_TreeNodePopulate" - ShowCheckBoxes="All" OnSelectedNodeChanged="roleTree_SelectedNodeChanged"> + ShowCheckBoxes="All" OnSelectedNodeChanged="roleTree_SelectedNodeChanged" ShowExpandCollapse="false"> <Nodes> - <asp:TreeNode SelectAction="SelectExpand" Text="<label>Roles</label>" + <asp:TreeNode Text="" Value="Roles" PopulateOnDemand="True" ShowCheckBox="false" /> </Nodes> </asp:TreeView> @@ -269,12 +269,10 @@ <div class="cm"> <div class="left"> <div class="item"> - <label> - Roles:<br /> <asp:TreeView ID="roleTree" runat="server" OnInit="roleTreeEdit_Init" OnTreeNodePopulate="roleTree_TreeNodePopulate" - ShowCheckBoxes="All" OnSelectedNodeChanged="roleTree_SelectedNodeChanged"> + ShowCheckBoxes="All" OnSelectedNodeChanged="roleTree_SelectedNodeChanged" ShowExpandCollapse="false"> <Nodes> - <asp:TreeNode SelectAction="SelectExpand" Text="<label>Roles</label>" + <asp:TreeNode Text="" Value="Roles" PopulateOnDemand="True" Selected="false" ShowCheckBox="false" /> </Nodes> </asp:TreeView> Modified: Website/Includes/UserSettings.ascx.cs =================================================================== --- Website/Includes/UserSettings.ascx.cs 2006-07-28 22:15:58 UTC (rev 235) +++ Website/Includes/UserSettings.ascx.cs 2006-07-28 23:04:20 UTC (rev 236) @@ -284,7 +284,7 @@ TreeNode child = new TreeNode(); child.Text = "<label>" + row.name + "</label>"; child.Value = row.productID.ToString(); - child.SelectAction = TreeNodeSelectAction.SelectExpand; + child.SelectAction = TreeNodeSelectAction.Select; child.PopulateOnDemand = true; child.ShowCheckBox = false; @@ -304,7 +304,6 @@ TreeNode child = new TreeNode(); child.Text = row.roleName; child.Value = row.roleID.ToString(); - child.SelectAction = TreeNodeSelectAction.Expand; child.ShowCheckBox = true; if (UserSettingsView.CurrentMode == FormViewMode.Edit) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2006-07-28 22:16:13
|
Revision: 235 Author: rouquin Date: 2006-07-28 15:15:58 -0700 (Fri, 28 Jul 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=235&view=rev Log Message: ----------- Added password prompt for when password is lost between sessions. Modified Paths: -------------- Website/Includes/UserSettings.ascx Website/Includes/UserSettings.ascx.cs Modified: Website/Includes/UserSettings.ascx =================================================================== --- Website/Includes/UserSettings.ascx 2006-07-28 21:19:34 UTC (rev 234) +++ Website/Includes/UserSettings.ascx 2006-07-28 22:15:58 UTC (rev 235) @@ -4,13 +4,14 @@ <%@ Register Assembly="eWorld.UI, Version=2.0.0.2148, Culture=neutral, PublicKeyToken=24d65337282035f2" Namespace="eWorld.UI" TagPrefix="ew" %> <div id="UserSettings"> - <asp:FormView ID="UserSettingsView" runat="server" DataSourceID="UserDataSource" DataKeyNames="userID" - OnItemDeleted="UserSettingsView_ItemDeleted" OnItemCommand="UserSettingsView_ItemCommand" OnItemInserted="UserSettingsView_ItemInserted" - OnItemUpdated="UserSettingsView_ItemUpdated" OnDataBound="UserSettingsView_DataBound"> + <asp:FormView ID="UserSettingsView" runat="server" DataSourceID="UserDataSource" + DataKeyNames="userID" OnItemDeleted="UserSettingsView_ItemDeleted" OnItemCommand="UserSettingsView_ItemCommand" + OnItemInserted="UserSettingsView_ItemInserted" OnItemUpdated="UserSettingsView_ItemUpdated" + OnDataBound="UserSettingsView_DataBound"> <HeaderTemplate> <div class="ch"> <h2> - <asp:Label runat="server" ID="userSettingsTitle" Text="User Settings" /></h2> + <asp:Label runat="server" ID="userSettingsTitle" Text="User Settings" /></h2> <div class="bottom"> </div> </div> @@ -170,10 +171,10 @@ <div class="left"> <div class="item"> <asp:TreeView ID="roleTree" runat="server" OnInit="roleTreeEdit_Init" OnTreeNodePopulate="roleTree_TreeNodePopulate" - ShowCheckBoxes="All" OnSelectedNodeChanged="roleTree_SelectedNodeChanged" > + ShowCheckBoxes="All" OnSelectedNodeChanged="roleTree_SelectedNodeChanged"> <Nodes> <asp:TreeNode SelectAction="SelectExpand" Text="<label>Roles</label>" - Value="Roles" PopulateOnDemand="True" ShowCheckBox="false" /> + Value="Roles" PopulateOnDemand="True" ShowCheckBox="false" /> </Nodes> </asp:TreeView> </div> @@ -191,6 +192,9 @@ <asp:LinkButton ID="UpdateCancelButton" runat="server" CausesValidation="False" CommandName="Cancel" Text="Cancel" /> | <asp:LinkButton ID="sync" runat="server" Text="Sync with AD" OnCommand="SyncWithAD" /> + + <asp:Label ID="passwordLbl" runat="server" Text="Password: "></asp:Label><asp:TextBox + ID="passwordBox" runat="server" TextMode="Password"></asp:TextBox> </div> <div class="right"> </div> @@ -201,6 +205,7 @@ <b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b><b class="xb1"> </b></b> </div> + <asp:Label ID="errorLbl" runat="server"></asp:Label> </EditItemTemplate> <InsertItemTemplate> <div class="xsnazzy"> @@ -288,6 +293,9 @@ <asp:LinkButton ID="UpdateCancelButton" runat="server" CausesValidation="False" CommandName="Cancel" Text="Cancel" /> | <asp:LinkButton ID="sync" runat="server" Text="Sync with AD" OnCommand="SyncWithAD" /> + + <asp:Label ID="passwordLbl" runat="server" Text="Password: "></asp:Label><asp:TextBox + ID="passwordBox" runat="server" TextMode="Password"></asp:TextBox> </div> <div class="right"> </div> @@ -298,6 +306,7 @@ <b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b><b class="xb1"> </b></b> </div> + <asp:Label ID="errorLbl" runat="server"></asp:Label> </InsertItemTemplate> </asp:FormView> Modified: Website/Includes/UserSettings.ascx.cs =================================================================== --- Website/Includes/UserSettings.ascx.cs 2006-07-28 21:19:34 UTC (rev 234) +++ Website/Includes/UserSettings.ascx.cs 2006-07-28 22:15:58 UTC (rev 235) @@ -118,14 +118,33 @@ protected void SyncWithAD(object sender, CommandEventArgs e) { - // TODO: If m_user.PASSWORD is "" or null, we must prompt for a password somehow - // or the AD authentication will fail + TextBox passwordBox = (TextBox)UserSettingsView.FindControl("passwordBox"); + String username = ((TextBox)UserSettingsView.FindControl("usernameBox")).Text; + if (username == "") + { + Label errorLbl = (Label)UserSettingsView.FindControl("errorLbl"); + + m_logg.Info("Could not sync with AD. No username specified"); + errorLbl.Text = "<font color=red>Please provide username to search for.</font>"; + return; + } + String password = null; if (m_user.PASSWORD != "") password = m_user.PASSWORD; + else if (passwordBox.Text != "") + password = passwordBox.Text; + else + { + Label errorLbl = (Label)UserSettingsView.FindControl("errorLbl"); + + m_logg.Info("Could not sync with AD. No password provided."); + errorLbl.Text = "<font color=red>Please provide password to authenticate with AD</font>"; + return; + } + User curUser = AD_Authentication.AD_GetUserInfo(m_user.USERNAME, password, username); - if (curUser.ID != -1) { TextBox tbx_firstName = (TextBox)UserSettingsView.FindControl("firstNameBox"); @@ -162,6 +181,22 @@ username.Enabled = false; } } + if (UserSettingsView.CurrentMode != FormViewMode.ReadOnly) + { + Label passwordLbl = (Label)UserSettingsView.FindControl("passwordLbl"); + TextBox passwordBox = (TextBox) UserSettingsView.FindControl("passwordBox"); + + if (m_user.PASSWORD != "") + { + passwordBox.Visible = false; + passwordLbl.Visible = false; + } + else + { + passwordBox.Visible = true; + passwordLbl.Visible = true; + } + } } protected void roleTreeView_Init(object sender, EventArgs e) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <m_h...@us...> - 2006-07-28 21:20:58
|
Revision: 234 Author: m_hildebrand Date: 2006-07-28 14:19:34 -0700 (Fri, 28 Jul 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=234&view=rev Log Message: ----------- Made some more CSS fixes Fixed a bug where updated/completed action items were not sending email notification Fixed a bug where config data was not pulling from the site defaults if it didn't exist for the specific user Modified Paths: -------------- Website/App_Code/Common.cs Website/App_Themes/Python/python.css Website/Includes/ActionItems.ascx Website/Includes/ActionItems.ascx.cs Website/Includes/UserConfig.ascx Website/Includes/UserConfig.ascx.cs Website/Includes/UserSettings.ascx Website/Includes/UserSettings.ascx.cs Modified: Website/App_Code/Common.cs =================================================================== --- Website/App_Code/Common.cs 2006-07-28 21:06:32 UTC (rev 233) +++ Website/App_Code/Common.cs 2006-07-28 21:19:34 UTC (rev 234) @@ -1062,6 +1062,11 @@ value = Help.DB_StringParse(dr["value"]); } + if (value == null && userID != Constants.ANONYMOUSUSERID) + { + value = GetConfigString(Constants.ANONYMOUSUSERID, name); + } + // TODO: Save this value to the cache return value; @@ -1261,11 +1266,10 @@ } //create the mail message - MailMessage mail = new MailMessage(); + MailAddress fromAddr = new MailAddress(from.EMAIL, to.FULLNAME); + MailAddress toAddr = new MailAddress(to.EMAIL, to.FULLNAME); + MailMessage mail = new MailMessage(fromAddr, toAddr); - mail.From = new MailAddress(from.EMAIL, from.FULLNAME); - mail.To.Add(new MailAddress(to.EMAIL, to.FULLNAME)); - //set the content mail.Subject = subject; mail.Body = body; Modified: Website/App_Themes/Python/python.css =================================================================== --- Website/App_Themes/Python/python.css 2006-07-28 21:06:32 UTC (rev 233) +++ Website/App_Themes/Python/python.css 2006-07-28 21:19:34 UTC (rev 234) @@ -93,6 +93,34 @@ color: Gray; } +.item .checkbox INPUT +{ + margin: 0; + padding: 0; + position: relative; + left: -5px; + top: 1px; +} + +* html .item .checkbox INPUT +{ + position: static; +} + +.item UL +{ + margin: 0; + padding-left: 20px; + list-style-type: none; +} + +.item UL UL +{ + padding-left: 20px; + margin: 0; + list-style-type: circle; +} + /********** END Global Classes **********/ /********** BEGIN Calendar Classes **********/ Modified: Website/Includes/ActionItems.ascx =================================================================== --- Website/Includes/ActionItems.ascx 2006-07-28 21:06:32 UTC (rev 233) +++ Website/Includes/ActionItems.ascx 2006-07-28 21:19:34 UTC (rev 234) @@ -7,9 +7,9 @@ <%@ Import Namespace="System.Data.SqlClient" %> <%@ Import Namespace="eWorld" %> <div id="ActionItem"> - <asp:FormView ID="FormView1" runat="server" DataSourceID="ActionItemDataSource" DataKeyNames="actionItemID" - CellPadding="4" ForeColor="#333333" OnDataBound="FormView1_DataBound" OnItemCommand="FormView1_ItemCommand" - Width="100%" OnItemInserted="FormView1_ItemInserted" OnItemUpdated="FormView1_ItemUpdated"> + <asp:FormView ID="ActionItemsView" runat="server" DataSourceID="ActionItemDataSource" DataKeyNames="actionItemID" + CellPadding="4" ForeColor="#333333" OnDataBound="ActionItemsView_DataBound" OnItemCommand="ActionItemsView_ItemCommand" + Width="100%" OnItemInserted="ActionItemsView_ItemInserted" OnItemUpdated="ActionItemsView_ItemUpdated"> <HeaderTemplate> <asp:ObjectDataSource ID="StatusDataSource" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.db_statusTableAdapter"> Modified: Website/Includes/ActionItems.ascx.cs =================================================================== --- Website/Includes/ActionItems.ascx.cs 2006-07-28 21:06:32 UTC (rev 233) +++ Website/Includes/ActionItems.ascx.cs 2006-07-28 21:19:34 UTC (rev 234) @@ -42,16 +42,17 @@ Session.Add("tableName", "tcdb_actionItem"); if (mode == "new") - FormView1.ChangeMode(FormViewMode.Insert); + ActionItemsView.ChangeMode(FormViewMode.Insert); } + protected void updateStatus() { - RadioButtonList percentList = (RadioButtonList)FormView1.FindControl("percentList"); - DropDownList statusList = (DropDownList)FormView1.FindControl("statusList"); - Object dateFinished = FormView1.FindControl("dateFinished"); + RadioButtonList percentList = (RadioButtonList)ActionItemsView.FindControl("percentList"); + DropDownList statusList = (DropDownList)ActionItemsView.FindControl("statusList"); + Object dateFinished = ActionItemsView.FindControl("dateFinished"); Nullable<DateTime> date; - if (FormView1.CurrentMode == FormViewMode.ReadOnly) + if (ActionItemsView.CurrentMode == FormViewMode.ReadOnly) { String finished = ((Label)dateFinished).Text; @@ -65,21 +66,24 @@ date = ((CalendarPopup)dateFinished).SelectedValue; } + // Update Database + tcdbDataSetTableAdapters.db_actionItemsTableAdapter aiAdapter = new tcdbDataSetTableAdapters.db_actionItemsTableAdapter(); + aiAdapter.upd_actionItemStatus(item_id, Convert.ToInt32(statusList.SelectedValue), Convert.ToInt32(percentList.SelectedValue), date); + + m_logg.Debug("Action Item updated, preparing to send email"); if (date == null) ActionItemDB.SendUpdatedActionItemMail(item_id, m_user); else ActionItemDB.SendCompletedActionItemMail(item_id, m_user); - // Update Database - tcdbDataSetTableAdapters.db_actionItemsTableAdapter aiAdapter = new tcdbDataSetTableAdapters.db_actionItemsTableAdapter(); - aiAdapter.upd_actionItemStatus(item_id, Convert.ToInt32(statusList.SelectedValue), Convert.ToInt32(percentList.SelectedValue), date); } + protected void dateFinished_DateChanged(object sender, EventArgs e) { - if (FormView1.CurrentMode != FormViewMode.Insert) + if (ActionItemsView.CurrentMode != FormViewMode.Insert) { - RadioButtonList percentList = (RadioButtonList)FormView1.FindControl("percentList"); - DropDownList statusList = (DropDownList)FormView1.FindControl("statusList"); + RadioButtonList percentList = (RadioButtonList)ActionItemsView.FindControl("percentList"); + DropDownList statusList = (DropDownList)ActionItemsView.FindControl("statusList"); CalendarPopup dateFinished = (CalendarPopup)sender; if (dateFinished.SelectedValue != null) @@ -95,33 +99,33 @@ percentList.SelectedValue = "75"; } - if (FormView1.CurrentMode == FormViewMode.ReadOnly) + if (ActionItemsView.CurrentMode == FormViewMode.ReadOnly) updateStatus(); } } + protected void percentChanged(object sender, EventArgs e) { - if (FormView1.CurrentMode != FormViewMode.Insert) + if (ActionItemsView.CurrentMode != FormViewMode.Insert) { RadioButtonList percentList = (RadioButtonList)sender; - DropDownList statusList = (DropDownList)FormView1.FindControl("statusList"); + DropDownList statusList = (DropDownList)ActionItemsView.FindControl("statusList"); if (percentList.SelectedValue == "100") { statusList.SelectedValue = statusList.Items.FindByText("Completed").Value; // Set finished Date - if (FormView1.CurrentMode == FormViewMode.ReadOnly) + if (ActionItemsView.CurrentMode == FormViewMode.ReadOnly) { - Label dateFinished = (Label)FormView1.FindControl("dateFinished"); + Label dateFinished = (Label)ActionItemsView.FindControl("dateFinished"); if (dateFinished.Text == "") dateFinished.Text = DateTime.Today.ToShortDateString(); - } else { - CalendarPopup dateFinished = (CalendarPopup)FormView1.FindControl("dateFinished"); + CalendarPopup dateFinished = (CalendarPopup)ActionItemsView.FindControl("dateFinished"); if (dateFinished.SelectedValue == null) dateFinished.SelectedValue = DateTime.Today; @@ -134,27 +138,28 @@ statusList.SelectedValue = statusList.Items.FindByText("Active").Value; // Unset finished Date - if (FormView1.CurrentMode == FormViewMode.ReadOnly) + if (ActionItemsView.CurrentMode == FormViewMode.ReadOnly) { - Label dateFinished = (Label)FormView1.FindControl("dateFinished"); + Label dateFinished = (Label)ActionItemsView.FindControl("dateFinished"); dateFinished.Text = ""; } else { - CalendarPopup dateFinished = (CalendarPopup)FormView1.FindControl("dateFinished"); + CalendarPopup dateFinished = (CalendarPopup)ActionItemsView.FindControl("dateFinished"); dateFinished.Clear(); dateFinished.PostedDate = ""; } } - if (FormView1.CurrentMode == FormViewMode.ReadOnly) + if (ActionItemsView.CurrentMode == FormViewMode.ReadOnly) updateStatus(); } } + protected void statusChanged(object sender, EventArgs e) { - if (FormView1.CurrentMode != FormViewMode.Insert) + if (ActionItemsView.CurrentMode != FormViewMode.Insert) { - RadioButtonList percentList = (RadioButtonList)FormView1.FindControl("percentList"); + RadioButtonList percentList = (RadioButtonList)ActionItemsView.FindControl("percentList"); DropDownList statusList = (DropDownList)sender; if (statusList.SelectedItem.Text == "Completed") @@ -162,15 +167,15 @@ percentList.SelectedValue = "100"; // Set finished Date - if (FormView1.CurrentMode == FormViewMode.ReadOnly) + if (ActionItemsView.CurrentMode == FormViewMode.ReadOnly) { - Label dateFinished = (Label)FormView1.FindControl("dateFinished"); + Label dateFinished = (Label)ActionItemsView.FindControl("dateFinished"); dateFinished.Text = DateTime.Today.ToShortDateString(); } else { - CalendarPopup dateFinished = (CalendarPopup)FormView1.FindControl("dateFinished"); + CalendarPopup dateFinished = (CalendarPopup)ActionItemsView.FindControl("dateFinished"); dateFinished.SelectedValue = DateTime.Today; } @@ -183,32 +188,33 @@ percentList.SelectedValue = "75"; // Unset finished Date - if (FormView1.CurrentMode == FormViewMode.ReadOnly) + if (ActionItemsView.CurrentMode == FormViewMode.ReadOnly) { - Label dateFinished = (Label)FormView1.FindControl("dateFinished"); + Label dateFinished = (Label)ActionItemsView.FindControl("dateFinished"); dateFinished.Text = ""; } else { - CalendarPopup dateFinished = (CalendarPopup)FormView1.FindControl("dateFinished"); + CalendarPopup dateFinished = (CalendarPopup)ActionItemsView.FindControl("dateFinished"); dateFinished.Clear(); dateFinished.PostedDate = ""; } } - if (FormView1.CurrentMode == FormViewMode.ReadOnly) + if (ActionItemsView.CurrentMode == FormViewMode.ReadOnly) updateStatus(); } } - protected void FormView1_DataBound(object sender, EventArgs e) + + protected void ActionItemsView_DataBound(object sender, EventArgs e) { - DataRowView data = (DataRowView)FormView1.DataItem; + DataRowView data = (DataRowView)ActionItemsView.DataItem; - if (FormView1.CurrentMode == FormViewMode.Edit && data != null) + if (ActionItemsView.CurrentMode == FormViewMode.Edit && data != null) { - CalendarPopup cal = (CalendarPopup)FormView1.FindControl("dateFinished"); + CalendarPopup cal = (CalendarPopup)ActionItemsView.FindControl("dateFinished"); - DataRowView row = (DataRowView)FormView1.DataItem; + DataRowView row = (DataRowView)ActionItemsView.DataItem; String date = row["dateFinished"].ToString(); if (date == "") @@ -221,16 +227,16 @@ cal.SelectedValue = (Nullable<DateTime>)row["dateFinished"]; } - if (FormView1.CurrentMode == FormViewMode.Insert) + if (ActionItemsView.CurrentMode == FormViewMode.Insert) { Page.Title = "TCDB: Insert Action Item"; - Label createdBy = (Label)FormView1.FindControl("createdByLbl"); - Label dateAssigned = (Label)FormView1.FindControl("dateAssignedLbl"); - DropDownList assignedTo = (DropDownList)FormView1.FindControl("assignedTo"); - DropDownList status = (DropDownList)FormView1.FindControl("statusList"); - RadioButtonList percent = (RadioButtonList)FormView1.FindControl("percentList"); - CalendarPopup dateDue = (CalendarPopup)FormView1.FindControl("dateDue"); + Label createdBy = (Label)ActionItemsView.FindControl("createdByLbl"); + Label dateAssigned = (Label)ActionItemsView.FindControl("dateAssignedLbl"); + DropDownList assignedTo = (DropDownList)ActionItemsView.FindControl("assignedTo"); + DropDownList status = (DropDownList)ActionItemsView.FindControl("statusList"); + RadioButtonList percent = (RadioButtonList)ActionItemsView.FindControl("percentList"); + CalendarPopup dateDue = (CalendarPopup)ActionItemsView.FindControl("dateDue"); createdBy.Text = m_user.FULLNAME; createdBy.ToolTip = m_user.ID.ToString(); @@ -247,9 +253,10 @@ else Response.Redirect("Assignments.aspx?" + Constants.CODE_USER + "=" + m_user.ID); } - protected void FormView1_ItemCommand(object sender, FormViewCommandEventArgs e) + + protected void ActionItemsView_ItemCommand(object sender, FormViewCommandEventArgs e) { - if (e.CommandName == "Cancel" && FormView1.CurrentMode == FormViewMode.Insert) + if (e.CommandName == "Cancel" && ActionItemsView.CurrentMode == FormViewMode.Insert) Response.Redirect("Assignments.aspx?" + Constants.CODE_USER + "=" + m_user.ID); } @@ -259,9 +266,8 @@ aiAdapter.Delete(item_id, 0); Response.Redirect("Assignments.aspx?" + Constants.CODE_USER + "=" + m_user.ID); } - - - protected void FormView1_ItemInserted(object sender, FormViewInsertedEventArgs e) + + protected void ActionItemsView_ItemInserted(object sender, FormViewInsertedEventArgs e) { tcdbDataSetTableAdapters.db_assignmentsTableAdapter aiAdapter = new tcdbDataSetTableAdapters.db_assignmentsTableAdapter(); tcdbDataSet.db_assignmentsDataTable aiTable = aiAdapter.GetData(Constants.CODE_AI, @@ -287,7 +293,7 @@ } } - protected void FormView1_ItemUpdated(object sender, FormViewUpdatedEventArgs e) + protected void ActionItemsView_ItemUpdated(object sender, FormViewUpdatedEventArgs e) { updateStatus(); Response.Redirect("ActionItem.aspx?" + Constants.CODE_AI + "=" + item_id.ToString()); Modified: Website/Includes/UserConfig.ascx =================================================================== --- Website/Includes/UserConfig.ascx 2006-07-28 21:06:32 UTC (rev 233) +++ Website/Includes/UserConfig.ascx 2006-07-28 21:19:34 UTC (rev 234) @@ -2,9 +2,12 @@ <%@ Import Namespace="TCDB.Users" %> <%@ Import Namespace="TCDB.Common" %> <%@ Import Namespace="System.Collections.Generic" %> -<h1> - User Configuration Settings</h1> -<br /> -<asp:LinkButton ID="returnBtn" runat="server" CommandName="returnToSettings" OnCommand="returnToSettings">Return To Settings</asp:LinkButton> -<br /><br /> - +<div class="ch"> + <div class="left"> + <h2> + User Configuration Settings</h2> + </div> + <div class="right"> + <asp:LinkButton ID="returnBtn" runat="server" CommandName="returnToSettings" OnCommand="returnToSettings">Return To Settings</asp:LinkButton></div> + <div class="end"></div> +</div> Modified: Website/Includes/UserConfig.ascx.cs =================================================================== --- Website/Includes/UserConfig.ascx.cs 2006-07-28 21:06:32 UTC (rev 233) +++ Website/Includes/UserConfig.ascx.cs 2006-07-28 21:19:34 UTC (rev 234) @@ -45,15 +45,15 @@ foreach (String group in settings.Keys) { html = new Literal(); - html.Text = "<h2>"; + html.Text = "<div class=\"ch\"><div class=\"left\"><h2>"; Controls.Add(html); - + Label groupLbl = new Label(); groupLbl.Text = group; Controls.Add(groupLbl); html = new Literal(); - html.Text = "</h2>\n" + + html.Text = "</h2></div></div>" + "<div class=\"xsnazzy\">\n" + "<b class=\"xtop\"><b class=\"xb1\"></b><b class=\"xb2\"></b><b class=\"xb3\"></b><b class=\"xb4\"></b></b>\n" + "<div class=\"xboxcontent\">\n" + @@ -201,21 +201,28 @@ Controls.Add(update2Btn); } + protected void test_load(object sender, EventArgs e) + { + } + void textboxChanged(Object sender, EventArgs args) { TextBox textbox = (TextBox)sender; ConfigDB.SaveConfigString(userID, textbox.ID, textbox.Text); } + void checkboxChanged(Object sender, EventArgs args) { CheckBox checkbox = (CheckBox)sender; ConfigDB.SaveConfigBool(userID, checkbox.ID, checkbox.Checked); } + void dropdownChanged(Object sender, EventArgs args) { DropDownList dropdown = (DropDownList)sender; ConfigDB.SaveConfigString(userID, dropdown.ID, dropdown.SelectedValue); } + void absoluteDateChanged(Object sender, EventArgs args) { CalendarPopup absDate = (CalendarPopup) sender; @@ -227,6 +234,7 @@ ConfigDB.SaveConfigString(userID, key, absDate.SelectedDate.ToString()); } } + void relativeDateChanged(Object sender, EventArgs args) { TextBox relDate = (TextBox)sender; @@ -238,10 +246,11 @@ ConfigDB.SaveConfigString(userID, key, "r: "+relDate.Text); } } + protected void returnToSettings(object sender, CommandEventArgs e) { if (mode == "read") - Response.Redirect("UserSettings.aspx?mode=read&" + Constants.CODE_USER + "=" + userID); + Response.Redirect("UserSettings.aspx?mode=read " + Constants.CODE_USER + "=" + userID); else Response.Redirect("UserSettings.aspx?" + Constants.CODE_USER + "=" + userID); } Modified: Website/Includes/UserSettings.ascx =================================================================== --- Website/Includes/UserSettings.ascx 2006-07-28 21:06:32 UTC (rev 233) +++ Website/Includes/UserSettings.ascx 2006-07-28 21:19:34 UTC (rev 234) @@ -4,13 +4,13 @@ <%@ Register Assembly="eWorld.UI, Version=2.0.0.2148, Culture=neutral, PublicKeyToken=24d65337282035f2" Namespace="eWorld.UI" TagPrefix="ew" %> <div id="UserSettings"> - <asp:FormView ID="FormView1" runat="server" DataSourceID="UserDataSource" DataKeyNames="userID" - OnItemDeleted="FormView1_ItemDeleted" OnItemCommand="FormView1_ItemCommand" OnItemInserted="FormView1_ItemInserted" - OnItemUpdated="FormView1_ItemUpdated" OnDataBound="FormView1_DataBound"> + <asp:FormView ID="UserSettingsView" runat="server" DataSourceID="UserDataSource" DataKeyNames="userID" + OnItemDeleted="UserSettingsView_ItemDeleted" OnItemCommand="UserSettingsView_ItemCommand" OnItemInserted="UserSettingsView_ItemInserted" + OnItemUpdated="UserSettingsView_ItemUpdated" OnDataBound="UserSettingsView_DataBound"> <HeaderTemplate> <div class="ch"> <h2> - User Settings</h2> + <asp:Label runat="server" ID="userSettingsTitle" Text="User Settings" /></h2> <div class="bottom"> </div> </div> @@ -42,7 +42,7 @@ <label> Automation:</label> <asp:CheckBox ID="automationCheckBox" runat="server" Checked='<%# Eval("automation") %>' - Enabled="false" /> + Enabled="false" CssClass="checkbox" /> </div> </div> <div class="end"> @@ -77,8 +77,8 @@ <div class="left"> <div class="item"> <label> - Roles:<br /> - <asp:Literal ID="roleTree" runat="server" OnInit="roleTree_Init"></asp:Literal></label></div> + Roles:</label> + <asp:Literal ID="roleTree" runat="server" OnInit="roleTreeView_Init" /></div> </div> <div class="end"> </div> @@ -132,7 +132,8 @@ <div class="item"> <label> Automation:</label> - <asp:CheckBox ID="automationBox" runat="server" Checked='<%# Bind("automation") %>' Enabled="true" /> + <asp:CheckBox ID="automationBox" runat="server" Checked='<%# Bind("automation") %>' + Enabled="true" CssClass="checkbox" /> </div> </div> <div class="end"> @@ -168,9 +169,11 @@ <div class="cm"> <div class="left"> <div class="item"> - <asp:TreeView ID="roleTree" runat="server" OnInit="roleTree_Init1" OnTreeNodePopulate="roleTree_TreeNodePopulate" ShowCheckBoxes="All" OnSelectedNodeChanged="roleTree_SelectedNodeChanged"> + <asp:TreeView ID="roleTree" runat="server" OnInit="roleTreeEdit_Init" OnTreeNodePopulate="roleTree_TreeNodePopulate" + ShowCheckBoxes="All" OnSelectedNodeChanged="roleTree_SelectedNodeChanged" > <Nodes> - <asp:TreeNode SelectAction="SelectExpand" ShowCheckBox="True" Text="<strong>Roles</strong>" Value="Roles" PopulateOnDemand="True"></asp:TreeNode> + <asp:TreeNode SelectAction="SelectExpand" Text="<label>Roles</label>" + Value="Roles" PopulateOnDemand="True" ShowCheckBox="false" /> </Nodes> </asp:TreeView> </div> @@ -204,77 +207,93 @@ <b class="xtop"><b class="xb1"></b><b class="xb2"></b><b class="xb3"></b><b class="xb4"> </b></b> <div class="xboxcontent"> - <table style="width: 700px"> - <tr> - <td colspan="2"> - <strong>username:</strong> + <div class="ct"> + <div class="left"> + <div class="item"> + <label> + User:</label> <asp:TextBox ID="usernameBox" runat="server" Text='<%# Bind("username") %>'></asp:TextBox> - <asp:Button ID="sync" runat="server" Text="Sync with AD" OnCommand="SyncWithAD" /></td> - </tr> - <tr> - <td class="hr" colspan="2"> - </td> - </tr> - <tr> - <td> - <strong>First Name: </strong> - <asp:TextBox ID="firstNameBox" runat="server" Text='<%# Bind("firstName") %>'></asp:TextBox></td> - <td> - <strong>Last Name:</strong> - <asp:TextBox ID="lastNameBox" runat="server" Text='<%# Bind("lastName") %>'></asp:TextBox></td> - </tr> - <tr> - <td colspan="2"> - <strong>Email Address:</strong> + </div> + <div class="item"> + <label> + Name: + </label> + <asp:TextBox ID="firstNameBox" runat="server" Text='<%# Bind("firstName") %>'></asp:TextBox> + <asp:TextBox ID="lastNameBox" runat="server" Text='<%# Bind("lastName") %>'></asp:TextBox> + </div> + <div class="item"> + <label> + Email:</label> <asp:TextBox ID="emailBox" runat="server" Text='<%# Bind("email") %>' Width="250"></asp:TextBox> - </td> - </tr> - <tr> - <td class="hr" colspan="2"> - </td> - </tr> - <tr> - <td colspan="2"> - <strong>Office Phone #:</strong> - <asp:TextBox ID="officePhoneBox" runat="server" Text='<%# Bind("officePhone") %>'> - </asp:TextBox><br /> - <strong>Home Phone #:</strong> - <asp:TextBox ID="homePhoneBox" runat="server" Text='<%# Bind("homePhone") %>'> - </asp:TextBox><br /> - <strong> Cell Phone #:</strong> - <asp:TextBox ID="cellPhoneBox" runat="server" Text='<%# Bind("cellPhone") %>'> - </asp:TextBox></td> - </tr> - <tr> - <td align="left" valign="top"> - <div class="item"> - <asp:TreeView ID="roleTree" runat="server" OnInit="roleTree_Init1" OnTreeNodePopulate="roleTree_TreeNodePopulate" ShowCheckBoxes="All" OnSelectedNodeChanged="roleTree_SelectedNodeChanged"> - <Nodes> - <asp:TreeNode SelectAction="SelectExpand" ShowCheckBox="True" Text="<strong>Roles</strong>" Value="Roles" PopulateOnDemand="True"></asp:TreeNode> - </Nodes> - </asp:TreeView> </div> - </td> - <td> - <asp:LinkButton ID="editConfig" runat="server" CommandName="editConfig" OnCommand="editConfig">Edit User Configuration Settings...</asp:LinkButton></td> - </tr> - <tr> - <td class="hr" colspan="2"> - </td> - </tr> - <tr> - <td> - <asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True" CommandName="Insert" - Text="Insert"> - </asp:LinkButton> | - <asp:LinkButton ID="UpdateCancelButton" runat="server" CausesValidation="False" CommandName="Cancel" - Text="Cancel"> - </asp:LinkButton></td> - <td> - <strong>Automation User: </strong> - <asp:CheckBox ID="CheckBox1" runat="server" Checked='<%# Bind("automation") %>' Enabled="true" /></td> - </tr> - </table> + <div class="item"> + <label> + Automation:</label> + <asp:CheckBox ID="CheckBox1" runat="server" Checked='<%# Bind("automation") %>' Enabled="true" + CssClass="checkbox" /> + </div> + </div> + <div class="end"> + </div> + <div class="hr"> + </div> + </div> + <div class="ct"> + <div class="left"> + <div class="item"> + <label> + Office #:</label> + <asp:TextBox ID="officePhoneBox" runat="server" Text='<%# Bind("officePhone") %>' /> + </div> + <div class="item"> + <label> + Home #:</label> + <asp:TextBox ID="homePhoneBox" runat="server" Text='<%# Bind("homePhone") %>' /> + </div> + <div class="item"> + <label> + Cell #:</label> + <asp:TextBox ID="cellPhoneBox" runat="server" Text='<%# Bind("cellPhone") %>' /> + </div> + </div> + <div class="end"> + </div> + <div class="hr"> + </div> + </div> + <div class="cm"> + <div class="left"> + <div class="item"> + <label> + Roles:<br /> + <asp:TreeView ID="roleTree" runat="server" OnInit="roleTreeEdit_Init" OnTreeNodePopulate="roleTree_TreeNodePopulate" + ShowCheckBoxes="All" OnSelectedNodeChanged="roleTree_SelectedNodeChanged"> + <Nodes> + <asp:TreeNode SelectAction="SelectExpand" Text="<label>Roles</label>" + Value="Roles" PopulateOnDemand="True" Selected="false" ShowCheckBox="false" /> + </Nodes> + </asp:TreeView> + </div> + </div> + <div class="end"> + </div> + <div class="hr"> + </div> + </div> + <div class="cb"> + <div class="left"> + <asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True" CommandName="Insert" + Text="Add User" /> + | + <asp:LinkButton ID="UpdateCancelButton" runat="server" CausesValidation="False" CommandName="Cancel" + Text="Cancel" /> | + <asp:LinkButton ID="sync" runat="server" Text="Sync with AD" OnCommand="SyncWithAD" /> + </div> + <div class="right"> + </div> + <div class="end"> + </div> + </div> </div> <b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b><b class="xb1"> </b></b> Modified: Website/Includes/UserSettings.ascx.cs =================================================================== --- Website/Includes/UserSettings.ascx.cs 2006-07-28 21:06:32 UTC (rev 233) +++ Website/Includes/UserSettings.ascx.cs 2006-07-28 21:19:34 UTC (rev 234) @@ -39,14 +39,14 @@ Session.Add("tableName", "tcdb_user"); if (mode == "new") - FormView1.ChangeMode(FormViewMode.Insert); + UserSettingsView.ChangeMode(FormViewMode.Insert); } protected void deleteButton_Load(object sender, EventArgs e) { if (mode == "read") { - LinkButton deleteButton = (LinkButton)FormView1.FindControl("New"); + LinkButton deleteButton = (LinkButton)UserSettingsView.FindControl("New"); deleteButton.Visible = false; } } @@ -55,7 +55,7 @@ { if (mode == "read") { - LinkButton deleteButton = (LinkButton)FormView1.FindControl("Delete"); + LinkButton deleteButton = (LinkButton)UserSettingsView.FindControl("Delete"); deleteButton.Visible = false; } } @@ -64,7 +64,7 @@ { if (mode == "read") { - Label deleteLabel = (Label)FormView1.FindControl("newLabel"); + Label deleteLabel = (Label)UserSettingsView.FindControl("newLabel"); deleteLabel.Visible = false; } } @@ -73,24 +73,24 @@ { if (mode == "read") { - Label deleteLabel = (Label)FormView1.FindControl("deleteLabel"); + Label deleteLabel = (Label)UserSettingsView.FindControl("deleteLabel"); deleteLabel.Visible = false; } } - protected void FormView1_ItemDeleted(object sender, FormViewDeletedEventArgs e) + protected void UserSettingsView_ItemDeleted(object sender, FormViewDeletedEventArgs e) { // Can only delete in Adminstration mode Response.Redirect("Administration.aspx"); } - protected void FormView1_ItemCommand(object sender, FormViewCommandEventArgs e) + protected void UserSettingsView_ItemCommand(object sender, FormViewCommandEventArgs e) { - if (FormView1.CurrentMode == FormViewMode.Insert && e.CommandName=="Cancel") + if (UserSettingsView.CurrentMode == FormViewMode.Insert && e.CommandName == "Cancel") Response.Redirect("Administration.aspx"); } - protected void FormView1_ItemInserted(object sender, FormViewInsertedEventArgs e) + protected void UserSettingsView_ItemInserted(object sender, FormViewInsertedEventArgs e) { if (e.Exception == null) { @@ -103,7 +103,7 @@ } } - protected void FormView1_ItemUpdated(object sender, FormViewUpdatedEventArgs e) + protected void UserSettingsView_ItemUpdated(object sender, FormViewUpdatedEventArgs e) { updateRoles(); if (mode == "read") @@ -120,7 +120,7 @@ { // TODO: If m_user.PASSWORD is "" or null, we must prompt for a password somehow // or the AD authentication will fail - String username = ((TextBox)FormView1.FindControl("usernameBox")).Text; + String username = ((TextBox)UserSettingsView.FindControl("usernameBox")).Text; String password = null; if (m_user.PASSWORD != "") password = m_user.PASSWORD; @@ -128,12 +128,12 @@ if (curUser.ID != -1) { - TextBox tbx_firstName = (TextBox)FormView1.FindControl("firstNameBox"); - TextBox tbx_lastName = (TextBox)FormView1.FindControl("lastNameBox"); - TextBox tbx_email = (TextBox)FormView1.FindControl("emailBox"); - TextBox tbx_officePhone = (TextBox)FormView1.FindControl("officePhoneBox"); - TextBox tbx_homePhone = (TextBox)FormView1.FindControl("homePhoneBox"); - TextBox tbx_cellPhone = (TextBox)FormView1.FindControl("cellPhoneBox"); + TextBox tbx_firstName = (TextBox)UserSettingsView.FindControl("firstNameBox"); + TextBox tbx_lastName = (TextBox)UserSettingsView.FindControl("lastNameBox"); + TextBox tbx_email = (TextBox)UserSettingsView.FindControl("emailBox"); + TextBox tbx_officePhone = (TextBox)UserSettingsView.FindControl("officePhoneBox"); + TextBox tbx_homePhone = (TextBox)UserSettingsView.FindControl("homePhoneBox"); + TextBox tbx_cellPhone = (TextBox)UserSettingsView.FindControl("cellPhoneBox"); tbx_firstName.Text = curUser.FIRSTNAME; tbx_lastName.Text = curUser.LASTNAME; @@ -151,18 +151,20 @@ else Response.Redirect("UserConfig.aspx?" + Constants.CODE_USER + "=" + userID); } - protected void FormView1_DataBound(object sender, EventArgs e) + + protected void UserSettingsView_DataBound(object sender, EventArgs e) { - if (FormView1.CurrentMode == FormViewMode.Edit) + if (UserSettingsView.CurrentMode == FormViewMode.Edit) { if (mode == "read") { - TextBox username = (TextBox)FormView1.FindControl("usernameBox"); + TextBox username = (TextBox)UserSettingsView.FindControl("usernameBox"); username.Enabled = false; } } } - protected void roleTree_Init(object sender, EventArgs e) + + protected void roleTreeView_Init(object sender, EventArgs e) { Literal roleTree = (Literal)sender; roleTree.ID = "roleTree"; @@ -207,6 +209,36 @@ roleTree.Text += "</ul>\n"; } + + protected void roleTreeEdit_Init(object sender, EventArgs e) + { + TreeView roleTree = (TreeView)sender; + + // Initialize Product Roles + if (Session["ProductRoles"] == null) + Session.Add("ProductRoles", new Dictionary<String, ArrayList>()); + Dictionary<String, ArrayList> ProductRoles = (Dictionary<String, ArrayList>)Session["ProductRoles"]; + ProductRoles.Clear(); + + // Get products + tcdbDataSetTableAdapters.db_productsTableAdapter pAdapter = new tcdbDataSetTableAdapters.db_productsTableAdapter(); + tcdbDataSet.db_productsDataTable pTable = pAdapter.GetData(null, null); + + foreach (tcdbDataSet.db_productsRow pRow in pTable) + { + // Get Roles + tcdbDataSetTableAdapters.db_roleUserProductTableAdapter rupAdapter = new tcdbDataSetTableAdapters.db_roleUserProductTableAdapter(); + tcdbDataSet.db_roleUserProductDataTable rupTable = rupAdapter.GetData(userID, pRow.productID, true); + ArrayList roles = new ArrayList(); + + foreach (tcdbDataSet.db_roleUserProductRow rupRow in rupTable) + roles.Add(rupRow.roleID.ToString()); + + if (roles.Count > 0) + ProductRoles[pRow.productID.ToString()] = roles; + } + } + protected void BuildProductList(TreeNode parent) { tcdbDataSetTableAdapters.db_productsTableAdapter pAdapter = new tcdbDataSetTableAdapters.db_productsTableAdapter(); @@ -215,19 +247,20 @@ foreach (tcdbDataSet.db_productsRow row in pTable) { TreeNode child = new TreeNode(); - child.Text = "<strong>" + row.name + "</strong>"; + child.Text = "<label>" + row.name + "</label>"; child.Value = row.productID.ToString(); child.SelectAction = TreeNodeSelectAction.SelectExpand; child.PopulateOnDemand = true; - child.ShowCheckBox = true; + child.ShowCheckBox = false; parent.ChildNodes.Add(child); } } + protected void BuildRoleList(TreeNode parent) { tcdbDataSetTableAdapters.db_roleTableAdapter rAdapter = new tcdbDataSetTableAdapters.db_roleTableAdapter(); - tcdbDataSet.db_roleDataTable rTable = rAdapter.GetData(null,null,true); + tcdbDataSet.db_roleDataTable rTable = rAdapter.GetData(null, null, true); Dictionary<String, ArrayList> ProductRoles = (Dictionary<String, ArrayList>)Session["ProductRoles"]; int numChecked = 0; @@ -238,12 +271,15 @@ child.Value = row.roleID.ToString(); child.SelectAction = TreeNodeSelectAction.Expand; child.ShowCheckBox = true; - if (ProductRoles.ContainsKey(parent.Value)) + if (UserSettingsView.CurrentMode == FormViewMode.Edit) { - if (ProductRoles[parent.Value].Contains(row.roleID.ToString())) + if (ProductRoles.ContainsKey(parent.Value)) { - child.Checked = true; - numChecked++; + if (ProductRoles[parent.Value].Contains(row.roleID.ToString())) + { + child.Checked = true; + numChecked++; + } } } @@ -252,6 +288,7 @@ parent.Checked = true; } } + protected void roleTree_TreeNodePopulate(object sender, TreeNodeEventArgs e) { switch (e.Node.Depth) @@ -266,41 +303,15 @@ break; } } - protected void roleTree_Init1(object sender, EventArgs e) - { - TreeView roleTree = (TreeView) sender; - // Initialize Product Roles - if (Session["ProductRoles"] == null) - Session.Add("ProductRoles", new Dictionary<String, ArrayList>()); - Dictionary<String, ArrayList> ProductRoles = (Dictionary<String, ArrayList>)Session["ProductRoles"]; - ProductRoles.Clear(); - - // Get products - tcdbDataSetTableAdapters.db_productsTableAdapter pAdapter = new tcdbDataSetTableAdapters.db_productsTableAdapter(); - tcdbDataSet.db_productsDataTable pTable = pAdapter.GetData(null, null); - - foreach (tcdbDataSet.db_productsRow pRow in pTable) - { - // Get Roles - tcdbDataSetTableAdapters.db_roleUserProductTableAdapter rupAdapter = new tcdbDataSetTableAdapters.db_roleUserProductTableAdapter(); - tcdbDataSet.db_roleUserProductDataTable rupTable = rupAdapter.GetData(userID, pRow.productID, true); - ArrayList roles = new ArrayList(); - - foreach (tcdbDataSet.db_roleUserProductRow rupRow in rupTable) - roles.Add(rupRow.roleID.ToString()); - - if (roles.Count > 0) - ProductRoles[pRow.productID.ToString()] = roles; - } - } protected void roleTree_TreeNodeCheckChanged(object sender, TreeNodeEventArgs e) { TreeNode node = (TreeNode)e.Node; Dictionary<String, ArrayList> ProductRoles = (Dictionary<String, ArrayList>)Session["ProductRoles"]; // update ProductUsers - if (node.Parent != null && node.Parent.Value != "Roles"){ + if (node.Parent != null && node.Parent.Value != "Roles") + { String product = node.Parent.Value; if (ProductRoles.ContainsKey(product)) { @@ -324,11 +335,12 @@ roleTree_TreeNodeCheckChanged(child, new TreeNodeEventArgs(child)); } } + protected void roleTree_SelectedNodeChanged(object sender, EventArgs e) { TreeView tree = (TreeView)sender; TreeNode node = tree.SelectedNode; - + node.Checked = (node.Checked == true) ? false : true; foreach (TreeNode child in node.ChildNodes) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2006-07-28 21:06:39
|
Revision: 233 Author: rouquin Date: 2006-07-28 14:06:32 -0700 (Fri, 28 Jul 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=233&view=rev Log Message: ----------- Added more site settings to admin tree such as all users. We might be able to incorporate this info into the TCDB product. Hmm, have to think about that. Modified Paths: -------------- Website/Includes/AdministrationTree.ascx.cs Website/Includes/UserSettings.ascx Website/Includes/UserSettings.ascx.cs Modified: Website/Includes/AdministrationTree.ascx.cs =================================================================== --- Website/Includes/AdministrationTree.ascx.cs 2006-07-28 17:14:52 UTC (rev 232) +++ Website/Includes/AdministrationTree.ascx.cs 2006-07-28 21:06:32 UTC (rev 233) @@ -53,7 +53,8 @@ newNode.SelectAction = TreeNodeSelectAction.Expand; newNode.NavigateUrl = "~/AdminConfig.aspx"; parent.ChildNodes.Add(newNode); - newNode.Expand(); + if (nodes.Contains(newNode.ValuePath)) + newNode.Expand(); if (productTable.Count > 0) { @@ -79,6 +80,61 @@ } } } + protected void BuildAdminList(TreeNode parent) + { + ArrayList nodes = (ArrayList)Session["AdminNodes"]; + TreeNode newNode; + + // Users + newNode = new TreeNode(); + newNode.Text = "<font color=black>Users</font>"; + newNode.Value = "users"; + newNode.PopulateOnDemand = true; + newNode.SelectAction = TreeNodeSelectAction.Expand; + parent.ChildNodes.Add(newNode); + if (nodes.Contains(newNode.ValuePath)) + newNode.Expand(); + + // Roles + newNode = new TreeNode(); + newNode.Text = "<font color=black>User Roles</font>"; + newNode.Value = "roles"; + newNode.PopulateOnDemand = true; + newNode.SelectAction = TreeNodeSelectAction.Expand; + parent.ChildNodes.Add(newNode); + if (nodes.Contains(newNode.ValuePath)) + newNode.Expand(); + + // Rights + newNode = new TreeNode(); + newNode.Text = "<font color=black>User Rights</font>"; + newNode.Value = "rights"; + newNode.PopulateOnDemand = true; + newNode.SelectAction = TreeNodeSelectAction.Expand; + parent.ChildNodes.Add(newNode); + if (nodes.Contains(newNode.ValuePath)) + newNode.Expand(); + + // Operating Systems + newNode = new TreeNode(); + newNode.Text = "<font color=black>Operating Systems</font>"; + newNode.Value = "os"; + newNode.PopulateOnDemand = true; + newNode.SelectAction = TreeNodeSelectAction.Expand; + parent.ChildNodes.Add(newNode); + if (nodes.Contains(newNode.ValuePath)) + newNode.Expand(); + + // Architectures + newNode = new TreeNode(); + newNode.Text = "<font color=black>Architectures</font>"; + newNode.Value = "arch"; + newNode.PopulateOnDemand = true; + newNode.SelectAction = TreeNodeSelectAction.Expand; + parent.ChildNodes.Add(newNode); + if (nodes.Contains(newNode.ValuePath)) + newNode.Expand(); + } protected void BuildReleaseList(TreeNode parent) { ArrayList nodes = (ArrayList)Session["AdminNodes"]; @@ -143,72 +199,69 @@ } protected void BuildCategoryList(TreeNode parent) { - if (parent.NavigateUrl.Contains("Product")) - { - ArrayList nodes = (ArrayList)Session["AdminNodes"]; - TreeNode newNode; + ArrayList nodes = (ArrayList)Session["AdminNodes"]; + TreeNode newNode; - // Versions - newNode = new TreeNode(); - newNode.Text = "<font color=black>Releases</font>"; - newNode.Value = "release"; - newNode.PopulateOnDemand = true; - newNode.SelectAction = TreeNodeSelectAction.Expand; - parent.ChildNodes.Add(newNode); - if (nodes.Contains(newNode.ValuePath)) - newNode.Expand(); + // Versions + newNode = new TreeNode(); + newNode.Text = "<font color=black>Releases</font>"; + newNode.Value = "release"; + newNode.PopulateOnDemand = true; + newNode.SelectAction = TreeNodeSelectAction.Expand; + parent.ChildNodes.Add(newNode); + if (nodes.Contains(newNode.ValuePath)) + newNode.Expand(); - // Tags - newNode = new TreeNode(); - newNode.Text = "<font color=black>Tags</font>"; - newNode.Value = "tag"; - newNode.PopulateOnDemand = true; - newNode.SelectAction = TreeNodeSelectAction.Expand; - parent.ChildNodes.Add(newNode); - if (nodes.Contains(newNode.ValuePath)) - newNode.Expand(); + // Tags + newNode = new TreeNode(); + newNode.Text = "<font color=black>Tags</font>"; + newNode.Value = "tag"; + newNode.PopulateOnDemand = true; + newNode.SelectAction = TreeNodeSelectAction.Expand; + parent.ChildNodes.Add(newNode); + if (nodes.Contains(newNode.ValuePath)) + newNode.Expand(); - // Status Labels - newNode = new TreeNode(); - newNode.Text = "<font color=black>Status Levels</font>"; - newNode.Value = "status"; - newNode.PopulateOnDemand = true; - newNode.SelectAction = TreeNodeSelectAction.Expand; - parent.ChildNodes.Add(newNode); - if (nodes.Contains(newNode.ValuePath)) - newNode.Expand(); + // Status Labels + newNode = new TreeNode(); + newNode.Text = "<font color=black>Status Levels</font>"; + newNode.Value = "status"; + newNode.PopulateOnDemand = true; + newNode.SelectAction = TreeNodeSelectAction.Expand; + parent.ChildNodes.Add(newNode); + if (nodes.Contains(newNode.ValuePath)) + newNode.Expand(); - // Labs - newNode = new TreeNode(); - newNode.Text = "<font color=black>Labs</font>"; - newNode.Value = "lab"; - newNode.PopulateOnDemand = true; - newNode.SelectAction = TreeNodeSelectAction.Expand; - parent.ChildNodes.Add(newNode); - if (nodes.Contains(newNode.ValuePath)) - newNode.Expand(); + // Labs + newNode = new TreeNode(); + newNode.Text = "<font color=black>Labs</font>"; + newNode.Value = "lab"; + newNode.PopulateOnDemand = true; + newNode.SelectAction = TreeNodeSelectAction.Expand; + parent.ChildNodes.Add(newNode); + if (nodes.Contains(newNode.ValuePath)) + newNode.Expand(); - // Roles - newNode = new TreeNode(); - newNode.Text = "<font color=black>Roles</font>"; - newNode.Value = "role"; - newNode.PopulateOnDemand = true; - newNode.SelectAction = TreeNodeSelectAction.Expand; - newNode.NavigateUrl = "~/AdminRole.aspx?"+Constants.CODE_PRODUCT+"=" + parent.Value; - parent.ChildNodes.Add(newNode); - if (nodes.Contains(newNode.ValuePath)) - newNode.Expand(); + // Roles + newNode = new TreeNode(); + newNode.Text = "<font color=black>Roles</font>"; + newNode.Value = "role"; + newNode.PopulateOnDemand = true; + newNode.SelectAction = TreeNodeSelectAction.Expand; + newNode.NavigateUrl = "~/AdminRole.aspx?" + Constants.CODE_PRODUCT + "=" + parent.Value; + parent.ChildNodes.Add(newNode); + if (nodes.Contains(newNode.ValuePath)) + newNode.Expand(); - // Users - newNode = new TreeNode(); - newNode.Text = "<font color=black>Users</font>"; - newNode.Value = "user"; - newNode.PopulateOnDemand = true; - newNode.SelectAction = TreeNodeSelectAction.Expand; - parent.ChildNodes.Add(newNode); - if (nodes.Contains(newNode.ValuePath)) - newNode.Expand(); - } + // Users + newNode = new TreeNode(); + newNode.Text = "<font color=black>Users</font>"; + newNode.Value = "user"; + newNode.PopulateOnDemand = true; + newNode.SelectAction = TreeNodeSelectAction.Expand; + parent.ChildNodes.Add(newNode); + if (nodes.Contains(newNode.ValuePath)) + newNode.Expand(); } protected void BuildStatusGroupList(TreeNode parent) { @@ -342,6 +395,85 @@ newNode.Expand(); } } + protected void BuildAllUserList(TreeNode parent) + { + tcdbDataSetTableAdapters.db_usersTableAdapter uAdapter = new tcdbDataSetTableAdapters.db_usersTableAdapter(); + tcdbDataSet.db_usersDataTable uTable = uAdapter.GetData(null, null); + + foreach (tcdbDataSet.db_usersRow row in uTable) + { + TreeNode child = new TreeNode(); + child.Text = "<FontInfo color=black>" + row.fullName + "</font>"; + child.Value = row.userID.ToString(); + child.NavigateUrl = "~/UserSettings.aspx?" + Constants.CODE_USER + "=" + child.Value; + + parent.ChildNodes.Add(child); + } + } + protected void BuildAllOSList(TreeNode parent) + { + /* + tcdbDataSetTableAdapters.db_usersTableAdapter uAdapter = new tcdbDataSetTableAdapters.db_usersTableAdapter(); + tcdbDataSet.db_usersDataTable uTable = uAdapter.GetData(null, null); + + foreach (tcdbDataSet.db_usersRow row in uTable) + { + TreeNode child = new TreeNode(); + child.Text = "<FontInfo color=black>" + row.fullName + "</font>"; + child.Value = row.userID.ToString(); + child.NavigateUrl = "~/UserSettings.aspx?" + Constants.CODE_USER + "=" + child.Value; + + parent.ChildNodes.Add(child); + } + * */ + } + protected void BuildAllArchList(TreeNode parent) + { + /* + tcdbDataSetTableAdapters.db_usersTableAdapter uAdapter = new tcdbDataSetTableAdapters.db_usersTableAdapter(); + tcdbDataSet.db_usersDataTable uTable = uAdapter.GetData(null, null); + + foreach (tcdbDataSet.db_usersRow row in uTable) + { + TreeNode child = new TreeNode(); + child.Text = "<FontInfo color=black>" + row.fullName + "</font>"; + child.Value = row.userID.ToString(); + child.NavigateUrl = "~/UserSettings.aspx?" + Constants.CODE_USER + "=" + child.Value; + + parent.ChildNodes.Add(child); + } + */ + } + protected void BuildAllRolesList(TreeNode parent) + { + tcdbDataSetTableAdapters.db_roleTableAdapter rAdapter = new tcdbDataSetTableAdapters.db_roleTableAdapter(); + tcdbDataSet.db_roleDataTable rTable = rAdapter.GetData(null, null, true); + + foreach (tcdbDataSet.db_roleRow row in rTable) + { + TreeNode child = new TreeNode(); + child.Text = "<FontInfo color=black>" + row.roleName + "</font>"; + child.Value = row.roleID.ToString(); + child.NavigateUrl = "~/Role.aspx?" + Constants.CODE_ROLE + "=" + child.Value; + + parent.ChildNodes.Add(child); + } + } + protected void BuildAllRightsList(TreeNode parent) + { + tcdbDataSetTableAdapters.db_rightsTableAdapter rAdapter = new tcdbDataSetTableAdapters.db_rightsTableAdapter(); + tcdbDataSet.db_rightsDataTable rTable = rAdapter.GetData(null, null, true); + + foreach (tcdbDataSet.db_rightsRow row in rTable) + { + TreeNode child = new TreeNode(); + child.Text = "<FontInfo color=black>" + row.rightsName + "</font>"; + child.Value = row.rightsID.ToString(); + child.NavigateUrl = "~/Right.aspx?" + Constants.CODE_RIGHT + "=" + child.Value; + + parent.ChildNodes.Add(child); + } + } protected void BuildVersionCategories(TreeNode parent) { ArrayList nodes = (ArrayList)Session["AdminNodes"]; @@ -655,7 +787,10 @@ BuildProductList(e.Node); break; case 1: - BuildCategoryList(e.Node); + if (e.Node.Value == "admin") + BuildAdminList(e.Node); + else + BuildCategoryList(e.Node); break; case 2: if (e.Node.Value == "release") @@ -670,6 +805,16 @@ BuildRoleList(e.Node); else if (e.Node.Value == "user") BuildUserList(e.Node); + else if (e.Node.Value == "users") + BuildAllUserList(e.Node); + else if (e.Node.Value == "os") + BuildAllOSList(e.Node); + else if (e.Node.Value == "arch") + BuildAllArchList(e.Node); + else if (e.Node.Value == "roles") + BuildAllRolesList(e.Node); + else if (e.Node.Value == "rights") + BuildAllRolesList(e.Node); break; case 3: if (e.Node.NavigateUrl.Contains("Version")) Modified: Website/Includes/UserSettings.ascx =================================================================== --- Website/Includes/UserSettings.ascx 2006-07-28 17:14:52 UTC (rev 232) +++ Website/Includes/UserSettings.ascx 2006-07-28 21:06:32 UTC (rev 233) @@ -1,5 +1,6 @@ <%@ Control Language="C#" AutoEventWireup="true" CodeFile="UserSettings.ascx.cs" Inherits="UserSettings" %> +<%@ Register Assembly="AtlasControlToolkit" Namespace="AtlasControlToolkit" TagPrefix="cc1" %> <%@ Register Assembly="eWorld.UI, Version=2.0.0.2148, Culture=neutral, PublicKeyToken=24d65337282035f2" Namespace="eWorld.UI" TagPrefix="ew" %> <div id="UserSettings"> Modified: Website/Includes/UserSettings.ascx.cs =================================================================== --- Website/Includes/UserSettings.ascx.cs 2006-07-28 17:14:52 UTC (rev 232) +++ Website/Includes/UserSettings.ascx.cs 2006-07-28 21:06:32 UTC (rev 233) @@ -121,8 +121,11 @@ // TODO: If m_user.PASSWORD is "" or null, we must prompt for a password somehow // or the AD authentication will fail String username = ((TextBox)FormView1.FindControl("usernameBox")).Text; - User curUser = AD_Authentication.AD_GetUserInfo(m_user.USERNAME, m_user.PASSWORD, username); - + String password = null; + if (m_user.PASSWORD != "") + password = m_user.PASSWORD; + User curUser = AD_Authentication.AD_GetUserInfo(m_user.USERNAME, password, username); + if (curUser.ID != -1) { TextBox tbx_firstName = (TextBox)FormView1.FindControl("firstNameBox"); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <m_h...@us...> - 2006-07-28 20:56:12
|
Revision: 231 Author: m_hildebrand Date: 2006-07-28 09:44:32 -0700 (Fri, 28 Jul 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=231&view=rev Log Message: ----------- Continued progress on cleaning up CSS. Including a fix to make the calendars look nice now Modified Paths: -------------- Website/App_Themes/Python/python.css Website/Includes/ActionItems.ascx Website/Includes/Assignments.ascx Website/Includes/Header_User.ascx Website/Includes/UserSettings.ascx Modified: Website/App_Themes/Python/python.css =================================================================== --- Website/App_Themes/Python/python.css 2006-07-27 22:51:17 UTC (rev 230) +++ Website/App_Themes/Python/python.css 2006-07-28 16:44:32 UTC (rev 231) @@ -1,10 +1,10 @@ /********** BEGIN Global Classes **********/ -html +HTML { height: 100%; } -body +BODY { height: 100%; margin: 0; @@ -29,7 +29,7 @@ color: blue; } -label +LABEL { font-weight: bold; margin-right: 5px; @@ -65,6 +65,19 @@ clear: both; } +.bottom +{ + position: absolute; + bottom: 0; + left: 0; +} + +* HTML .bottom +{ + position: static; + padding-top: 8px; +} + .hover:hover, TR.overdue:hover, TR.finished:hover { background-color: #eee; @@ -82,7 +95,28 @@ /********** END Global Classes **********/ +/********** BEGIN Calendar Classes **********/ +.calendar +{ + display: inline; + margin: 5px 0 5px 0; +} +.calendar LABEL +{ + font-weight: normal; +} + +.calendar IMG +{ + position: relative !important; + top: 6px !important; + padding-left: 5px !important; + margin: 0 0 3px 0 !important; +} +/********** END Calendar Classes ************/ + + /********** BEGIN Header Content **********/ #HeaderContent { @@ -165,14 +199,14 @@ /* A CSS hack that only applied to IE -- forces the height of NonFooter to be 100%, something that causes problems in Mozilla */ -* html #NonFooter +* HTML #NonFooter { height: 100%; } #FooterContent { - background-color: #022e66; + background-color: #022e66; color: white; padding: 6px 0 6px 0; vertical-align: middle; @@ -184,7 +218,7 @@ /* A CSS hack that only applies to IE -- specifies a different height for the footer and set the position to static so the background displays */ /* TODO: Figure out a way to keep the footer in IE from overlaping page content */ -* html #FooterContent +* HTML #FooterContent { position: static; margin-top: -2.3em; @@ -203,33 +237,33 @@ color: Red; } -.form label, .form A, .form input, .form select +.form LABEL, .form A, .form INPUT, .form SELECT { display: block; float: left; margin-bottom: 5px; } -.form label, .form A +.form LABEL, .form A { text-align: right; width: 110px; padding-right: 5px; } -.form input +.form INPUT { width: 150px; } -.form input, .form select +.form INPUT, .form SELECT { position: relative; top: -4px; text-align: left; } -.form .checkbox>input +.form .checkbox > INPUT { width: inherit; display: inline; @@ -238,12 +272,12 @@ left: -3px; } -* html .form .checkbox input +* HTML .form .checkbox INPUT { width: 15px; } -.form br +.form BR { clear: left; } @@ -355,13 +389,14 @@ display: block; } -.ch h2, #Filters h2 +.ch H2, #Filters H2 { display: inline; - left: 0px; + left: 0; + top: 0; padding-left: 15px; - margin-bottom: 0px; - padding-bottom: 0px; + margin-bottom: 0; + padding-bottom: 0; } .ch .buttons @@ -374,18 +409,55 @@ .ch .quickFilter { display: inline; - right: 0px; + right: 0; padding-right: 15px; position: relative; } -.ch .quickFilter input +.ch .quickFilter INPUT { position: relative; top: 3px; } /********* END Content Header ***********/ +/********* BEGIN Content Content ***********/ +.ct, .cb +{ + position: relative; +} + +* html .cb +{ + position: static; +} + +.ct .bottom +{ + bottom: 5px; +} + +* html .cb .bottom +{ + position: relative; + top: 5px; +} + +.ct H2 +{ + display: block; + left: 0px; + margin: 0px; + padding: 0px; + font-size: 16px; +} + +* html .ct H2 +{ + font-size: 16px; +} +/********* END Content Top ************/ + /********** BEGIN Assignments Content **********/ TD.colAssignment { @@ -412,7 +484,7 @@ padding-right: 15px; /*position: relative; */ } -.ch .status input +.ch .status INPUT { position: relative; top: 3px; @@ -432,7 +504,7 @@ display: inline; } -.filters .xboxcontent .right input +.filters .xboxcontent .right INPUT { position: relative; top: -3px; Modified: Website/Includes/ActionItems.ascx =================================================================== --- Website/Includes/ActionItems.ascx 2006-07-27 22:51:17 UTC (rev 230) +++ Website/Includes/ActionItems.ascx 2006-07-28 16:44:32 UTC (rev 231) @@ -57,60 +57,68 @@ <b class="xtop"><b class="xb1"></b><b class="xb2"></b><b class="xb3"></b><b class="xb4"> </b></b> <div class="xboxcontent"> - <div class="aiTop"> - <div class="ct"> - <div class="left"> + <div class="ct"> + <div class="left"> + <div class="top"> <h2> <asp:Literal ID="priority_high" runat="server" Visible='<%# Eval("highPriority") %>' - Text='<div class="priority_high">(!)</div>'></asp:Literal> - <asp:Label ID="nameLabel" runat="server" Text='<%# Eval("name") %>'></asp:Label></h2> + Text='<div class="priority_high"></div>'></asp:Literal> + <asp:Label ID="nameLabel" runat="server" Text='<%# Eval("name") %>'></asp:Label></h2> </div> - <div class="right"> + <div class="bottom"> <label> - Assigned:</label><asp:Label ID="dateAssignedLbl" runat="server" Text='<%# Eval("dateAssigned", "{0:d}") %>'></asp:Label><br /> + Test Pass:</label><asp:Label ID="testPassLbl" runat="server" Text='<%# Eval("testPass") %>'></asp:Label> + </div> + </div> + <div class="right"> + <div class="item"> <label> - Due:</label><asp:Label ID="dateDueLbl" runat="server" Text='<%# Eval("dateDue", "{0:d}") %>'></asp:Label><br /> + Assigned:</label><asp:Label ID="dateAssignedLbl" runat="server" Text='<%# Eval("dateAssigned", "{0:d}") %>'></asp:Label> + </div> + <div class="item"> <label> + Due:</label><asp:Label ID="dateDueLbl" runat="server" Text='<%# Eval("dateDue", "{0:d}") %>'></asp:Label> + </div> + <div class="item"> + <label> Finished:</label><asp:Label ID="dateFinished" runat="server" Text='<%# Eval("dateFinished", "{0:d}") %>'></asp:Label> </div> - <div class="end"> - </div> - <div class="hr"> - </div> </div> + <div class="end"> + </div> + <div class="hr"> + </div> </div> - <div class="aiMiddle"> - <div class="cm"> - <label> - Test Pass:</label><asp:Label ID="testPassLbl" runat="server" Text='<%# Eval("testPass") %>'></asp:Label><br /> - <label> - Description:</label><br /> - <asp:Label ID="descriptionLabel" runat="server" Text='<%# Eval("description") %>'></asp:Label> - </cm> - <div class="hr"> - </div> + <div class="cm"> + <label> + Description:</label><br /> + <asp:Label ID="descriptionLabel" runat="server" Text='<%# Eval("description") %>'></asp:Label> + <div class="hr"> </div> </div> - <div class="aiBottom"> - <div class="cb"> - <div class="left"> - <br /> + <div class="cb"> + <div class="left"> + <div class="bottom"> <asp:LinkButton ID="NewButton" runat="server" CausesValidation="False" CommandName="New" Text="New" /> | <asp:LinkButton ID="EditButton" runat="server" CausesValidation="False" CommandName="Edit" Text="Edit" /> | <asp:LinkButton ID="DeleteButton" runat="server" CausesValidation="False" CommandName="deleteItem" Text="Delete" OnCommand="deleteItem" /> </div> - <div class="right"> + </div> + <div class="right"> + <div class="item"> <label> Created By:</label><asp:Label ID="createdByLbl" runat="server" Font-Bold="False" - Text='<%# Eval("createdBy") %>'></asp:Label><br /> + Text='<%# Eval("createdBy") %>'></asp:Label> + </div> + <div class="item"> <label> Assigned To:</label><asp:Label ID="assignedToLbl" runat="server" Font-Bold="False" Text='<%# Eval("assigned") %>'></asp:Label> </div> - <div class="end"> - </div> </div> + <div class="end"> + </div> </div> </div> <b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b><b class="xb1"> @@ -123,80 +131,87 @@ <b class="xtop"><b class="xb1"></b><b class="xb2"></b><b class="xb3"></b><b class="xb4"> </b></b> <div class="xboxcontent"> - <div class="aiTop"> - <div class="ct"> - <div class="left"> - <asp:Literal ID="priority_high" runat="server" Visible='<%# Eval("highPriority") %>' - Text='<div class="priority_high"></div>'></asp:Literal> + <div class="ct"> + <div class="left"> + <div class="item"> <label> - Name</label><asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("name") %>' + Name:</label><asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("name") %>' Width="500px" /> - <br /> + </div> + <div class="item"> <label> - High Priority</label><asp:CheckBox ID="priorityBox" runat="server" Checked='<%# Bind("highPriority") %>' - Font-Bold="False" /><br /> + High Priority:</label><asp:CheckBox ID="priorityBox" runat="server" Checked='<%# Bind("highPriority") %>' + Font-Bold="False" CssClass="checkbox" /> + </div> + <div class="item"> <label> Test Pass:</label><asp:DropDownList ID="DropDownList1" runat="server" AppendDataBoundItems="True" DataSourceID="TestPassDataSource" DataTextField="name" DataValueField="testPassID" SelectedValue='<%# Bind("testPassID") %>'> <asp:ListItem Value="0" Selected="True"><none></asp:ListItem> - </asp:DropDownList> + </asp:DropDownList> </div> - <div class="right"> + </div> + <div class="right"> + <div class="item"> <label> Assigned:</label><asp:Label ID="dateAssignedLbl" runat="server" Font-Bold="False" - Text='<%# Eval("dateAssigned") %>'></asp:Label><br /> + Text='<%# Eval("dateAssigned") %>'></asp:Label> + </div> + <div class="item"> <label> - Due:</label><ew:CalendarPopup ID="dateDue" runat="server" PopupLocation="Left" ShowGoToToday="True" + Due:</label><div class="calendar"><ew:CalendarPopup ID="dateDue" runat="server" PopupLocation="Left" ShowGoToToday="True" ControlDisplay="LabelImage" ImageUrl="../App_Themes/Python/Images/calendar.gif" SelectedDate='<%# Bind("dateDue") %>' UpperBoundDate="12/31/9999 23:59:59" VisibleDate="2006-07-21"> - </ew:CalendarPopup> - <br /> + </ew:CalendarPopup></div> + </div> + <div class="item"> <label> - Finished:</label><ew:CalendarPopup ID="dateFinished" runat="server" PopupLocation="Left" + Finished:</label><div class="calendar"><ew:CalendarPopup ID="dateFinished" runat="server" PopupLocation="Left" ShowClearDate="true" ShowGoToToday="True" NullableLabelText="Select a date" ControlDisplay="LabelImage" ImageUrl="../App_Themes/Python/Images/calendar.gif" Nullable="True" OnDateChanged="dateFinished_DateChanged" SelectedDate="" UpperBoundDate="12/31/9999 23:59:59" VisibleDate="" AutoPostBack="True"> - </ew:CalendarPopup> + </ew:CalendarPopup></div> </div> - <div class="end"> - </div> - <div class="hr"> - </div> </div> + <div class="end"> + </div> + <div class="hr"> + </div> </div> - <div class="aiMiddle"> - <div class="cm"> - <label> - Description:</label><br /> - <FTB:FreeTextBox ID="FreeTextBox1" runat="server" SupportFolder="~" Text='<%# Bind("description") %>' - Height="300" Width="100%" /> - <div class="hr"> - </div> + <div class="cm"> + <label> + Description:</label><br /> + <FTB:FreeTextBox ID="FreeTextBox1" runat="server" SupportFolder="~" Text='<%# Bind("description") %>' + Height="300" Width="100%" /> + <div class="hr"> </div> </div> - <div class="aiBottom"> - <div class="cb"> - <div class="left"> - <br /> + <div class="cb"> + <div class="left"> + <div class="bottom"> <asp:LinkButton ID="UpdateButton" runat="server" CausesValidation="True" CommandName="Update" Text="Update"> - </asp:LinkButton> | + </asp:LinkButton> | <asp:LinkButton ID="UpdateCancelButton" runat="server" CausesValidation="False" CommandName="Cancel" Text="Cancel"> </asp:LinkButton> </div> - <div class="right"> + </div> + <div class="right"> + <div class="item"> <label> - Created By:</label><asp:Label ID="createdByLbl" runat="server" Text='<%# Eval("createdBy") %>'></asp:Label><br /> + Created By:</label><asp:Label ID="createdByLbl" runat="server" Text='<%# Eval("createdBy") %>'></asp:Label> + </div> + <div class="item"> <label> Assigned To:</label><asp:DropDownList ID="assignedTo" runat="server" DataSourceID="UserDataSource" DataTextField="fullName" DataValueField="userID" SelectedValue='<%# Bind("assignedID") %>'> </asp:DropDownList> </div> - <div class="end"> - </div> </div> + <div class="end"> + </div> </div> </div> <b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b><b class="xb1"> @@ -210,71 +225,74 @@ <b class="xtop"><b class="xb1"></b><b class="xb2"></b><b class="xb3"></b><b class="xb4"> </b></b> <div class="xboxcontent"> - <div class="aiTop"> - <div class="ct"> - <div class="left"> + <div class="ct"> + <div class="left"> + <div class="item"> <label> - Name</label><asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("name") %>' + Name:</label><asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("name") %>' Width="500px" /> - <br /> + </div> + <div class="item"> <label> - High Priority</label><asp:CheckBox ID="priorityBox" runat="server" Checked='<%# Bind("highPriority") %>' - Font-Bold="False" /><br /> + High Priority:</label><asp:CheckBox ID="priorityBox" runat="server" Checked='<%# Bind("highPriority") %>' + Font-Bold="False" /></div> + <div class="item"> <label> Test Pass:</label> <asp:DropDownList ID="testPassList" runat="server" AppendDataBoundItems="True" DataSourceID="TestPassDataSource" DataTextField="name" DataValueField="testPassID" SelectedValue='<%# Bind("testPassID") %>'> <asp:ListItem Value="0" Selected="True"><none></asp:ListItem> - </asp:DropDownList> - </div> - <div class="right"> + </asp:DropDownList></div> + </div> + <div class="right"> + <div class="item"> <label> Assigned:</label> - <asp:Label ID="dateAssignedLbl" runat="server"></asp:Label><br /> + <asp:Label ID="dateAssignedLbl" runat="server"></asp:Label> + </div> + <div class="item"> <label> - Due:</label><ew:CalendarPopup ID="dateDue" runat="server" PopupLocation="Left" ShowGoToToday="True" + Due:</label><div class="calendar"><ew:CalendarPopup ID="dateDue" runat="server" PopupLocation="Left" ShowGoToToday="True" ControlDisplay="LabelImage" ImageUrl="../App_Themes/Python/Images/calendar.gif" SelectedDate='<%# Bind("dateDue") %>' UpperBoundDate="12/31/9999 23:59:59" VisibleDate="2006-07-21"> - </ew:CalendarPopup> + </ew:CalendarPopup></div> </div> - <div class="end"> - </div> - <div class="hr"> - </div> </div> - </div> - <div class="aiMiddle"> - <div class="cm"> - <label> - Description:</label><br /> - <FTB:FreeTextBox ID="FreeTextBox1" runat="server" SupportFolder="~" Text='<%# Bind("description") %>' - Height="300" Width="100%" /> + <div class="end"> </div> <div class="hr"> </div> </div> - <div class="aiBottom"> - <div class="cb"> - <div class="left"> - <br /> + <div class="cm"> + <label> + Description:</label><br /> + <FTB:FreeTextBox ID="FreeTextBox1" runat="server" SupportFolder="~" Text='<%# Bind("description") %>' + Height="300" Width="100%" /> + <div class="hr"> + </div> + </div> + <div class="cb"> + <div class="left"> + <div class="bottom"> <asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True" CommandName="Insert" - Text="Insert"></asp:LinkButton> | - <asp:LinkButton ID="InsertCancelButton" runat="server" CausesValidation="False" CommandName="Cancel" - Text="Cancel"></asp:LinkButton> + Text="Insert"></asp:LinkButton> | <asp:LinkButton ID="InsertCancelButton" + runat="server" CausesValidation="False" CommandName="Cancel" Text="Cancel"></asp:LinkButton> </div> - <div class="right"> + </div> + <div class="right"> + <div class="item"> <label> Created By:</label><asp:Label ID="createdByLbl" runat="server" Font-Bold="False" - ToolTip='<%# Bind("creatorID") %>'></asp:Label><br /> + ToolTip='<%# Bind("creatorID") %>'></asp:Label></div> + <div class="item"> <label> Assigned To:</label><asp:DropDownList ID="assignedTo" runat="server" DataSourceID="UserDataSource" DataTextField="fullName" DataValueField="userID" AppendDataBoundItems="True" SelectedValue='<%# Bind("assignedID") %>'> - </asp:DropDownList> - </div> - <div class="end"> - </div> + </asp:DropDownList></div> </div> + <div class="end"> + </div> </div> </div> <b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b><b class="xb1"> @@ -326,5 +344,4 @@ <SelectParameters> <asp:Parameter Name="testPassID" Type="Int32" /> </SelectParameters> -</asp:ObjectDataSource> - \ No newline at end of file +</asp:ObjectDataSource> \ No newline at end of file Modified: Website/Includes/Assignments.ascx =================================================================== --- Website/Includes/Assignments.ascx 2006-07-27 22:51:17 UTC (rev 230) +++ Website/Includes/Assignments.ascx 2006-07-28 16:44:32 UTC (rev 231) @@ -151,17 +151,24 @@ </div> </div> <div class="cm"> - From: - <ew:CalendarPopup ID="fromDate" runat="server" PopupLocation="Bottom" ShowGoToToday="True" - ControlDisplay="LabelImage" SelectedDate="2006-01-01" AutoPostBack="true" OnDateChanged="update" - SkinID="calendar" PostedDate="1/1/2006" VisibleDate="2006-01-01" OnInit="fromDate_Init"> - </ew:CalendarPopup> - <br /> - To: - <ew:CalendarPopup ID="toDate" runat="server" PopupLocation="Bottom" ShowGoToToday="True" - ControlDisplay="LabelImage" SkinID="calendar" SelectedDate="1/1/3000 12:00:00 AM" - AutoPostBack="true" OnDateChanged="update" OnInit="toDate_Init"> - </ew:CalendarPopup> + <div class="item"> + <label> + From:</label><div class="calendar"> + <ew:CalendarPopup ID="fromDate" runat="server" PopupLocation="Bottom" ShowGoToToday="True" + ControlDisplay="LabelImage" SelectedDate="2006-01-01" AutoPostBack="true" OnDateChanged="update" + SkinID="calendar" PostedDate="1/1/2006" VisibleDate="2006-01-01" OnInit="fromDate_Init"> + </ew:CalendarPopup> + </div> + </div> + <div class="item"> + <label> + To:</label><div class="calendar"> + <ew:CalendarPopup ID="toDate" runat="server" PopupLocation="Bottom" ShowGoToToday="True" + ControlDisplay="LabelImage" SkinID="calendar" SelectedDate="1/1/3000 12:00:00 AM" + AutoPostBack="true" OnDateChanged="update" OnInit="toDate_Init"> + </ew:CalendarPopup> + </div> + </div> </div> </div> <b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b><b class="xb1"> @@ -185,17 +192,24 @@ </div> </div> <div class="cm"> - From: - <ew:CalendarPopup ID="fromDueDate" runat="server" PopupLocation="Bottom" ShowGoToToday="True" - ControlDisplay="LabelImage" SkinID="calendar" SelectedDate="2006-01-01" AutoPostBack="true" - OnDateChanged="update" OnInit="fromDueDate_Init"> - </ew:CalendarPopup> - <br /> - To: - <ew:CalendarPopup ID="toDueDate" runat="server" PopupLocation="Bottom" ShowGoToToday="True" - ControlDisplay="LabelImage" SkinID="calendar" SelectedDate="1/1/3000 12:00:00 AM" - AutoPostBack="true" OnDateChanged="update" OnInit="toDueDate_Init"> - </ew:CalendarPopup> + <div class="item"> + <label> + From:</label><div class="calendar"> + <ew:CalendarPopup ID="fromDueDate" runat="server" PopupLocation="Bottom" ShowGoToToday="True" + ControlDisplay="LabelImage" SkinID="calendar" SelectedDate="2006-01-01" AutoPostBack="true" + OnDateChanged="update" OnInit="fromDueDate_Init"> + </ew:CalendarPopup> + </div> + </div> + <div class="item"> + <label> + To:</label><div class="calendar"> + <ew:CalendarPopup ID="toDueDate" runat="server" PopupLocation="Bottom" ShowGoToToday="True" + ControlDisplay="LabelImage" SkinID="calendar" SelectedDate="1/1/3000 12:00:00 AM" + AutoPostBack="true" OnDateChanged="update" OnInit="toDueDate_Init"> + </ew:CalendarPopup> + </div> + </div> </div> </div> <b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b><b class="xb1"> @@ -218,17 +232,24 @@ </div> </div> <div class="cm"> - From: - <ew:CalendarPopup ID="fromFinishedDate" runat="server" PopupLocation="Bottom" ShowGoToToday="True" - ControlDisplay="LabelImage" SkinID="calendar" SelectedDate="2006-01-01" AutoPostBack="true" - OnDateChanged="update" OnInit="fromFinishedDate_Init"> - </ew:CalendarPopup> - <br /> - To: - <ew:CalendarPopup ID="toFinishedDate" runat="server" PopupLocation="Bottom" ShowGoToToday="True" - ControlDisplay="LabelImage" SkinID="calendar" SelectedDate="3000-01-01" AutoPostBack="true" - OnDateChanged="update" OnInit="toFinishedDate_Init"> - </ew:CalendarPopup> + <div class="item"> + <label> + From:</label><div class="calendar"> + <ew:CalendarPopup ID="fromFinishedDate" runat="server" PopupLocation="Bottom" ShowGoToToday="True" + ControlDisplay="LabelImage" SkinID="calendar" SelectedDate="2006-01-01" AutoPostBack="true" + OnDateChanged="update" OnInit="fromFinishedDate_Init"> + </ew:CalendarPopup> + </div> + </div> + <div class="item"> + <label> + To:</label><div class="calendar"> + <ew:CalendarPopup ID="toFinishedDate" runat="server" PopupLocation="Bottom" ShowGoToToday="True" + ControlDisplay="LabelImage" SkinID="calendar" SelectedDate="3000-01-01" AutoPostBack="true" + OnDateChanged="update" OnInit="toFinishedDate_Init"> + </ew:CalendarPopup> + </div> + </div> </div> </div> <b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b><b class="xb1"> @@ -254,10 +275,12 @@ </div> <div class="cm"> <div class="alignmiddle"> - <asp:CheckBox ID="cboShowActionItems" runat="server" Checked="true" AutoPostBack="True" - OnCheckedChanged="update" OnInit="cboShowActionItems_Init" />Action Items<br /> - <asp:CheckBox ID="cboShowWorkOrders" runat="server" Checked="true" AutoPostBack="True" - OnCheckedChanged="update" OnInit="cboShowWorkOrders_Init" />Work Orders + <div class="item"> + <asp:CheckBox ID="cboShowActionItems" runat="server" Checked="true" AutoPostBack="True" + OnCheckedChanged="update" OnInit="cboShowActionItems_Init" />Action Items</div> + <div class="item"> + <asp:CheckBox ID="cboShowWorkOrders" runat="server" Checked="true" AutoPostBack="True" + OnCheckedChanged="update" OnInit="cboShowWorkOrders_Init" />Work Orders</div> </div> </div> </div> @@ -283,10 +306,12 @@ </div> <div class="cm"> <div class="alignmiddle"> - <asp:CheckBox ID="cboHighPriority" runat="server" Checked="True" OnCheckedChanged="update" - AutoPostBack="True" OnInit="cboHighPriority_Init" />High<br /> - <asp:CheckBox ID="cboLowPriority" runat="server" Checked="true" OnCheckedChanged="update" - AutoPostBack="True" OnInit="cboLowPriority_Init" />Low + <div class="item"> + <asp:CheckBox ID="cboHighPriority" runat="server" Checked="True" OnCheckedChanged="update" + AutoPostBack="True" OnInit="cboHighPriority_Init" />High</div> + <div class="item"> + <asp:CheckBox ID="cboLowPriority" runat="server" Checked="true" OnCheckedChanged="update" + AutoPostBack="True" OnInit="cboLowPriority_Init" />Low</div> </div> </div> </div> Modified: Website/Includes/Header_User.ascx =================================================================== --- Website/Includes/Header_User.ascx 2006-07-27 22:51:17 UTC (rev 230) +++ Website/Includes/Header_User.ascx 2006-07-28 16:44:32 UTC (rev 231) @@ -1,8 +1,8 @@ <%@ Control Language="C#" AutoEventWireup="true" CodeFile="Header_User.ascx.cs" Inherits="Header_User" %> <%@ Import Namespace="TCDB.Common" %> -Welcome <div class="username"><%= m_user.FIRSTNAME %> <%= m_user.LASTNAME %></div> (<asp:LoginStatus ID="LoginStatus" runat="server" OnLoggingOut="LoginStatus_LoggingOut" CssClass="username" />) | <a -href="UserSettings.aspx?mode=read&<%= Constants.CODE_USER %>=<%= m_user.ID %>" >Settings</a> +Welcome <div class="username"><%= m_user.FIRSTNAME %> <%= m_user.LASTNAME %></div> (<asp:LoginStatus ID="LoginStatus" runat="server" OnLoggingOut="LoginStatus_LoggingOut" CssClass="username" />) | <a +href="UserSettings.aspx?mode=read&<%= Constants.CODE_USER %>=<%= m_user.ID %>" >Settings</a> <% if (m_user.HasRight(Constants.RIGHTS_SITEADMIN, Constants.PRODUCT_SITEID)) { %> | <a href="Administration.aspx">Admin</a> Modified: Website/Includes/UserSettings.ascx =================================================================== --- Website/Includes/UserSettings.ascx 2006-07-27 22:51:17 UTC (rev 230) +++ Website/Includes/UserSettings.ascx 2006-07-28 16:44:32 UTC (rev 231) @@ -37,6 +37,12 @@ Email:</label> <asp:Label ID="emailLabel" runat="server" Text='<%# Eval("email") %>'></asp:Label> </div> + <div class="item"> + <label> + Automation:</label> + <asp:CheckBox ID="automationCheckBox" runat="server" Checked='<%# Eval("automation") %>' + Enabled="false" /> + </div> </div> <div class="end"> </div> @@ -84,12 +90,6 @@ </asp:ObjectDataSource> </div> - <div class="item"> - <label> - Automation:</label> - <asp:CheckBox ID="automationCheckBox" runat="server" Checked='<%# Eval("automation") %>' - Enabled="false" /> - </div> </div> <div class="end"> </div> @@ -140,6 +140,11 @@ Email:</label> <asp:TextBox ID="emailBox" runat="server" Text='<%# Bind("email") %>'></asp:TextBox> </div> + <div class="item"> + <label> + Automation:</label> + <asp:CheckBox ID="automationBox" runat="server" Checked='<%# Bind("automation") %>' Enabled="true" /> + </div> </div> <div class="end"> </div> @@ -181,11 +186,6 @@ </asp:DropDownList><br /> <asp:ListBox ID="roleList" runat="server" DataSourceID="RolesDataSource" DataTextField="roleName" DataValueField="roleID" OnDataBound="roleList_DataBound" OnSelectedIndexChanged="roleList_SelectedIndexChanged" AutoPostBack="True" SelectionMode="Multiple"></asp:ListBox> </div> - <div class="item"> - <label> - Automation:</label> - <asp:CheckBox ID="automationBox" runat="server" Checked='<%# Bind("automation") %>' Enabled="true" /> - </div> </div> <div class="end"> </div> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jon...@us...> - 2006-07-28 20:31:36
|
Revision: 226 Author: jon_r_johnson Date: 2006-07-26 17:32:49 -0700 (Wed, 26 Jul 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=226&view=rev Log Message: ----------- Added TCDB-Documented.pdf Updated SQLServer2005/DatabaseTablesCreate.sql Modified tables featureVersion, testcasePlatform. Updated SQLServer2005/DatabaseStoredProcedures.sql Updated sel_notes, sel_actionItems. Added ins_rights, upd_rights, ins_role, upd_role, sel_rights, sel_userRights, sel_roleProduct, sel_roleProductUser, sel_productUser. Updated SQLServer2005/DatabaseViewsCreate.sql Updated view_assignments. Added view_role, view_rights. Modified Paths: -------------- Schema/SQLServer2005/DatabaseStoredProcedures.sql Schema/SQLServer2005/DatabaseTablesCreate.sql Schema/SQLServer2005/DatabaseViewsCreate.sql Added Paths: ----------- Schema/TCDB-Documented.pdf Modified: Schema/SQLServer2005/DatabaseStoredProcedures.sql =================================================================== (Binary files differ) Modified: Schema/SQLServer2005/DatabaseTablesCreate.sql =================================================================== (Binary files differ) Modified: Schema/SQLServer2005/DatabaseViewsCreate.sql =================================================================== (Binary files differ) Added: Schema/TCDB-Documented.pdf =================================================================== (Binary files differ) Property changes on: Schema/TCDB-Documented.pdf ___________________________________________________________________ Name: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2006-07-28 17:14:57
|
Revision: 232 Author: rouquin Date: 2006-07-28 10:14:52 -0700 (Fri, 28 Jul 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=232&view=rev Log Message: ----------- Updated User Settings to show roles as a heirarchy Modified Paths: -------------- Website/Includes/UserSettings.ascx Website/Includes/UserSettings.ascx.cs Modified: Website/Includes/UserSettings.ascx =================================================================== --- Website/Includes/UserSettings.ascx 2006-07-28 16:44:32 UTC (rev 231) +++ Website/Includes/UserSettings.ascx 2006-07-28 17:14:52 UTC (rev 232) @@ -77,19 +77,7 @@ <div class="item"> <label> Roles:<br /> - </label> - <ew:MultiTextListBox ID="roleList" runat="server" DataSourceID="UserRolesDataSource" DataTextFields="productName,roleName" DataValueField="roleID" - DataTextFormatString="{0}: {1}" SelectionMode="Multiple"> - </ew:MultiTextListBox><asp:ObjectDataSource ID="UserRolesDataSource" runat="server" OldValuesParameterFormatString="original_{0}" - SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.db_roleUserProductTableAdapter"> - <SelectParameters> - <asp:SessionParameter Name="userID" SessionField="userID" Type="Int32" /> - <asp:Parameter Name="productID" Type="Int32" /> - <asp:Parameter DefaultValue="true" Name="active" Type="Boolean" /> - </SelectParameters> - </asp:ObjectDataSource> - - </div> + <asp:Literal ID="roleTree" runat="server" OnInit="roleTree_Init"></asp:Literal></label></div> </div> <div class="end"> </div> @@ -179,12 +167,11 @@ <div class="cm"> <div class="left"> <div class="item"> - <label> - Roles:</label><br /> - <label>Product: </label> <asp:DropDownList ID="productList" - runat="server" DataSourceID="ProductDataList" DataTextField="name" DataValueField="productID" OnDataBound="productListEdit_DataBound" OnSelectedIndexChanged="productList_SelectedIndexChanged" AutoPostBack="True"> - </asp:DropDownList><br /> - <asp:ListBox ID="roleList" runat="server" DataSourceID="RolesDataSource" DataTextField="roleName" DataValueField="roleID" OnDataBound="roleList_DataBound" OnSelectedIndexChanged="roleList_SelectedIndexChanged" AutoPostBack="True" SelectionMode="Multiple"></asp:ListBox> + <asp:TreeView ID="roleTree" runat="server" OnInit="roleTree_Init1" OnTreeNodePopulate="roleTree_TreeNodePopulate" ShowCheckBoxes="All" OnSelectedNodeChanged="roleTree_SelectedNodeChanged"> + <Nodes> + <asp:TreeNode SelectAction="SelectExpand" ShowCheckBox="True" Text="<strong>Roles</strong>" Value="Roles" PopulateOnDemand="True"></asp:TreeNode> + </Nodes> + </asp:TreeView> </div> </div> <div class="end"> @@ -259,11 +246,13 @@ </tr> <tr> <td align="left" valign="top"> - <label>Roles:</label><br /> - <label>Product:</label> <asp:DropDownList ID="productList" - runat="server" DataSourceID="ProductDataList" DataTextField="name" DataValueField="productID" OnDataBound="productListInsert_DataBound" AutoPostBack="True" OnSelectedIndexChanged="productList_SelectedIndexChanged"> - </asp:DropDownList><br /> - <asp:ListBox ID="roleList" runat="server" DataSourceID="RolesDateSource" DataTextField="roleName" DataValueField="roleID" AutoPostBack="True" OnDataBound="roleList_DataBound" OnSelectedIndexChanged="roleList_SelectedIndexChanged" SelectionMode="Multiple"></asp:ListBox> + <div class="item"> + <asp:TreeView ID="roleTree" runat="server" OnInit="roleTree_Init1" OnTreeNodePopulate="roleTree_TreeNodePopulate" ShowCheckBoxes="All" OnSelectedNodeChanged="roleTree_SelectedNodeChanged"> + <Nodes> + <asp:TreeNode SelectAction="SelectExpand" ShowCheckBox="True" Text="<strong>Roles</strong>" Value="Roles" PopulateOnDemand="True"></asp:TreeNode> + </Nodes> + </asp:TreeView> + </div> </td> <td> <asp:LinkButton ID="editConfig" runat="server" CommandName="editConfig" OnCommand="editConfig">Edit User Configuration Settings...</asp:LinkButton></td> Modified: Website/Includes/UserSettings.ascx.cs =================================================================== --- Website/Includes/UserSettings.ascx.cs 2006-07-28 16:44:32 UTC (rev 231) +++ Website/Includes/UserSettings.ascx.cs 2006-07-28 17:14:52 UTC (rev 232) @@ -159,96 +159,179 @@ } } } - protected void roleList_DataBound(object sender, EventArgs e) + protected void roleTree_Init(object sender, EventArgs e) { + Literal roleTree = (Literal)sender; + roleTree.ID = "roleTree"; + roleTree.Text = "<ul>\n"; + + // Initialize Product Roles + if (Session["ProductRoles"] == null) + Session.Add("ProductRoles", new Dictionary<String, ArrayList>()); Dictionary<String, ArrayList> ProductRoles = (Dictionary<String, ArrayList>)Session["ProductRoles"]; + ProductRoles.Clear(); - if (ProductRoles != null) + // Get products + tcdbDataSetTableAdapters.db_productsTableAdapter pAdapter = new tcdbDataSetTableAdapters.db_productsTableAdapter(); + tcdbDataSet.db_productsDataTable pTable = pAdapter.GetData(null, null); + + foreach (tcdbDataSet.db_productsRow pRow in pTable) { - ListBox roleList = (ListBox)sender; - DropDownList productList = (DropDownList)FormView1.FindControl("productList"); - String productID = productList.SelectedValue; - roleList.ClearSelection(); + // Get Roles + tcdbDataSetTableAdapters.db_roleUserProductTableAdapter rupAdapter = new tcdbDataSetTableAdapters.db_roleUserProductTableAdapter(); + tcdbDataSet.db_roleUserProductDataTable rupTable = rupAdapter.GetData(userID, pRow.productID, true); + ArrayList roles = new ArrayList(); - if (ProductRoles.ContainsKey(productID)) - { - foreach (String roleID in ProductRoles[productID]) - roleList.Items.FindByValue(roleID).Selected = true; - } + foreach (tcdbDataSet.db_roleUserProductRow rupRow in rupTable) + roles.Add(rupRow.roleName); + + if (roles.Count > 0) + ProductRoles[pRow.name] = roles; } + + // Setup list + foreach (String product in ProductRoles.Keys) + { + roleTree.Text += "\t<li><strong>" + product + "</strong>\n"; + roleTree.Text += "\t\t<ul>\n"; + + foreach (String role in ProductRoles[product]) + roleTree.Text += "\t\t\t<li>" + role + "</li>\n"; + + roleTree.Text += "\t\t</ul>\n"; + roleTree.Text += "\t</li>\n"; + } + + roleTree.Text += "</ul>\n"; } - protected void productListEdit_DataBound(object sender, EventArgs e) + protected void BuildProductList(TreeNode parent) { - DropDownList productList = (DropDownList)sender; - ListBox roleList = (ListBox)FormView1.FindControl("roleList"); + tcdbDataSetTableAdapters.db_productsTableAdapter pAdapter = new tcdbDataSetTableAdapters.db_productsTableAdapter(); + tcdbDataSet.db_productsDataTable pTable = pAdapter.GetData(true, null); - // Init ProductRoles - if (Session["ProductRoles"] == null) - Session.Add("ProductRoles", new Dictionary<String, ArrayList>()); + foreach (tcdbDataSet.db_productsRow row in pTable) + { + TreeNode child = new TreeNode(); + child.Text = "<strong>" + row.name + "</strong>"; + child.Value = row.productID.ToString(); + child.SelectAction = TreeNodeSelectAction.SelectExpand; + child.PopulateOnDemand = true; + child.ShowCheckBox = true; + + parent.ChildNodes.Add(child); + } + } + protected void BuildRoleList(TreeNode parent) + { + tcdbDataSetTableAdapters.db_roleTableAdapter rAdapter = new tcdbDataSetTableAdapters.db_roleTableAdapter(); + tcdbDataSet.db_roleDataTable rTable = rAdapter.GetData(null,null,true); Dictionary<String, ArrayList> ProductRoles = (Dictionary<String, ArrayList>)Session["ProductRoles"]; + int numChecked = 0; - ProductRoles.Clear(); - foreach (ListItem productItem in productList.Items) + foreach (tcdbDataSet.db_roleRow row in rTable) { - ArrayList roles = new ArrayList(); - String productID = productItem.Value; + TreeNode child = new TreeNode(); + child.Text = row.roleName; + child.Value = row.roleID.ToString(); + child.SelectAction = TreeNodeSelectAction.Expand; + child.ShowCheckBox = true; + if (ProductRoles.ContainsKey(parent.Value)) + { + if (ProductRoles[parent.Value].Contains(row.roleID.ToString())) + { + child.Checked = true; + numChecked++; + } + } - tcdbDataSetTableAdapters.db_roleUserProductTableAdapter rupAdapter = new tcdbDataSetTableAdapters.db_roleUserProductTableAdapter(); - tcdbDataSet.db_roleUserProductDataTable rupTable = rupAdapter.GetData(userID, Convert.ToInt32(productID), true); - - foreach (tcdbDataSet.db_roleUserProductRow row in rupTable) - roles.Add(row.roleID.ToString()); - - if (ProductRoles.ContainsKey(productID)) - ProductRoles[productID] = roles; - else - ProductRoles.Add(productID, roles); + parent.ChildNodes.Add(child); + if (numChecked == rTable.Count) + parent.Checked = true; } - if (product != null) - productList.SelectedValue = product; - roleList.DataBind(); } - protected void productListInsert_DataBound(object sender, EventArgs e) + protected void roleTree_TreeNodePopulate(object sender, TreeNodeEventArgs e) { - DropDownList productList = (DropDownList)sender; + switch (e.Node.Depth) + { + case 0: + BuildProductList(e.Node); + break; + case 1: + BuildRoleList(e.Node); + break; + default: + break; + } + } + protected void roleTree_Init1(object sender, EventArgs e) + { + TreeView roleTree = (TreeView) sender; // Initialize Product Roles if (Session["ProductRoles"] == null) Session.Add("ProductRoles", new Dictionary<String, ArrayList>()); Dictionary<String, ArrayList> ProductRoles = (Dictionary<String, ArrayList>)Session["ProductRoles"]; + ProductRoles.Clear(); - ProductRoles.Clear(); - foreach (ListItem productItem in productList.Items) + // Get products + tcdbDataSetTableAdapters.db_productsTableAdapter pAdapter = new tcdbDataSetTableAdapters.db_productsTableAdapter(); + tcdbDataSet.db_productsDataTable pTable = pAdapter.GetData(null, null); + + foreach (tcdbDataSet.db_productsRow pRow in pTable) { + // Get Roles + tcdbDataSetTableAdapters.db_roleUserProductTableAdapter rupAdapter = new tcdbDataSetTableAdapters.db_roleUserProductTableAdapter(); + tcdbDataSet.db_roleUserProductDataTable rupTable = rupAdapter.GetData(userID, pRow.productID, true); ArrayList roles = new ArrayList(); - String productID = productItem.Value; - if (ProductRoles.ContainsKey(productID)) - ProductRoles[productID] = roles; - else - ProductRoles.Add(productID, roles); + foreach (tcdbDataSet.db_roleUserProductRow rupRow in rupTable) + roles.Add(rupRow.roleID.ToString()); + + if (roles.Count > 0) + ProductRoles[pRow.productID.ToString()] = roles; } - - // Init productList - if (product != null) - productList.SelectedValue = product; } - protected void roleList_SelectedIndexChanged(object sender, EventArgs e) + protected void roleTree_TreeNodeCheckChanged(object sender, TreeNodeEventArgs e) { - ListBox roleList = (ListBox)sender; - DropDownList productList = (DropDownList)FormView1.FindControl("productList"); + TreeNode node = (TreeNode)e.Node; Dictionary<String, ArrayList> ProductRoles = (Dictionary<String, ArrayList>)Session["ProductRoles"]; - int[] indices = roleList.GetSelectedIndices(); - ArrayList roles = new ArrayList(); - String productID = productList.SelectedValue; - foreach (int index in indices) - roles.Add(roleList.Items[index].Value); - ProductRoles[productID] = roles; + // update ProductUsers + if (node.Parent != null && node.Parent.Value != "Roles"){ + String product = node.Parent.Value; + if (ProductRoles.ContainsKey(product)) + { + if (ProductRoles[product].Contains(node.Value) && node.Checked == false) + ProductRoles[node.Parent.Value].Remove(node.Value); + else if (!ProductRoles[product].Contains(node.Value) && node.Checked == true) + ProductRoles[product].Add(node.Value); + } + else if (node.Checked == true) + { + ArrayList roles = new ArrayList(); + roles.Add(node.Value); + + ProductRoles.Add(product, roles); + } + } + + foreach (TreeNode child in e.Node.ChildNodes) + { + child.Checked = (node.Checked == true) ? true : false; + roleTree_TreeNodeCheckChanged(child, new TreeNodeEventArgs(child)); + } } - protected void productList_SelectedIndexChanged(object sender, EventArgs e) + protected void roleTree_SelectedNodeChanged(object sender, EventArgs e) { - ListBox roleList = (ListBox)FormView1.FindControl("roleList"); - roleList.DataBind(); + TreeView tree = (TreeView)sender; + TreeNode node = tree.SelectedNode; + + node.Checked = (node.Checked == true) ? false : true; + foreach (TreeNode child in node.ChildNodes) + { + child.Selected = true; + child.Checked = (node.Checked == true) ? true : false; + roleTree_TreeNodeCheckChanged(child, new TreeNodeEventArgs(child)); + } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <m_h...@us...> - 2006-07-28 14:24:49
|
Revision: 221 Author: m_hildebrand Date: 2006-07-25 15:01:30 -0700 (Tue, 25 Jul 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=221&view=rev Log Message: ----------- Just testing something Modified Paths: -------------- Website/App_Themes/Python/python.css Modified: Website/App_Themes/Python/python.css =================================================================== --- Website/App_Themes/Python/python.css 2006-07-25 21:44:20 UTC (rev 220) +++ Website/App_Themes/Python/python.css 2006-07-25 22:01:30 UTC (rev 221) @@ -1,4 +1,5 @@ -.ch, .ct, .cm, .cb + +.ch, .ct, .cm, .cb { margin: 0; padding: 0; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <m_h...@us...> - 2006-07-27 22:51:31
|
Revision: 230 Author: m_hildebrand Date: 2006-07-27 15:51:17 -0700 (Thu, 27 Jul 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=230&view=rev Log Message: ----------- Fixed some CSS problems Reworked CSS file to be more generic to reduce code Removed formatting information hard coded around role information Modified Paths: -------------- Website/App_Code/Common.cs Website/App_Code/tcdbDataSet.xsd Website/App_Code/tcdbDataSet.xss Website/App_Themes/Python/python.css Website/Includes/Assignments.ascx Website/Includes/AssignmentsTree.ascx Website/Includes/Authenticate.ascx Website/Includes/Header_User.ascx Website/Includes/UserSettings.ascx Website/Includes/UserSettings.ascx.cs Modified: Website/App_Code/Common.cs =================================================================== --- Website/App_Code/Common.cs 2006-07-27 20:58:46 UTC (rev 229) +++ Website/App_Code/Common.cs 2006-07-27 22:51:17 UTC (rev 230) @@ -1079,7 +1079,7 @@ } else { - configAdapter.Insert(userID, name, "", value); + configAdapter.Insert(userID, name, value); } } public static void SaveConfigBool(int userID, String name, Boolean value) Modified: Website/App_Code/tcdbDataSet.xsd =================================================================== --- Website/App_Code/tcdbDataSet.xsd 2006-07-27 20:58:46 UTC (rev 229) +++ Website/App_Code/tcdbDataSet.xsd 2006-07-27 22:51:17 UTC (rev 230) @@ -462,8 +462,6 @@ </Parameter> <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@name" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumn="name" SourceColumnNullMapping="False" SourceVersion="Current"> </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@description" Precision="0" ProviderType="Text" Scale="0" Size="2147483647" SourceColumn="description" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@value" Precision="0" ProviderType="Text" Scale="0" Size="2147483647" SourceColumn="value" SourceColumnNullMapping="False" SourceVersion="Current"> </Parameter> </Parameters> @@ -856,172 +854,172 @@ <xs:element name="db_users" msprop:Generator_UserTableName="db_users" msprop:Generator_RowDeletedName="db_usersRowDeleted" msprop:Generator_RowChangedName="db_usersRowChanged" msprop:Generator_RowClassName="db_usersRow" msprop:Generator_RowChangingName="db_usersRowChanging" msprop:Generator_RowEvArgName="db_usersRowChangeEvent" msprop:Generator_RowEvHandlerName="db_usersRowChangeEventHandler" msprop:Generator_TableClassName="db_usersDataTable" msprop:Generator_TableVarName="tabledb_users" msprop:Generator_RowDeletingName="db_usersRowDeleting" msprop:Generator_TablePropName="db_users"> <xs:complexType> <xs:sequence> - <xs:element name="userID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="userID" msprop:Generator_ColumnPropNameInRow="userID" msprop:Generator_ColumnVarNameInTable="columnuserID" msprop:Generator_ColumnPropNameInTable="userIDColumn" type="xs:int" /> - <xs:element name="username" msprop:Generator_UserColumnName="username" msprop:Generator_ColumnPropNameInRow="username" msprop:Generator_ColumnVarNameInTable="columnusername" msprop:Generator_ColumnPropNameInTable="usernameColumn"> + <xs:element name="userID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="userID" msprop:Generator_ColumnVarNameInTable="columnuserID" msprop:Generator_ColumnPropNameInRow="userID" msprop:Generator_ColumnPropNameInTable="userIDColumn" type="xs:int" /> + <xs:element name="username" msprop:Generator_UserColumnName="username" msprop:Generator_ColumnVarNameInTable="columnusername" msprop:Generator_ColumnPropNameInRow="username" msprop:Generator_ColumnPropNameInTable="usernameColumn"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="email" msprop:Generator_UserColumnName="email" msprop:Generator_ColumnPropNameInRow="email" msprop:Generator_ColumnVarNameInTable="columnemail" msprop:Generator_ColumnPropNameInTable="emailColumn"> + <xs:element name="email" msprop:Generator_UserColumnName="email" msprop:Generator_ColumnVarNameInTable="columnemail" msprop:Generator_ColumnPropNameInRow="email" msprop:Generator_ColumnPropNameInTable="emailColumn"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="officePhone" msprop:Generator_UserColumnName="officePhone" msprop:Generator_ColumnPropNameInRow="officePhone" msprop:Generator_ColumnVarNameInTable="columnofficePhone" msprop:Generator_ColumnPropNameInTable="officePhoneColumn" minOccurs="0"> + <xs:element name="officePhone" msprop:Generator_UserColumnName="officePhone" msprop:Generator_ColumnVarNameInTable="columnofficePhone" msprop:Generator_ColumnPropNameInRow="officePhone" msprop:Generator_ColumnPropNameInTable="officePhoneColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="14" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="homePhone" msprop:Generator_UserColumnName="homePhone" msprop:Generator_ColumnPropNameInRow="homePhone" msprop:Generator_ColumnVarNameInTable="columnhomePhone" msprop:Generator_ColumnPropNameInTable="homePhoneColumn" minOccurs="0"> + <xs:element name="homePhone" msprop:Generator_UserColumnName="homePhone" msprop:Generator_ColumnVarNameInTable="columnhomePhone" msprop:Generator_ColumnPropNameInRow="homePhone" msprop:Generator_ColumnPropNameInTable="homePhoneColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="14" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="cellPhone" msprop:Generator_UserColumnName="cellPhone" msprop:Generator_ColumnPropNameInRow="cellPhone" msprop:Generator_ColumnVarNameInTable="columncellPhone" msprop:Generator_ColumnPropNameInTable="cellPhoneColumn" minOccurs="0"> + <xs:element name="cellPhone" msprop:Generator_UserColumnName="cellPhone" msprop:Generator_ColumnVarNameInTable="columncellPhone" msprop:Generator_ColumnPropNameInRow="cellPhone" msprop:Generator_ColumnPropNameInTable="cellPhoneColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="14" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="firstName" msprop:Generator_UserColumnName="firstName" msprop:Generator_ColumnPropNameInRow="firstName" msprop:Generator_ColumnVarNameInTable="columnfirstName" msprop:Generator_ColumnPropNameInTable="firstNameColumn"> + <xs:element name="firstName" msprop:Generator_UserColumnName="firstName" msprop:Generator_ColumnVarNameInTable="columnfirstName" msprop:Generator_ColumnPropNameInRow="firstName" msprop:Generator_ColumnPropNameInTable="firstNameColumn"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="24" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="lastName" msprop:Generator_UserColumnName="lastName" msprop:Generator_ColumnPropNameInRow="lastName" msprop:Generator_ColumnVarNameInTable="columnlastName" msprop:Generator_ColumnPropNameInTable="lastNameColumn"> + <xs:element name="lastName" msprop:Generator_UserColumnName="lastName" msprop:Generator_ColumnVarNameInTable="columnlastName" msprop:Generator_ColumnPropNameInRow="lastName" msprop:Generator_ColumnPropNameInTable="lastNameColumn"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="24" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="fullName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="fullName" msprop:Generator_ColumnPropNameInRow="fullName" msprop:Generator_ColumnVarNameInTable="columnfullName" msprop:Generator_ColumnPropNameInTable="fullNameColumn" minOccurs="0"> + <xs:element name="fullName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="fullName" msprop:Generator_ColumnVarNameInTable="columnfullName" msprop:Generator_ColumnPropNameInRow="fullName" msprop:Generator_ColumnPropNameInTable="fullNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="automation" msprop:Generator_UserColumnName="automation" msprop:Generator_ColumnPropNameInRow="automation" msprop:Generator_ColumnVarNameInTable="columnautomation" msprop:Generator_ColumnPropNameInTable="automationColumn" type="xs:boolean" /> + <xs:element name="automation" msprop:Generator_UserColumnName="automation" msprop:Generator_ColumnVarNameInTable="columnautomation" msprop:Generator_ColumnPropNameInRow="automation" msprop:Generator_ColumnPropNameInTable="automationColumn" type="xs:boolean" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_products" msprop:Generator_UserTableName="db_products" msprop:Generator_RowDeletedName="db_productsRowDeleted" msprop:Generator_RowChangedName="db_productsRowChanged" msprop:Generator_RowClassName="db_productsRow" msprop:Generator_RowChangingName="db_productsRowChanging" msprop:Generator_RowEvArgName="db_productsRowChangeEvent" msprop:Generator_RowEvHandlerName="db_productsRowChangeEventHandler" msprop:Generator_TableClassName="db_productsDataTable" msprop:Generator_TableVarName="tabledb_products" msprop:Generator_RowDeletingName="db_productsRowDeleting" msprop:Generator_TablePropName="db_products"> <xs:complexType> <xs:sequence> - <xs:element name="productID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" /> - <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> + <xs:element name="productID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" /> + <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> + <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="devManager" msprop:Generator_UserColumnName="devManager" msprop:Generator_ColumnPropNameInRow="devManager" msprop:Generator_ColumnVarNameInTable="columndevManager" msprop:Generator_ColumnPropNameInTable="devManagerColumn" type="xs:int" minOccurs="0" /> - <xs:element name="qaManager" msprop:Generator_UserColumnName="qaManager" msprop:Generator_ColumnPropNameInRow="qaManager" msprop:Generator_ColumnVarNameInTable="columnqaManager" msprop:Generator_ColumnPropNameInTable="qaManagerColumn" type="xs:int" minOccurs="0" /> - <xs:element name="devLead" msprop:Generator_UserColumnName="devLead" msprop:Generator_ColumnPropNameInRow="devLead" msprop:Generator_ColumnVarNameInTable="columndevLead" msprop:Generator_ColumnPropNameInTable="devLeadColumn" type="xs:int" minOccurs="0" /> - <xs:element name="qaLead" msprop:Generator_UserColumnName="qaLead" msprop:Generator_ColumnPropNameInRow="qaLead" msprop:Generator_ColumnVarNameInTable="columnqaLead" msprop:Generator_ColumnPropNameInTable="qaLeadColumn" type="xs:int" minOccurs="0" /> - <xs:element name="pm" msprop:Generator_UserColumnName="pm" msprop:Generator_ColumnPropNameInRow="pm" msprop:Generator_ColumnVarNameInTable="columnpm" msprop:Generator_ColumnPropNameInTable="pmColumn" type="xs:int" minOccurs="0" /> - <xs:element name="codeName" msprop:Generator_UserColumnName="codeName" msprop:Generator_ColumnPropNameInRow="codeName" msprop:Generator_ColumnVarNameInTable="columncodeName" msprop:Generator_ColumnPropNameInTable="codeNameColumn" minOccurs="0"> + <xs:element name="devManager" msprop:Generator_UserColumnName="devManager" msprop:Generator_ColumnVarNameInTable="columndevManager" msprop:Generator_ColumnPropNameInRow="devManager" msprop:Generator_ColumnPropNameInTable="devManagerColumn" type="xs:int" minOccurs="0" /> + <xs:element name="qaManager" msprop:Generator_UserColumnName="qaManager" msprop:Generator_ColumnVarNameInTable="columnqaManager" msprop:Generator_ColumnPropNameInRow="qaManager" msprop:Generator_ColumnPropNameInTable="qaManagerColumn" type="xs:int" minOccurs="0" /> + <xs:element name="devLead" msprop:Generator_UserColumnName="devLead" msprop:Generator_ColumnVarNameInTable="columndevLead" msprop:Generator_ColumnPropNameInRow="devLead" msprop:Generator_ColumnPropNameInTable="devLeadColumn" type="xs:int" minOccurs="0" /> + <xs:element name="qaLead" msprop:Generator_UserColumnName="qaLead" msprop:Generator_ColumnVarNameInTable="columnqaLead" msprop:Generator_ColumnPropNameInRow="qaLead" msprop:Generator_ColumnPropNameInTable="qaLeadColumn" type="xs:int" minOccurs="0" /> + <xs:element name="pm" msprop:Generator_UserColumnName="pm" msprop:Generator_ColumnVarNameInTable="columnpm" msprop:Generator_ColumnPropNameInRow="pm" msprop:Generator_ColumnPropNameInTable="pmColumn" type="xs:int" minOccurs="0" /> + <xs:element name="codeName" msprop:Generator_UserColumnName="codeName" msprop:Generator_ColumnVarNameInTable="columncodeName" msprop:Generator_ColumnPropNameInRow="codeName" msprop:Generator_ColumnPropNameInTable="codeNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="10" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> + <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_actionItems" msprop:Generator_UserTableName="db_actionItems" msprop:Generator_RowDeletedName="db_actionItemsRowDeleted" msprop:Generator_RowChangedName="db_actionItemsRowChanged" msprop:Generator_RowClassName="db_actionItemsRow" msprop:Generator_RowChangingName="db_actionItemsRowChanging" msprop:Generator_RowEvArgName="db_actionItemsRowChangeEvent" msprop:Generator_RowEvHandlerName="db_actionItemsRowChangeEventHandler" msprop:Generator_TableClassName="db_actionItemsDataTable" msprop:Generator_TableVarName="tabledb_actionItems" msprop:Generator_RowDeletingName="db_actionItemsRowDeleting" msprop:Generator_TablePropName="db_actionItems"> <xs:complexType> <xs:sequence> - <xs:element name="actionItemID" msprop:Generator_UserColumnName="actionItemID" msprop:Generator_ColumnVarNameInTable="columnactionItemID" msprop:Generator_ColumnPropNameInRow="actionItemID" msprop:Generator_ColumnPropNameInTable="actionItemIDColumn" type="xs:int" /> - <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> + <xs:element name="actionItemID" msprop:Generator_UserColumnName="actionItemID" msprop:Generator_ColumnPropNameInRow="actionItemID" msprop:Generator_ColumnVarNameInTable="columnactionItemID" msprop:Generator_ColumnPropNameInTable="actionItemIDColumn" type="xs:int" /> + <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> + <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="dateAssigned" msprop:Generator_UserColumnName="dateAssigned" msprop:Generator_ColumnVarNameInTable="columndateAssigned" msprop:Generator_ColumnPropNameInRow="dateAssigned" msprop:Generator_ColumnPropNameInTable="dateAssignedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="dateDue" msprop:Generator_UserColumnName="dateDue" msprop:Generator_ColumnVarNameInTable="columndateDue" msprop:Generator_ColumnPropNameInRow="dateDue" msprop:Generator_ColumnPropNameInTable="dateDueColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="percentComplete" msprop:Generator_UserColumnName="percentComplete" msprop:Generator_ColumnVarNameInTable="columnpercentComplete" msprop:Generator_ColumnPropNameInRow="percentComplete" msprop:Generator_ColumnPropNameInTable="percentCompleteColumn" type="xs:int" minOccurs="0" /> - <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> + <xs:element name="dateAssigned" msprop:Generator_UserColumnName="dateAssigned" msprop:Generator_ColumnPropNameInRow="dateAssigned" msprop:Generator_ColumnVarNameInTable="columndateAssigned" msprop:Generator_ColumnPropNameInTable="dateAssignedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="dateDue" msprop:Generator_UserColumnName="dateDue" msprop:Generator_ColumnPropNameInRow="dateDue" msprop:Generator_ColumnVarNameInTable="columndateDue" msprop:Generator_ColumnPropNameInTable="dateDueColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="percentComplete" msprop:Generator_UserColumnName="percentComplete" msprop:Generator_ColumnPropNameInRow="percentComplete" msprop:Generator_ColumnVarNameInTable="columnpercentComplete" msprop:Generator_ColumnPropNameInTable="percentCompleteColumn" type="xs:int" minOccurs="0" /> + <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="createdBy" msdata:ReadOnly="true" msprop:Generator_UserColumnName="createdBy" msprop:Generator_ColumnVarNameInTable="columncreatedBy" msprop:Generator_ColumnPropNameInRow="createdBy" msprop:Generator_ColumnPropNameInTable="createdByColumn" minOccurs="0"> + <xs:element name="createdBy" msdata:ReadOnly="true" msprop:Generator_UserColumnName="createdBy" msprop:Generator_ColumnPropNameInRow="createdBy" msprop:Generator_ColumnVarNameInTable="columncreatedBy" msprop:Generator_ColumnPropNameInTable="createdByColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="highPriority" msprop:Generator_UserColumnName="highPriority" msprop:Generator_ColumnVarNameInTable="columnhighPriority" msprop:Generator_ColumnPropNameInRow="highPriority" msprop:Generator_ColumnPropNameInTable="highPriorityColumn" type="xs:boolean" minOccurs="0" /> - <xs:element name="testPass" msprop:Generator_UserColumnName="testPass" msprop:Generator_ColumnPropNameInRow="testPass" msprop:Generator_ColumnVarNameInTable="columntestPass" msprop:Generator_ColumnPropNameInTable="testPassColumn" minOccurs="0"> + <xs:element name="highPriority" msprop:Generator_UserColumnName="highPriority" msprop:Generator_ColumnPropNameInRow="highPriority" msprop:Generator_ColumnVarNameInTable="columnhighPriority" msprop:Generator_ColumnPropNameInTable="highPriorityColumn" type="xs:boolean" minOccurs="0" /> + <xs:element name="testPass" msprop:Generator_UserColumnName="testPass" msprop:Generator_ColumnVarNameInTable="columntestPass" msprop:Generator_ColumnPropNameInRow="testPass" msprop:Generator_ColumnPropNameInTable="testPassColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="dateFinished" msprop:Generator_UserColumnName="dateFinished" msprop:Generator_ColumnPropNameInRow="dateFinished" msprop:Generator_ColumnVarNameInTable="columndateFinished" msprop:Generator_ColumnPropNameInTable="dateFinishedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="assignedID" msprop:Generator_UserColumnName="assignedID" msprop:Generator_ColumnPropNameInRow="assignedID" msprop:Generator_ColumnVarNameInTable="columnassignedID" msprop:Generator_ColumnPropNameInTable="assignedIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="assigned" msdata:ReadOnly="true" msprop:Generator_UserColumnName="assigned" msprop:Generator_ColumnPropNameInRow="assigned" msprop:Generator_ColumnVarNameInTable="columnassigned" msprop:Generator_ColumnPropNameInTable="assignedColumn" minOccurs="0"> + <xs:element name="dateFinished" msprop:Generator_UserColumnName="dateFinished" msprop:Generator_ColumnVarNameInTable="columndateFinished" msprop:Generator_ColumnPropNameInRow="dateFinished" msprop:Generator_ColumnPropNameInTable="dateFinishedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="assignedID" msprop:Generator_UserColumnName="assignedID" msprop:Generator_ColumnVarNameInTable="columnassignedID" msprop:Generator_ColumnPropNameInRow="assignedID" msprop:Generator_ColumnPropNameInTable="assignedIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="assigned" msdata:ReadOnly="true" msprop:Generator_UserColumnName="assigned" msprop:Generator_ColumnVarNameInTable="columnassigned" msprop:Generator_ColumnPropNameInRow="assigned" msprop:Generator_ColumnPropNameInTable="assignedColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="statusID" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="testPassID" msprop:Generator_UserColumnName="testPassID" msprop:Generator_ColumnVarNameInTable="columntestPassID" msprop:Generator_ColumnPropNameInRow="testPassID" msprop:Generator_ColumnPropNameInTable="testPassIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> - <xs:element name="creatorID" msprop:Generator_UserColumnName="creatorID" msprop:Generator_ColumnVarNameInTable="columncreatorID" msprop:Generator_ColumnPropNameInRow="creatorID" msprop:Generator_ColumnPropNameInTable="creatorIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="statusID" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="testPassID" msprop:Generator_UserColumnName="testPassID" msprop:Generator_ColumnPropNameInRow="testPassID" msprop:Generator_ColumnVarNameInTable="columntestPassID" msprop:Generator_ColumnPropNameInTable="testPassIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> + <xs:element name="creatorID" msprop:Generator_UserColumnName="creatorID" msprop:Generator_ColumnPropNameInRow="creatorID" msprop:Generator_ColumnVarNameInTable="columncreatorID" msprop:Generator_ColumnPropNameInTable="creatorIDColumn" type="xs:int" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_status" msprop:Generator_UserTableName="db_status" msprop:Generator_RowDeletedName="db_statusRowDeleted" msprop:Generator_RowChangedName="db_statusRowChanged" msprop:Generator_RowClassName="db_statusRow" msprop:Generator_RowChangingName="db_statusRowChanging" msprop:Generator_RowEvArgName="db_statusRowChangeEvent" msprop:Generator_RowEvHandlerName="db_statusRowChangeEventHandler" msprop:Generator_TableClassName="db_statusDataTable" msprop:Generator_TableVarName="tabledb_status" msprop:Generator_RowDeletingName="db_statusRowDeleting" msprop:Generator_TablePropName="db_status"> <xs:complexType> <xs:sequence> - <xs:element name="statusID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" /> - <xs:element name="Description" msprop:Generator_UserColumnName="Description" msprop:Generator_ColumnPropNameInRow="Description" msprop:Generator_ColumnVarNameInTable="columnDescription" msprop:Generator_ColumnPropNameInTable="DescriptionColumn" minOccurs="0"> + <xs:element name="statusID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" /> + <xs:element name="Description" msprop:Generator_UserColumnName="Description" msprop:Generator_ColumnVarNameInTable="columnDescription" msprop:Generator_ColumnPropNameInRow="Description" msprop:Generator_ColumnPropNameInTable="DescriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> + <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> @@ -1034,113 +1032,113 @@ <xs:element name="db_notes" msprop:Generator_UserTableName="db_notes" msprop:Generator_RowDeletedName="db_notesRowDeleted" msprop:Generator_RowChangedName="db_notesRowChanged" msprop:Generator_RowClassName="db_notesRow" msprop:Generator_RowChangingName="db_notesRowChanging" msprop:Generator_RowEvArgName="db_notesRowChangeEvent" msprop:Generator_RowEvHandlerName="db_notesRowChangeEventHandler" msprop:Generator_TableClassName="db_notesDataTable" msprop:Generator_TableVarName="tabledb_notes" msprop:Generator_RowDeletingName="db_notesRowDeleting" msprop:Generator_TablePropName="db_notes"> <xs:complexType> <xs:sequence> - <xs:element name="noteID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="noteID" msprop:Generator_ColumnPropNameInRow="noteID" msprop:Generator_ColumnVarNameInTable="columnnoteID" msprop:Generator_ColumnPropNameInTable="noteIDColumn" type="xs:int" /> - <xs:element name="dateCreated" msprop:Generator_UserColumnName="dateCreated" msprop:Generator_ColumnPropNameInRow="dateCreated" msprop:Generator_ColumnVarNameInTable="columndateCreated" msprop:Generator_ColumnPropNameInTable="dateCreatedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="noteField" msprop:Generator_UserColumnName="noteField" msprop:Generator_ColumnPropNameInRow="noteField" msprop:Generator_ColumnVarNameInTable="columnnoteField" msprop:Generator_ColumnPropNameInTable="noteFieldColumn" minOccurs="0"> + <xs:element name="noteID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="noteID" msprop:Generator_ColumnVarNameInTable="columnnoteID" msprop:Generator_ColumnPropNameInRow="noteID" msprop:Generator_ColumnPropNameInTable="noteIDColumn" type="xs:int" /> + <xs:element name="dateCreated" msprop:Generator_UserColumnName="dateCreated" msprop:Generator_ColumnVarNameInTable="columndateCreated" msprop:Generator_ColumnPropNameInRow="dateCreated" msprop:Generator_ColumnPropNameInTable="dateCreatedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="noteField" msprop:Generator_UserColumnName="noteField" msprop:Generator_ColumnVarNameInTable="columnnoteField" msprop:Generator_ColumnPropNameInRow="noteField" msprop:Generator_ColumnPropNameInTable="noteFieldColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="noteAuthor" msprop:Generator_UserColumnName="noteAuthor" msprop:Generator_ColumnPropNameInRow="noteAuthor" msprop:Generator_ColumnVarNameInTable="columnnoteAuthor" msprop:Generator_ColumnPropNameInTable="noteAuthorColumn" type="xs:int" minOccurs="0" /> + <xs:element name="noteAuthor" msprop:Generator_UserColumnName="noteAuthor" msprop:Generator_ColumnVarNameInTable="columnnoteAuthor" msprop:Generator_ColumnPropNameInRow="noteAuthor" msprop:Generator_ColumnPropNameInTable="noteAuthorColumn" type="xs:int" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_assignments" msprop:Generator_UserTableName="db_assignments" msprop:Generator_RowDeletedName="db_assignmentsRowDeleted" msprop:Generator_RowChangedName="db_assignmentsRowChanged" msprop:Generator_RowClassName="db_assignmentsRow" msprop:Generator_RowChangingName="db_assignmentsRowChanging" msprop:Generator_RowEvArgName="db_assignmentsRowChangeEvent" msprop:Generator_RowEvHandlerName="db_assignmentsRowChangeEventHandler" msprop:Generator_TableClassName="db_assignmentsDataTable" msprop:Generator_TableVarName="tabledb_assignments" msprop:Generator_RowDeletingName="db_assignmentsRowDeleting" msprop:Generator_TablePropName="db_assignments"> <xs:complexType> <xs:sequence> - <xs:element name="aType" msdata:ReadOnly="true" msprop:Generator_UserColumnName="aType" msprop:Generator_ColumnPropNameInRow="aType" msprop:Generator_ColumnVarNameInTable="columnaType" msprop:Generator_ColumnPropNameInTable="aTypeColumn" minOccurs="0"> + <xs:element name="aType" msdata:ReadOnly="true" msprop:Generator_UserColumnName="aType" msprop:Generator_ColumnVarNameInTable="columnaType" msprop:Generator_ColumnPropNameInRow="aType" msprop:Generator_ColumnPropNameInTable="aTypeColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="childID" msdata:ReadOnly="true" msprop:Generator_UserColumnName="childID" msprop:Generator_ColumnPropNameInRow="childID" msprop:Generator_ColumnVarNameInTable="columnchildID" msprop:Generator_ColumnPropNameInTable="childIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="creator" msdata:ReadOnly="true" msprop:Generator_UserColumnName="creator" msprop:Generator_ColumnPropNameInRow="creator" msprop:Generator_ColumnVarNameInTable="columncreator" msprop:Generator_ColumnPropNameInTable="creatorColumn" minOccurs="0"> + <xs:element name="childID" msdata:ReadOnly="true" msprop:Generator_UserColumnName="childID" msprop:Generator_ColumnVarNameInTable="columnchildID" msprop:Generator_ColumnPropNameInRow="childID" msprop:Generator_ColumnPropNameInTable="childIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="creator" msdata:ReadOnly="true" msprop:Generator_UserColumnName="creator" msprop:Generator_ColumnVarNameInTable="columncreator" msprop:Generator_ColumnPropNameInRow="creator" msprop:Generator_ColumnPropNameInTable="creatorColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="assigned" msdata:ReadOnly="true" msprop:Generator_UserColumnName="assigned" msprop:Generator_ColumnPropNameInRow="assigned" msprop:Generator_ColumnVarNameInTable="columnassigned" msprop:Generator_ColumnPropNameInTable="assignedColumn" minOccurs="0"> + <xs:element name="assigned" msdata:ReadOnly="true" msprop:Generator_UserColumnName="assigned" msprop:Generator_ColumnVarNameInTable="columnassigned" msprop:Generator_ColumnPropNameInRow="assigned" msprop:Generator_ColumnPropNameInTable="assignedColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="assignedID" msprop:Generator_UserColumnName="assignedID" msprop:Generator_ColumnPropNameInRow="assignedID" msprop:Generator_ColumnVarNameInTable="columnassignedID" msprop:Generator_ColumnPropNameInTable="assignedIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="dateAssigned" msprop:Generator_UserColumnName="dateAssigned" msprop:Generator_ColumnPropNameInRow="dateAssigned" msprop:Generator_ColumnVarNameInTable="columndateAssigned" msprop:Generator_ColumnPropNameInTable="dateAssignedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="dateDue" msprop:Generator_UserColumnName="dateDue" msprop:Generator_ColumnPropNameInRow="dateDue" msprop:Generator_ColumnVarNameInTable="columndateDue" msprop:Generator_ColumnPropNameInTable="dateDueColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="dateFinished" msprop:Generator_UserColumnName="dateFinished" msprop:Generator_ColumnPropNameInRow="dateFinished" msprop:Generator_ColumnVarNameInTable="columndateFinished" msprop:Generator_ColumnPropNameInTable="dateFinishedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="highPriority" msprop:Generator_UserColumnName="highPriority" msprop:Generator_ColumnPropNameInRow="highPriority" msprop:Generator_ColumnVarNameInTable="columnhighPriority" msprop:Generator_ColumnPropNameInTable="highPriorityColumn" type="xs:boolean" minOccurs="0" /> - <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> + <xs:element name="assignedID" msprop:Generator_UserColumnName="assignedID" msprop:Generator_ColumnVarNameInTable="columnassignedID" msprop:Generator_ColumnPropNameInRow="assignedID" msprop:Generator_ColumnPropNameInTable="assignedIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="dateAssigned" msprop:Generator_UserColumnName="dateAssigned" msprop:Generator_ColumnVarNameInTable="columndateAssigned" msprop:Generator_ColumnPropNameInRow="dateAssigned" msprop:Generator_ColumnPropNameInTable="dateAssignedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="dateDue" msprop:Generator_UserColumnName="dateDue" msprop:Generator_ColumnVarNameInTable="columndateDue" msprop:Generator_ColumnPropNameInRow="dateDue" msprop:Generator_ColumnPropNameInTable="dateDueColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="dateFinished" msprop:Generator_UserColumnName="dateFinished" msprop:Generator_ColumnVarNameInTable="columndateFinished" msprop:Generator_ColumnPropNameInRow="dateFinished" msprop:Generator_ColumnPropNameInTable="dateFinishedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="highPriority" msprop:Generator_UserColumnName="highPriority" msprop:Generator_ColumnVarNameInTable="columnhighPriority" msprop:Generator_ColumnPropNameInRow="highPriority" msprop:Generator_ColumnPropNameInTable="highPriorityColumn" type="xs:boolean" minOccurs="0" /> + <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="WOTotalTest" msprop:Generator_UserColumnName="WOTotalTest" msprop:Generator_ColumnPropNameInRow="WOTotalTest" msprop:Generator_ColumnVarNameInTable="columnWOTotalTest" msprop:Generator_ColumnPropNameInTable="WOTotalTestColumn" type="xs:int" minOccurs="0" /> - <xs:element name="WOPassRate" msdata:ReadOnly="true" msprop:Generator_UserColumnName="WOPassRate" msprop:Generator_ColumnPropNameInRow="WOPassRate" msprop:Generator_ColumnVarNameInTable="columnWOPassRate" msprop:Generator_ColumnPropNameInTable="WOPassRateColumn" minOccurs="0"> + <xs:element name="WOTotalTest" msprop:Generator_UserColumnName="WOTotalTest" msprop:Generator_ColumnVarNameInTable="columnWOTotalTest" msprop:Generator_ColumnPropNameInRow="WOTotalTest" msprop:Generator_ColumnPropNameInTable="WOTotalTestColumn" type="xs:int" minOccurs="0" /> + <xs:element name="WOPassRate" msdata:ReadOnly="true" msprop:Generator_UserColumnName="WOPassRate" msprop:Generator_ColumnVarNameInTable="columnWOPassRate" msprop:Generator_ColumnPropNameInRow="WOPassRate" msprop:Generator_ColumnPropNameInTable="WOPassRateColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="31" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="WOPass" msprop:Generator_UserColumnName="WOPass" msprop:Generator_ColumnPropNameInRow="WOPass" msprop:Generator_ColumnVarNameInTable="columnWOPass" msprop:Generator_ColumnPropNameInTable="WOPassColumn" type="xs:int" minOccurs="0" /> - <xs:element name="WOFail" msprop:Generator_UserColumnName="WOFail" msprop:Generator_ColumnPropNameInRow="WOFail" msprop:Generator_ColumnVarNameInTable="columnWOFail" msprop:Generator_ColumnPropNameInTable="WOFailColumn" type="xs:int" minOccurs="0" /> - <xs:element name="WOError" msprop:Generator_UserColumnName="WOError" msprop:Generator_ColumnPropNameInRow="WOError" msprop:Generator_ColumnVarNameInTable="columnWOError" msprop:Generator_ColumnPropNameInTable="WOErrorColumn" type="xs:int" minOccurs="0" /> - <xs:element name="aName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="aName" msprop:Generator_ColumnPropNameInRow="aName" msprop:Generator_ColumnVarNameInTable="columnaName" msprop:Generator_ColumnPropNameInTable="aNameColumn" minOccurs="0"> + <xs:element name="WOPass" msprop:Generator_UserColumnName="WOPass" msprop:Generator_ColumnVarNameInTable="columnWOPass" msprop:Generator_ColumnPropNameInRow="WOPass" msprop:Generator_ColumnPropNameInTable="WOPassColumn" type="xs:int" minOccurs="0" /> + <xs:element name="WOFail" msprop:Generator_UserColumnName="WOFail" msprop:Generator_ColumnVarNameInTable="columnWOFail" msprop:Generator_ColumnPropNameInRow="WOFail" msprop:Generator_ColumnPropNameInTable="WOFailColumn" type="xs:int" minOccurs="0" /> + <xs:element name="WOError" msprop:Generator_UserColumnName="WOError" msprop:Generator_ColumnVarNameInTable="columnWOError" msprop:Generator_ColumnPropNameInRow="WOError" msprop:Generator_ColumnPropNameInTable="WOErrorColumn" type="xs:int" minOccurs="0" /> + <xs:element name="aName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="aName" msprop:Generator_ColumnVarNameInTable="columnaName" msprop:Generator_ColumnPropNameInRow="aName" msprop:Generator_ColumnPropNameInTable="aNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> + <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_testPass" msprop:Generator_UserTableName="db_testPass" msprop:Generator_RowDeletedName="db_testPassRowDeleted" msprop:Generator_RowChangedName="db_testPassRowChanged" msprop:Generator_RowClassName="db_testPassRow" msprop:Generator_RowChangingName="db_testPassRowChanging" msprop:Generator_RowEvArgName="db_testPassRowChangeEvent" msprop:Generator_RowEvHandlerName="db_testPassRowChangeEventHandler" msprop:Generator_TableClassName="db_testPassDataTable" msprop:Generator_TableVarName="tabledb_testPass" msprop:Generator_RowDeletingName="db_testPassRowDeleting" msprop:Generator_TablePropName="db_testPass"> <xs:complexType> <xs:sequence> - <xs:element name="testPassID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="testPassID" msprop:Generator_ColumnVarNameInTable="columntestPassID" msprop:Generator_ColumnPropNameInRow="testPassID" msprop:Generator_ColumnPropNameInTable="testPassIDColumn" type="xs:int" /> - <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> + <xs:element name="testPassID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="testPassID" msprop:Generator_ColumnPropNameInRow="testPassID" msprop:Generator_ColumnVarNameInTable="columntestPassID" msprop:Generator_ColumnPropNameInTable="testPassIDColumn" type="xs:int" /> + <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="versionID" msprop:Generator_UserColumnName="versionID" msprop:Generator_ColumnVarNameInTable="columnversionID" msprop:Generator_ColumnPropNameInRow="versionID" msprop:Generator_ColumnPropNameInTable="versionIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="versionID" msprop:Generator_UserColumnName="versionID" msprop:Generator_ColumnPropNameInRow="versionID" msprop:Generator_ColumnVarNameInTable="columnversionID" msprop:Generator_ColumnPropNameInTable="versionIDColumn" type="xs:int" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_config" msprop:Generator_UserTableName="db_config" msprop:Generator_RowDeletedName="db_configRowDeleted" msprop:Generator_RowChangedName="db_configRowChanged" msprop:Generator_RowClassName="db_configRow" msprop:Generator_RowChangingName="db_configRowChanging" msprop:Generator_RowEvArgName="db_configRowChangeEvent" msprop:Generator_RowEvHandlerName="db_configRowChangeEventHandler" msprop:Generator_TableClassName="db_configDataTable" msprop:Generator_TableVarName="tabledb_config" msprop:Generator_RowDeletingName="db_configRowDeleting" msprop:Generator_TablePropName="db_config"> <xs:complexType> <xs:sequence> - <xs:element name="configID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="configID" msprop:Generator_ColumnVarNameInTable="columnconfigID" msprop:Generator_ColumnPropNameInRow="configID" msprop:Generator_ColumnPropNameInTable="configIDColumn" type="xs:int" /> - <xs:element name="userID" msprop:Generator_UserColumnName="userID" msprop:Generator_ColumnVarNameInTable="columnuserID" msprop:Generator_ColumnPropNameInRow="userID" msprop:Generator_ColumnPropNameInTable="userIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> + <xs:element name="configID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="configID" msprop:Generator_ColumnPropNameInRow="configID" msprop:Generator_ColumnVarNameInTable="columnconfigID" msprop:Generator_ColumnPropNameInTable="configIDColumn" type="xs:int" /> + <xs:element name="userID" msprop:Generator_UserColumnName="userID" msprop:Generator_ColumnPropNameInRow="userID" msprop:Generator_ColumnVarNameInTable="columnuserID" msprop:Generator_ColumnPropNameInTable="userIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="value" msprop:Generator_UserColumnName="value" msprop:Generator_ColumnVarNameInTable="columnvalue" msprop:Generator_ColumnPropNameInRow="value" msprop:Generator_ColumnPropNameInTable="valueColumn" minOccurs="0"> + <xs:element name="value" msprop:Generator_UserColumnName="value" msprop:Generator_ColumnPropNameInRow="value" msprop:Generator_ColumnVarNameInTable="columnvalue" msprop:Generator_ColumnPropNameInTable="valueColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> + <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> @@ -1153,93 +1151,93 @@ <xs:element name="db_version" msprop:Generator_UserTableName="db_version" msprop:Generator_RowDeletedName="db_versionRowDeleted" msprop:Generator_RowChangedName="db_versionRowChanged" msprop:Generator_RowClassName="db_versionRow" msprop:Generator_RowChangingName="db_versionRowChanging" msprop:Generator_RowEvArgName="db_versionRowChangeEvent" msprop:Generator_RowEvHandlerName="db_versionRowChangeEventHandler" msprop:Generator_TableClassName="db_versionDataTable" msprop:Generator_TableVarName="tabledb_version" msprop:Generator_RowDeletingName="db_versionRowDeleting" msprop:Generator_TablePropName="db_version"> <xs:complexType> <xs:sequence> - <xs:element name="versionID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="versionID" msprop:Generator_ColumnVarNameInTable="columnversionID" msprop:Generator_ColumnPropNameInRow="versionID" msprop:Generator_ColumnPropNameInTable="versionIDColumn" type="xs:int" /> - <xs:element name="productID" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="number" msprop:Generator_UserColumnName="number" msprop:Generator_ColumnVarNameInTable="columnnumber" msprop:Generator_ColumnPropNameInRow="number" msprop:Generator_ColumnPropNameInTable="numberColumn" minOccurs="0"> + <xs:element name="versionID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="versionID" msprop:Generator_ColumnPropNameInRow="versionID" msprop:Generator_ColumnVarNameInTable="columnversionID" msprop:Generator_ColumnPropNameInTable="versionIDColumn" type="xs:int" /> + <xs:element name="productID" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="number" msprop:Generator_UserColumnName="number" msprop:Generator_ColumnPropNameInRow="number" msprop:Generator_ColumnVarNameInTable="columnnumber" msprop:Generator_ColumnPropNameInTable="numberColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="code" msprop:Generator_UserColumnName="code" msprop:Generator_ColumnVarNameInTable="columncode" msprop:Generator_ColumnPropNameInRow="code" msprop:Generator_ColumnPropNameInTable="codeColumn" minOccurs="0"> + <xs:element name="code" msprop:Generator_UserColumnName="code" msprop:Generator_ColumnPropNameInRow="code" msprop:Generator_ColumnVarNameInTable="columncode" msprop:Generator_ColumnPropNameInTable="codeColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" minOccurs="0" /> - <xs:element name="dateCreated" msprop:Generator_UserColumnName="dateCreated" msprop:Generator_ColumnVarNameInTable="columndateCreated" msprop:Generator_ColumnPropNameInRow="dateCreated" msprop:Generator_ColumnPropNameInTable="dateCreatedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" minOccurs="0" /> + <xs:element name="dateCreated" msprop:Generator_UserColumnName="dateCreated" msprop:Generator_ColumnPropNameInRow="dateCreated" msprop:Generator_ColumnVarNameInTable="columndateCreated" msprop:Generator_ColumnPropNameInTable="dateCreatedColumn" type="xs:dateTime" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_rights" msprop:Generator_UserTableName="db_rights" msprop:Generator_RowDeletedName="db_rightsRowDeleted" msprop:Generator_RowChangedName="db_rightsRowChanged" msprop:Generator_RowClassName="db_rightsRow" msprop:Generator_RowChangingName="db_rightsRowChanging" msprop:Generator_RowEvArgName="db_rightsRowChangeEvent" msprop:Generator_RowEvHandlerName="db_rightsRowChangeEventHandler" msprop:Generator_TableClassName="db_rightsDataTable" msprop:Generator_TableVarName="tabledb_rights" msprop:Generator_RowDeletingName="db_rightsRowDeleting" msprop:Generator_TablePropName="db_rights"> <xs:complexType> <xs:sequence> - <xs:element name="rightsID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="rightsID" msprop:Generator_ColumnPropNameInRow="rightsID" msprop:Generator_ColumnVarNameInTable="columnrightsID" msprop:Generator_ColumnPropNameInTable="rightsIDColumn" type="xs:int" /> - <xs:element name="rightsName" msprop:Generator_UserColumnName="rightsName" msprop:Generator_ColumnPropNameInRow="rightsName" msprop:Generator_ColumnVarNameInTable="columnrightsName" msprop:Generator_ColumnPropNameInTable="rightsNameColumn" minOccurs="0"> + <xs:element name="rightsID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="rightsID" msprop:Generator_ColumnVarNameInTable="columnrightsID" msprop:Generator_ColumnPropNameInRow="rightsID" msprop:Generator_ColumnPropNameInTable="rightsIDColumn" type="xs:int" /> + <xs:element name="rightsName" msprop:Generator_UserColumnName="rightsName" msprop:Generator_ColumnVarNameInTable="columnrightsName" msprop:Generator_ColumnPropNameInRow="rightsName" msprop:Generator_ColumnPropNameInTable="rightsNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="rightDescription" msprop:Generator_UserColumnName="rightDescription" msprop:Generator_ColumnPropNameInRow="rightDescription" msprop:Generator_ColumnVarNameInTable="columnrightDescription" msprop:Generator_ColumnPropNameInTable="rightDescriptionColumn" minOccurs="0"> + <xs:element name="rightDescription" msprop:Generator_UserColumnName="rightDescription" msprop:G... [truncated message content] |
From: <m_h...@us...> - 2006-07-27 22:40:57
|
Revision: 218 Author: m_hildebrand Date: 2006-07-25 12:58:26 -0700 (Tue, 25 Jul 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=218&view=rev Log Message: ----------- This is just a test, nothing really changed Modified Paths: -------------- Website/App_Themes/Python/python.css Modified: Website/App_Themes/Python/python.css =================================================================== --- Website/App_Themes/Python/python.css 2006-07-25 19:50:32 UTC (rev 217) +++ Website/App_Themes/Python/python.css 2006-07-25 19:58:26 UTC (rev 218) @@ -1,5 +1,4 @@ - -.ch, .ct, .cm, .cb +.ch, .ct, .cm, .cb { margin: 0; padding: 0; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2006-07-27 22:20:12
|
Revision: 224 Author: rouquin Date: 2006-07-26 13:35:49 -0700 (Wed, 26 Jul 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=224&view=rev Log Message: ----------- Added os and architecture pages. The admin tree should be done now. Modified Paths: -------------- WebPrototype/App_Code/DummyDataSet.xsd WebPrototype/App_Code/DummyDataSet.xss WebPrototype/App_Data/ASPNETDB.MDF WebPrototype/App_Data/Database.mdf WebPrototype/App_Data/Database_log.LDF WebPrototype/App_Data/aspnetdb_log.ldf WebPrototype/architectureEdit.aspx WebPrototype/architectureEdit.aspx.cs WebPrototype/osEdit.aspx WebPrototype/osEdit.aspx.cs Modified: WebPrototype/App_Code/DummyDataSet.xsd =================================================================== --- WebPrototype/App_Code/DummyDataSet.xsd 2006-07-26 17:17:24 UTC (rev 223) +++ WebPrototype/App_Code/DummyDataSet.xsd 2006-07-26 20:35:49 UTC (rev 224) @@ -1245,15 +1245,21 @@ <Mapping SourceColumn="name" DataSetColumn="name" /> </Mappings> <Sources> - <DbSource ConnectionRef="DummyDatabaseConnectionString (Web.config)" DbObjectName="dbo.architecture" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="FillBy" GenerateMethods="Both" GenerateShortCommands="True" GeneratorGetMethodName="GetArchByTestCase" GeneratorSourceName="FillBy" GetMethodModifier="Public" GetMethodName="GetArchByTestCase" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="True" UserGetMethodName="GetArchByTestCase" UserSourceName="FillBy"> + <DbSource ConnectionRef="DummyDatabaseConnectionString (Web.config)" DbObjectName="" DbObjectType="Unknown" GenerateShortCommands="True" GeneratorSourceName="DeleteArchByID" Modifier="Public" Name="DeleteArchByID" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="True" UserGetMethodName="GetDataBy1" UserSourceName="DeleteArchByID"> + <DeleteCommand> + <DbCommand CommandType="Text" ModifiedByUser="True"> + <CommandText>DELETE FROM architecture WHERE architectureID=@original_architectureID</CommandText> + <Parameters> + <Parameter AllowDbNull="False" AutogeneratedName="original_architectureID" ColumnName="architectureID" DataSourceName="[C:\DOCUMENTS AND SETTINGS\MICHAELT\DESKTOP\TCDB\WEBPROTOTYPE\APP_DATA\DATABASE.MDF].dbo.architecture" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@original_architectureID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="architectureID" SourceColumnNullMapping="False" SourceVersion="Original"> + </Parameter> + </Parameters> + </DbCommand> + </DeleteCommand> + </DbSource> + <DbSource ConnectionRef="DummyDatabaseConnectionString (Web.config)" DbObjectName="dbo.architecture" DbObjectType="Table" GenerateMethods="Get" GenerateShortCommands="True" GeneratorGetMethodName="GetArchByTestCase" GeneratorSourceName="FillBy" GetMethodModifier="Public" GetMethodName="GetArchByTestCase" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="True" UserGetMethodName="GetArchByTestCase" UserSourceName="FillBy"> <SelectCommand> <DbCommand CommandType="Text" ModifiedByUser="True"> - <CommandText>SELECT architecture.architectureID, architecture.name -FROM architecture INNER JOIN - platform ON architecture.architectureID = platform.architectureID INNER JOIN - testCasePlatform ON testCasePlatform.platformID = platform.platformID INNER JOIN - TestCase ON testCasePlatform.testCaseID = TestCase.testcaseID -WHERE (TestCase.testcaseID = @testcaseID)</CommandText> + <CommandText>SELECT architecture.architectureID, architecture.name FROM architecture INNER JOIN platform ON architecture.architectureID = platform.architectureID INNER JOIN testCasePlatform ON testCasePlatform.platformID = platform.platformID INNER JOIN TestCase ON testCasePlatform.testCaseID = TestCase.testcaseID WHERE (TestCase.testcaseID = @testcaseID)</CommandText> <Parameters> <Parameter AllowDbNull="False" AutogeneratedName="testcaseID" ColumnName="testcaseID" DataSourceName="[C:\DOCUMENTS AND SETTINGS\MICHAELT\DESKTOP\TCDB\WEBPROTOTYPE\APP_DATA\DATABASE.MDF].dbo.TestCase" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@testcaseID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="testcaseID" SourceColumnNullMapping="False" SourceVersion="Current"> </Parameter> @@ -1261,6 +1267,45 @@ </DbCommand> </SelectCommand> </DbSource> + <DbSource ConnectionRef="DummyDatabaseConnectionString (Web.config)" DbObjectName="dbo.architecture" DbObjectType="Table" GenerateMethods="Get" GenerateShortCommands="True" GeneratorGetMethodName="GetArchByID" GetMethodModifier="Public" GetMethodName="GetArchByID" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="True" UserGetMethodName="GetArchByID" UserSourceName="FillBy1"> + <SelectCommand> + <DbCommand CommandType="Text" ModifiedByUser="True"> + <CommandText>SELECT architectureID, name FROM architecture WHERE (architectureID = @architectureID)</CommandText> + <Parameters> + <Parameter AllowDbNull="False" AutogeneratedName="architectureID" ColumnName="architectureID" DataSourceName="[C:\DOCUMENTS AND SETTINGS\MICHAELT\DESKTOP\TCDB\WEBPROTOTYPE\APP_DATA\DATABASE.MDF].dbo.architecture" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@architectureID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="architectureID" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + </Parameters> + </DbCommand> + </SelectCommand> + </DbSource> + <DbSource ConnectionRef="DummyDatabaseConnectionString (Web.config)" DbObjectName="" DbObjectType="Unknown" GenerateShortCommands="True" GeneratorSourceName="InsertArchitecture" Modifier="Public" Name="InsertArchitecture" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="True" UserGetMethodName="GetDataBy2" UserSourceName="InsertArchitecture"> + <InsertCommand> + <DbCommand CommandType="Text" ModifiedByUser="True"> + <CommandText>INSERT INTO architecture + (name) +VALUES (@name)</CommandText> + <Parameters> + <Parameter AllowDbNull="True" AutogeneratedName="name" ColumnName="name" DataSourceName="[C:\DOCUMENTS AND SETTINGS\MICHAELT\DESKTOP\TCDB\WEBPROTOTYPE\APP_DATA\DATABASE.MDF].dbo.architecture" DataTypeServer="varchar(255)" DbType="AnsiString" Direction="Input" ParameterName="@name" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumn="name" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + </Parameters> + </DbCommand> + </InsertCommand> + </DbSource> + <DbSource ConnectionRef="DummyDatabaseConnectionString (Web.config)" DbObjectName="" DbObjectType="Unknown" GenerateShortCommands="True" GeneratorSourceName="UpdateArchByID" Modifier="Public" Name="UpdateArchByID" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="True" UserGetMethodName="GetDataBy" UserSourceName="UpdateArchByID"> + <UpdateCommand> + <DbCommand CommandType="Text" ModifiedByUser="True"> + <CommandText>UPDATE architecture +SET name = @name +WHERE (architectureID = @original_architectureID)</CommandText> + <Parameters> + <Parameter AllowDbNull="True" AutogeneratedName="name" ColumnName="name" DataSourceName="[C:\DOCUMENTS AND SETTINGS\MICHAELT\DESKTOP\TCDB\WEBPROTOTYPE\APP_DATA\DATABASE.MDF].dbo.architecture" DataTypeServer="varchar(255)" DbType="AnsiString" Direction="Input" ParameterName="@name" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumn="name" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="False" AutogeneratedName="original_architectureID" ColumnName="architectureID" DataSourceName="[C:\DOCUMENTS AND SETTINGS\MICHAELT\DESKTOP\TCDB\WEBPROTOTYPE\APP_DATA\DATABASE.MDF].dbo.architecture" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@original_architectureID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="architectureID" SourceColumnNullMapping="False" SourceVersion="Original"> + </Parameter> + </Parameters> + </DbCommand> + </UpdateCommand> + </DbSource> </Sources> </TableAdapter> <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="osTableAdapter" GeneratorDataComponentClassName="osTableAdapter" Name="os" UserDataComponentName="osTableAdapter"> @@ -1281,15 +1326,32 @@ <Mapping SourceColumn="codeName" DataSetColumn="codeName" /> </Mappings> <Sources> + <DbSource ConnectionRef="DummyDatabaseConnectionString (Web.config)" DbObjectName="" DbObjectType="Unknown" GenerateShortCommands="True" GeneratorSourceName="DeleteOSByID" Modifier="Public" Name="DeleteOSByID" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="True" UserGetMethodName="GetDataBy1" UserSourceName="DeleteOSByID"> + <DeleteCommand> + <DbCommand CommandType="Text" ModifiedByUser="True"> + <CommandText>DELETE FROM os WHERE osID=@original_osID</CommandText> + <Parameters> + <Parameter AllowDbNull="False" AutogeneratedName="original_osID" ColumnName="osID" DataSourceName="[C:\DOCUMENTS AND SETTINGS\MICHAELT\DESKTOP\TCDB\WEBPROTOTYPE\APP_DATA\DATABASE.MDF].dbo.os" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@original_osID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="osID" SourceColumnNullMapping="False" SourceVersion="Original"> + </Parameter> + </Parameters> + </DbCommand> + </DeleteCommand> + </DbSource> + <DbSource ConnectionRef="DummyDatabaseConnectionString (Web.config)" DbObjectName="dbo.os" DbObjectType="Table" GenerateMethods="Get" GenerateShortCommands="True" GeneratorGetMethodName="GetOSByID" GetMethodModifier="Public" GetMethodName="GetOSByID" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="True" UserGetMethodName="GetOSByID" UserSourceName="FillBy"> + <SelectCommand> + <DbCommand CommandType="Text" ModifiedByUser="True"> + <CommandText>SELECT codeName, friendlyName, osID FROM os WHERE (osID = @osID)</CommandText> + <Parameters> + <Parameter AllowDbNull="False" AutogeneratedName="osID" ColumnName="osID" DataSourceName="[C:\DOCUMENTS AND SETTINGS\MICHAELT\DESKTOP\TCDB\WEBPROTOTYPE\APP_DATA\DATABASE.MDF].dbo.os" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@osID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="osID" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + </Parameters> + </DbCommand> + </SelectCommand> + </DbSource> <DbSource ConnectionRef="DummyDatabaseConnectionString (Web.config)" DbObjectName="dbo.os" DbObjectType="Table" GenerateMethods="Get" GenerateShortCommands="True" GeneratorGetMethodName="GetOSByTestCase" GetMethodModifier="Public" GetMethodName="GetOSByTestCase" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="True" UserGetMethodName="GetOSByTestCase" UserSourceName="GetOSByTestCase1"> <SelectCommand> <DbCommand CommandType="Text" ModifiedByUser="True"> - <CommandText>SELECT os.osID, os.friendlyName, os.codeName -FROM os INNER JOIN - platform ON os.osID = platform.osID INNER JOIN - testCasePlatform ON testCasePlatform.platformID = platform.platformID INNER JOIN - TestCase ON testCasePlatform.testCaseID = TestCase.testcaseID -WHERE (TestCase.testcaseID = @testcaseID)</CommandText> + <CommandText>SELECT os.codeName, os.friendlyName, os.osID FROM os INNER JOIN platform ON os.osID = platform.osID INNER JOIN testCasePlatform ON testCasePlatform.platformID = platform.platformID INNER JOIN TestCase ON testCasePlatform.testCaseID = TestCase.testcaseID WHERE (TestCase.testcaseID = @testcaseID)</CommandText> <Parameters> <Parameter AllowDbNull="False" AutogeneratedName="testcaseID" ColumnName="testcaseID" DataSourceName="[C:\DOCUMENTS AND SETTINGS\MICHAELT\DESKTOP\TCDB\WEBPROTOTYPE\APP_DATA\DATABASE.MDF].dbo.TestCase" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@testcaseID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="testcaseID" SourceColumnNullMapping="False" SourceVersion="Current"> </Parameter> @@ -1297,6 +1359,38 @@ </DbCommand> </SelectCommand> </DbSource> + <DbSource ConnectionRef="DummyDatabaseConnectionString (Web.config)" DbObjectName="" DbObjectType="Unknown" GenerateShortCommands="True" GeneratorSourceName="InsertOS" Modifier="Public" Name="InsertOS" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="True" UserGetMethodName="GetDataBy2" UserSourceName="InsertOS"> + <InsertCommand> + <DbCommand CommandType="Text" ModifiedByUser="True"> + <CommandText>INSERT INTO os + (friendlyName, codeName) +VALUES (@friendlyName,@codeName)</CommandText> + <Parameters> + <Parameter AllowDbNull="True" AutogeneratedName="friendlyName" ColumnName="friendlyName" DataSourceName="[C:\DOCUMENTS AND SETTINGS\MICHAELT\DESKTOP\TCDB\WEBPROTOTYPE\APP_DATA\DATABASE.MDF].dbo.os" DataTypeServer="varchar(255)" DbType="AnsiString" Direction="Input" ParameterName="@friendlyName" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumn="friendlyName" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="codeName" ColumnName="codeName" DataSourceName="[C:\DOCUMENTS AND SETTINGS\MICHAELT\DESKTOP\TCDB\WEBPROTOTYPE\APP_DATA\DATABASE.MDF].dbo.os" DataTypeServer="varchar(30)" DbType="AnsiString" Direction="Input" ParameterName="@codeName" Precision="0" ProviderType="VarChar" Scale="0" Size="30" SourceColumn="codeName" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + </Parameters> + </DbCommand> + </InsertCommand> + </DbSource> + <DbSource ConnectionRef="DummyDatabaseConnectionString (Web.config)" DbObjectName="" DbObjectType="Unknown" GenerateShortCommands="True" GeneratorSourceName="UpdateOSByID" Modifier="Public" Name="UpdateOSByID" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="True" UserGetMethodName="GetDataBy" UserSourceName="UpdateOSByID"> + <UpdateCommand> + <DbCommand CommandType="Text" ModifiedByUser="True"> + <CommandText>UPDATE os +SET codeName = @codeName, friendlyName = @friendlyName +WHERE (osID = @original_osID)</CommandText> + <Parameters> + <Parameter AllowDbNull="True" AutogeneratedName="codeName" ColumnName="codeName" DataSourceName="[C:\DOCUMENTS AND SETTINGS\MICHAELT\DESKTOP\TCDB\WEBPROTOTYPE\APP_DATA\DATABASE.MDF].dbo.os" DataTypeServer="varchar(30)" DbType="AnsiString" Direction="Input" ParameterName="@codeName" Precision="0" ProviderType="VarChar" Scale="0" Size="30" SourceColumn="codeName" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="friendlyName" ColumnName="friendlyName" DataSourceName="[C:\DOCUMENTS AND SETTINGS\MICHAELT\DESKTOP\TCDB\WEBPROTOTYPE\APP_DATA\DATABASE.MDF].dbo.os" DataTypeServer="varchar(255)" DbType="AnsiString" Direction="Input" ParameterName="@friendlyName" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumn="friendlyName" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="False" AutogeneratedName="original_osID" ColumnName="osID" DataSourceName="[C:\DOCUMENTS AND SETTINGS\MICHAELT\DESKTOP\TCDB\WEBPROTOTYPE\APP_DATA\DATABASE.MDF].dbo.os" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@original_osID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="osID" SourceColumnNullMapping="False" SourceVersion="Original"> + </Parameter> + </Parameters> + </DbCommand> + </UpdateCommand> + </DbSource> </Sources> </TableAdapter> <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="FeatureTableAdapter" GeneratorDataComponentClassName="FeatureTableAdapter" Name="Feature" UserDataComponentName="FeatureTableAdapter"> @@ -2048,7 +2142,7 @@ </TableAdapter> <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="roleRightsTableAdapter" GeneratorDataComponentClassName="roleRightsTableAdapter" Name="roleRights" UserDataComponentName="roleRightsTableAdapter"> <MainSource> - <DbSource ConnectionRef="DummyDatabaseConnectionString (Web.config)" DbObjectName="dbo.roleRights" DbObjectType="Table" GenerateMethods="Get" GenerateShortCommands="False" GeneratorGetMethodName="GetAllRoleRights" GetMethodModifier="Public" GetMethodName="GetAllRoleRights" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="False" UserGetMethodName="GetAllRoleRights" UserSourceName="Fill"> + <DbSource ConnectionRef="DummyDatabaseConnectionString (Web.config)" DbObjectName="dbo.roleRights" DbObjectType="Table" GenerateMethods="Get" GenerateShortCommands="False" GeneratorGetMethodName="GetAllRoleRights" GetMethodModifier="Public" GetMethodName="GetAllRoleRights" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="False" UserGetMethodName="GetAllRoleRights" UserSourceName="GetAllRoleRights"> <SelectCommand> <DbCommand CommandType="Text" ModifiedByUser="True"> <CommandText>SELECT roleID, rightsID, active FROM roleRights</CommandText> @@ -2078,102 +2172,102 @@ <xs:element name="Objective" msprop:Generator_UserTableName="Objective" msprop:Generator_RowDeletedName="ObjectiveRowDeleted" msprop:Generator_RowChangedName="ObjectiveRowChanged" msprop:Generator_RowClassName="ObjectiveRow" msprop:Generator_RowChangingName="ObjectiveRowChanging" msprop:Generator_RowEvArgName="ObjectiveRowChangeEvent" msprop:Generator_RowEvHandlerName="ObjectiveRowChangeEventHandler" msprop:Generator_TableClassName="ObjectiveDataTable" msprop:Generator_TableVarName="tableObjective" msprop:Generator_RowDeletingName="ObjectiveRowDeleting" msprop:Generator_TablePropName="Objective"> <xs:complexType> <xs:sequence> - <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> + <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> + <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="objectiveID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="objectiveID" msprop:Generator_ColumnVarNameInTable="columnobjectiveID" msprop:Generator_ColumnPropNameInRow="objectiveID" msprop:Generator_ColumnPropNameInTable="objectiveIDColumn" type="xs:int" /> - <xs:element name="featureID" msprop:Generator_UserColumnName="featureID" msprop:Generator_ColumnVarNameInTable="columnfeatureID" msprop:Generator_ColumnPropNameInRow="featureID" msprop:Generator_ColumnPropNameInTable="featureIDColumn" type="xs:int" /> - <xs:element name="userID" msprop:Generator_UserColumnName="userID" msprop:Generator_ColumnVarNameInTable="columnuserID" msprop:Generator_ColumnPropNameInRow="userID" msprop:Generator_ColumnPropNameInTable="userIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="dateCreated" msprop:Generator_UserColumnName="dateCreated" msprop:Generator_ColumnVarNameInTable="columndateCreated" msprop:Generator_ColumnPropNameInRow="dateCreated" msprop:Generator_ColumnPropNameInTable="dateCreatedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="statusID" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" default="0" minOccurs="0" /> + <xs:element name="objectiveID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="objectiveID" msprop:Generator_ColumnPropNameInRow="objectiveID" msprop:Generator_ColumnVarNameInTable="columnobjectiveID" msprop:Generator_ColumnPropNameInTable="objectiveIDColumn" type="xs:int" /> + <xs:element name="featureID" msprop:Generator_UserColumnName="featureID" msprop:Generator_ColumnPropNameInRow="featureID" msprop:Generator_ColumnVarNameInTable="columnfeatureID" msprop:Generator_ColumnPropNameInTable="featureIDColumn" type="xs:int" /> + <xs:element name="userID" msprop:Generator_UserColumnName="userID" msprop:Generator_ColumnPropNameInRow="userID" msprop:Generator_ColumnVarNameInTable="columnuserID" msprop:Generator_ColumnPropNameInTable="userIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="dateCreated" msprop:Generator_UserColumnName="dateCreated" msprop:Generator_ColumnPropNameInRow="dateCreated" msprop:Generator_ColumnVarNameInTable="columndateCreated" msprop:Generator_ColumnPropNameInTable="dateCreatedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="statusID" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" default="0" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="TestCase" msprop:Generator_UserTableName="TestCase" msprop:Generator_RowDeletedName="TestCaseRowDeleted" msprop:Generator_RowChangedName="TestCaseRowChanged" msprop:Generator_RowClassName="TestCaseRow" msprop:Generator_RowChangingName="TestCaseRowChanging" msprop:Generator_RowEvArgName="TestCaseRowChangeEvent" msprop:Generator_RowEvHandlerName="TestCaseRowChangeEventHandler" msprop:Generator_TableClassName="TestCaseDataTable" msprop:Generator_TableVarName="tableTestCase" msprop:Generator_RowDeletingName="TestCaseRowDeleting" msprop:Generator_TablePropName="TestCase"> <xs:complexType> <xs:sequence> - <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> + <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="steps" msprop:Generator_UserColumnName="steps" msprop:Generator_ColumnVarNameInTable="columnsteps" msprop:Generator_ColumnPropNameInRow="steps" msprop:Generator_ColumnPropNameInTable="stepsColumn" minOccurs="0"> + <xs:element name="steps" msprop:Generator_UserColumnName="steps" msprop:Generator_ColumnPropNameInRow="steps" msprop:Generator_ColumnVarNameInTable="columnsteps" msprop:Generator_ColumnPropNameInTable="stepsColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="number" msprop:Generator_UserColumnName="number" msprop:Generator_ColumnVarNameInTable="columnnumber" msprop:Generator_ColumnPropNameInRow="number" msprop:Generator_ColumnPropNameInTable="numberColumn" type="xs:int" minOccurs="0" /> - <xs:element name="dateCreated" msprop:Generator_UserColumnName="dateCreated" msprop:Generator_ColumnVarNameInTable="columndateCreated" msprop:Generator_ColumnPropNameInRow="dateCreated" msprop:Generator_ColumnPropNameInTable="dateCreatedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="dateEdited" msprop:Generator_UserColumnName="dateEdited" msprop:Generator_ColumnVarNameInTable="columndateEdited" msprop:Generator_ColumnPropNameInRow="dateEdited" msprop:Generator_ColumnPropNameInTable="dateEditedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="objectiveID" msprop:Generator_UserColumnName="objectiveID" msprop:Generator_ColumnVarNameInTable="columnobjectiveID" msprop:Generator_ColumnPropNameInRow="objectiveID" msprop:Generator_ColumnPropNameInTable="objectiveIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="statusID" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="testcaseID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="testcaseID" msprop:Generator_ColumnPropNameInRow="testcaseID" msprop:Generator_ColumnVarNameInTable="columntestcaseID" msprop:Generator_ColumnPropNameInTable="testcaseIDColumn" type="xs:int" /> - <xs:element name="creatorID" msprop:Generator_UserColumnName="creatorID" msprop:Generator_ColumnPropNameInRow="creatorID" msprop:Generator_ColumnVarNameInTable="columncreatorID" msprop:Generator_ColumnPropNameInTable="creatorIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="lastEditID" msprop:Generator_UserColumnName="lastEditID" msprop:Generator_ColumnPropNameInRow="lastEditID" msprop:Generator_ColumnVarNameInTable="columnlastEditID" msprop:Generator_ColumnPropNameInTable="lastEditIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="number" msprop:Generator_UserColumnName="number" msprop:Generator_ColumnPropNameInRow="number" msprop:Generator_ColumnVarNameInTable="columnnumber" msprop:Generator_ColumnPropNameInTable="numberColumn" type="xs:int" minOccurs="0" /> + <xs:element name="dateCreated" msprop:Generator_UserColumnName="dateCreated" msprop:Generator_ColumnPropNameInRow="dateCreated" msprop:Generator_ColumnVarNameInTable="columndateCreated" msprop:Generator_ColumnPropNameInTable="dateCreatedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="dateEdited" msprop:Generator_UserColumnName="dateEdited" msprop:Generator_ColumnPropNameInRow="dateEdited" msprop:Generator_ColumnVarNameInTable="columndateEdited" msprop:Generator_ColumnPropNameInTable="dateEditedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="objectiveID" msprop:Generator_UserColumnName="objectiveID" msprop:Generator_ColumnPropNameInRow="objectiveID" msprop:Generator_ColumnVarNameInTable="columnobjectiveID" msprop:Generator_ColumnPropNameInTable="objectiveIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="statusID" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="testcaseID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="testcaseID" msprop:Generator_ColumnVarNameInTable="columntestcaseID" msprop:Generator_ColumnPropNameInRow="testcaseID" msprop:Generator_ColumnPropNameInTable="testcaseIDColumn" type="xs:int" /> + <xs:element name="creatorID" msprop:Generator_UserColumnName="creatorID" msprop:Generator_ColumnVarNameInTable="columncreatorID" msprop:Generator_ColumnPropNameInRow="creatorID" msprop:Generator_ColumnPropNameInTable="creatorIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="lastEditID" msprop:Generator_UserColumnName="lastEditID" msprop:Generator_ColumnVarNameInTable="columnlastEditID" msprop:Generator_ColumnPropNameInRow="lastEditID" msprop:Generator_ColumnPropNameInTable="lastEditIDColumn" type="xs:int" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="Tags" msprop:Generator_UserTableName="Tags" msprop:Generator_RowDeletedName="TagsRowDeleted" msprop:Generator_RowChangedName="TagsRowChanged" msprop:Generator_RowClassName="TagsRow" msprop:Generator_RowChangingName="TagsRowChanging" msprop:Generator_RowEvArgName="TagsRowChangeEvent" msprop:Generator_RowEvHandlerName="TagsRowChangeEventHandler" msprop:Generator_TableClassName="TagsDataTable" msprop:Generator_TableVarName="tableTags" msprop:Generator_RowDeletingName="TagsRowDeleting" msprop:Generator_TablePropName="Tags"> <xs:complexType> <xs:sequence> - <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnPropNameInTable="nameColumn"> + <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInTable="nameColumn"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> + <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="tagID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="tagID" msprop:Generator_ColumnPropNameInRow="tagID" msprop:Generator_ColumnVarNameInTable="columntagID" msprop:Generator_ColumnPropNameInTable="tagIDColumn" type="xs:int" /> - <xs:element name="productID" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" /> + <xs:element name="tagID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="tagID" msprop:Generator_ColumnVarNameInTable="columntagID" msprop:Generator_ColumnPropNameInRow="tagID" msprop:Generator_ColumnPropNameInTable="tagIDColumn" type="xs:int" /> + <xs:element name="productID" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="product" msprop:Generator_UserTableName="product" msprop:Generator_RowDeletedName="productRowDeleted" msprop:Generator_RowChangedName="productRowChanged" msprop:Generator_RowClassName="productRow" msprop:Generator_RowChangingName="productRowChanging" msprop:Generator_RowEvArgName="productRowChangeEvent" msprop:Generator_RowEvHandlerName="productRowChangeEventHandler" msprop:Generator_TableClassName="productDataTable" msprop:Generator_TableVarName="tableproduct" msprop:Generator_RowDeletingName="productRowDeleting" msprop:Generator_TablePropName="product"> <xs:complexType> <xs:sequence> - <xs:element name="productID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" /> - <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> + <xs:element name="productID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" /> + <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> + <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="devManager" msprop:Generator_UserColumnName="devManager" msprop:Generator_ColumnVarNameInTable="columndevManager" msprop:Generator_ColumnPropNameInRow="devManager" msprop:Generator_ColumnPropNameInTable="devManagerColumn" type="xs:int" minOccurs="0" /> - <xs:element name="qaManager" msprop:Generator_UserColumnName="qaManager" msprop:Generator_ColumnVarNameInTable="columnqaManager" msprop:Generator_ColumnPropNameInRow="qaManager" msprop:Generator_ColumnPropNameInTable="qaManagerColumn" type="xs:int" minOccurs="0" /> - <xs:element name="devLead" msprop:Generator_UserColumnName="devLead" msprop:Generator_ColumnVarNameInTable="columndevLead" msprop:Generator_ColumnPropNameInRow="devLead" msprop:Generator_ColumnPropNameInTable="devLeadColumn" type="xs:int" minOccurs="0" /> - <xs:element name="qaLead" msprop:Generator_UserColumnName="qaLead" msprop:Generator_ColumnVarNameInTable="columnqaLead" msprop:Generator_ColumnPropNameInRow="qaLead" msprop:Generator_ColumnPropNameInTable="qaLeadColumn" type="xs:int" minOccurs="0" /> - <xs:element name="pm" msprop:Generator_UserColumnName="pm" msprop:Generator_ColumnVarNameInTable="columnpm" msprop:Generator_ColumnPropNameInRow="pm" msprop:Generator_ColumnPropNameInTable="pmColumn" type="xs:int" minOccurs="0" /> - <xs:element name="codeName" msprop:Generator_UserColumnName="codeName" msprop:Generator_ColumnVarNameInTable="columncodeName" msprop:Generator_ColumnPropNameInRow="codeName" msprop:Generator_ColumnPropNameInTable="codeNameColumn" minOccurs="0"> + <xs:element name="devManager" msprop:Generator_UserColumnName="devManager" msprop:Generator_ColumnPropNameInRow="devManager" msprop:Generator_ColumnVarNameInTable="columndevManager" msprop:Generator_ColumnPropNameInTable="devManagerColumn" type="xs:int" minOccurs="0" /> + <xs:element name="qaManager" msprop:Generator_UserColumnName="qaManager" msprop:Generator_ColumnPropNameInRow="qaManager" msprop:Generator_ColumnVarNameInTable="columnqaManager" msprop:Generator_ColumnPropNameInTable="qaManagerColumn" type="xs:int" minOccurs="0" /> + <xs:element name="devLead" msprop:Generator_UserColumnName="devLead" msprop:Generator_ColumnPropNameInRow="devLead" msprop:Generator_ColumnVarNameInTable="columndevLead" msprop:Generator_ColumnPropNameInTable="devLeadColumn" type="xs:int" minOccurs="0" /> + <xs:element name="qaLead" msprop:Generator_UserColumnName="qaLead" msprop:Generator_ColumnPropNameInRow="qaLead" msprop:Generator_ColumnVarNameInTable="columnqaLead" msprop:Generator_ColumnPropNameInTable="qaLeadColumn" type="xs:int" minOccurs="0" /> + <xs:element name="pm" msprop:Generator_UserColumnName="pm" msprop:Generator_ColumnPropNameInRow="pm" msprop:Generator_ColumnVarNameInTable="columnpm" msprop:Generator_ColumnPropNameInTable="pmColumn" type="xs:int" minOccurs="0" /> + <xs:element name="codeName" msprop:Generator_UserColumnName="codeName" msprop:Generator_ColumnPropNameInRow="codeName" msprop:Generator_ColumnVarNameInTable="columncodeName" msprop:Generator_ColumnPropNameInTable="codeNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="10" /> @@ -2186,51 +2280,51 @@ <xs:element name="Users" msprop:Generator_UserTableName="Users" msprop:Generator_RowDeletedName="UsersRowDeleted" msprop:Generator_RowChangedName="UsersRowChanged" msprop:Generator_RowClassName="UsersRow" msprop:Generator_RowChangingName="UsersRowChanging" msprop:Generator_RowEvArgName="UsersRowChangeEvent" msprop:Generator_RowEvHandlerName="UsersRowChangeEventHandler" msprop:Generator_TableClassName="UsersDataTable" msprop:Generator_TableVarName="tableUsers" msprop:Generator_RowDeletingName="UsersRowDeleting" msprop:Generator_TablePropName="Users"> <xs:complexType> <xs:sequence> - <xs:element name="email" msprop:Generator_UserColumnName="email" msprop:Generator_ColumnPropNameInRow="email" msprop:Generator_ColumnVarNameInTable="columnemail" msprop:Generator_ColumnPropNameInTable="emailColumn" minOccurs="0"> + <xs:element name="email" msprop:Generator_UserColumnName="email" msprop:Generator_ColumnVarNameInTable="columnemail" msprop:Generator_ColumnPropNameInRow="email" msprop:Generator_ColumnPropNameInTable="emailColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="officePhone" msprop:Generator_UserColumnName="officePhone" msprop:Generator_ColumnPropNameInRow="officePhone" msprop:Generator_ColumnVarNameInTable="columnofficePhone" msprop:Generator_ColumnPropNameInTable="officePhoneColumn" minOccurs="0"> + <xs:element name="officePhone" msprop:Generator_UserColumnName="officePhone" msprop:Generator_ColumnVarNameInTable="columnofficePhone" msprop:Generator_ColumnPropNameInRow="officePhone" msprop:Generator_ColumnPropNameInTable="officePhoneColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="15" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="homePhone" msprop:Generator_UserColumnName="homePhone" msprop:Generator_ColumnPropNameInRow="homePhone" msprop:Generator_ColumnVarNameInTable="columnhomePhone" msprop:Generator_ColumnPropNameInTable="homePhoneColumn" minOccurs="0"> + <xs:element name="homePhone" msprop:Generator_UserColumnName="homePhone" msprop:Generator_ColumnVarNameInTable="columnhomePhone" msprop:Generator_ColumnPropNameInRow="homePhone" msprop:Generator_ColumnPropNameInTable="homePhoneColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="15" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="cellPhone" msprop:Generator_UserColumnName="cellPhone" msprop:Generator_ColumnPropNameInRow="cellPhone" msprop:Generator_ColumnVarNameInTable="columncellPhone" msprop:Generator_ColumnPropNameInTable="cellPhoneColumn" minOccurs="0"> + <xs:element name="cellPhone" msprop:Generator_UserColumnName="cellPhone" msprop:Generator_ColumnVarNameInTable="columncellPhone" msprop:Generator_ColumnPropNameInRow="cellPhone" msprop:Generator_ColumnPropNameInTable="cellPhoneColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="15" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="firstName" msprop:Generator_UserColumnName="firstName" msprop:Generator_ColumnPropNameInRow="firstName" msprop:Generator_ColumnVarNameInTable="columnfirstName" msprop:Generator_ColumnPropNameInTable="firstNameColumn" minOccurs="0"> + <xs:element name="firstName" msprop:Generator_UserColumnName="firstName" msprop:Generator_ColumnVarNameInTable="columnfirstName" msprop:Generator_ColumnPropNameInRow="firstName" msprop:Generator_ColumnPropNameInTable="firstNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="lastName" msprop:Generator_UserColumnName="lastName" msprop:Generator_ColumnPropNameInRow="lastName" msprop:Generator_ColumnVarNameInTable="columnlastName" msprop:Generator_ColumnPropNameInTable="lastNameColumn" minOccurs="0"> + <xs:element name="lastName" msprop:Generator_UserColumnName="lastName" msprop:Generator_ColumnVarNameInTable="columnlastName" msprop:Generator_ColumnPropNameInRow="lastName" msprop:Generator_ColumnPropNameInTable="lastNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="automation" msprop:Generator_UserColumnName="automation" msprop:Generator_ColumnPropNameInRow="automation" msprop:Generator_ColumnVarNameInTable="columnautomation" msprop:Generator_ColumnPropNameInTable="automationColumn" type="xs:boolean" minOccurs="0" /> - <xs:element name="userID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="userID" msprop:Generator_ColumnVarNameInTable="columnuserID" msprop:Generator_ColumnPropNameInRow="userID" msprop:Generator_ColumnPropNameInTable="userIDColumn" type="xs:int" /> - <xs:element name="username" msprop:Generator_UserColumnName="username" msprop:Generator_ColumnVarNameInTable="columnusername" msprop:Generator_ColumnPropNameInRow="username" msprop:Generator_ColumnPropNameInTable="usernameColumn" minOccurs="0"> + <xs:element name="automation" msprop:Generator_UserColumnName="automation" msprop:Generator_ColumnVarNameInTable="columnautomation" msprop:Generator_ColumnPropNameInRow="automation" msprop:Generator_ColumnPropNameInTable="automationColumn" type="xs:boolean" minOccurs="0" /> + <xs:element name="userID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="userID" msprop:Generator_ColumnPropNameInRow="userID" msprop:Generator_ColumnVarNameInTable="columnuserID" msprop:Generator_ColumnPropNameInTable="userIDColumn" type="xs:int" /> + <xs:element name="username" msprop:Generator_UserColumnName="username" msprop:Generator_ColumnPropNameInRow="username" msprop:Generator_ColumnVarNameInTable="columnusername" msprop:Generator_ColumnPropNameInTable="usernameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> @@ -2243,22 +2337,22 @@ <xs:element name="Status" msprop:Generator_UserTableName="Status" msprop:Generator_RowDeletedName="StatusRowDeleted" msprop:Generator_RowChangedName="StatusRowChanged" msprop:Generator_RowClassName="StatusRow" msprop:Generator_RowChangingName="StatusRowChanging" msprop:Generator_RowEvArgName="StatusRowChangeEvent" msprop:Generator_RowEvHandlerName="StatusRowChangeEventHandler" msprop:Generator_TableClassName="StatusDataTable" msprop:Generator_TableVarName="tableStatus" msprop:Generator_RowDeletingName="StatusRowDeleting" msprop:Generator_TablePropName="Status"> <xs:complexType> <xs:sequence> - <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> + <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="statusID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" /> - <xs:element name="statusGroup" msprop:Generator_UserColumnName="statusGroup" msprop:Generator_ColumnVarNameInTable="columnstatusGroup" msprop:Generator_ColumnPropNameInRow="statusGroup" msprop:Generator_ColumnPropNameInTable="statusGroupColumn"> + <xs:element name="statusID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" /> + <xs:element name="statusGroup" msprop:Generator_UserColumnName="statusGroup" msprop:Generator_ColumnPropNameInRow="statusGroup" msprop:Generator_ColumnVarNameInTable="columnstatusGroup" msprop:Generator_ColumnPropNameInTable="statusGroupColumn"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn"> + <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> @@ -2271,118 +2365,118 @@ <xs:element name="testCaseTags" msprop:Generator_UserTableName="testCaseTags" msprop:Generator_RowDeletedName="testCaseTagsRowDeleted" msprop:Generator_RowChangedName="testCaseTagsRowChanged" msprop:Generator_RowClassName="testCaseTagsRow" msprop:Generator_RowChangingName="testCaseTagsRowChanging" msprop:Generator_RowEvArgName="testCaseTagsRowChangeEvent" msprop:Generator_RowEvHandlerName="testCaseTagsRowChangeEventHandler" msprop:Generator_TableClassName="testCaseTagsDataTable" msprop:Generator_TableVarName="tabletestCaseTags" msprop:Generator_RowDeletingName="testCaseTagsRowDeleting" msprop:Generator_TablePropName="testCaseTags"> <xs:complexType> <xs:sequence> - <xs:element name="testCaseTagsID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="testCaseTagsID" msprop:Generator_ColumnPropNameInRow="testCaseTagsID" msprop:Generator_ColumnVarNameInTable="columntestCaseTagsID" msprop:Generator_ColumnPropNameInTable="testCaseTagsIDColumn" type="xs:int" /> - <xs:element name="testCaseID" msprop:Generator_UserColumnName="testCaseID" msprop:Generator_ColumnPropNameInRow="testCaseID" msprop:Generator_ColumnVarNameInTable="columntestCaseID" msprop:Generator_ColumnPropNameInTable="testCaseIDColumn" type="xs:int" /> - <xs:element name="tagID" msprop:Generator_UserColumnName="tagID" msprop:Generator_ColumnPropNameInRow="tagID" msprop:Generator_ColumnVarNameInTable="columntagID" msprop:Generator_ColumnPropNameInTable="tagIDColumn" type="xs:int" /> + <xs:element name="testCaseTagsID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="testCaseTagsID" msprop:Generator_ColumnVarNameInTable="columntestCaseTagsID" msprop:Generator_ColumnPropNameInRow="testCaseTagsID" msprop:Generator_ColumnPropNameInTable="testCaseTagsIDColumn" type="xs:int" /> + <xs:element name="testCaseID" msprop:Generator_UserColumnName="testCaseID" msprop:Generator_ColumnVarNameInTable="columntestCaseID" msprop:Generator_ColumnPropNameInRow="testCaseID" msprop:Generator_ColumnPropNameInTable="testCaseIDColumn" type="xs:int" /> + <xs:element name="tagID" msprop:Generator_UserColumnName="tagID" msprop:Generator_ColumnVarNameInTable="columntagID" msprop:Generator_ColumnPropNameInRow="tagID" msprop:Generator_ColumnPropNameInTable="tagIDColumn" type="xs:int" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="version" msprop:Generator_UserTableName="version" msprop:Generator_RowDeletedName="versionRowDeleted" msprop:Generator_RowChangedName="versionRowChanged" msprop:Generator_RowClassName="versionRow" msprop:Generator_RowChangingName="versionRowChanging" msprop:Generator_RowEvArgName="versionRowChangeEvent" msprop:Generator_RowEvHandlerName="versionRowChangeEventHandler" msprop:Generator_TableClassName="versionDataTable" msprop:Generator_TableVarName="tableversion" msprop:Generator_RowDeletingName="versionRowDeleting" msprop:Generator_TablePropName="version"> <xs:complexType> <xs:sequence> - <xs:element name="versionID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="versionID" msprop:Generator_ColumnPropNameInRow="versionID" msprop:Generator_ColumnVarNameInTable="columnversionID" msprop:Generator_ColumnPropNameInTable="versionIDColumn" type="xs:int" /> - <xs:element name="productID" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" /> - <xs:element name="number" msprop:Generator_UserColumnName="number" msprop:Generator_ColumnPropNameInRow="number" msprop:Generator_ColumnVarNameInTable="columnnumber" msprop:Generator_ColumnPropNameInTable="numberColumn"> + <xs:element name="versionID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="versionID" msprop:Generator_ColumnVarNameInTable="columnversionID" msprop:Generator_ColumnPropNameInRow="versionID" msprop:Generator_ColumnPropNameInTable="versionIDColumn" type="xs:int" /> + <xs:element name="productID" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" /> + <xs:element name="number" msprop:Generator_UserColumnName="number" msprop:Generator_ColumnVarNameInTable="columnnumber" msprop:Generator_ColumnPropNameInRow="number" msprop:Generator_ColumnPropNameInTable="numberColumn"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="dateCreated" msprop:Generator_UserColumnName="dateCreated" msprop:Generator_ColumnPropNameInRow="dateCreated" msprop:Generator_ColumnVarNameInTable="columndateCreated" msprop:Generator_ColumnPropNameInTable="dateCreatedColumn" type="xs:dateTime" /> - <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> + <xs:element name="dateCreated" msprop:Generator_UserColumnName="dateCreated" msprop:Generator_ColumnVarNameInTable="columndateCreated" msprop:Generator_ColumnPropNameInRow="dateCreated" msprop:Generator_ColumnPropNameInTable="dateCreatedColumn" type="xs:dateTime" /> + <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="versionTestCase" msprop:Generator_UserTableName="versionTestCase" msprop:Generator_RowDeletedName="versionTestCaseRowDeleted" msprop:Generator_RowChangedName="versionTestCaseRowChanged" msprop:Generator_RowClassName="versionTestCaseRow" msprop:Generator_RowChangingName="versionTestCaseRowChanging" msprop:Generator_RowEvArgName="versionTestCaseRowChangeEvent" msprop:Generator_RowEvHandlerName="versionTestCaseRowChangeEventHandler" msprop:Generator_TableClassName="versionTestCaseDataTable" msprop:Generator_TableVarName="tableversionTestCase" msprop:Generator_RowDeletingName="versionTestCaseRowDeleting" msprop:Generator_TablePropName="versionTestCase"> <xs:complexType> <xs:sequence> - <xs:element name="versionTestCaseID" msprop:Generator_UserColumnName="versionTestCaseID" msprop:Generator_ColumnPropNameInRow="versionTestCaseID" msprop:Generator_ColumnVarNameInTable="columnversionTestCaseID" msprop:Generator_ColumnPropNameInTable="versionTestCaseIDColumn" type="xs:int" /> - <xs:element name="testCaseID" msprop:Generator_UserColumnName="testCaseID" msprop:Generator_ColumnPropNameInRow="testCaseID" msprop:Generator_ColumnVarNameInTable="columntestCaseID" msprop:Generator_ColumnPropNameInTable="testCaseIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="versionID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="versionID" msprop:Generator_ColumnPropNameInRow="versionID" msprop:Generator_ColumnVarNameInTable="columnversionID" msprop:Generator_ColumnPropNameInTable="versionIDColumn" type="xs:int" minOc... [truncated message content] |
From: <ro...@us...> - 2006-07-27 20:59:03
|
Revision: 229 Author: rouquin Date: 2006-07-27 13:58:46 -0700 (Thu, 27 Jul 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=229&view=rev Log Message: ----------- Added TCDB product as product #1 (had to move VAS to #4) Enabled the HasRight functions on users. We can now begin to enforce rights. However, pending update procedures from Jon you cannot as yet add users to roles or rights to roles, etc. This should be a simple addition once the procedures have been created though. The procedures may be tricky to write. Modified Paths: -------------- Website/App_Code/Users.cs Website/App_Code/tcdbDataSet.xsd Website/App_Code/tcdbDataSet.xss Website/Includes/Assignments.ascx.cs Website/Includes/AssignmentsTree.ascx.cs Website/Includes/UserSettings.ascx Website/Includes/UserSettings.ascx.cs Added Paths: ----------- Website/App_Code/Right.cs Added: Website/App_Code/Right.cs =================================================================== --- Website/App_Code/Right.cs (rev 0) +++ Website/App_Code/Right.cs 2006-07-27 20:58:46 UTC (rev 229) @@ -0,0 +1,179 @@ +using System; +using System.Data; +using System.Data.SqlClient; +using System.Configuration; +using System.Diagnostics; +using System.Web; +using System.Web.Security; +using System.Web.Configuration; +using System.Web.UI; +using System.Web.UI.WebControls; +using System.Web.UI.WebControls.WebParts; +using System.Web.UI.HtmlControls; +using System.Security; +using System.Collections; +using System.Collections.Generic; +using System.Collections.Specialized; +using TCDB.Assignments; +using TCDB.Common; +using AD_Auth; +using System.Web.SessionState; +using log4net; + +namespace TCDB.Rights +{ + /// <summary> + /// A class containing database interactions for users in the TCDB System + /// TCDB.Rights holds all the moethods that interact with the Right DB + /// </summary> + public class RightDB : Page + { + private static ILog m_logg = LogManager.GetLogger("TCDB.Rights.RightDB"); + + public static Right GetRightInfo(string name) + { + tcdbDataSetTableAdapters.db_rightsTableAdapter rightsAdapter = new tcdbDataSetTableAdapters.db_rightsTableAdapter(); + tcdbDataSet.db_rightsDataTable rightsTable = rightsAdapter.GetData(null, name, true); + + if (rightsTable.Count > 0) + { + tcdbDataSet.db_rightsRow row = rightsTable[0]; + + return new Right(row.rightsID, row.rightsName, row.rightDescription); + } + else + return new Right(); + } + + public static Right GetRightInfo(int id) + { + tcdbDataSetTableAdapters.db_rightsTableAdapter rightsAdapter = new tcdbDataSetTableAdapters.db_rightsTableAdapter(); + tcdbDataSet.db_rightsDataTable rightsTable = rightsAdapter.GetData(id, null, true); + + if (rightsTable.Count > 0) + { + tcdbDataSet.db_rightsRow row = rightsTable[0]; + + return new Right(row.rightsID, row.rightsName, row.rightDescription); + } + else + return new Right(); + } + + public static List<Right> TCDB_GetRightList() + { + tcdbDataSetTableAdapters.db_rightsTableAdapter rightsAdapter = new tcdbDataSetTableAdapters.db_rightsTableAdapter(); + tcdbDataSet.db_rightsDataTable rightsTable = rightsAdapter.GetData(null, null, true); + List<Right> rightsList = new List<Right>(); + + foreach (tcdbDataSet.db_rightsRow row in rightsTable) + rightsList.Add(new Right(row.rightsID,row.rightsName,row.rightDescription)); + + return rightsList; + } + + public static List<String> TCDB_GetUserRights(int productID, int userID) + { + tcdbDataSetTableAdapters.sel_userRightsTableAdapter userRightsAdapter = new tcdbDataSetTableAdapters.sel_userRightsTableAdapter(); + tcdbDataSet.sel_userRightsDataTable userRightsTable = userRightsAdapter.GetData(userID,productID,null,null,true); + List<String> rightsList = new List<String>(); + + foreach (tcdbDataSet.sel_userRightsRow row in userRightsTable) + rightsList.Add(row.rightsName); + + return rightsList; + } + + public static Right TCDB_GetUserRight(int productID, int userID, String rightsName) + { + tcdbDataSetTableAdapters.sel_userRightsTableAdapter userRightsAdapter = new tcdbDataSetTableAdapters.sel_userRightsTableAdapter(); + tcdbDataSet.sel_userRightsDataTable userRightsTable = userRightsAdapter.GetData(userID, productID, null, rightsName, true); + + if (userRightsTable.Count > 0) + { + tcdbDataSet.sel_userRightsRow row = userRightsTable[0]; + + return new Right(row.rightsID, row.rightsName, row.rightDescription); + } + else + return null; + } + + public static bool TCDB_SaveRight(Right right) + { + tcdbDataSetTableAdapters.db_rightsTableAdapter rightsAdapter = new tcdbDataSetTableAdapters.db_rightsTableAdapter(); + try + { + rightsAdapter.Insert(right.NAME,right.DESCRIPTION,true); + } + catch (Exception e) + { + m_logg.Error(e.Message); + return false; + } + + return true; + } + } + + /// <summary> + /// A class representing one right object + /// </summary> + public class Right + { + private static ILog m_logg = LogManager.GetLogger("TCDB.Rights.Right"); + + private int p_id; + private string p_name; + private string p_description; + + public Right() + { + p_id = 0; + p_name = ""; + p_description = ""; + } + + public Right(string name) + { + BuildRight(RightDB.GetRightInfo(name)); + } + + public Right(int id) + { + BuildRight(RightDB.GetRightInfo(id)); + } + + public Right(int id, string name, string description) + { + p_id = id; + p_name = name; + p_description = description; + } + + private void BuildRight(Right right) + { + p_id = right.ID; + p_name = right.NAME; + p_description = right.DESCRIPTION; + } + + public int ID + { + get { return p_id; } + set { p_id = value; } + } + + public string NAME + { + get { return p_name.Trim(); } + set { p_name = value.Trim(); } + } + + public string DESCRIPTION + { + get { return p_description.Trim(); } + set { p_description = value.Trim(); } + } + } +} Modified: Website/App_Code/Users.cs =================================================================== --- Website/App_Code/Users.cs 2006-07-27 18:44:20 UTC (rev 228) +++ Website/App_Code/Users.cs 2006-07-27 20:58:46 UTC (rev 229) @@ -19,9 +19,8 @@ using AD_Auth; using System.Web.SessionState; using log4net; +using TCDB.Rights; - - namespace TCDB.Users { /// <summary> @@ -234,6 +233,7 @@ private bool p_isNew; private string p_password; private List<Assignment> p_assignments; + private Dictionary<int,List<String> > p_rights; /* TODO: Implement these as the time is right private List<Feature> p_features; private List<Assignment> p_assignmentsCreated; @@ -274,6 +274,7 @@ p_isNew = false; p_assignments = null; p_password = ""; + p_rights = new Dictionary<int, List<String> >(); } private void BuildUser(User user) @@ -300,7 +301,7 @@ // in this block so that we avoid an infinate loop p_assignments = user.GetAssignments(false, Constants.ASSIGNMENT_FINISHEDANDUNFINISHED); } - + p_rights = new Dictionary<int, List<String>>(); } public int ID @@ -387,14 +388,19 @@ public bool HasRight(string right, int productID) { - // TODO: Implement this function! - return true; + if (p_rights.ContainsKey(productID)) + return p_rights[productID].Contains(right); + else + { + p_rights[productID] = RightDB.TCDB_GetUserRights(productID,p_id); + + return p_rights[productID].Contains(right); + } } - public static bool HasRight(string userID, string right, int productID) + public static bool HasRight(int userID, string right, int productID) { - // TODO: Implement this function! - return true; + return (RightDB.TCDB_GetUserRight(productID, userID, right) != null); } public List<Assignment> GetAssignments(bool reload, int statusFilter) Modified: Website/App_Code/tcdbDataSet.xsd =================================================================== --- Website/App_Code/tcdbDataSet.xsd 2006-07-27 18:44:20 UTC (rev 228) +++ Website/App_Code/tcdbDataSet.xsd 2006-07-27 20:58:46 UTC (rev 229) @@ -753,7 +753,7 @@ </TableAdapter> <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="db_roleUserProductTableAdapter" GeneratorDataComponentClassName="db_roleUserProductTableAdapter" Name="db_roleUserProduct" UserDataComponentName="db_roleUserProductTableAdapter"> <MainSource> - <DbSource ConnectionRef="tcdbConnectionString (Web.config)" DbObjectName="tcdb.dbo.sel_roleUserProduct" DbObjectType="StoredProcedure" GenerateMethods="Get" GenerateShortCommands="False" GeneratorGetMethodName="GetData" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="False" UserGetMethodName="GetData" UserSourceName="Fill"> + <DbSource ConnectionRef="tcdbConnectionString (Web.config)" DbObjectName="tcdb.dbo.sel_roleUserProduct" DbObjectType="StoredProcedure" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="False" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="False" UserGetMethodName="GetData" UserSourceName="Fill"> <SelectCommand> <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> <CommandText>dbo.sel_roleUserProduct</CommandText> @@ -775,6 +775,8 @@ <Mapping SourceColumn="roleID" DataSetColumn="roleID" /> <Mapping SourceColumn="roleName" DataSetColumn="roleName" /> <Mapping SourceColumn="active" DataSetColumn="active" /> + <Mapping SourceColumn="productID" DataSetColumn="productID" /> + <Mapping SourceColumn="productName" DataSetColumn="productName" /> </Mappings> <Sources> </Sources> @@ -806,6 +808,42 @@ <Sources> </Sources> </TableAdapter> + <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="sel_userRightsTableAdapter" GeneratorDataComponentClassName="sel_userRightsTableAdapter" Name="sel_userRights" UserDataComponentName="sel_userRightsTableAdapter"> + <MainSource> + <DbSource ConnectionRef="tcdbConnectionString (Web.config)" DbObjectName="tcdb.dbo.sel_userRights" DbObjectType="StoredProcedure" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="False" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="False" UserGetMethodName="GetData" UserSourceName="Fill"> + <SelectCommand> + <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> + <CommandText>dbo.sel_userRights</CommandText> + <Parameters> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@userID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@productID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@rightsID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@rightsName" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@active" Precision="1" ProviderType="Bit" Scale="0" Size="1" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + </Parameters> + </DbCommand> + </SelectCommand> + </DbSource> + </MainSource> + <Mappings> + <Mapping SourceColumn="userID" DataSetColumn="userID" /> + <Mapping SourceColumn="fullName" DataSetColumn="fullName" /> + <Mapping SourceColumn="productID" DataSetColumn="productID" /> + <Mapping SourceColumn="productName" DataSetColumn="productName" /> + <Mapping SourceColumn="rightsID" DataSetColumn="rightsID" /> + <Mapping SourceColumn="rightsName" DataSetColumn="rightsName" /> + <Mapping SourceColumn="rightDescription" DataSetColumn="rightDescription" /> + </Mappings> + <Sources> + </Sources> + </TableAdapter> </Tables> <Sources> </Sources> @@ -818,172 +856,172 @@ <xs:element name="db_users" msprop:Generator_UserTableName="db_users" msprop:Generator_RowDeletedName="db_usersRowDeleted" msprop:Generator_RowChangedName="db_usersRowChanged" msprop:Generator_RowClassName="db_usersRow" msprop:Generator_RowChangingName="db_usersRowChanging" msprop:Generator_RowEvArgName="db_usersRowChangeEvent" msprop:Generator_RowEvHandlerName="db_usersRowChangeEventHandler" msprop:Generator_TableClassName="db_usersDataTable" msprop:Generator_TableVarName="tabledb_users" msprop:Generator_RowDeletingName="db_usersRowDeleting" msprop:Generator_TablePropName="db_users"> <xs:complexType> <xs:sequence> - <xs:element name="userID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="userID" msprop:Generator_ColumnVarNameInTable="columnuserID" msprop:Generator_ColumnPropNameInRow="userID" msprop:Generator_ColumnPropNameInTable="userIDColumn" type="xs:int" /> - <xs:element name="username" msprop:Generator_UserColumnName="username" msprop:Generator_ColumnVarNameInTable="columnusername" msprop:Generator_ColumnPropNameInRow="username" msprop:Generator_ColumnPropNameInTable="usernameColumn"> + <xs:element name="userID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="userID" msprop:Generator_ColumnPropNameInRow="userID" msprop:Generator_ColumnVarNameInTable="columnuserID" msprop:Generator_ColumnPropNameInTable="userIDColumn" type="xs:int" /> + <xs:element name="username" msprop:Generator_UserColumnName="username" msprop:Generator_ColumnPropNameInRow="username" msprop:Generator_ColumnVarNameInTable="columnusername" msprop:Generator_ColumnPropNameInTable="usernameColumn"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="email" msprop:Generator_UserColumnName="email" msprop:Generator_ColumnVarNameInTable="columnemail" msprop:Generator_ColumnPropNameInRow="email" msprop:Generator_ColumnPropNameInTable="emailColumn"> + <xs:element name="email" msprop:Generator_UserColumnName="email" msprop:Generator_ColumnPropNameInRow="email" msprop:Generator_ColumnVarNameInTable="columnemail" msprop:Generator_ColumnPropNameInTable="emailColumn"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="officePhone" msprop:Generator_UserColumnName="officePhone" msprop:Generator_ColumnVarNameInTable="columnofficePhone" msprop:Generator_ColumnPropNameInRow="officePhone" msprop:Generator_ColumnPropNameInTable="officePhoneColumn" minOccurs="0"> + <xs:element name="officePhone" msprop:Generator_UserColumnName="officePhone" msprop:Generator_ColumnPropNameInRow="officePhone" msprop:Generator_ColumnVarNameInTable="columnofficePhone" msprop:Generator_ColumnPropNameInTable="officePhoneColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="14" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="homePhone" msprop:Generator_UserColumnName="homePhone" msprop:Generator_ColumnVarNameInTable="columnhomePhone" msprop:Generator_ColumnPropNameInRow="homePhone" msprop:Generator_ColumnPropNameInTable="homePhoneColumn" minOccurs="0"> + <xs:element name="homePhone" msprop:Generator_UserColumnName="homePhone" msprop:Generator_ColumnPropNameInRow="homePhone" msprop:Generator_ColumnVarNameInTable="columnhomePhone" msprop:Generator_ColumnPropNameInTable="homePhoneColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="14" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="cellPhone" msprop:Generator_UserColumnName="cellPhone" msprop:Generator_ColumnVarNameInTable="columncellPhone" msprop:Generator_ColumnPropNameInRow="cellPhone" msprop:Generator_ColumnPropNameInTable="cellPhoneColumn" minOccurs="0"> + <xs:element name="cellPhone" msprop:Generator_UserColumnName="cellPhone" msprop:Generator_ColumnPropNameInRow="cellPhone" msprop:Generator_ColumnVarNameInTable="columncellPhone" msprop:Generator_ColumnPropNameInTable="cellPhoneColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="14" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="firstName" msprop:Generator_UserColumnName="firstName" msprop:Generator_ColumnVarNameInTable="columnfirstName" msprop:Generator_ColumnPropNameInRow="firstName" msprop:Generator_ColumnPropNameInTable="firstNameColumn"> + <xs:element name="firstName" msprop:Generator_UserColumnName="firstName" msprop:Generator_ColumnPropNameInRow="firstName" msprop:Generator_ColumnVarNameInTable="columnfirstName" msprop:Generator_ColumnPropNameInTable="firstNameColumn"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="24" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="lastName" msprop:Generator_UserColumnName="lastName" msprop:Generator_ColumnVarNameInTable="columnlastName" msprop:Generator_ColumnPropNameInRow="lastName" msprop:Generator_ColumnPropNameInTable="lastNameColumn"> + <xs:element name="lastName" msprop:Generator_UserColumnName="lastName" msprop:Generator_ColumnPropNameInRow="lastName" msprop:Generator_ColumnVarNameInTable="columnlastName" msprop:Generator_ColumnPropNameInTable="lastNameColumn"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="24" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="fullName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="fullName" msprop:Generator_ColumnVarNameInTable="columnfullName" msprop:Generator_ColumnPropNameInRow="fullName" msprop:Generator_ColumnPropNameInTable="fullNameColumn" minOccurs="0"> + <xs:element name="fullName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="fullName" msprop:Generator_ColumnPropNameInRow="fullName" msprop:Generator_ColumnVarNameInTable="columnfullName" msprop:Generator_ColumnPropNameInTable="fullNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="automation" msprop:Generator_UserColumnName="automation" msprop:Generator_ColumnVarNameInTable="columnautomation" msprop:Generator_ColumnPropNameInRow="automation" msprop:Generator_ColumnPropNameInTable="automationColumn" type="xs:boolean" /> + <xs:element name="automation" msprop:Generator_UserColumnName="automation" msprop:Generator_ColumnPropNameInRow="automation" msprop:Generator_ColumnVarNameInTable="columnautomation" msprop:Generator_ColumnPropNameInTable="automationColumn" type="xs:boolean" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_products" msprop:Generator_UserTableName="db_products" msprop:Generator_RowDeletedName="db_productsRowDeleted" msprop:Generator_RowChangedName="db_productsRowChanged" msprop:Generator_RowClassName="db_productsRow" msprop:Generator_RowChangingName="db_productsRowChanging" msprop:Generator_RowEvArgName="db_productsRowChangeEvent" msprop:Generator_RowEvHandlerName="db_productsRowChangeEventHandler" msprop:Generator_TableClassName="db_productsDataTable" msprop:Generator_TableVarName="tabledb_products" msprop:Generator_RowDeletingName="db_productsRowDeleting" msprop:Generator_TablePropName="db_products"> <xs:complexType> <xs:sequence> - <xs:element name="productID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" /> - <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> + <xs:element name="productID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" /> + <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> + <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="devManager" msprop:Generator_UserColumnName="devManager" msprop:Generator_ColumnVarNameInTable="columndevManager" msprop:Generator_ColumnPropNameInRow="devManager" msprop:Generator_ColumnPropNameInTable="devManagerColumn" type="xs:int" minOccurs="0" /> - <xs:element name="qaManager" msprop:Generator_UserColumnName="qaManager" msprop:Generator_ColumnVarNameInTable="columnqaManager" msprop:Generator_ColumnPropNameInRow="qaManager" msprop:Generator_ColumnPropNameInTable="qaManagerColumn" type="xs:int" minOccurs="0" /> - <xs:element name="devLead" msprop:Generator_UserColumnName="devLead" msprop:Generator_ColumnVarNameInTable="columndevLead" msprop:Generator_ColumnPropNameInRow="devLead" msprop:Generator_ColumnPropNameInTable="devLeadColumn" type="xs:int" minOccurs="0" /> - <xs:element name="qaLead" msprop:Generator_UserColumnName="qaLead" msprop:Generator_ColumnVarNameInTable="columnqaLead" msprop:Generator_ColumnPropNameInRow="qaLead" msprop:Generator_ColumnPropNameInTable="qaLeadColumn" type="xs:int" minOccurs="0" /> - <xs:element name="pm" msprop:Generator_UserColumnName="pm" msprop:Generator_ColumnVarNameInTable="columnpm" msprop:Generator_ColumnPropNameInRow="pm" msprop:Generator_ColumnPropNameInTable="pmColumn" type="xs:int" minOccurs="0" /> - <xs:element name="codeName" msprop:Generator_UserColumnName="codeName" msprop:Generator_ColumnVarNameInTable="columncodeName" msprop:Generator_ColumnPropNameInRow="codeName" msprop:Generator_ColumnPropNameInTable="codeNameColumn" minOccurs="0"> + <xs:element name="devManager" msprop:Generator_UserColumnName="devManager" msprop:Generator_ColumnPropNameInRow="devManager" msprop:Generator_ColumnVarNameInTable="columndevManager" msprop:Generator_ColumnPropNameInTable="devManagerColumn" type="xs:int" minOccurs="0" /> + <xs:element name="qaManager" msprop:Generator_UserColumnName="qaManager" msprop:Generator_ColumnPropNameInRow="qaManager" msprop:Generator_ColumnVarNameInTable="columnqaManager" msprop:Generator_ColumnPropNameInTable="qaManagerColumn" type="xs:int" minOccurs="0" /> + <xs:element name="devLead" msprop:Generator_UserColumnName="devLead" msprop:Generator_ColumnPropNameInRow="devLead" msprop:Generator_ColumnVarNameInTable="columndevLead" msprop:Generator_ColumnPropNameInTable="devLeadColumn" type="xs:int" minOccurs="0" /> + <xs:element name="qaLead" msprop:Generator_UserColumnName="qaLead" msprop:Generator_ColumnPropNameInRow="qaLead" msprop:Generator_ColumnVarNameInTable="columnqaLead" msprop:Generator_ColumnPropNameInTable="qaLeadColumn" type="xs:int" minOccurs="0" /> + <xs:element name="pm" msprop:Generator_UserColumnName="pm" msprop:Generator_ColumnPropNameInRow="pm" msprop:Generator_ColumnVarNameInTable="columnpm" msprop:Generator_ColumnPropNameInTable="pmColumn" type="xs:int" minOccurs="0" /> + <xs:element name="codeName" msprop:Generator_UserColumnName="codeName" msprop:Generator_ColumnPropNameInRow="codeName" msprop:Generator_ColumnVarNameInTable="columncodeName" msprop:Generator_ColumnPropNameInTable="codeNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="10" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> + <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_actionItems" msprop:Generator_UserTableName="db_actionItems" msprop:Generator_RowDeletedName="db_actionItemsRowDeleted" msprop:Generator_RowChangedName="db_actionItemsRowChanged" msprop:Generator_RowClassName="db_actionItemsRow" msprop:Generator_RowChangingName="db_actionItemsRowChanging" msprop:Generator_RowEvArgName="db_actionItemsRowChangeEvent" msprop:Generator_RowEvHandlerName="db_actionItemsRowChangeEventHandler" msprop:Generator_TableClassName="db_actionItemsDataTable" msprop:Generator_TableVarName="tabledb_actionItems" msprop:Generator_RowDeletingName="db_actionItemsRowDeleting" msprop:Generator_TablePropName="db_actionItems"> <xs:complexType> <xs:sequence> - <xs:element name="actionItemID" msprop:Generator_UserColumnName="actionItemID" msprop:Generator_ColumnPropNameInRow="actionItemID" msprop:Generator_ColumnVarNameInTable="columnactionItemID" msprop:Generator_ColumnPropNameInTable="actionItemIDColumn" type="xs:int" /> - <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> + <xs:element name="actionItemID" msprop:Generator_UserColumnName="actionItemID" msprop:Generator_ColumnVarNameInTable="columnactionItemID" msprop:Generator_ColumnPropNameInRow="actionItemID" msprop:Generator_ColumnPropNameInTable="actionItemIDColumn" type="xs:int" /> + <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> + <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="dateAssigned" msprop:Generator_UserColumnName="dateAssigned" msprop:Generator_ColumnPropNameInRow="dateAssigned" msprop:Generator_ColumnVarNameInTable="columndateAssigned" msprop:Generator_ColumnPropNameInTable="dateAssignedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="dateDue" msprop:Generator_UserColumnName="dateDue" msprop:Generator_ColumnPropNameInRow="dateDue" msprop:Generator_ColumnVarNameInTable="columndateDue" msprop:Generator_ColumnPropNameInTable="dateDueColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="percentComplete" msprop:Generator_UserColumnName="percentComplete" msprop:Generator_ColumnPropNameInRow="percentComplete" msprop:Generator_ColumnVarNameInTable="columnpercentComplete" msprop:Generator_ColumnPropNameInTable="percentCompleteColumn" type="xs:int" minOccurs="0" /> - <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> + <xs:element name="dateAssigned" msprop:Generator_UserColumnName="dateAssigned" msprop:Generator_ColumnVarNameInTable="columndateAssigned" msprop:Generator_ColumnPropNameInRow="dateAssigned" msprop:Generator_ColumnPropNameInTable="dateAssignedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="dateDue" msprop:Generator_UserColumnName="dateDue" msprop:Generator_ColumnVarNameInTable="columndateDue" msprop:Generator_ColumnPropNameInRow="dateDue" msprop:Generator_ColumnPropNameInTable="dateDueColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="percentComplete" msprop:Generator_UserColumnName="percentComplete" msprop:Generator_ColumnVarNameInTable="columnpercentComplete" msprop:Generator_ColumnPropNameInRow="percentComplete" msprop:Generator_ColumnPropNameInTable="percentCompleteColumn" type="xs:int" minOccurs="0" /> + <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="createdBy" msdata:ReadOnly="true" msprop:Generator_UserColumnName="createdBy" msprop:Generator_ColumnPropNameInRow="createdBy" msprop:Generator_ColumnVarNameInTable="columncreatedBy" msprop:Generator_ColumnPropNameInTable="createdByColumn" minOccurs="0"> + <xs:element name="createdBy" msdata:ReadOnly="true" msprop:Generator_UserColumnName="createdBy" msprop:Generator_ColumnVarNameInTable="columncreatedBy" msprop:Generator_ColumnPropNameInRow="createdBy" msprop:Generator_ColumnPropNameInTable="createdByColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="highPriority" msprop:Generator_UserColumnName="highPriority" msprop:Generator_ColumnPropNameInRow="highPriority" msprop:Generator_ColumnVarNameInTable="columnhighPriority" msprop:Generator_ColumnPropNameInTable="highPriorityColumn" type="xs:boolean" minOccurs="0" /> - <xs:element name="testPass" msprop:Generator_UserColumnName="testPass" msprop:Generator_ColumnVarNameInTable="columntestPass" msprop:Generator_ColumnPropNameInRow="testPass" msprop:Generator_ColumnPropNameInTable="testPassColumn" minOccurs="0"> + <xs:element name="highPriority" msprop:Generator_UserColumnName="highPriority" msprop:Generator_ColumnVarNameInTable="columnhighPriority" msprop:Generator_ColumnPropNameInRow="highPriority" msprop:Generator_ColumnPropNameInTable="highPriorityColumn" type="xs:boolean" minOccurs="0" /> + <xs:element name="testPass" msprop:Generator_UserColumnName="testPass" msprop:Generator_ColumnPropNameInRow="testPass" msprop:Generator_ColumnVarNameInTable="columntestPass" msprop:Generator_ColumnPropNameInTable="testPassColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="dateFinished" msprop:Generator_UserColumnName="dateFinished" msprop:Generator_ColumnVarNameInTable="columndateFinished" msprop:Generator_ColumnPropNameInRow="dateFinished" msprop:Generator_ColumnPropNameInTable="dateFinishedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="assignedID" msprop:Generator_UserColumnName="assignedID" msprop:Generator_ColumnVarNameInTable="columnassignedID" msprop:Generator_ColumnPropNameInRow="assignedID" msprop:Generator_ColumnPropNameInTable="assignedIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="assigned" msdata:ReadOnly="true" msprop:Generator_UserColumnName="assigned" msprop:Generator_ColumnVarNameInTable="columnassigned" msprop:Generator_ColumnPropNameInRow="assigned" msprop:Generator_ColumnPropNameInTable="assignedColumn" minOccurs="0"> + <xs:element name="dateFinished" msprop:Generator_UserColumnName="dateFinished" msprop:Generator_ColumnPropNameInRow="dateFinished" msprop:Generator_ColumnVarNameInTable="columndateFinished" msprop:Generator_ColumnPropNameInTable="dateFinishedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="assignedID" msprop:Generator_UserColumnName="assignedID" msprop:Generator_ColumnPropNameInRow="assignedID" msprop:Generator_ColumnVarNameInTable="columnassignedID" msprop:Generator_ColumnPropNameInTable="assignedIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="assigned" msdata:ReadOnly="true" msprop:Generator_UserColumnName="assigned" msprop:Generator_ColumnPropNameInRow="assigned" msprop:Generator_ColumnVarNameInTable="columnassigned" msprop:Generator_ColumnPropNameInTable="assignedColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="statusID" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="testPassID" msprop:Generator_UserColumnName="testPassID" msprop:Generator_ColumnPropNameInRow="testPassID" msprop:Generator_ColumnVarNameInTable="columntestPassID" msprop:Generator_ColumnPropNameInTable="testPassIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> - <xs:element name="creatorID" msprop:Generator_UserColumnName="creatorID" msprop:Generator_ColumnPropNameInRow="creatorID" msprop:Generator_ColumnVarNameInTable="columncreatorID" msprop:Generator_ColumnPropNameInTable="creatorIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="statusID" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="testPassID" msprop:Generator_UserColumnName="testPassID" msprop:Generator_ColumnVarNameInTable="columntestPassID" msprop:Generator_ColumnPropNameInRow="testPassID" msprop:Generator_ColumnPropNameInTable="testPassIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> + <xs:element name="creatorID" msprop:Generator_UserColumnName="creatorID" msprop:Generator_ColumnVarNameInTable="columncreatorID" msprop:Generator_ColumnPropNameInRow="creatorID" msprop:Generator_ColumnPropNameInTable="creatorIDColumn" type="xs:int" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_status" msprop:Generator_UserTableName="db_status" msprop:Generator_RowDeletedName="db_statusRowDeleted" msprop:Generator_RowChangedName="db_statusRowChanged" msprop:Generator_RowClassName="db_statusRow" msprop:Generator_RowChangingName="db_statusRowChanging" msprop:Generator_RowEvArgName="db_statusRowChangeEvent" msprop:Generator_RowEvHandlerName="db_statusRowChangeEventHandler" msprop:Generator_TableClassName="db_statusDataTable" msprop:Generator_TableVarName="tabledb_status" msprop:Generator_RowDeletingName="db_statusRowDeleting" msprop:Generator_TablePropName="db_status"> <xs:complexType> <xs:sequence> - <xs:element name="statusID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" /> - <xs:element name="Description" msprop:Generator_UserColumnName="Description" msprop:Generator_ColumnVarNameInTable="columnDescription" msprop:Generator_ColumnPropNameInRow="Description" msprop:Generator_ColumnPropNameInTable="DescriptionColumn" minOccurs="0"> + <xs:element name="statusID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" /> + <xs:element name="Description" msprop:Generator_UserColumnName="Description" msprop:Generator_ColumnPropNameInRow="Description" msprop:Generator_ColumnVarNameInTable="columnDescription" msprop:Generator_ColumnPropNameInTable="DescriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> + <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> @@ -996,113 +1034,113 @@ <xs:element name="db_notes" msprop:Generator_UserTableName="db_notes" msprop:Generator_RowDeletedName="db_notesRowDeleted" msprop:Generator_RowChangedName="db_notesRowChanged" msprop:Generator_RowClassName="db_notesRow" msprop:Generator_RowChangingName="db_notesRowChanging" msprop:Generator_RowEvArgName="db_notesRowChangeEvent" msprop:Generator_RowEvHandlerName="db_notesRowChangeEventHandler" msprop:Generator_TableClassName="db_notesDataTable" msprop:Generator_TableVarName="tabledb_notes" msprop:Generator_RowDeletingName="db_notesRowDeleting" msprop:Generator_TablePropName="db_notes"> <xs:complexType> <xs:sequence> - <xs:element name="noteID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="noteID" msprop:Generator_ColumnVarNameInTable="columnnoteID" msprop:Generator_ColumnPropNameInRow="noteID" msprop:Generator_ColumnPropNameInTable="noteIDColumn" type="xs:int" /> - <xs:element name="dateCreated" msprop:Generator_UserColumnName="dateCreated" msprop:Generator_ColumnVarNameInTable="columndateCreated" msprop:Generator_ColumnPropNameInRow="dateCreated" msprop:Generator_ColumnPropNameInTable="dateCreatedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="noteField" msprop:Generator_UserColumnName="noteField" msprop:Generator_ColumnVarNameInTable="columnnoteField" msprop:Generator_ColumnPropNameInRow="noteField" msprop:Generator_ColumnPropNameInTable="noteFieldColumn" minOccurs="0"> + <xs:element name="noteID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="noteID" msprop:Generator_ColumnPropNameInRow="noteID" msprop:Generator_ColumnVarNameInTable="columnnoteID" msprop:Generator_ColumnPropNameInTable="noteIDColumn" type="xs:int" /> + <xs:element name="dateCreated" msprop:Generator_UserColumnName="dateCreated" msprop:Generator_ColumnPropNameInRow="dateCreated" msprop:Generator_ColumnVarNameInTable="columndateCreated" msprop:Generator_ColumnPropNameInTable="dateCreatedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="noteField" msprop:Generator_UserColumnName="noteField" msprop:Generator_ColumnPropNameInRow="noteField" msprop:Generator_ColumnVarNameInTable="columnnoteField" msprop:Generator_ColumnPropNameInTable="noteFieldColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="noteAuthor" msprop:Generator_UserColumnName="noteAuthor" msprop:Generator_ColumnVarNameInTable="columnnoteAuthor" msprop:Generator_ColumnPropNameInRow="noteAuthor" msprop:Generator_ColumnPropNameInTable="noteAuthorColumn" type="xs:int" minOccurs="0" /> + <xs:element name="noteAuthor" msprop:Generator_UserColumnName="noteAuthor" msprop:Generator_ColumnPropNameInRow="noteAuthor" msprop:Generator_ColumnVarNameInTable="columnnoteAuthor" msprop:Generator_ColumnPropNameInTable="noteAuthorColumn" type="xs:int" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_assignments" msprop:Generator_UserTableName="db_assignments" msprop:Generator_RowDeletedName="db_assignmentsRowDeleted" msprop:Generator_RowChangedName="db_assignmentsRowChanged" msprop:Generator_RowClassName="db_assignmentsRow" msprop:Generator_RowChangingName="db_assignmentsRowChanging" msprop:Generator_RowEvArgName="db_assignmentsRowChangeEvent" msprop:Generator_RowEvHandlerName="db_assignmentsRowChangeEventHandler" msprop:Generator_TableClassName="db_assignmentsDataTable" msprop:Generator_TableVarName="tabledb_assignments" msprop:Generator_RowDeletingName="db_assignmentsRowDeleting" msprop:Generator_TablePropName="db_assignments"> <xs:complexType> <xs:sequence> - <xs:element name="aType" msdata:ReadOnly="true" msprop:Generator_UserColumnName="aType" msprop:Generator_ColumnVarNameInTable="columnaType" msprop:Generator_ColumnPropNameInRow="aType" msprop:Generator_ColumnPropNameInTable="aTypeColumn" minOccurs="0"> + <xs:element name="aType" msdata:ReadOnly="true" msprop:Generator_UserColumnName="aType" msprop:Generator_ColumnPropNameInRow="aType" msprop:Generator_ColumnVarNameInTable="columnaType" msprop:Generator_ColumnPropNameInTable="aTypeColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="childID" msdata:ReadOnly="true" msprop:Generator_UserColumnName="childID" msprop:Generator_ColumnVarNameInTable="columnchildID" msprop:Generator_ColumnPropNameInRow="childID" msprop:Generator_ColumnPropNameInTable="childIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="creator" msdata:ReadOnly="true" msprop:Generator_UserColumnName="creator" msprop:Generator_ColumnVarNameInTable="columncreator" msprop:Generator_ColumnPropNameInRow="creator" msprop:Generator_ColumnPropNameInTable="creatorColumn" minOccurs="0"> + <xs:element name="childID" msdata:ReadOnly="true" msprop:Generator_UserColumnName="childID" msprop:Generator_ColumnPropNameInRow="childID" msprop:Generator_ColumnVarNameInTable="columnchildID" msprop:Generator_ColumnPropNameInTable="childIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="creator" msdata:ReadOnly="true" msprop:Generator_UserColumnName="creator" msprop:Generator_ColumnPropNameInRow="creator" msprop:Generator_ColumnVarNameInTable="columncreator" msprop:Generator_ColumnPropNameInTable="creatorColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="assigned" msdata:ReadOnly="true" msprop:Generator_UserColumnName="assigned" msprop:Generator_ColumnVarNameInTable="columnassigned" msprop:Generator_ColumnPropNameInRow="assigned" msprop:Generator_ColumnPropNameInTable="assignedColumn" minOccurs="0"> + <xs:element name="assigned" msdata:ReadOnly="true" msprop:Generator_UserColumnName="assigned" msprop:Generator_ColumnPropNameInRow="assigned" msprop:Generator_ColumnVarNameInTable="columnassigned" msprop:Generator_ColumnPropNameInTable="assignedColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="assignedID" msprop:Generator_UserColumnName="assignedID" msprop:Generator_ColumnVarNameInTable="columnassignedID" msprop:Generator_ColumnPropNameInRow="assignedID" msprop:Generator_ColumnPropNameInTable="assignedIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="dateAssigned" msprop:Generator_UserColumnName="dateAssigned" msprop:Generator_ColumnVarNameInTable="columndateAssigned" msprop:Generator_ColumnPropNameInRow="dateAssigned" msprop:Generator_ColumnPropNameInTable="dateAssignedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="dateDue" msprop:Generator_UserColumnName="dateDue" msprop:Generator_ColumnVarNameInTable="columndateDue" msprop:Generator_ColumnPropNameInRow="dateDue" msprop:Generator_ColumnPropNameInTable="dateDueColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="dateFinished" msprop:Generator_UserColumnName="dateFinished" msprop:Generator_ColumnVarNameInTable="columndateFinished" msprop:Generator_ColumnPropNameInRow="dateFinished" msprop:Generator_ColumnPropNameInTable="dateFinishedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="highPriority" msprop:Generator_UserColumnName="highPriority" msprop:Generator_ColumnVarNameInTable="columnhighPriority" msprop:Generator_ColumnPropNameInRow="highPriority" msprop:Generator_ColumnPropNameInTable="highPriorityColumn" type="xs:boolean" minOccurs="0" /> - <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> + <xs:element name="assignedID" msprop:Generator_UserColumnName="assignedID" msprop:Generator_ColumnPropNameInRow="assignedID" msprop:Generator_ColumnVarNameInTable="columnassignedID" msprop:Generator_ColumnPropNameInTable="assignedIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="dateAssigned" msprop:Generator_UserColumnName="dateAssigned" msprop:Generator_ColumnPropNameInRow="dateAssigned" msprop:Generator_ColumnVarNameInTable="columndateAssigned" msprop:Generator_ColumnPropNameInTable="dateAssignedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="dateDue" msprop:Generator_UserColumnName="dateDue" msprop:Generator_ColumnPropNameInRow="dateDue" msprop:Generator_ColumnVarNameInTable="columndateDue" msprop:Generator_ColumnPropNameInTable="dateDueColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="dateFinished" msprop:Generator_UserColumnName="dateFinished" msprop:Generator_ColumnPropNameInRow="dateFinished" msprop:Generator_ColumnVarNameInTable="columndateFinished" msprop:Generator_ColumnPropNameInTable="dateFinishedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="highPriority" msprop:Generator_UserColumnName="highPriority" msprop:Generator_ColumnPropNameInRow="highPriority" msprop:Generator_ColumnVarNameInTable="columnhighPriority" msprop:Generator_ColumnPropNameInTable="highPriorityColumn" type="xs:boolean" minOccurs="0" /> + <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="WOTotalTest" msprop:Generator_UserColumnName="WOTotalTest" msprop:Generator_ColumnVarNameInTable="columnWOTotalTest" msprop:Generator_ColumnPropNameInRow="WOTotalTest" msprop:Generator_ColumnPropNameInTable="WOTotalTestColumn" type="xs:int" minOccurs="0" /> - <xs:element name="WOPassRate" msdata:ReadOnly="true" msprop:Generator_UserColumnName="WOPassRate" msprop:Generator_ColumnVarNameInTable="columnWOPassRate" msprop:Generator_ColumnPropNameInRow="WOPassRate" msprop:Generator_ColumnPropNameInTable="WOPassRateColumn" minOccurs="0"> + <xs:element name="WOTotalTest" msprop:Generator_UserColumnName="WOTotalTest" msprop:Generator_ColumnPropNameInRow="WOTotalTest" msprop:Generator_ColumnVarNameInTable="columnWOTotalTest" msprop:Generator_ColumnPropNameInTable="WOTotalTestColumn" type="xs:int" minOccurs="0" /> + <xs:element name="WOPassRate" msdata:ReadOnly="true" msprop:Generator_UserColumnName="WOPassRate" msprop:Generator_ColumnPropNameInRow="WOPassRate" msprop:Generator_ColumnVarNameInTable="columnWOPassRate" msprop:Generator_ColumnPropNameInTable="WOPassRateColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="31" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="WOPass" msprop:Generator_UserColumnName="WOPass" msprop:Generator_ColumnVarNameInTable="columnWOPass" msprop:Generator_ColumnPropNameInRow="WOPass" msprop:Generator_ColumnPropNameInTable="WOPassColumn" type="xs:int" minOccurs="0" /> - <xs:element name="WOFail" msprop:Generator_UserColumnName="WOFail" msprop:Generator_ColumnVarNameInTable="columnWOFail" msprop:Generator_ColumnPropNameInRow="WOFail" msprop:Generator_ColumnPropNameInTable="WOFailColumn" type="xs:int" minOccurs="0" /> - <xs:element name="WOError" msprop:Generator_UserColumnName="WOError" msprop:Generator_ColumnVarNameInTable="columnWOError" msprop:Generator_ColumnPropNameInRow="WOError" msprop:Generator_ColumnPropNameInTable="WOErrorColumn" type="xs:int" minOccurs="0" /> - <xs:element name="aName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="aName" msprop:Generator_ColumnVarNameInTable="columnaName" msprop:Generator_ColumnPropNameInRow="aName" msprop:Generator_ColumnPropNameInTable="aNameColumn" minOccurs="0"> + <xs:element name="WOPass" msprop:Generator_UserColumnName="WOPass" msprop:Generator_ColumnPropNameInRow="WOPass" msprop:Generator_ColumnVarNameInTable="columnWOPass" msprop:Generator_ColumnPropNameInTable="WOPassColumn" type="xs:int" minOccurs="0" /> + <xs:element name="WOFail" msprop:Generator_UserColumnName="WOFail" msprop:Generator_ColumnPropNameInRow="WOFail" msprop:Generator_ColumnVarNameInTable="columnWOFail" msprop:Generator_ColumnPropNameInTable="WOFailColumn" type="xs:int" minOccurs="0" /> + <xs:element name="WOError" msprop:Generator_UserColumnName="WOError" msprop:Generator_ColumnPropNameInRow="WOError" msprop:Generator_ColumnVarNameInTable="columnWOError" msprop:Generator_ColumnPropNameInTable="WOErrorColumn" type="xs:int" minOccurs="0" /> + <xs:element name="aName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="aName" msprop:Generator_ColumnPropNameInRow="aName" msprop:Generator_ColumnVarNameInTable="columnaName" msprop:Generator_ColumnPropNameInTable="aNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> + <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_testPass" msprop:Generator_UserTableName="db_testPass" msprop:Generator_RowDeletedName="db_testPassRowDeleted" msprop:Generator_RowChangedName="db_testPassRowChanged" msprop:Generator_RowClassName="db_testPassRow" msprop:Generator_RowChangingName="db_testPassRowChanging" msprop:Generator_RowEvArgName="db_testPassRowChangeEvent" msprop:Generator_RowEvHandlerName="db_testPassRowChangeEventHandler" msprop:Generator_TableClassName="db_testPassDataTable" msprop:Generator_TableVarName="tabledb_testPass" msprop:Generator_RowDeletingName="db_testPassRowDeleting" msprop:Generator_TablePropName="db_testPass"> <xs:complexType> <xs:sequence> - <xs:element name="testPassID" msdata:ReadOnly="true" msdata:AutoIncrement="true" m... [truncated message content] |
From: <ro...@us...> - 2006-07-27 18:44:36
|
Revision: 228 Author: rouquin Date: 2006-07-27 11:44:20 -0700 (Thu, 27 Jul 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=228&view=rev Log Message: ----------- Roles and Rights and Users all display correctly now (except for roles for rights - waiting on procedure). You can view everything and even insert new roles and rights, but you cannot add user, rights, products, etc to those roles and rights - I need update procedures for those. Anyhow, we may be ready to start defining rights and enforcing them. Modified Paths: -------------- Website/App_Code/tcdbDataSet.xsd Website/App_Code/tcdbDataSet.xss Website/Includes/AdministrationTree.ascx.cs Website/Includes/Rights.ascx Website/Includes/Rights.ascx.cs Website/Includes/Roles.ascx Website/Includes/Roles.ascx.cs Website/Includes/UserSettings.ascx Website/Includes/UserSettings.ascx.cs Modified: Website/App_Code/tcdbDataSet.xsd =================================================================== --- Website/App_Code/tcdbDataSet.xsd 2006-07-27 17:18:49 UTC (rev 227) +++ Website/App_Code/tcdbDataSet.xsd 2006-07-27 18:44:20 UTC (rev 228) @@ -753,7 +753,7 @@ </TableAdapter> <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="db_roleUserProductTableAdapter" GeneratorDataComponentClassName="db_roleUserProductTableAdapter" Name="db_roleUserProduct" UserDataComponentName="db_roleUserProductTableAdapter"> <MainSource> - <DbSource ConnectionRef="tcdbConnectionString (Web.config)" DbObjectName="tcdb.dbo.sel_roleUserProduct" DbObjectType="StoredProcedure" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="False" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="False" UserGetMethodName="GetData" UserSourceName="Fill"> + <DbSource ConnectionRef="tcdbConnectionString (Web.config)" DbObjectName="tcdb.dbo.sel_roleUserProduct" DbObjectType="StoredProcedure" GenerateMethods="Get" GenerateShortCommands="False" GeneratorGetMethodName="GetData" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="False" UserGetMethodName="GetData" UserSourceName="Fill"> <SelectCommand> <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> <CommandText>dbo.sel_roleUserProduct</CommandText> @@ -779,6 +779,33 @@ <Sources> </Sources> </TableAdapter> + <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="db_roleRightTableAdapter" GeneratorDataComponentClassName="db_roleRightTableAdapter" Name="db_roleRight" UserDataComponentName="db_roleRightTableAdapter"> + <MainSource> + <DbSource ConnectionRef="tcdbConnectionString (Web.config)" DbObjectName="tcdb.dbo.sel_roleRight" DbObjectType="StoredProcedure" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="False" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="False" UserGetMethodName="GetData" UserSourceName="Fill"> + <SelectCommand> + <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> + <CommandText>dbo.sel_roleRight</CommandText> + <Parameters> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@roleID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@active" Precision="1" ProviderType="Bit" Scale="0" Size="1" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + </Parameters> + </DbCommand> + </SelectCommand> + </DbSource> + </MainSource> + <Mappings> + <Mapping SourceColumn="roleID" DataSetColumn="roleID" /> + <Mapping SourceColumn="rightsID" DataSetColumn="rightsID" /> + <Mapping SourceColumn="rightName" DataSetColumn="rightName" /> + <Mapping SourceColumn="active" DataSetColumn="active" /> + </Mappings> + <Sources> + </Sources> + </TableAdapter> </Tables> <Sources> </Sources> @@ -1199,6 +1226,22 @@ </xs:sequence> </xs:complexType> </xs:element> + <xs:element name="db_roleRight" msprop:Generator_UserTableName="db_roleRight" msprop:Generator_RowDeletedName="db_roleRightRowDeleted" msprop:Generator_TableClassName="db_roleRightDataTable" msprop:Generator_RowChangedName="db_roleRightRowChanged" msprop:Generator_RowClassName="db_roleRightRow" msprop:Generator_RowChangingName="db_roleRightRowChanging" msprop:Generator_RowEvArgName="db_roleRightRowChangeEvent" msprop:Generator_RowEvHandlerName="db_roleRightRowChangeEventHandler" msprop:Generator_TablePropName="db_roleRight" msprop:Generator_TableVarName="tabledb_roleRight" msprop:Generator_RowDeletingName="db_roleRightRowDeleting"> + <xs:complexType> + <xs:sequence> + <xs:element name="roleID" msprop:Generator_UserColumnName="roleID" msprop:Generator_ColumnPropNameInRow="roleID" msprop:Generator_ColumnVarNameInTable="columnroleID" msprop:Generator_ColumnPropNameInTable="roleIDColumn" type="xs:int" /> + <xs:element name="rightsID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="rightsID" msprop:Generator_ColumnPropNameInRow="rightsID" msprop:Generator_ColumnVarNameInTable="columnrightsID" msprop:Generator_ColumnPropNameInTable="rightsIDColumn" type="xs:int" /> + <xs:element name="rightName" msprop:Generator_UserColumnName="rightName" msprop:Generator_ColumnPropNameInRow="rightName" msprop:Generator_ColumnVarNameInTable="columnrightName" msprop:Generator_ColumnPropNameInTable="rightNameColumn" minOccurs="0"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:maxLength value="255" /> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> + </xs:sequence> + </xs:complexType> + </xs:element> </xs:choice> </xs:complexType> <xs:unique name="Constraint1" msdata:PrimaryKey="true"> Modified: Website/App_Code/tcdbDataSet.xss =================================================================== --- Website/App_Code/tcdbDataSet.xss 2006-07-27 17:18:49 UTC (rev 227) +++ Website/App_Code/tcdbDataSet.xss 2006-07-27 18:44:20 UTC (rev 228) @@ -4,22 +4,23 @@ Changes to this file may cause incorrect behavior and will be lost if the code is regenerated. </autogenerated>--> -<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="-10" ViewPortY="144" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout"> +<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="-10" ViewPortY="106" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout"> <Shapes> - <Shape ID="DesignTable:db_users" ZOrder="14" X="87" Y="57" Height="241" Width="201" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="194" /> - <Shape ID="DesignTable:db_products" ZOrder="13" X="25" Y="506" Height="241" Width="213" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="194" /> - <Shape ID="DesignTable:db_actionItems" ZOrder="12" X="619" Y="59" Height="292" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="228" /> - <Shape ID="DesignTable:db_status" ZOrder="11" X="272" Y="369" Height="122" Width="296" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="75" /> - <Shape ID="DesignTable:db_notes" ZOrder="10" X="309" Y="56" Height="139" Width="208" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="92" /> - <Shape ID="DesignTable:db_assignments" ZOrder="9" X="636" Y="368" Height="275" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="228" /> - <Shape ID="DesignTable:db_testPass" ZOrder="8" X="25" Y="317" Height="122" Width="211" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="75" /> - <Shape ID="DesignTable:db_config" ZOrder="7" X="382" Y="203" Height="156" Width="198" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="109" /> - <Shape ID="DesignTable:db_version" ZOrder="6" X="268" Y="539" Height="173" Width="216" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="126" /> - <Shape ID="DesignTable:db_rights" ZOrder="5" X="599" Y="657" Height="139" Width="260" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="92" /> - <Shape ID="DesignTable:db_role" ZOrder="4" X="319" Y="763" Height="139" Width="242" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="92" /> - <Shape ID="DesignTable:db_roleProductUser" ZOrder="3" X="903" Y="671" Height="156" Width="255" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="109" /> - <Shape ID="DesignTable:db_roleProduct" ZOrder="2" X="904" Y="843" Height="105" Width="231" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="58" /> - <Shape ID="DesignTable:db_roleUserProduct" ZOrder="1" X="592" Y="814" Height="122" Width="257" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="75" /> + <Shape ID="DesignTable:db_users" ZOrder="15" X="87" Y="57" Height="241" Width="201" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="194" /> + <Shape ID="DesignTable:db_products" ZOrder="14" X="25" Y="506" Height="241" Width="213" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="194" /> + <Shape ID="DesignTable:db_actionItems" ZOrder="13" X="619" Y="59" Height="86" Width="300" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="228" SplitterPosition="22" /> + <Shape ID="DesignTable:db_status" ZOrder="12" X="272" Y="369" Height="122" Width="296" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="75" /> + <Shape ID="DesignTable:db_notes" ZOrder="11" X="309" Y="56" Height="139" Width="208" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="92" /> + <Shape ID="DesignTable:db_assignments" ZOrder="10" X="636" Y="368" Height="275" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="228" /> + <Shape ID="DesignTable:db_testPass" ZOrder="9" X="25" Y="317" Height="122" Width="211" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="75" /> + <Shape ID="DesignTable:db_config" ZOrder="8" X="382" Y="203" Height="156" Width="198" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="109" /> + <Shape ID="DesignTable:db_version" ZOrder="7" X="268" Y="539" Height="173" Width="216" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="126" /> + <Shape ID="DesignTable:db_rights" ZOrder="6" X="599" Y="657" Height="139" Width="260" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="92" /> + <Shape ID="DesignTable:db_role" ZOrder="5" X="319" Y="763" Height="139" Width="242" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="92" /> + <Shape ID="DesignTable:db_roleProductUser" ZOrder="4" X="903" Y="671" Height="156" Width="255" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="109" /> + <Shape ID="DesignTable:db_roleProduct" ZOrder="3" X="904" Y="843" Height="105" Width="231" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="58" /> + <Shape ID="DesignTable:db_roleUserProduct" ZOrder="2" X="592" Y="814" Height="122" Width="255" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="75" /> + <Shape ID="DesignTable:db_roleRight" ZOrder="1" X="61" Y="768" Height="139" Width="217" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="92" /> </Shapes> <Connectors /> </DiagramLayout> \ No newline at end of file Modified: Website/Includes/AdministrationTree.ascx.cs =================================================================== --- Website/Includes/AdministrationTree.ascx.cs 2006-07-27 17:18:49 UTC (rev 227) +++ Website/Includes/AdministrationTree.ascx.cs 2006-07-27 18:44:20 UTC (rev 228) @@ -446,35 +446,29 @@ protected void BuildRightsList(TreeNode parent) { ArrayList nodes = (ArrayList)Session["AdminNodes"]; - /* - * // Populate Rights - query = "SELECT rights.* FROM rights INNER JOIN roleRights ON roleRights.rightsID=rights.rightsID WHERE roleRights.roleID=" + e.Node.Value; - DBAdapter = new SqlDataAdapter(query, DBConnection); - DBAdapter.Fill(ResultsDataSet); + tcdbDataSetTableAdapters.db_roleRightTableAdapter rightAdapter = new tcdbDataSetTableAdapters.db_roleRightTableAdapter(); + tcdbDataSet.db_roleRightDataTable rightTable = rightAdapter.GetData(Convert.ToInt32(parent.Value), true); + + // Populate Rights + foreach (tcdbDataSet.db_roleRightRow row in rightTable) + { + // Create the new node. + TreeNode newNode = new TreeNode(); + newNode.Text = "<font color=green>Right: </font><font color=blue>" + row.rightName + "</font>"; + newNode.Value = row.rightsID.ToString(); - if (ResultsDataSet.Tables.Count > 0) - { - foreach (DataRow row in ResultsDataSet.Tables[0].Rows) - { - // Create the new node. - newNode = new TreeNode(); - newNode.Text = "<font color=green>Right: </font><font color=blue>" + row["name"] + "</font>"; - newNode.Value = row["rightsID"].ToString(); + // Set the PopulateOnDemand property to true so that the child nodes can be + // dynamically populated. + newNode.PopulateOnDemand = true; - // Set the PopulateOnDemand property to true so that the child nodes can be - // dynamically populated. - newNode.PopulateOnDemand = true; + // Set additional properties for the node. + newNode.SelectAction = TreeNodeSelectAction.Expand; + newNode.NavigateUrl = "~/Right.aspx?"+Constants.CODE_RIGHT+"=" + newNode.Value; - // Set additional properties for the node. - newNode.SelectAction = TreeNodeSelectAction.Expand; - newNode.NavigateUrl = "~/RightsEdit.aspx?id=" + newNode.Value; - - // Add the new node to the ChildNodes collection of the parent node. - e.Node.ChildNodes.Add(newNode); - newNode.Expand(); - } - } - */ + // Add the new node to the ChildNodes collection of the parent node. + parent.ChildNodes.Add(newNode); + newNode.Expand(); + } } protected void BuildBuildList(TreeNode parent) { @@ -682,9 +676,9 @@ BuildVersionCategories(e.Node); else if (e.Node.Parent.Value == "status") BuildStatusList(e.Node); - else if (e.Node.NavigateUrl.Contains("labEdit")) + else if (e.Node.NavigateUrl.Contains("Lab")) BuildComputerList(e.Node); - else if (e.Node.NavigateUrl.Contains("roleEdit")) + else if (e.Node.NavigateUrl.Contains("Role")) BuildRightsList(e.Node); break; case 4: @@ -696,7 +690,7 @@ BuildPlatformList(e.Node); break; case 5: - if (e.Node.NavigateUrl.Contains("platformEdit")) + if (e.Node.NavigateUrl.Contains("Platform")) { BuildOSList(e.Node); BuildArchitectureList(e.Node); Modified: Website/Includes/Rights.ascx =================================================================== --- Website/Includes/Rights.ascx 2006-07-27 17:18:49 UTC (rev 227) +++ Website/Includes/Rights.ascx 2006-07-27 18:44:20 UTC (rev 228) @@ -34,7 +34,7 @@ <tr> <td align="left" colspan="2" valign="top" width="33%"> <strong>Roles:<br /> - </strong> <asp:ListBox ID="roleList" runat="server" OnDataBound="roleList_DataBound"></asp:ListBox> + </strong> <asp:ListBox ID="roleList" runat="server" OnDataBound="roleList_DataBound" DataSourceID="RolesDataSource" DataTextField="roleName" DataValueField="roleID"></asp:ListBox> </td> <td align="left" colspan="2" valign="top" width="33%"> </td> @@ -91,7 +91,7 @@ <tr> <td align="left" colspan="2" valign="top" width="33%"> <strong>Roles:<br /> - </strong> <asp:ListBox ID="roleList" runat="server" OnDataBound="roleList_DataBound"></asp:ListBox> + </strong> <asp:ListBox ID="roleList" runat="server" OnDataBound="roleList_DataBound" DataSourceID="RolesDataSource" DataTextField="roleName" DataValueField="roleID"></asp:ListBox> </td> <td align="left" colspan="2" valign="top" width="33%"> </td> @@ -144,13 +144,7 @@ <tr> <td align="left" colspan="2" valign="top" width="33%"> <strong>Roles:<br /> - </strong> <asp:ListBox ID="rightsList" runat="server"></asp:ListBox><asp:SqlDataSource ID="RoleRightsDataSource" - runat="server" ConnectionString="<%$ ConnectionStrings:tcdbConnectionString %>" - SelectCommand="del_config" SelectCommandType="StoredProcedure"> - <SelectParameters> - <asp:Parameter Name="configID" Type="Int32" /> - </SelectParameters> - </asp:SqlDataSource> + </strong> <asp:ListBox ID="rightsList" runat="server"></asp:ListBox> </td> <td align="left" colspan="2" valign="top" width="33%"> </td> @@ -183,11 +177,11 @@ </HeaderTemplate> </asp:FormView> <asp:ObjectDataSource ID="RightsDataSource" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="GetData" - TypeName="tcdbDataSetTableAdapters.sel_rightsTableAdapter" DeleteMethod="Update" InsertMethod="Insert" UpdateMethod="Update"> + TypeName="tcdbDataSetTableAdapters.db_rightsTableAdapter" DeleteMethod="Update" InsertMethod="Insert" UpdateMethod="Update"> <SelectParameters> <asp:SessionParameter Name="rightsID" SessionField="id" Type="Int32" /> <asp:Parameter Name="rightsName" Type="String" /> - <asp:Parameter Name="active" Type="Boolean" /> + <asp:Parameter Name="active" Type="Boolean" DefaultValue="true" /> </SelectParameters> <DeleteParameters> <asp:Parameter Name="rightsID" Type="Int32" /> @@ -211,7 +205,7 @@ <asp:ObjectDataSource ID="RolesDataSource" runat="server" OldValuesParameterFormatString="original_{0}" - SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.sel_roleTableAdapter" InsertMethod="Insert" UpdateMethod="Update"> + SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.db_roleTableAdapter" InsertMethod="Insert" UpdateMethod="Update"> <UpdateParameters> <asp:Parameter Name="roleID" Type="Int32" /> <asp:Parameter Name="name" Type="String" /> @@ -221,7 +215,7 @@ <SelectParameters> <asp:Parameter Name="roleID" Type="Int32" /> <asp:Parameter Name="roleName" Type="String" /> - <asp:Parameter Name="active" Type="Boolean" /> + <asp:Parameter Name="active" Type="Boolean" DefaultValue="true" /> </SelectParameters> <InsertParameters> <asp:Parameter Name="name" Type="String" /> Modified: Website/Includes/Rights.ascx.cs =================================================================== --- Website/Includes/Rights.ascx.cs 2006-07-27 17:18:49 UTC (rev 227) +++ Website/Includes/Rights.ascx.cs 2006-07-27 18:44:20 UTC (rev 228) @@ -44,17 +44,13 @@ } protected void FormView1_ItemInserted(object sender, FormViewInsertedEventArgs e) { - /* - SqlDataAdapter DBAdapter = new SqlDataAdapter("SELECT MAX(rightsID) AS newID FROM rights", Master.DBConnection); - DataSet result = new DataSet(); - DBAdapter.Fill(result); - if (result.Tables.Count > 0 && result.Tables[0].Rows.Count > 0) - id = result.Tables[0].Rows[0]["newID"].ToString(); + tcdbDataSetTableAdapters.db_rightsTableAdapter rightsAdapter = new tcdbDataSetTableAdapters.db_rightsTableAdapter(); + tcdbDataSet.db_rightsDataTable rightsTable = rightsAdapter.GetData(null, e.Values["rightsName"].ToString(), true); + rightsID = rightsTable[rightsTable.Count - 1].rightsID; + updateRoles(); - Master.updateTree(); - Response.Redirect("~/RightsEdit.aspx?id=" + id); - */ + Response.Redirect("~/Right.aspx?"+Constants.CODE_RIGHT+"=" + rightsID); } protected void FormView1_ItemDeleted(object sender, FormViewDeletedEventArgs e) { Modified: Website/Includes/Roles.ascx =================================================================== --- Website/Includes/Roles.ascx 2006-07-27 17:18:49 UTC (rev 227) +++ Website/Includes/Roles.ascx 2006-07-27 18:44:20 UTC (rev 228) @@ -3,7 +3,7 @@ <asp:FormView ID="FormView1" runat="server" DataKeyNames="roleID" DataSourceID="RoleDataSource" OnItemDeleted="FormView1_ItemDeleted" OnItemInserted="FormView1_ItemInserted" - OnItemUpdated="FormView1_ItemUpdated" OnModeChanged="FormView1_ModeChanged" OnItemCommand="FormView1_ItemCommand"> + OnItemUpdated="FormView1_ItemUpdated" OnItemCommand="FormView1_ItemCommand"> <HeaderTemplate> <div align="left"> <h2> @@ -39,36 +39,34 @@ <strong>Products: <asp:DropDownList ID="productList" runat="server" AutoPostBack="True" DataSourceID="RoleProductDataSource" DataTextField="productName" DataValueField="productID" OnSelectedIndexChanged="productList_SelectedIndexChanged"> - </asp:DropDownList></strong> <asp:SqlDataSource ID="RoleProductDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:tcdbConnectionString %>" - SelectCommand="sel_roleProduct" SelectCommandType="StoredProcedure"> - <SelectParameters> - <asp:SessionParameter Name="roleID" SessionField="roleID" /> - <asp:Parameter Name="active" Type="Boolean" DefaultValue="true" /> - </SelectParameters> - </asp:SqlDataSource> + </asp:DropDownList><asp:ObjectDataSource ID="RoleProductDataSource" runat="server" + OldValuesParameterFormatString="original_{0}" SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.db_roleProductTableAdapter"> + <SelectParameters> + <asp:SessionParameter Name="roleID" SessionField="roleID" Type="Int32" /> + <asp:Parameter DefaultValue="true" Name="active" Type="Boolean" /> + </SelectParameters> + </asp:ObjectDataSource> + </strong> </td> <td colspan="2" align="left" valign="top" width="33%"> - <strong>Users:</strong><br /> <asp:ListBox ID="userList" runat="server" DataSourceID="RoleUserDataSource" DataTextField="fullName" DataValueField="userID"></asp:ListBox><asp:SqlDataSource - ID="RoleUserDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:tcdbConnectionString %>" - SelectCommand="sel_roleProductUser" SelectCommandType="StoredProcedure"> + <strong>Users:</strong><br /> <asp:ListBox ID="userList" runat="server" DataSourceID="RoleProductUserDataSource" DataTextField="fullName" DataValueField="userID"></asp:ListBox><asp:ObjectDataSource ID="RoleProductUserDataSource" runat="server" + OldValuesParameterFormatString="original_{0}" SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.db_roleProductUserTableAdapter"> <SelectParameters> - <asp:SessionParameter Name="roleID" SessionField="roleID" /> - <asp:ControlParameter ControlID="productList" Name="productID" PropertyName="SelectedValue" /> - <asp:Parameter Name="active" Type="Boolean" DefaultValue="true" /> + <asp:SessionParameter Name="roleID" SessionField="roleID" Type="Int32" /> + <asp:ControlParameter ControlID="productList" Name="productID" PropertyName="SelectedValue" + Type="Int32" /> + <asp:Parameter DefaultValue="true" Name="active" Type="Boolean" /> </SelectParameters> - </asp:SqlDataSource> + </asp:ObjectDataSource> </td> <td colspan="2" align="left" valign="top" width="34%"> - <strong>Rights:</strong><br /> <asp:ListBox ID="rightsList" runat="server"></asp:ListBox><asp:SqlDataSource ID="RoleRightsDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:tcdbConnectionString %>" - SelectCommand="sel_userRights" SelectCommandType="StoredProcedure"> + <strong>Rights:</strong><br /> <asp:ListBox ID="rightsList" runat="server" DataSourceID="RoleRightsDataSource" DataTextField="rightName" DataValueField="rightsID"></asp:ListBox><asp:ObjectDataSource ID="RoleRightsDataSource" runat="server" OldValuesParameterFormatString="original_{0}" + SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.db_roleRightTableAdapter"> <SelectParameters> - <asp:Parameter Name="userID" Type="Int32" /> - <asp:Parameter Name="productID" Type="Int32" /> - <asp:Parameter Name="rightsID" Type="Int32" /> - <asp:Parameter Name="rightsName" Type="String" /> - <asp:Parameter Name="active" Type="Boolean" /> + <asp:SessionParameter Name="roleID" SessionField="roleID" Type="Int32" /> + <asp:Parameter DefaultValue="true" Name="active" Type="Boolean" /> </SelectParameters> - </asp:SqlDataSource> + </asp:ObjectDataSource> </td> </tr> <tr> @@ -194,7 +192,14 @@ <td colspan="2" align="left" valign="top" width="34%"> <strong>Rights: <asp:LinkButton ID="newRight" runat="server" CommandName="newRight" OnCommand="newRight">New Right</asp:LinkButton><br /> - </strong> <asp:ListBox ID="rightsList" runat="server" DataSourceID="RightsDataSource" DataTextField="rightsName" DataValueField="rightsID" SelectionMode="Multiple"></asp:ListBox> + </strong> <asp:ListBox ID="rightsList" runat="server" DataSourceID="RoleRightsDataSource" DataTextField="rightName" DataValueField="rightsID" SelectionMode="Multiple"></asp:ListBox><asp:ObjectDataSource ID="RoleRightsDataSource" runat="server" OldValuesParameterFormatString="original_{0}" + SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.db_roleRightTableAdapter"> + <SelectParameters> + <asp:SessionParameter Name="roleID" SessionField="roleID" Type="Int32" /> + <asp:Parameter DefaultValue="true" Name="active" Type="Boolean" /> + </SelectParameters> + </asp:ObjectDataSource> + </td> </tr> <tr> Modified: Website/Includes/Roles.ascx.cs =================================================================== --- Website/Includes/Roles.ascx.cs 2006-07-27 17:18:49 UTC (rev 227) +++ Website/Includes/Roles.ascx.cs 2006-07-27 18:44:20 UTC (rev 228) @@ -1,13 +1,15 @@ using System; using System.Data; using System.Configuration; +using System.Collections; +using System.Collections.Generic; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; -using System.Collections.Generic; +using System.Data.SqlClient; using TCDB.Assignments; using TCDB.Common; using TCDB.Products; @@ -19,6 +21,7 @@ private static ILog m_logg = LogManager.GetLogger("Page:Roles"); int roleID = Convert.ToInt32(HttpContext.Current.Request.QueryString[Constants.CODE_ROLE]); String mode = HttpContext.Current.Request.QueryString["mode"]; + String product = HttpContext.Current.Request.QueryString[Constants.CODE_PRODUCT]; protected void Page_Load(object sender, EventArgs e) { @@ -88,54 +91,31 @@ } protected void FormView1_ItemInserted(object sender, FormViewInsertedEventArgs e) { - /* - SqlDataAdapter DBAdapter = new SqlDataAdapter("SELECT MAX(roleID) AS newID FROM role", Master.DBConnection); - DataSet result = new DataSet(); - DBAdapter.Fill(result); - if (result.Tables.Count > 0 && result.Tables[0].Rows.Count > 0) - id = result.Tables[0].Rows[0]["newID"].ToString(); + tcdbDataSetTableAdapters.db_roleTableAdapter roleAdapter = new tcdbDataSetTableAdapters.db_roleTableAdapter(); + tcdbDataSet.db_roleDataTable roleTable = roleAdapter.GetData(null, e.Values["roleName"].ToString(), true); + roleID = roleTable[roleTable.Count - 1].roleID; updateUserRoleProducts(); updateRoleRights(); - Response.Redirect("~/RoleEdit.aspx?id=" + id); - */ + Response.Redirect("~/Role.aspx?"+Constants.CODE_ROLE+"=" + roleID); } protected void FormView1_ItemDeleted(object sender, FormViewDeletedEventArgs e) { - /* - Master.updateTree(); - Response.Redirect("~/Admin.aspx"); - */ + Response.Redirect("~/Administration.aspx"); } protected void FormView1_ItemUpdated(object sender, FormViewUpdatedEventArgs e) { - /* updateUserRoleProducts(); updateRoleRights(); - Master.updateTree(); - */ + Response.Redirect("~/Role.aspx?" + Constants.CODE_ROLE + "=" + roleID); } - protected void FormView1_ModeChanged(object sender, EventArgs e) - { - /* - Panel notes = (Panel)Master.FindControl("noteViewPanel"); - - if (FormView1.CurrentMode == FormViewMode.Insert) - notes.Visible = false; - else - notes.Visible = true; - */ - } protected void FormView1_ItemCommand(object sender, FormViewCommandEventArgs e) { - /* if (FormView1.CurrentMode == FormViewMode.Insert && e.CommandName == "Cancel") - Response.Redirect("Admin.aspx"); - */ + Response.Redirect("~/Administration.aspx"); } protected void userList_DataBound(object sender, EventArgs e) { - /* Dictionary<String, ArrayList> ProductUsers = (Dictionary<String, ArrayList>)Session["ProductUsers"]; if (ProductUsers != null) @@ -151,46 +131,32 @@ userList.Items.FindByValue(userID).Selected = true; } } - */ } protected void rightsList_DataBound(object sender, EventArgs e) { - /* ListBox rightsList = (ListBox)sender; - SqlDataAdapter DBAdapter = new SqlDataAdapter("SELECT rightsID FROM roleRights WHERE roleID=" + id, Master.DBConnection); - DataSet result = new DataSet(); - DBAdapter.Fill(result); + tcdbDataSetTableAdapters.db_roleRightTableAdapter roleRightAdapter = new tcdbDataSetTableAdapters.db_roleRightTableAdapter(); + tcdbDataSet.db_roleRightDataTable roleRightTable = roleRightAdapter.GetData(roleID, true); - if (result.Tables.Count > 0 && result.Tables[0].Rows.Count > 0) - { - foreach (DataRow row in result.Tables[0].Rows) - rightsList.Items.FindByValue(row["rightsID"].ToString()).Selected = true; - } - */ + foreach (tcdbDataSet.db_roleRightRow row in roleRightTable) + rightsList.Items.FindByValue(row.rightsID.ToString()).Selected = true; } protected void addUsers(object sender, CommandEventArgs e) { - /* updateUserRoleProducts(); - */ } protected void newRight(object sender, CommandEventArgs e) { - /* - Response.Redirect("RightsEdit.aspx?mode=new&role=" + id); - */ + Response.Redirect("Right.aspx?mode=new&"+Constants.CODE_ROLE+"=" + roleID); } protected void productList_SelectedIndexChanged(object sender, EventArgs e) { - /* ListBox userList = (ListBox)FormView1.FindControl("userList"); userList.DataBind(); - */ } protected void userList_SelectedIndexChanged(object sender, EventArgs e) { - /* ListBox userList = (ListBox)sender; DropDownList productList = (DropDownList)FormView1.FindControl("productList"); Dictionary<String, ArrayList> ProductUsers = (Dictionary<String, ArrayList>)Session["ProductUsers"]; @@ -201,15 +167,11 @@ foreach (int index in indices) users.Add(userList.Items[index].Value); ProductUsers[productID] = users; - */ } protected void productListEdit_DataBound(object sender, EventArgs e) { - /* DropDownList productList = (DropDownList)sender; ListBox userList = (ListBox)FormView1.FindControl("userList"); - SqlDataAdapter DBAdapter = new SqlDataAdapter("", Master.DBConnection); - DataSet result = new DataSet(); // Init ProductUsers if (Session["ProductUsers"] == null) @@ -221,16 +183,12 @@ { ArrayList users = new ArrayList(); String productID = productItem.Value; - result.Clear(); - DBAdapter.SelectCommand.CommandText = "SELECT userID FROM UserRoleProduct WHERE roleID=" + id + " AND productID=" + productID; - DBAdapter.Fill(result); + tcdbDataSetTableAdapters.db_roleProductUserTableAdapter roleProductUserAdapter = new tcdbDataSetTableAdapters.db_roleProductUserTableAdapter(); + tcdbDataSet.db_roleProductUserDataTable roleProductUserTable = roleProductUserAdapter.GetData(roleID, Convert.ToInt32(productID), true); - if (result.Tables.Count > 0) - { - foreach (DataRow row in result.Tables[0].Rows) - users.Add(row["userID"].ToString()); - } + foreach (tcdbDataSet.db_roleProductUserRow row in roleProductUserTable) + users.Add(row.userID.ToString()); if (ProductUsers.ContainsKey(productID)) ProductUsers[productID] = users; @@ -240,11 +198,9 @@ if (product != null) productList.SelectedValue = product; userList.DataBind(); - */ } protected void productListInsert_DataBound(object sender, EventArgs e) { - /* DropDownList productList = (DropDownList)sender; // Initialize Product Users @@ -267,6 +223,5 @@ // Init productList if (product != null) productList.SelectedValue = product; - */ } } \ No newline at end of file Modified: Website/Includes/UserSettings.ascx =================================================================== --- Website/Includes/UserSettings.ascx 2006-07-27 17:18:49 UTC (rev 227) +++ Website/Includes/UserSettings.ascx 2006-07-27 18:44:20 UTC (rev 228) @@ -69,14 +69,15 @@ <div class="item"> <label> Roles:</label><br /> - <asp:ListBox ID="roleList" runat="server" Width="150px" Height="150px" DataSourceID="UserRolesDataSource" DataTextField="roleName" DataValueField="roleID" OnDataBound="roleList_DataBound"></asp:ListBox><asp:SqlDataSource ID="UserRolesDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:tcdbConnectionString %>" - SelectCommand="sel_roleUserProduct" SelectCommandType="StoredProcedure"> + <asp:ListBox ID="roleList" runat="server" Width="150px" Height="150px" DataSourceID="UserRolesDataSource" DataTextField="roleName" DataValueField="roleID"></asp:ListBox><asp:ObjectDataSource ID="UserRolesDataSource" runat="server" OldValuesParameterFormatString="original_{0}" + SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.db_roleUserProductTableAdapter"> <SelectParameters> <asp:SessionParameter Name="userID" SessionField="userID" Type="Int32" /> <asp:Parameter Name="productID" Type="Int32" /> <asp:Parameter DefaultValue="true" Name="active" Type="Boolean" /> </SelectParameters> - </asp:SqlDataSource> + </asp:ObjectDataSource> + </div> <div class="item"> <label> @@ -170,7 +171,7 @@ <div class="item"> <label> Roles:</label><br /> - <asp:ListBox ID="roleList" runat="server" Width="150px" Height="150px" DataSourceID="RolesDateSource" DataTextField="roleName" DataValueField="roleID"></asp:ListBox> + <asp:ListBox ID="roleList" runat="server" Width="150px" Height="150px" DataSourceID="RolesDataSource" DataTextField="roleName" DataValueField="roleID"></asp:ListBox> </div> <div class="item"> <label> @@ -279,6 +280,7 @@ </div> </InsertItemTemplate> </asp:FormView> + </div> <asp:ObjectDataSource ID="UserDataSource" runat="server" SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.db_usersTableAdapter" UpdateMethod="Update" InsertMethod="Insert"> @@ -308,11 +310,24 @@ <asp:Parameter Name="automation" Type="Boolean" /> </InsertParameters> </asp:ObjectDataSource> -<asp:SqlDataSource ID="RolesDateSource" runat="server" ConnectionString="<%$ ConnectionStrings:tcdbConnectionString %>" - SelectCommand="sel_role" SelectCommandType="StoredProcedure"> + +<asp:ObjectDataSource ID="RolesDataSource" runat="server" InsertMethod="Insert" OldValuesParameterFormatString="original_{0}" + SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.db_roleTableAdapter" + UpdateMethod="Update"> + <UpdateParameters> + <asp:Parameter Name="roleID" Type="Int32" /> + <asp:Parameter Name="name" Type="String" /> + <asp:Parameter Name="description" Type="String" /> + <asp:Parameter Name="active" Type="Boolean" /> + </UpdateParameters> <SelectParameters> <asp:Parameter Name="roleID" Type="Int32" /> <asp:Parameter Name="roleName" Type="String" /> <asp:Parameter DefaultValue="true" Name="active" Type="Boolean" /> </SelectParameters> -</asp:SqlDataSource> + <InsertParameters> + <asp:Parameter Name="name" Type="String" /> + <asp:Parameter Name="description" Type="String" /> + <asp:Parameter Name="active" Type="Boolean" /> + </InsertParameters> +</asp:ObjectDataSource> Modified: Website/Includes/UserSettings.ascx.cs =================================================================== --- Website/Includes/UserSettings.ascx.cs 2006-07-27 17:18:49 UTC (rev 227) +++ Website/Includes/UserSettings.ascx.cs 2006-07-27 18:44:20 UTC (rev 228) @@ -155,8 +155,4 @@ } } } - protected void roleList_DataBound(object sender, EventArgs e) - { - - } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2006-07-27 17:19:12
|
Revision: 227 Author: rouquin Date: 2006-07-27 10:18:49 -0700 (Thu, 27 Jul 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=227&view=rev Log Message: ----------- Updated Roles etc. Modified Paths: -------------- Website/App_Code/Common.cs Website/App_Code/tcdbDataSet.xsd Website/App_Code/tcdbDataSet.xss Website/Includes/AdministrationTree.ascx.cs Website/Includes/Rights.ascx Website/Includes/Rights.ascx.cs Website/Includes/UserSettings.ascx Website/Includes/UserSettings.ascx.cs Added Paths: ----------- Website/AdminRole.aspx Website/Includes/Roles.ascx Website/Includes/Roles.ascx.cs Website/Role.aspx Property Changed: ---------------- Design/Schema/ Screenshots/ WebPrototype/ WebPrototype/App_Themes/Python/Images/ WebPrototype/Bin/ WebPrototype/Images/ Website/ Website/Bin/ Property changes on: Design/Schema ___________________________________________________________________ Name: svn:ignore + Thumbs.db Property changes on: Screenshots ___________________________________________________________________ Name: svn:ignore + Thumbs.db Property changes on: WebPrototype ___________________________________________________________________ Name: svn:ignore + licenses.licx Property changes on: WebPrototype/App_Themes/Python/Images ___________________________________________________________________ Name: svn:ignore + Thumbs.db Property changes on: WebPrototype/Bin ___________________________________________________________________ Name: svn:ignore + App_Licenses.dll FreeTextBox.dll.refresh Microsoft.Web.Atlas.dll.refresh Property changes on: WebPrototype/Images ___________________________________________________________________ Name: svn:ignore + Thumbs.db Property changes on: Website ___________________________________________________________________ Name: svn:ignore - App_Data tcdb2006.log + App_Data tcdb2006.log licenses.licx tcdb2006.log.3 Added: Website/AdminRole.aspx =================================================================== --- Website/AdminRole.aspx (rev 0) +++ Website/AdminRole.aspx 2006-07-27 17:18:49 UTC (rev 227) @@ -0,0 +1,52 @@ +<%@ Page Language="C#" MasterPageFile="~/TCDB.master" AutoEventWireup="true" Title="TCDB: Administration" %> +<%@ Import Namespace="TCDB.Common" %> + +<%@ Register Src="~/Includes/AdministrationTree.ascx" TagPrefix="admin" TagName="Tree" %> + +<script runat="server"> + int product = Convert.ToInt32(HttpContext.Current.Request.QueryString[Constants.CODE_PRODUCT]); + + protected void Page_Load(object sender, EventArgs e) + { + } + protected void newRole(object sender, CommandEventArgs e) + { + Response.Redirect("Role.aspx?mode=new&" + Constants.CODE_PRODUCT + "=" + product); + } + protected void addRole(object sender, CommandEventArgs e) + { + Response.Redirect("Role.aspx?mode=edit&"+Constants.CODE_ROLE+"=" + roleList.SelectedValue + "&" + Constants.CODE_PRODUCT + "=" + product); + } + protected void newRight(object sender, CommandEventArgs e) + { + Response.Redirect("Right.aspx?mode=new"); + } +</script> + +<asp:Content ID="TreeContent" ContentPlaceHolderID="TreeContentPlaceHolder" runat="Server"> + <admin:Tree runat="server" ID="Tree" /> +</asp:Content> +<asp:Content ID="MainContent" ContentPlaceHolderID="MainContentPlaceHolder" runat="Server"> + <table width="700"> + <tr> + <td align="center" valign="middle" style="height: 101px"> + <asp:DropDownList ID="roleList" runat="server" DataSourceID="RoleDataSource" DataTextField="roleName" + DataValueField="roleID"> + </asp:DropDownList><asp:ObjectDataSource ID="RoleDataSource" runat="server" OldValuesParameterFormatString="original_{0}" + SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.db_roleUserProductTableAdapter"> + <SelectParameters> + <asp:Parameter Name="userID" Type="Int32" /> + <asp:SessionParameter Name="productID" SessionField="product" Type="Int32" /> + <asp:Parameter DefaultValue="true" Name="active" Type="Boolean" /> + </SelectParameters> + </asp:ObjectDataSource> + <asp:LinkButton ID="addRoleBtn" runat="server" CommandName="addRole" OnCommand="addRole">Add User Role</asp:LinkButton> + <br /> + <br /> + <asp:LinkButton ID="newRoleBtn" runat="server" CommandName="newRole" OnCommand="newRole">New User Role</asp:LinkButton> + <asp:LinkButton ID="newRightBtn" runat="server" CommandName="newRight" OnCommand="newRight">New Right</asp:LinkButton></td> + </tr> + </table> +</asp:Content> +<asp:Content ID="NotesContent" ContentPlaceHolderID="NotesContentPlaceHolder" runat="Server"> +</asp:Content> Modified: Website/App_Code/Common.cs =================================================================== --- Website/App_Code/Common.cs 2006-07-27 00:32:49 UTC (rev 226) +++ Website/App_Code/Common.cs 2006-07-27 17:18:49 UTC (rev 227) @@ -1205,6 +1205,8 @@ public static string CODE_WO = "wo"; public static string CODE_PRODUCT = "p"; public static string CODE_VERSION = "v"; + public static string CODE_RIGHT = "rt"; + public static string CODE_ROLE = "r"; // TODO: figure this one out //public static bool ASSIGNMENT_PRIORITY_ALL = null; Modified: Website/App_Code/tcdbDataSet.xsd =================================================================== --- Website/App_Code/tcdbDataSet.xsd 2006-07-27 00:32:49 UTC (rev 226) +++ Website/App_Code/tcdbDataSet.xsd 2006-07-27 17:18:49 UTC (rev 227) @@ -574,7 +574,7 @@ <Sources> </Sources> </TableAdapter> - <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="sel_rightsTableAdapter" GeneratorDataComponentClassName="sel_rightsTableAdapter" Name="sel_rights" UserDataComponentName="sel_rightsTableAdapter"> + <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="db_rightsTableAdapter" GeneratorDataComponentClassName="db_rightsTableAdapter" Name="db_rights" UserDataComponentName="db_rightsTableAdapter"> <MainSource> <DbSource ConnectionRef="tcdbConnectionString (Web.config)" DbObjectName="tcdb.dbo.sel_rights" DbObjectType="StoredProcedure" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="True" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="False" UserGetMethodName="GetData" UserSourceName="Fill"> <InsertCommand> @@ -635,7 +635,7 @@ <Sources> </Sources> </TableAdapter> - <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="sel_roleTableAdapter" GeneratorDataComponentClassName="sel_roleTableAdapter" Name="sel_role" UserDataComponentName="sel_roleTableAdapter"> + <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="db_roleTableAdapter" GeneratorDataComponentClassName="db_roleTableAdapter" Name="db_role" UserDataComponentName="db_roleTableAdapter"> <MainSource> <DbSource ConnectionRef="tcdbConnectionString (Web.config)" DbObjectName="tcdb.dbo.sel_role" DbObjectType="StoredProcedure" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="True" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="False" UserGetMethodName="GetData" UserSourceName="Fill"> <InsertCommand> @@ -696,6 +696,89 @@ <Sources> </Sources> </TableAdapter> + <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="db_roleProductUserTableAdapter" GeneratorDataComponentClassName="db_roleProductUserTableAdapter" Name="db_roleProductUser" UserDataComponentName="db_roleProductUserTableAdapter"> + <MainSource> + <DbSource ConnectionRef="tcdbConnectionString (Web.config)" DbObjectName="tcdb.dbo.sel_roleProductUser" DbObjectType="StoredProcedure" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="False" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="False" UserGetMethodName="GetData" UserSourceName="Fill"> + <SelectCommand> + <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> + <CommandText>dbo.sel_roleProductUser</CommandText> + <Parameters> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@roleID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@productID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@active" Precision="1" ProviderType="Bit" Scale="0" Size="1" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + </Parameters> + </DbCommand> + </SelectCommand> + </DbSource> + </MainSource> + <Mappings> + <Mapping SourceColumn="userID" DataSetColumn="userID" /> + <Mapping SourceColumn="fullName" DataSetColumn="fullName" /> + <Mapping SourceColumn="roleID" DataSetColumn="roleID" /> + <Mapping SourceColumn="productID" DataSetColumn="productID" /> + <Mapping SourceColumn="active" DataSetColumn="active" /> + </Mappings> + <Sources> + </Sources> + </TableAdapter> + <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="db_roleProductTableAdapter" GeneratorDataComponentClassName="db_roleProductTableAdapter" Name="db_roleProduct" UserDataComponentName="db_roleProductTableAdapter"> + <MainSource> + <DbSource ConnectionRef="tcdbConnectionString (Web.config)" DbObjectName="tcdb.dbo.sel_roleProduct" DbObjectType="StoredProcedure" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="False" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="False" UserGetMethodName="GetData" UserSourceName="Fill"> + <SelectCommand> + <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> + <CommandText>dbo.sel_roleProduct</CommandText> + <Parameters> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@roleID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@active" Precision="1" ProviderType="Bit" Scale="0" Size="1" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + </Parameters> + </DbCommand> + </SelectCommand> + </DbSource> + </MainSource> + <Mappings> + <Mapping SourceColumn="productID" DataSetColumn="productID" /> + <Mapping SourceColumn="productName" DataSetColumn="productName" /> + </Mappings> + <Sources> + </Sources> + </TableAdapter> + <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="db_roleUserProductTableAdapter" GeneratorDataComponentClassName="db_roleUserProductTableAdapter" Name="db_roleUserProduct" UserDataComponentName="db_roleUserProductTableAdapter"> + <MainSource> + <DbSource ConnectionRef="tcdbConnectionString (Web.config)" DbObjectName="tcdb.dbo.sel_roleUserProduct" DbObjectType="StoredProcedure" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="False" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="False" UserGetMethodName="GetData" UserSourceName="Fill"> + <SelectCommand> + <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> + <CommandText>dbo.sel_roleUserProduct</CommandText> + <Parameters> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@userID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@productID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@active" Precision="1" ProviderType="Bit" Scale="0" Size="1" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + </Parameters> + </DbCommand> + </SelectCommand> + </DbSource> + </MainSource> + <Mappings> + <Mapping SourceColumn="roleID" DataSetColumn="roleID" /> + <Mapping SourceColumn="roleName" DataSetColumn="roleName" /> + <Mapping SourceColumn="active" DataSetColumn="active" /> + </Mappings> + <Sources> + </Sources> + </TableAdapter> </Tables> <Sources> </Sources> @@ -708,172 +791,172 @@ <xs:element name="db_users" msprop:Generator_UserTableName="db_users" msprop:Generator_RowDeletedName="db_usersRowDeleted" msprop:Generator_RowChangedName="db_usersRowChanged" msprop:Generator_RowClassName="db_usersRow" msprop:Generator_RowChangingName="db_usersRowChanging" msprop:Generator_RowEvArgName="db_usersRowChangeEvent" msprop:Generator_RowEvHandlerName="db_usersRowChangeEventHandler" msprop:Generator_TableClassName="db_usersDataTable" msprop:Generator_TableVarName="tabledb_users" msprop:Generator_RowDeletingName="db_usersRowDeleting" msprop:Generator_TablePropName="db_users"> <xs:complexType> <xs:sequence> - <xs:element name="userID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="userID" msprop:Generator_ColumnPropNameInRow="userID" msprop:Generator_ColumnVarNameInTable="columnuserID" msprop:Generator_ColumnPropNameInTable="userIDColumn" type="xs:int" /> - <xs:element name="username" msprop:Generator_UserColumnName="username" msprop:Generator_ColumnPropNameInRow="username" msprop:Generator_ColumnVarNameInTable="columnusername" msprop:Generator_ColumnPropNameInTable="usernameColumn"> + <xs:element name="userID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="userID" msprop:Generator_ColumnVarNameInTable="columnuserID" msprop:Generator_ColumnPropNameInRow="userID" msprop:Generator_ColumnPropNameInTable="userIDColumn" type="xs:int" /> + <xs:element name="username" msprop:Generator_UserColumnName="username" msprop:Generator_ColumnVarNameInTable="columnusername" msprop:Generator_ColumnPropNameInRow="username" msprop:Generator_ColumnPropNameInTable="usernameColumn"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="email" msprop:Generator_UserColumnName="email" msprop:Generator_ColumnPropNameInRow="email" msprop:Generator_ColumnVarNameInTable="columnemail" msprop:Generator_ColumnPropNameInTable="emailColumn"> + <xs:element name="email" msprop:Generator_UserColumnName="email" msprop:Generator_ColumnVarNameInTable="columnemail" msprop:Generator_ColumnPropNameInRow="email" msprop:Generator_ColumnPropNameInTable="emailColumn"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="officePhone" msprop:Generator_UserColumnName="officePhone" msprop:Generator_ColumnPropNameInRow="officePhone" msprop:Generator_ColumnVarNameInTable="columnofficePhone" msprop:Generator_ColumnPropNameInTable="officePhoneColumn" minOccurs="0"> + <xs:element name="officePhone" msprop:Generator_UserColumnName="officePhone" msprop:Generator_ColumnVarNameInTable="columnofficePhone" msprop:Generator_ColumnPropNameInRow="officePhone" msprop:Generator_ColumnPropNameInTable="officePhoneColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="14" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="homePhone" msprop:Generator_UserColumnName="homePhone" msprop:Generator_ColumnPropNameInRow="homePhone" msprop:Generator_ColumnVarNameInTable="columnhomePhone" msprop:Generator_ColumnPropNameInTable="homePhoneColumn" minOccurs="0"> + <xs:element name="homePhone" msprop:Generator_UserColumnName="homePhone" msprop:Generator_ColumnVarNameInTable="columnhomePhone" msprop:Generator_ColumnPropNameInRow="homePhone" msprop:Generator_ColumnPropNameInTable="homePhoneColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="14" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="cellPhone" msprop:Generator_UserColumnName="cellPhone" msprop:Generator_ColumnPropNameInRow="cellPhone" msprop:Generator_ColumnVarNameInTable="columncellPhone" msprop:Generator_ColumnPropNameInTable="cellPhoneColumn" minOccurs="0"> + <xs:element name="cellPhone" msprop:Generator_UserColumnName="cellPhone" msprop:Generator_ColumnVarNameInTable="columncellPhone" msprop:Generator_ColumnPropNameInRow="cellPhone" msprop:Generator_ColumnPropNameInTable="cellPhoneColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="14" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="firstName" msprop:Generator_UserColumnName="firstName" msprop:Generator_ColumnPropNameInRow="firstName" msprop:Generator_ColumnVarNameInTable="columnfirstName" msprop:Generator_ColumnPropNameInTable="firstNameColumn"> + <xs:element name="firstName" msprop:Generator_UserColumnName="firstName" msprop:Generator_ColumnVarNameInTable="columnfirstName" msprop:Generator_ColumnPropNameInRow="firstName" msprop:Generator_ColumnPropNameInTable="firstNameColumn"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="24" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="lastName" msprop:Generator_UserColumnName="lastName" msprop:Generator_ColumnPropNameInRow="lastName" msprop:Generator_ColumnVarNameInTable="columnlastName" msprop:Generator_ColumnPropNameInTable="lastNameColumn"> + <xs:element name="lastName" msprop:Generator_UserColumnName="lastName" msprop:Generator_ColumnVarNameInTable="columnlastName" msprop:Generator_ColumnPropNameInRow="lastName" msprop:Generator_ColumnPropNameInTable="lastNameColumn"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="24" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="fullName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="fullName" msprop:Generator_ColumnPropNameInRow="fullName" msprop:Generator_ColumnVarNameInTable="columnfullName" msprop:Generator_ColumnPropNameInTable="fullNameColumn" minOccurs="0"> + <xs:element name="fullName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="fullName" msprop:Generator_ColumnVarNameInTable="columnfullName" msprop:Generator_ColumnPropNameInRow="fullName" msprop:Generator_ColumnPropNameInTable="fullNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="automation" msprop:Generator_UserColumnName="automation" msprop:Generator_ColumnPropNameInRow="automation" msprop:Generator_ColumnVarNameInTable="columnautomation" msprop:Generator_ColumnPropNameInTable="automationColumn" type="xs:boolean" /> + <xs:element name="automation" msprop:Generator_UserColumnName="automation" msprop:Generator_ColumnVarNameInTable="columnautomation" msprop:Generator_ColumnPropNameInRow="automation" msprop:Generator_ColumnPropNameInTable="automationColumn" type="xs:boolean" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_products" msprop:Generator_UserTableName="db_products" msprop:Generator_RowDeletedName="db_productsRowDeleted" msprop:Generator_RowChangedName="db_productsRowChanged" msprop:Generator_RowClassName="db_productsRow" msprop:Generator_RowChangingName="db_productsRowChanging" msprop:Generator_RowEvArgName="db_productsRowChangeEvent" msprop:Generator_RowEvHandlerName="db_productsRowChangeEventHandler" msprop:Generator_TableClassName="db_productsDataTable" msprop:Generator_TableVarName="tabledb_products" msprop:Generator_RowDeletingName="db_productsRowDeleting" msprop:Generator_TablePropName="db_products"> <xs:complexType> <xs:sequence> - <xs:element name="productID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" /> - <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> + <xs:element name="productID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" /> + <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> + <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="devManager" msprop:Generator_UserColumnName="devManager" msprop:Generator_ColumnPropNameInRow="devManager" msprop:Generator_ColumnVarNameInTable="columndevManager" msprop:Generator_ColumnPropNameInTable="devManagerColumn" type="xs:int" minOccurs="0" /> - <xs:element name="qaManager" msprop:Generator_UserColumnName="qaManager" msprop:Generator_ColumnPropNameInRow="qaManager" msprop:Generator_ColumnVarNameInTable="columnqaManager" msprop:Generator_ColumnPropNameInTable="qaManagerColumn" type="xs:int" minOccurs="0" /> - <xs:element name="devLead" msprop:Generator_UserColumnName="devLead" msprop:Generator_ColumnPropNameInRow="devLead" msprop:Generator_ColumnVarNameInTable="columndevLead" msprop:Generator_ColumnPropNameInTable="devLeadColumn" type="xs:int" minOccurs="0" /> - <xs:element name="qaLead" msprop:Generator_UserColumnName="qaLead" msprop:Generator_ColumnPropNameInRow="qaLead" msprop:Generator_ColumnVarNameInTable="columnqaLead" msprop:Generator_ColumnPropNameInTable="qaLeadColumn" type="xs:int" minOccurs="0" /> - <xs:element name="pm" msprop:Generator_UserColumnName="pm" msprop:Generator_ColumnPropNameInRow="pm" msprop:Generator_ColumnVarNameInTable="columnpm" msprop:Generator_ColumnPropNameInTable="pmColumn" type="xs:int" minOccurs="0" /> - <xs:element name="codeName" msprop:Generator_UserColumnName="codeName" msprop:Generator_ColumnPropNameInRow="codeName" msprop:Generator_ColumnVarNameInTable="columncodeName" msprop:Generator_ColumnPropNameInTable="codeNameColumn" minOccurs="0"> + <xs:element name="devManager" msprop:Generator_UserColumnName="devManager" msprop:Generator_ColumnVarNameInTable="columndevManager" msprop:Generator_ColumnPropNameInRow="devManager" msprop:Generator_ColumnPropNameInTable="devManagerColumn" type="xs:int" minOccurs="0" /> + <xs:element name="qaManager" msprop:Generator_UserColumnName="qaManager" msprop:Generator_ColumnVarNameInTable="columnqaManager" msprop:Generator_ColumnPropNameInRow="qaManager" msprop:Generator_ColumnPropNameInTable="qaManagerColumn" type="xs:int" minOccurs="0" /> + <xs:element name="devLead" msprop:Generator_UserColumnName="devLead" msprop:Generator_ColumnVarNameInTable="columndevLead" msprop:Generator_ColumnPropNameInRow="devLead" msprop:Generator_ColumnPropNameInTable="devLeadColumn" type="xs:int" minOccurs="0" /> + <xs:element name="qaLead" msprop:Generator_UserColumnName="qaLead" msprop:Generator_ColumnVarNameInTable="columnqaLead" msprop:Generator_ColumnPropNameInRow="qaLead" msprop:Generator_ColumnPropNameInTable="qaLeadColumn" type="xs:int" minOccurs="0" /> + <xs:element name="pm" msprop:Generator_UserColumnName="pm" msprop:Generator_ColumnVarNameInTable="columnpm" msprop:Generator_ColumnPropNameInRow="pm" msprop:Generator_ColumnPropNameInTable="pmColumn" type="xs:int" minOccurs="0" /> + <xs:element name="codeName" msprop:Generator_UserColumnName="codeName" msprop:Generator_ColumnVarNameInTable="columncodeName" msprop:Generator_ColumnPropNameInRow="codeName" msprop:Generator_ColumnPropNameInTable="codeNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="10" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> + <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_actionItems" msprop:Generator_UserTableName="db_actionItems" msprop:Generator_RowDeletedName="db_actionItemsRowDeleted" msprop:Generator_RowChangedName="db_actionItemsRowChanged" msprop:Generator_RowClassName="db_actionItemsRow" msprop:Generator_RowChangingName="db_actionItemsRowChanging" msprop:Generator_RowEvArgName="db_actionItemsRowChangeEvent" msprop:Generator_RowEvHandlerName="db_actionItemsRowChangeEventHandler" msprop:Generator_TableClassName="db_actionItemsDataTable" msprop:Generator_TableVarName="tabledb_actionItems" msprop:Generator_RowDeletingName="db_actionItemsRowDeleting" msprop:Generator_TablePropName="db_actionItems"> <xs:complexType> <xs:sequence> - <xs:element name="actionItemID" msprop:Generator_UserColumnName="actionItemID" msprop:Generator_ColumnVarNameInTable="columnactionItemID" msprop:Generator_ColumnPropNameInRow="actionItemID" msprop:Generator_ColumnPropNameInTable="actionItemIDColumn" type="xs:int" /> - <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> + <xs:element name="actionItemID" msprop:Generator_UserColumnName="actionItemID" msprop:Generator_ColumnPropNameInRow="actionItemID" msprop:Generator_ColumnVarNameInTable="columnactionItemID" msprop:Generator_ColumnPropNameInTable="actionItemIDColumn" type="xs:int" /> + <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> + <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="dateAssigned" msprop:Generator_UserColumnName="dateAssigned" msprop:Generator_ColumnVarNameInTable="columndateAssigned" msprop:Generator_ColumnPropNameInRow="dateAssigned" msprop:Generator_ColumnPropNameInTable="dateAssignedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="dateDue" msprop:Generator_UserColumnName="dateDue" msprop:Generator_ColumnVarNameInTable="columndateDue" msprop:Generator_ColumnPropNameInRow="dateDue" msprop:Generator_ColumnPropNameInTable="dateDueColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="percentComplete" msprop:Generator_UserColumnName="percentComplete" msprop:Generator_ColumnVarNameInTable="columnpercentComplete" msprop:Generator_ColumnPropNameInRow="percentComplete" msprop:Generator_ColumnPropNameInTable="percentCompleteColumn" type="xs:int" minOccurs="0" /> - <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> + <xs:element name="dateAssigned" msprop:Generator_UserColumnName="dateAssigned" msprop:Generator_ColumnPropNameInRow="dateAssigned" msprop:Generator_ColumnVarNameInTable="columndateAssigned" msprop:Generator_ColumnPropNameInTable="dateAssignedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="dateDue" msprop:Generator_UserColumnName="dateDue" msprop:Generator_ColumnPropNameInRow="dateDue" msprop:Generator_ColumnVarNameInTable="columndateDue" msprop:Generator_ColumnPropNameInTable="dateDueColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="percentComplete" msprop:Generator_UserColumnName="percentComplete" msprop:Generator_ColumnPropNameInRow="percentComplete" msprop:Generator_ColumnVarNameInTable="columnpercentComplete" msprop:Generator_ColumnPropNameInTable="percentCompleteColumn" type="xs:int" minOccurs="0" /> + <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="createdBy" msdata:ReadOnly="true" msprop:Generator_UserColumnName="createdBy" msprop:Generator_ColumnVarNameInTable="columncreatedBy" msprop:Generator_ColumnPropNameInRow="createdBy" msprop:Generator_ColumnPropNameInTable="createdByColumn" minOccurs="0"> + <xs:element name="createdBy" msdata:ReadOnly="true" msprop:Generator_UserColumnName="createdBy" msprop:Generator_ColumnPropNameInRow="createdBy" msprop:Generator_ColumnVarNameInTable="columncreatedBy" msprop:Generator_ColumnPropNameInTable="createdByColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="highPriority" msprop:Generator_UserColumnName="highPriority" msprop:Generator_ColumnVarNameInTable="columnhighPriority" msprop:Generator_ColumnPropNameInRow="highPriority" msprop:Generator_ColumnPropNameInTable="highPriorityColumn" type="xs:boolean" minOccurs="0" /> - <xs:element name="testPass" msprop:Generator_UserColumnName="testPass" msprop:Generator_ColumnPropNameInRow="testPass" msprop:Generator_ColumnVarNameInTable="columntestPass" msprop:Generator_ColumnPropNameInTable="testPassColumn" minOccurs="0"> + <xs:element name="highPriority" msprop:Generator_UserColumnName="highPriority" msprop:Generator_ColumnPropNameInRow="highPriority" msprop:Generator_ColumnVarNameInTable="columnhighPriority" msprop:Generator_ColumnPropNameInTable="highPriorityColumn" type="xs:boolean" minOccurs="0" /> + <xs:element name="testPass" msprop:Generator_UserColumnName="testPass" msprop:Generator_ColumnVarNameInTable="columntestPass" msprop:Generator_ColumnPropNameInRow="testPass" msprop:Generator_ColumnPropNameInTable="testPassColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="dateFinished" msprop:Generator_UserColumnName="dateFinished" msprop:Generator_ColumnPropNameInRow="dateFinished" msprop:Generator_ColumnVarNameInTable="columndateFinished" msprop:Generator_ColumnPropNameInTable="dateFinishedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="assignedID" msprop:Generator_UserColumnName="assignedID" msprop:Generator_ColumnPropNameInRow="assignedID" msprop:Generator_ColumnVarNameInTable="columnassignedID" msprop:Generator_ColumnPropNameInTable="assignedIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="assigned" msdata:ReadOnly="true" msprop:Generator_UserColumnName="assigned" msprop:Generator_ColumnPropNameInRow="assigned" msprop:Generator_ColumnVarNameInTable="columnassigned" msprop:Generator_ColumnPropNameInTable="assignedColumn" minOccurs="0"> + <xs:element name="dateFinished" msprop:Generator_UserColumnName="dateFinished" msprop:Generator_ColumnVarNameInTable="columndateFinished" msprop:Generator_ColumnPropNameInRow="dateFinished" msprop:Generator_ColumnPropNameInTable="dateFinishedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="assignedID" msprop:Generator_UserColumnName="assignedID" msprop:Generator_ColumnVarNameInTable="columnassignedID" msprop:Generator_ColumnPropNameInRow="assignedID" msprop:Generator_ColumnPropNameInTable="assignedIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="assigned" msdata:ReadOnly="true" msprop:Generator_UserColumnName="assigned" msprop:Generator_ColumnVarNameInTable="columnassigned" msprop:Generator_ColumnPropNameInRow="assigned" msprop:Generator_ColumnPropNameInTable="assignedColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="statusID" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="testPassID" msprop:Generator_UserColumnName="testPassID" msprop:Generator_ColumnVarNameInTable="columntestPassID" msprop:Generator_ColumnPropNameInRow="testPassID" msprop:Generator_ColumnPropNameInTable="testPassIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> - <xs:element name="creatorID" msprop:Generator_UserColumnName="creatorID" msprop:Generator_ColumnVarNameInTable="columncreatorID" msprop:Generator_ColumnPropNameInRow="creatorID" msprop:Generator_ColumnPropNameInTable="creatorIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="statusID" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="testPassID" msprop:Generator_UserColumnName="testPassID" msprop:Generator_ColumnPropNameInRow="testPassID" msprop:Generator_ColumnVarNameInTable="columntestPassID" msprop:Generator_ColumnPropNameInTable="testPassIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> + <xs:element name="creatorID" msprop:Generator_UserColumnName="creatorID" msprop:Generator_ColumnPropNameInRow="creatorID" msprop:Generator_ColumnVarNameInTable="columncreatorID" msprop:Generator_ColumnPropNameInTable="creatorIDColumn" type="xs:int" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_status" msprop:Generator_UserTableName="db_status" msprop:Generator_RowDeletedName="db_statusRowDeleted" msprop:Generator_RowChangedName="db_statusRowChanged" msprop:Generator_RowClassName="db_statusRow" msprop:Generator_RowChangingName="db_statusRowChanging" msprop:Generator_RowEvArgName="db_statusRowChangeEvent" msprop:Generator_RowEvHandlerName="db_statusRowChangeEventHandler" msprop:Generator_TableClassName="db_statusDataTable" msprop:Generator_TableVarName="tabledb_status" msprop:Generator_RowDeletingName="db_statusRowDeleting" msprop:Generator_TablePropName="db_status"> <xs:complexType> <xs:sequence> - <xs:element name="statusID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" /> - <xs:element name="Description" msprop:Generator_UserColumnName="Description" msprop:Generator_ColumnPropNameInRow="Description" msprop:Generator_ColumnVarNameInTable="columnDescription" msprop:Generator_ColumnPropNameInTable="DescriptionColumn" minOccurs="0"> + <xs:element name="statusID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" /> + <xs:element name="Description" msprop:Generator_UserColumnName="Description" msprop:Generator_ColumnVarNameInTable="columnDescription" msprop:Generator_ColumnPropNameInRow="Description" msprop:Generator_ColumnPropNameInTable="DescriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> + <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> @@ -886,113 +969,113 @@ <xs:element name="db_notes" msprop:Generator_UserTableName="db_notes" msprop:Generator_RowDeletedName="db_notesRowDeleted" msprop:Generator_RowChangedName="db_notesRowChanged" msprop:Generator_RowClassName="db_notesRow" msprop:Generator_RowChangingName="db_notesRowChanging" msprop:Generator_RowEvArgName="db_notesRowChangeEvent" msprop:Generator_RowEvHandlerName="db_notesRowChangeEventHandler" msprop:Generator_TableClassName="db_notesDataTable" msprop:Generator_TableVarName="tabledb_notes" msprop:Generator_RowDeletingName="db_notesRowDeleting" msprop:Generator_TablePropName="db_notes"> <xs:complexType> <xs:sequence> - <xs:element name="noteID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="noteID" msprop:Generator_ColumnPropNameInRow="noteID" msprop:Generator_ColumnVarNameInTable="columnnoteID" msprop:Generator_ColumnPropNameInTable="noteIDColumn" type="xs:int" /> - <xs:element name="dateCreated" msprop:Generator_UserColumnName="dateCreated" msprop:Generator_ColumnPropNameInRow="dateCreated" msprop:Generator_ColumnVarNameInTable="columndateCreated" msprop:Generator_ColumnPropNameInTable="dateCreatedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="noteField" msprop:Generator_UserColumnName="noteField" msprop:Generator_ColumnPropNameInRow="noteField" msprop:Generator_ColumnVarNameInTable="columnnoteField" msprop:Generator_ColumnPropNameInTable="noteFieldColumn" minOccurs="0"> + <xs:element name="noteID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="noteID" msprop:Generator_ColumnVarNameInTable="columnnoteID" msprop:Generator_ColumnPropNameInRow="noteID" msprop:Generator_ColumnPropNameInTable="noteIDColumn" type="xs:int" /> + <xs:element name="dateCreated" msprop:Generator_UserColumnName="dateCreated" msprop:Generator_ColumnVarNameInTable="columndateCreated" msprop:Generator_ColumnPropNameInRow="dateCreated" msprop:Generator_ColumnPropNameInTable="dateCreatedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="noteField" msprop:Generator_UserColumnName="noteField" msprop:Generator_ColumnVarNameInTable="columnnoteField" msprop:Generator_ColumnPropNameInRow="noteField" msprop:Generator_ColumnPropNameInTable="noteFieldColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="noteAuthor" msprop:Generator_UserColumnName="noteAuthor" msprop:Generator_ColumnPropNameInRow="noteAuthor" msprop:Generator_ColumnVarNameInTable="columnnoteAuthor" msprop:Generator_ColumnPropNameInTable="noteAuthorColumn" type="xs:int" minOccurs="0" /> + <xs:element name="noteAuthor" msprop:Generator_UserColumnName="noteAuthor" msprop:Generator_ColumnVarNameInTable="columnnoteAuthor" msprop:Generator_ColumnPropNameInRow="noteAuthor" msprop:Generator_ColumnPropNameInTable="noteAuthorColumn" type="xs:int" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_assignments" msprop:Generator_UserTableName="db_assignments" msprop:Generator_RowDeletedName="db_assignmentsRowDeleted" msprop:Generator_RowChangedName="db_assignmentsRowChanged" msprop:Generator_RowClassName="db_assignmentsRow" msprop:Generator_RowChangingName="db_assignmentsRowChanging" msprop:Generator_RowEvArgName="db_assignmentsRowChangeEvent" msprop:Generator_RowEvHandlerName="db_assignmentsRowChangeEventHandler" msprop:Generator_TableClassName="db_assignmentsDataTable" msprop:Generator_TableVarName="tabledb_assignments" msprop:Generator_RowDeletingName="db_assignmentsRowDeleting" msprop:Generator_TablePropName="db_assignments"> <xs:complexType> <xs:sequence> - <xs:element name="aType" msdata:ReadOnly="true" msprop:Generator_UserColumnName="aType" msprop:Generator_ColumnPropNameInRow="aType" msprop:Generator_ColumnVarNameInTable="columnaType" msprop:Generator_ColumnPropNameInTable="aTypeColumn" minOccurs="0"> + <xs:element name="aType" msdata:ReadOnly="true" msprop:Generator_UserColumnName="aType" msprop:Generator_ColumnVarNameInTable="columnaType" msprop:Generator_ColumnPropNameInRow="aType" msprop:Generator_ColumnPropNameInTable="aTypeColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="childID" msdata:ReadOnly="true" msprop:Generator_UserColumnName="childID" msprop:Generator_ColumnPropNameInRow="childID" msprop:Generator_ColumnVarNameInTable="columnchildID" msprop:Generator_ColumnPropNameInTable="childIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="creator" msdata:ReadOnly="true" msprop:Generator_UserColumnName="creator" msprop:Generator_ColumnPropNameInRow="creator" msprop:Generator_ColumnVarNameInTable="columncreator" msprop:Generator_ColumnPropNameInTable="creatorColumn" minOccurs="0"> + <xs:element name="childID" msdata:ReadOnly="true" msprop:Generator_UserColumnName="childID" msprop:Generator_ColumnVarNameInTable="columnchildID" msprop:Generator_ColumnPropNameInRow="childID" msprop:Generator_ColumnPropNameInTable="childIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="creator" msdata:ReadOnly="true" msprop:Generator_UserColumnName="creator" msprop:Generator_ColumnVarNameInTable="columncreator" msprop:Generator_ColumnPropNameInRow="creator" msprop:Generator_ColumnPropNameInTable="creatorColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="assigned" msdata:ReadOnly="true" msprop:Generator_UserColumnName="assigned" msprop:Generator_ColumnPropNameInRow="assigned" msprop:Generator_ColumnVarNameInTable="columnassigned" msprop:Generator_ColumnPropNameInTable="assignedColumn" minOccurs="0"> + <xs:element name="assigned" msdata:ReadOnly="true" msprop:Generator_UserColumnName="assigned" msprop:Generator_ColumnVarNameInTable="columnassigned" msprop:Generator_ColumnPropNameInRow="assigned" msprop:Generator_ColumnPropNameInTable="assignedColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="assignedID" msprop:Generator_UserColumnName="assignedID" msprop:Generator_ColumnPropNameInRow="assignedID" msprop:Generator_ColumnVarNameInTable="columnassignedID" msprop:Generator_ColumnPropNameInTable="assignedIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="dateAssigned" msprop:Generator_UserColumnName="dateAssigned" msprop:Generator_ColumnPropNameInRow="dateAssigned" msprop:Generator_ColumnVarNameInTable="columndateAssigned" msprop:Generator_ColumnPropNameInTable="dateAssignedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="dateDue" msprop:Generator_UserColumnName="dateDue" msprop:Generator_ColumnPropNameInRow="dateDue" msprop:Generator_ColumnVarNameInTable="columndateDue" msprop:Generator_ColumnPropNameInTable="dateDueColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="dateFinished" msprop:Generator_UserColumnName="dateFinished" msprop:Generator_ColumnPropNameInRow="dateFinished" msprop:Generator_ColumnVarNameInTable="columndateFinished" msprop:Generator_ColumnPropNameInTable="dateFinishedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="highPriority" msprop:Generator_UserColumnName="highPriority" msprop:Generator_ColumnPropNameInRow="highPriority" msprop:Generator_ColumnVarNameInTable="columnhighPriority" msprop:Generator_ColumnPropNameInTable="highPriorityColumn" type="xs:boolean" minOccurs="0" /> - <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> + <xs:element name="assignedID" msprop:Generator_UserColumnName="assignedID" msprop:Generator_ColumnVarNameInTable="columnassignedID" msprop:Generator_ColumnPropNameInRow="assignedID" msprop:Generator_ColumnPropNameInTable="assignedIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="dateAssigned" msprop:Generator_UserColumnName="dateAssigned" msprop:Generator_ColumnVarNameInTable="columndateAssigned" msprop:Generator_ColumnPropNameInRow="dateAssigned" msprop:Generator_ColumnPropNameInTable="dateAssignedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="dateDue" msprop:Generator_UserColumnName="dateDue" msprop:Generator_ColumnVarNameInTable="columndateDue" msprop:Generator_ColumnPropNameInRow="dateDue" msprop:Generator_ColumnPropNameInTable="dateDueColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="dateFinished" msprop:Generator_UserColumnName="dateFinished" msprop:Generator_ColumnVarNameInTable="columndateFinished" msprop:Generator_ColumnPropNameInRow="dateFinished" msprop:Generator_ColumnPropNameInTable="dateFinishedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="highPriority" msprop:Generator_UserColumnName="highPriority" msprop:Generator_ColumnVarNameInTable="columnhighPriority" msprop:Generator_ColumnPropNameInRow="highPriority" msprop:Generator_ColumnPropNameInTable="highPriorityColumn" type="xs:boolean" minOccurs="0" /> + <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="WOTotalTest" msprop:Generator_UserColumnName="WOTotalTest" msprop:Generator_ColumnPropNameInRow="WOTotalTest" msprop:Generator_ColumnVarNameInTable="columnWOTotalTest" msprop:Generator_ColumnPropNameInTable="WOTotalTestColumn" type="xs:int" minOccurs="0" /> - <xs:element name="WOPassRate" msdata:ReadOnly="true" msprop:Generator_UserColumnName="WOPassRate" msprop:Generator_ColumnPropNameInRow="WOPassRate" msprop:Generator_ColumnVarNameInTable="columnWOPassRate" msprop:Generator_ColumnPropNameInTable="WOPassRateColumn" minOccurs="0"> + <xs:element name="WOTotalTest" msprop:Generator_UserColumnName="WOTotalTest" msprop:Generator_ColumnVarNameInTable="columnWOTotalTest" msprop:Generator_ColumnPropNameInRow="WOTotalTest" msprop:Generator_ColumnPropNameInTable="WOTotalTestColumn" type="xs:int" minOccurs="0" /> + <xs:element name="WOPassRate" msdata:ReadOnly="true" msprop:Generator_UserColumnName="WOPassRate" msprop:Generator_ColumnVarNameInTable="columnWOPassRate" msprop:Generator_ColumnPropNameInRow="WOPassRate" msprop:Generator_ColumnPropNameInTable="WOPassRateColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="31" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="WOPass" msprop:Generator_UserColumnName="WOPass" msprop:Generator_ColumnPropNameInRow="WOPass" msprop:Generator_ColumnVarNameInTable="columnWOPass" msprop:Generator_ColumnPropNameInTable="WOPassColumn" type="xs:int" minOccurs="0" /> - <xs:element name="WOFail" msprop:Generator_UserColumnName="WOFail" msprop:Generator_ColumnPropNameInRow="WOFail" msprop:Generator_ColumnVarNameInTable="columnWOFail" msprop:Generator_ColumnPropNameInTable="WOFailColumn" type="xs:int" minOccurs="0" /> - <xs:element name="WOError" msprop:Generator_UserColumnName="WOError" msprop:Generator_ColumnPropNameInRow="WOError" msprop:Generator_ColumnVarNameInTable="columnWOError" msprop:Generator_ColumnPropNameInTable="WOErrorColumn" type="xs:int" minOccurs="0" /> - <xs:element name="aName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="aName" msprop:Generator_ColumnPropNameInRow="aName" msprop:Generator_ColumnVarNameInTable="columnaName" msprop:Generator_ColumnPropNameInTable="aNameColumn" minOccurs="0"> + <xs:element name="WOPass" msprop:Generator_UserColumnName="WOPass" msprop:Generator_ColumnVarNameInTable="columnWOPass" msprop:Generator_ColumnPropNameInRow="WOPass" msprop:Generator_ColumnPropNameInTable="WOPassColumn" type="xs:int" minOccurs="0" /> + <xs:element name="WOFail" msprop:Generator_UserColumnName="WOFail" msprop:Generator_ColumnVarNameInTable="columnWOFail" msprop:Generator_ColumnPropNameInRow="WOFail" msprop:Generator_ColumnPropNameInTable="WOFailColumn" type="xs:int" minOccurs="0" /> + <xs:element name="WOError" msprop:Generator_UserColumnName="WOError" msprop:Generator_ColumnVarNameInTable="columnWOError" msprop:Generator_ColumnPropNameInRow="WOError" msprop:Generator_ColumnPropNameInTable="WOErrorColumn" type="xs:int" minOccurs="0" /> + <xs:element name="aName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="aName" msprop:Generator_ColumnVarNameInTable="columnaName" msprop:Generator_ColumnPropNameInRow="aName" msprop:Generator_ColumnPropNameInTable="aNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - ... [truncated message content] |
From: <ro...@us...> - 2006-07-27 02:46:23
|
Revision: 223 Author: rouquin Date: 2006-07-26 10:17:24 -0700 (Wed, 26 Jul 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=223&view=rev Log Message: ----------- Filters are now initialized from the user configuraton settings. Modified Paths: -------------- Schema/Config Schema.xls Website/App_Code/Common.cs Website/App_Code/Users.cs Website/Includes/Assignments.ascx Website/Includes/Assignments.ascx.cs Website/Includes/UserConfig.ascx.cs Modified: Schema/Config Schema.xls =================================================================== (Binary files differ) Modified: Website/App_Code/Common.cs =================================================================== --- Website/App_Code/Common.cs 2006-07-26 14:32:35 UTC (rev 222) +++ Website/App_Code/Common.cs 2006-07-26 17:17:24 UTC (rev 223) @@ -537,10 +537,10 @@ return settings; } - public static Dictionary<String,List<Config> > GetUserSettings() + public static Dictionary<String, List<Config>> GetUserSettings() { Dictionary<String, List<Config>> settings = new Dictionary<string, List<Config>>(); - Dictionary<String,String> values; + Dictionary<String, String> values; List<Config> group; // Start clean @@ -632,21 +632,343 @@ // add group settings.Add("email", group); + // ------------------------------------------------ + // filter group + // ------------------------------------------------ + group = new List<Config>(); + + // filter_enable_type_filter + values = new Dictionary<String, String>(); + group.Add(new Config("filter_enable_type_filter", + "Enable filtering by type", + "bool", + values, + "", + false, + 1, + "filter", + "true", + "specify if you want assignment type filtering")); + + // filter_show_action_items + values = new Dictionary<String, String>(); + group.Add(new Config("filter_show_action_items", + "Show Action Items", + "bool", + values, + "", + false, + 2, + "filter", + "true", + "Specify if you want to see Action Items by default")); + + // filter_show_work_orders + values = new Dictionary<String, String>(); + group.Add(new Config("filter_show_work_orders", + "Show Work Orders", + "bool", + values, + "", + false, + 3, + "filter", + "true", + "Specify if you want to see Work Orders by default")); + + // filter_enable_status_filter + values = new Dictionary<String, String>(); + group.Add(new Config("filter_enable_status_filter", + "Show Work Orders", + "bool", + values, + "", + false, + 4, + "filter", + "true", + "Specify if you want status filtering")); + + // filter_show_ai_active + values = new Dictionary<String, String>(); + group.Add(new Config("filter_show_ai_active", + "Show Active Action Items", + "bool", + values, + "", + false, + 5, + "filter", + "true", + "Specify if you want to see Active Action Items by default")); + + // filter_show_ai_inactive + values = new Dictionary<String, String>(); + group.Add(new Config("filter_show_ai_inactive", + "Show Inactive Action Items", + "bool", + values, + "", + false, + 6, + "filter", + "false", + "Specify if you want to see Inactive Action Items by default")); + + // filter_show_ai_complete + values = new Dictionary<String, String>(); + group.Add(new Config("filter_show_ai_complete", + "Show Complete Action Items", + "bool", + values, + "", + false, + 7, + "filter", + "false", + "Specify if you want to see Completed Action Items by default")); + + // filter_show_ai_not_started + values = new Dictionary<String, String>(); + group.Add(new Config("filter_show_ai_not_started", + "Show Not Started Action Items", + "bool", + values, + "", + false, + 8, + "filter", + "true", + "Specify if you want to see Not Started Action Items by default")); + + + + // filter_show_wo_active + values = new Dictionary<String, String>(); + group.Add(new Config("filter_show_wo_active", + "Show Active Work Orders", + "bool", + values, + "", + false, + 9, + "filter", + "true", + "Show Active Work Orders")); + + // filter_show_wo_inactive + values = new Dictionary<String, String>(); + group.Add(new Config("filter_show_wo_inactive", + "Show Inactive Work Orders", + "bool", + values, + "", + false, + 10, + "filter", + "false", + "Specify if you want to see Inactive Work Orders by default")); + + // filter_show_wo_complete + values = new Dictionary<String, String>(); + group.Add(new Config("filter_show_wo_complete", + "Show Complete Work Orders", + "bool", + values, + "", + false, + 11, + "filter", + "false", + "Specify if you want to see Completed Work Orders by default")); + + // filter_show_wo_not_started + values = new Dictionary<String, String>(); + group.Add(new Config("filter_show_wo_not_started", + "Show Not Started Work Orders", + "bool", + values, + "", + false, + 12, + "filter", + "true", + "Specify if you want to see Not Started Action Items by default")); + + // filter_enable_priority_filter + values = new Dictionary<String, String>(); + group.Add(new Config("filter_enable_priority_filter", + "Show High Priority Assignments", + "bool", + values, + "", + false, + 13, + "filter", + "true", + "Specify if you want to enable priority filtering")); + + // filter_show_high_priority + values = new Dictionary<String, String>(); + group.Add(new Config("filter_show_high_priority", + "Show High Priority Assignments", + "bool", + values, + "", + false, + 14, + "filter", + "true", + "Specify if you want to see High Priority Assignments by default")); + + // filter_show_low_priority + values = new Dictionary<String, String>(); + group.Add(new Config("filter_show_low_priority", + "Show Low Priority Assignments", + "bool", + values, + "", + false, + 15, + "filter", + "true", + "Specify if you want to see Low Priority Assignments by default")); + + // filter_enable_assigned_date_filter + values = new Dictionary<String, String>(); + group.Add(new Config("filter_enable_assigned_date_filter", + "Enable assigned date filter", + "bool", + values, + "", + false, + 16, + "filter", + "false", + "Specify if you want to enable assigned date filtering")); + + // filter_show_from_assigned_date + values = new Dictionary<String, String>(); + group.Add(new Config("filter_show_from_assigned_date", + "Show Assignments From Assigned Date", + "date", + values, + "", + false, + 17, + "filter", + "1/1/2006", + "Show assignments assigned after specified date in days relative to today or by a specific date")); + + // filter_show_to_assigned_date + values = new Dictionary<String, String>(); + group.Add(new Config("filter_show_to_assigned_date", + "Show Assignments to Assigned Date", + "date", + values, + "", + false, + 18, + "filter", + "r: 0", + "Show assignments assigned before specified date in days relative to today or by a specific date")); + + // filter_enable_due_date_filter + values = new Dictionary<String, String>(); + group.Add(new Config("filter_enable_due_date_filter", + "Enable due date filter", + "bool", + values, + "", + false, + 19, + "filter", + "false", + "Specify if you want to enable due date filtering")); + + // filter_show_from_due_date + values = new Dictionary<String, String>(); + group.Add(new Config("filter_show_from_due_date", + "Show Assignments From Due Date", + "date", + values, + "", + false, + 20, + "filter", + "1/1/2006", + "Show assignments due after specified date in days relative to today or by a specific date")); + + // filter_show_to_due_date + values = new Dictionary<String, String>(); + group.Add(new Config("filter_show_to_due_date", + "Show Assignments to Due Date", + "date", + values, + "", + false, + 21, + "filter", + "r: 14", + "Show assignments due before specified date in days relative to today or by a specific date")); + + // filter_enable_finished_date_filter + values = new Dictionary<String, String>(); + group.Add(new Config("filter_enable_finished_date_filter", + "Enable finished date filter", + "bool", + values, + "", + false, + 22, + "filter", + "false", + "Specify if you want to enable finished date filtering")); + + // filter_show_from_finished_date + values = new Dictionary<String, String>(); + group.Add(new Config("filter_show_from_finished_date", + "Show Assignments From Finished Date", + "date", + values, + "", + false, + 23, + "filter", + "1/1/2006", + "Show assignments finished after specified date in days relative to today or by a specific date")); + + // filter_show_to_finished_date + values = new Dictionary<String, String>(); + group.Add(new Config("filter_show_to_finished_date", + "Show Assignments to Finished Date", + "date", + values, + "", + false, + 24, + "filter", + "r: 0", + "Show assignments finished before specified date in days relative to today or by a specific date")); + + // add group + settings.Add("filter", group); + return settings; } - public static bool GetConfigBool(string name) + public static Boolean GetConfigBool(string name) { return GetConfigBool(Constants.ANONYMOUSUSERID, name); } - public static bool GetConfigBool(int userID, string name) + public static Boolean GetConfigBool(int userID, string name) { string result = GetConfigString(userID, name); - bool r = false; + Boolean r = false; try { - r = bool.Parse(result); + r = Convert.ToBoolean(result); } catch (Exception ex) { @@ -657,6 +979,35 @@ return r; } + public static Nullable<DateTime> GetConfigDate(string name) + { + return GetConfigDate(Constants.ANONYMOUSUSERID, name); + } + + public static Nullable<DateTime> GetConfigDate(int userID, string name) + { + string result = GetConfigString(userID, name); + Nullable<DateTime> r = null; + try + { + if (result.StartsWith("r: ")) + { + TimeSpan span = new TimeSpan(Convert.ToInt32(result.Substring(3)), 0, 0, 0); + r = DateTime.Today + span; + } + else + { + r = Convert.ToDateTime(result); + } + } + catch (Exception ex) + { + m_logg.Error("Error parsing config value [" + name + ": " + result + "] for user [" + userID + "]", ex); + } + + return r; + } + public static int GetConfigInt(string name) { return GetConfigInt(Constants.ANONYMOUSUSERID, name); Modified: Website/App_Code/Users.cs =================================================================== --- Website/App_Code/Users.cs 2006-07-26 14:32:35 UTC (rev 222) +++ Website/App_Code/Users.cs 2006-07-26 17:17:24 UTC (rev 223) @@ -442,5 +442,25 @@ return value; } + public DateTime GetConfigDate(string name) + { + m_logg.Debug("Getting config option [" + name + "] for user [" + this.ToString() + "]"); + Nullable<DateTime> value = null; + + value = ConfigDB.GetConfigDate(p_id, name); + if (value != null) + m_logg.Debug("Retreived [" + name + ": " + value + "] for user [" + this.ToString() + "]"); + else + { + m_logg.Debug("Unable to retreive [" + name + "] for user [" + this.ToString() + "], getting default value"); + value = ConfigDB.GetConfigDate(name); + m_logg.Debug("Retreived default [" + name + ": " + value + "]"); + } + + if (value == null) + value = DateTime.Today; + + return value.Value; + } } } Modified: Website/Includes/Assignments.ascx =================================================================== --- Website/Includes/Assignments.ascx 2006-07-26 14:32:35 UTC (rev 222) +++ Website/Includes/Assignments.ascx 2006-07-26 17:17:24 UTC (rev 223) @@ -91,7 +91,7 @@ </div> <div class="right"> <asp:CheckBox ID="cboStatusFilter" runat="server" TextAlign="Left" OnCheckedChanged="cboStatusFilter_CheckedChanged" - Checked="True" AutoPostBack="True" /> + Checked="True" AutoPostBack="True" OnInit="cboStatusFilter_Init" /> </div> <div class="end"> </div> @@ -140,7 +140,7 @@ </div> <div class="right"> <asp:CheckBox ID="cboDateFilter" runat="server" TextAlign="Left" AutoPostBack="True" - OnCheckedChanged="cboDateFilter_CheckedChanged" /> + OnCheckedChanged="cboDateFilter_CheckedChanged" OnInit="cboDateFilter_Init" /> </div> <div class="end"> </div> @@ -151,7 +151,7 @@ From: <ew:CalendarPopup ID="fromDate" runat="server" PopupLocation="Bottom" ShowGoToToday="True" ControlDisplay="LabelImage" SelectedDate="2006-01-01" AutoPostBack="true" OnDateChanged="update" - SkinID="calendar" PostedDate="1/1/2006" VisibleDate="2006-01-01"> + SkinID="calendar" PostedDate="1/1/2006" VisibleDate="2006-01-01" OnInit="fromDate_Init"> </ew:CalendarPopup> <br /> To: @@ -175,7 +175,7 @@ </div> <div class="right"> <asp:CheckBox ID="cboDueFilter" runat="server" TextAlign="Left" AutoPostBack="True" - OnCheckedChanged="cboDueFilter_CheckedChanged" /></div> + OnCheckedChanged="cboDueFilter_CheckedChanged" OnInit="cboDueFilter_Init" /></div> <div class="end"> </div> <div class="hr"> @@ -185,7 +185,7 @@ From: <ew:CalendarPopup ID="fromDueDate" runat="server" PopupLocation="Bottom" ShowGoToToday="True" ControlDisplay="LabelImage" SkinID="calendar" SelectedDate="2006-01-01" AutoPostBack="true" - OnDateChanged="update"> + OnDateChanged="update" OnInit="fromDueDate_Init"> </ew:CalendarPopup> <br /> To: @@ -208,7 +208,7 @@ Finished Date:</label></div> <div class="right"> <asp:CheckBox ID="cboFinishedFilter" runat="server" TextAlign="Left" AutoPostBack="True" - OnCheckedChanged="cboFinishedFilter_CheckedChanged" /></div> + OnCheckedChanged="cboFinishedFilter_CheckedChanged" OnInit="cboFinishedFilter_Init" /></div> <div class="end"> </div> <div class="hr"> @@ -218,7 +218,7 @@ From: <ew:CalendarPopup ID="fromFinishedDate" runat="server" PopupLocation="Bottom" ShowGoToToday="True" ControlDisplay="LabelImage" SkinID="calendar" SelectedDate="2006-01-01" AutoPostBack="true" - OnDateChanged="update"> + OnDateChanged="update" OnInit="fromFinishedDate_Init"> </ew:CalendarPopup> <br /> To: @@ -242,7 +242,7 @@ </div> <div class="right"> <asp:CheckBox ID="cboTypeFilter" runat="server" TextAlign="Left" Checked="True" AutoPostBack="True" - OnCheckedChanged="cboTypeFilter_CheckedChanged" /> + OnCheckedChanged="cboTypeFilter_CheckedChanged" OnInit="cboTypeFilter_Init" /> </div> <div class="end"> </div> @@ -252,9 +252,9 @@ <div class="cm"> <div class="alignmiddle"> <asp:CheckBox ID="cboShowActionItems" runat="server" Checked="true" AutoPostBack="True" - OnCheckedChanged="update" />Action Items<br /> + OnCheckedChanged="update" OnInit="cboShowActionItems_Init" />Action Items<br /> <asp:CheckBox ID="cboShowWorkOrders" runat="server" Checked="true" AutoPostBack="True" - OnCheckedChanged="update" />Work Orders + OnCheckedChanged="update" OnInit="cboShowWorkOrders_Init" />Work Orders </div> </div> </div> @@ -271,7 +271,7 @@ Priority:</label></div> <div class="right"> <asp:CheckBox ID="cboPriorityFilter" runat="server" OnCheckedChanged="cboPriorityFilter_CheckedChanged" - Checked="True" AutoPostBack="True" /> + Checked="True" AutoPostBack="True" OnInit="cboPriorityFilter_Init" /> </div> <div class="end"> </div> @@ -281,9 +281,9 @@ <div class="cm"> <div class="alignmiddle"> <asp:CheckBox ID="cboHighPriority" runat="server" Checked="True" OnCheckedChanged="update" - AutoPostBack="True" />High<br /> + AutoPostBack="True" OnInit="cboHighPriority_Init" />High<br /> <asp:CheckBox ID="cboLowPriority" runat="server" Checked="true" OnCheckedChanged="update" - AutoPostBack="True" />Low + AutoPostBack="True" OnInit="cboLowPriority_Init" />Low </div> </div> </div> Modified: Website/Includes/Assignments.ascx.cs =================================================================== --- Website/Includes/Assignments.ascx.cs 2006-07-26 14:32:35 UTC (rev 222) +++ Website/Includes/Assignments.ascx.cs 2006-07-26 17:17:24 UTC (rev 223) @@ -357,9 +357,15 @@ { if (!IsPostBack) { - foreach (ListItem item in aiStatusList.Items) - if (item.Text != "Inactive" && item.Text != "Completed") - item.Selected = true; + if (m_user.GetConfigBool("filter_show_ai_active")) + aiStatusList.Items.FindByText("Active").Selected = true; + if (m_user.GetConfigBool("filter_show_ai_inactive")) + aiStatusList.Items.FindByText("Inactive").Selected = true; + if (m_user.GetConfigBool("filter_show_ai_complete")) + aiStatusList.Items.FindByText("Completed").Selected = true; + if (m_user.GetConfigBool("filter_show_ai_not_started")) + aiStatusList.Items.FindByText("Not Started").Selected = true; + AssignmentsGridView.DataBind(); } } @@ -368,23 +374,80 @@ { if (!IsPostBack) { - foreach (ListItem item in woStatusList.Items) - if (item.Text != "Inactive" && item.Text != "Completed") - item.Selected = true; + if (m_user.GetConfigBool("filter_show_wo_active")) + woStatusList.Items.FindByText("Active").Selected = true; + if (m_user.GetConfigBool("filter_show_wo_inactive")) + woStatusList.Items.FindByText("Inactive").Selected = true; + if (m_user.GetConfigBool("filter_show_wo_complete")) + woStatusList.Items.FindByText("Completed").Selected = true; + if (m_user.GetConfigBool("filter_show_wo_not_started")) + woStatusList.Items.FindByText("Not Started").Selected = true; + AssignmentsGridView.DataBind(); } } protected void toDate_Init(object sender, EventArgs e) { - toDate.SelectedDate = DateTime.Today; + toDate.SelectedDate = m_user.GetConfigDate("filter_show_to_assigned_date"); } protected void toDueDate_Init(object sender, EventArgs e) { - TimeSpan twoWeeks = new TimeSpan(14, 0, 0, 0); - toDueDate.SelectedDate = DateTime.Today + twoWeeks; + toDueDate.SelectedDate = m_user.GetConfigDate("filter_show_to_due_date"); } protected void toFinishedDate_Init(object sender, EventArgs e) { - toFinishedDate.SelectedDate = DateTime.Today; + toFinishedDate.SelectedDate = m_user.GetConfigDate("filter_show_to_finished_dates"); } + protected void fromDate_Init(object sender, EventArgs e) + { + fromDate.SelectedDate = m_user.GetConfigDate("filter_show_from_assigned_date"); + } + protected void fromDueDate_Init(object sender, EventArgs e) + { + fromDueDate.SelectedDate = m_user.GetConfigDate("filter_show_from_due_date"); + } + protected void fromFinishedDate_Init(object sender, EventArgs e) + { + fromFinishedDate.SelectedDate = m_user.GetConfigDate("filter_show_from_finished_date"); + } + protected void cboShowActionItems_Init(object sender, EventArgs e) + { + cboShowActionItems.Checked = m_user.GetConfigBool("filter_show_action_items"); + } + protected void cboShowWorkOrders_Init(object sender, EventArgs e) + { + cboShowWorkOrders.Checked = m_user.GetConfigBool("filter_show_work_orders"); + } + protected void cboHighPriority_Init(object sender, EventArgs e) + { + cboHighPriority.Checked = m_user.GetConfigBool("filter_show_high_priority"); + } + protected void cboLowPriority_Init(object sender, EventArgs e) + { + cboLowPriority.Checked = m_user.GetConfigBool("filter_show_low_priority"); + } + protected void cboStatusFilter_Init(object sender, EventArgs e) + { + cboStatusFilter.Checked = m_user.GetConfigBool("filter_enable_status_filter"); + } + protected void cboDateFilter_Init(object sender, EventArgs e) + { + cboDateFilter.Checked = m_user.GetConfigBool("filter_enable_assigned_date_filter"); + } + protected void cboDueFilter_Init(object sender, EventArgs e) + { + cboDueFilter.Checked = m_user.GetConfigBool("filter_enable_due_date_filter"); + } + protected void cboFinishedFilter_Init(object sender, EventArgs e) + { + cboFinishedFilter.Checked = m_user.GetConfigBool("filter_enable_finished_date_filter"); + } + protected void cboTypeFilter_Init(object sender, EventArgs e) + { + cboTypeFilter.Checked = m_user.GetConfigBool("filter_enable_type_filter"); + } + protected void cboPriorityFilter_Init(object sender, EventArgs e) + { + cboPriorityFilter.Checked = m_user.GetConfigBool("filter_enable_priority_filter"); + } } Modified: Website/Includes/UserConfig.ascx.cs =================================================================== --- Website/Includes/UserConfig.ascx.cs 2006-07-26 14:32:35 UTC (rev 222) +++ Website/Includes/UserConfig.ascx.cs 2006-07-26 17:17:24 UTC (rev 223) @@ -14,6 +14,7 @@ using TCDB.Users; using AD_Auth; using log4net; +using eWorld.UI; public partial class UserConfig : SiteUserControl { @@ -80,7 +81,7 @@ { TextBox valueBox = new TextBox(); valueBox.ID = setting.KEY; - valueBox.Text = ConfigDB.GetConfigString(setting.KEY); + valueBox.Text = m_user.GetConfigString(setting.KEY); valueBox.Width = 500; valueBox.TextChanged += new EventHandler(textboxChanged); Controls.Add(valueBox); @@ -89,7 +90,7 @@ { CheckBox valueBox = new CheckBox(); valueBox.ID = setting.KEY; - valueBox.Checked = ConfigDB.GetConfigBool(setting.KEY); + valueBox.Checked = m_user.GetConfigBool(setting.KEY); valueBox.CheckedChanged += new EventHandler(checkboxChanged); Controls.Add(valueBox); } @@ -100,7 +101,7 @@ foreach (String value in setting.VALUES.Keys) { valueList.Items.Add(new ListItem(value, setting.VALUES[value])); - valueList.SelectedValue = ConfigDB.GetConfigString(setting.KEY); + valueList.SelectedValue = m_user.GetConfigString(setting.KEY); } valueList.SelectedIndexChanged += new EventHandler(dropdownChanged); Controls.Add(valueList); @@ -109,7 +110,7 @@ { TextBox valueBox = new TextBox(); valueBox.ID = setting.KEY; - valueBox.Text = ConfigDB.GetConfigString(setting.KEY); + valueBox.Text = m_user.GetConfigString(setting.KEY); valueBox.TextMode = TextBoxMode.MultiLine; valueBox.Width = 500; valueBox.Height = 150; @@ -120,10 +121,62 @@ { Label valueLbl = new Label(); valueLbl.ID = setting.KEY; - valueLbl.Text = ConfigDB.GetConfigString(setting.KEY); + valueLbl.Text = m_user.GetConfigString(setting.KEY); Controls.Add(valueLbl); } + else if (setting.TYPE == "date") + { + String dateString = m_user.GetConfigString(setting.KEY); + // date Type Control + RadioButtonList dateType = new RadioButtonList(); + dateType.ID = setting.KEY; + dateType.Items.Add("Absolute"); + dateType.Items.Add("Relative"); + + // Absolute Date + CalendarPopup absDate = new CalendarPopup(); + absDate.ID = setting.KEY + "_abs"; + absDate.ShowGoToToday = true; + absDate.DateChanged += new EventHandler(absoluteDateChanged); + + // Relative Date + TextBox relDate = new TextBox(); + relDate.ID = setting.KEY + "_rel"; + relDate.Text = "0"; + relDate.TextChanged += new EventHandler(relativeDateChanged); + + if (dateString.StartsWith("r: ")){ + dateType.SelectedValue = "Relative"; + relDate.Text = dateString.Substring(3); + } else { + dateType.SelectedValue = "Absolute"; + absDate.SelectedDate = Convert.ToDateTime(dateString); + } + + html = new Literal(); + html.Text = "<table width=\"100%\">\n<tr>\n<td rowspan=\"2\">\n"; + Controls.Add(html); + + Controls.Add(dateType); + + html = new Literal(); + html.Text = "\n</td><td>\n"; + Controls.Add(html); + + Controls.Add(absDate); + + html = new Literal(); + html.Text = "\n</td>\n</tr>\n<tr>\n<td>\n"; + Controls.Add(html); + + Controls.Add(relDate); + + html = new Literal(); + html.Text = "\n</td>\n</tr>\n</table>\n"; + Controls.Add(html); + } + html = new Literal(); html.Text = "\n</td>\n</tr>\n<tr>\n<td></td>\n<td>\n"; Controls.Add(html); @@ -163,6 +216,28 @@ DropDownList dropdown = (DropDownList)sender; ConfigDB.SaveConfigString(userID, dropdown.ID, dropdown.SelectedValue); } + void absoluteDateChanged(Object sender, EventArgs args) + { + CalendarPopup absDate = (CalendarPopup) sender; + String key = absDate.ID.Substring(0, absDate.ID.LastIndexOf('_')); + RadioButtonList dateType = (RadioButtonList) FindControl(key); + + if (dateType.SelectedValue == "Absolute") + { + ConfigDB.SaveConfigString(userID, key, absDate.SelectedDate.ToString()); + } + } + void relativeDateChanged(Object sender, EventArgs args) + { + TextBox relDate = (TextBox)sender; + String key = relDate.ID.Substring(0, relDate.ID.LastIndexOf('_')); + RadioButtonList dateType = (RadioButtonList) FindControl(key); + + if (dateType.SelectedValue == "Relative") + { + ConfigDB.SaveConfigString(userID, key, "r: "+relDate.Text); + } + } protected void returnToSettings(object sender, CommandEventArgs e) { if (mode == "read") This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2006-07-26 21:41:49
|
Revision: 225 Author: rouquin Date: 2006-07-26 14:10:33 -0700 (Wed, 26 Jul 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=225&view=rev Log Message: ----------- Added Rights page. Almost done. After I'll add in the roles page which will tie it all together Modified Paths: -------------- Schema/Config Schema.xls Website/App_Code/tcdbDataSet.xsd Website/App_Code/tcdbDataSet.xss Website/Bin/App_Licenses.dll Website/Includes/Header.ascx Website/Includes/Header_User.ascx Website/Includes/Versions.ascx Added Paths: ----------- Website/Includes/Rights.ascx Website/Includes/Rights.ascx.cs Website/Right.aspx Modified: Schema/Config Schema.xls =================================================================== (Binary files differ) Modified: Website/App_Code/tcdbDataSet.xsd =================================================================== --- Website/App_Code/tcdbDataSet.xsd 2006-07-26 20:35:49 UTC (rev 224) +++ Website/App_Code/tcdbDataSet.xsd 2006-07-26 21:10:33 UTC (rev 225) @@ -574,6 +574,128 @@ <Sources> </Sources> </TableAdapter> + <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="sel_rightsTableAdapter" GeneratorDataComponentClassName="sel_rightsTableAdapter" Name="sel_rights" UserDataComponentName="sel_rightsTableAdapter"> + <MainSource> + <DbSource ConnectionRef="tcdbConnectionString (Web.config)" DbObjectName="tcdb.dbo.sel_rights" DbObjectType="StoredProcedure" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="True" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="False" UserGetMethodName="GetData" UserSourceName="Fill"> + <InsertCommand> + <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> + <CommandText>dbo.ins_rights</CommandText> + <Parameters> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@name" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumn="rightsName" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@description" Precision="0" ProviderType="Text" Scale="0" Size="2147483647" SourceColumn="rightDescription" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@active" Precision="1" ProviderType="Bit" Scale="0" Size="1" SourceColumn="active" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + </Parameters> + </DbCommand> + </InsertCommand> + <SelectCommand> + <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> + <CommandText>dbo.sel_rights</CommandText> + <Parameters> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@rightsID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@rightsName" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@active" Precision="1" ProviderType="Bit" Scale="0" Size="1" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + </Parameters> + </DbCommand> + </SelectCommand> + <UpdateCommand> + <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> + <CommandText>dbo.upd_rights</CommandText> + <Parameters> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@rightsID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumn="rightsID" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@name" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumn="rightsName" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@description" Precision="0" ProviderType="Text" Scale="0" Size="2147483647" SourceColumn="rightDescription" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@active" Precision="1" ProviderType="Bit" Scale="0" Size="1" SourceColumn="active" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + </Parameters> + </DbCommand> + </UpdateCommand> + </DbSource> + </MainSource> + <Mappings> + <Mapping SourceColumn="rightsID" DataSetColumn="rightsID" /> + <Mapping SourceColumn="rightsName" DataSetColumn="rightsName" /> + <Mapping SourceColumn="rightDescription" DataSetColumn="rightDescription" /> + <Mapping SourceColumn="active" DataSetColumn="active" /> + </Mappings> + <Sources> + </Sources> + </TableAdapter> + <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="sel_roleTableAdapter" GeneratorDataComponentClassName="sel_roleTableAdapter" Name="sel_role" UserDataComponentName="sel_roleTableAdapter"> + <MainSource> + <DbSource ConnectionRef="tcdbConnectionString (Web.config)" DbObjectName="tcdb.dbo.sel_role" DbObjectType="StoredProcedure" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="True" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="False" UserGetMethodName="GetData" UserSourceName="Fill"> + <InsertCommand> + <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> + <CommandText>dbo.ins_role</CommandText> + <Parameters> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@name" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumn="roleName" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@description" Precision="0" ProviderType="Text" Scale="0" Size="2147483647" SourceColumn="roleDescription" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@active" Precision="1" ProviderType="Bit" Scale="0" Size="1" SourceColumn="active" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + </Parameters> + </DbCommand> + </InsertCommand> + <SelectCommand> + <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> + <CommandText>dbo.sel_role</CommandText> + <Parameters> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@roleID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@roleName" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@active" Precision="1" ProviderType="Bit" Scale="0" Size="1" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + </Parameters> + </DbCommand> + </SelectCommand> + <UpdateCommand> + <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> + <CommandText>dbo.upd_role</CommandText> + <Parameters> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@roleID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumn="roleID" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@name" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumn="roleName" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@description" Precision="0" ProviderType="Text" Scale="0" Size="2147483647" SourceColumn="roleDescription" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@active" Precision="1" ProviderType="Bit" Scale="0" Size="1" SourceColumn="active" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + </Parameters> + </DbCommand> + </UpdateCommand> + </DbSource> + </MainSource> + <Mappings> + <Mapping SourceColumn="roleID" DataSetColumn="roleID" /> + <Mapping SourceColumn="roleName" DataSetColumn="roleName" /> + <Mapping SourceColumn="roleDescription" DataSetColumn="roleDescription" /> + <Mapping SourceColumn="active" DataSetColumn="active" /> + </Mappings> + <Sources> + </Sources> + </TableAdapter> </Tables> <Sources> </Sources> @@ -586,172 +708,172 @@ <xs:element name="db_users" msprop:Generator_UserTableName="db_users" msprop:Generator_RowDeletedName="db_usersRowDeleted" msprop:Generator_RowChangedName="db_usersRowChanged" msprop:Generator_RowClassName="db_usersRow" msprop:Generator_RowChangingName="db_usersRowChanging" msprop:Generator_RowEvArgName="db_usersRowChangeEvent" msprop:Generator_RowEvHandlerName="db_usersRowChangeEventHandler" msprop:Generator_TableClassName="db_usersDataTable" msprop:Generator_TableVarName="tabledb_users" msprop:Generator_RowDeletingName="db_usersRowDeleting" msprop:Generator_TablePropName="db_users"> <xs:complexType> <xs:sequence> - <xs:element name="userID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="userID" msprop:Generator_ColumnVarNameInTable="columnuserID" msprop:Generator_ColumnPropNameInRow="userID" msprop:Generator_ColumnPropNameInTable="userIDColumn" type="xs:int" /> - <xs:element name="username" msprop:Generator_UserColumnName="username" msprop:Generator_ColumnVarNameInTable="columnusername" msprop:Generator_ColumnPropNameInRow="username" msprop:Generator_ColumnPropNameInTable="usernameColumn"> + <xs:element name="userID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="userID" msprop:Generator_ColumnPropNameInRow="userID" msprop:Generator_ColumnVarNameInTable="columnuserID" msprop:Generator_ColumnPropNameInTable="userIDColumn" type="xs:int" /> + <xs:element name="username" msprop:Generator_UserColumnName="username" msprop:Generator_ColumnPropNameInRow="username" msprop:Generator_ColumnVarNameInTable="columnusername" msprop:Generator_ColumnPropNameInTable="usernameColumn"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="email" msprop:Generator_UserColumnName="email" msprop:Generator_ColumnVarNameInTable="columnemail" msprop:Generator_ColumnPropNameInRow="email" msprop:Generator_ColumnPropNameInTable="emailColumn"> + <xs:element name="email" msprop:Generator_UserColumnName="email" msprop:Generator_ColumnPropNameInRow="email" msprop:Generator_ColumnVarNameInTable="columnemail" msprop:Generator_ColumnPropNameInTable="emailColumn"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="officePhone" msprop:Generator_UserColumnName="officePhone" msprop:Generator_ColumnVarNameInTable="columnofficePhone" msprop:Generator_ColumnPropNameInRow="officePhone" msprop:Generator_ColumnPropNameInTable="officePhoneColumn" minOccurs="0"> + <xs:element name="officePhone" msprop:Generator_UserColumnName="officePhone" msprop:Generator_ColumnPropNameInRow="officePhone" msprop:Generator_ColumnVarNameInTable="columnofficePhone" msprop:Generator_ColumnPropNameInTable="officePhoneColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="14" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="homePhone" msprop:Generator_UserColumnName="homePhone" msprop:Generator_ColumnVarNameInTable="columnhomePhone" msprop:Generator_ColumnPropNameInRow="homePhone" msprop:Generator_ColumnPropNameInTable="homePhoneColumn" minOccurs="0"> + <xs:element name="homePhone" msprop:Generator_UserColumnName="homePhone" msprop:Generator_ColumnPropNameInRow="homePhone" msprop:Generator_ColumnVarNameInTable="columnhomePhone" msprop:Generator_ColumnPropNameInTable="homePhoneColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="14" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="cellPhone" msprop:Generator_UserColumnName="cellPhone" msprop:Generator_ColumnVarNameInTable="columncellPhone" msprop:Generator_ColumnPropNameInRow="cellPhone" msprop:Generator_ColumnPropNameInTable="cellPhoneColumn" minOccurs="0"> + <xs:element name="cellPhone" msprop:Generator_UserColumnName="cellPhone" msprop:Generator_ColumnPropNameInRow="cellPhone" msprop:Generator_ColumnVarNameInTable="columncellPhone" msprop:Generator_ColumnPropNameInTable="cellPhoneColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="14" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="firstName" msprop:Generator_UserColumnName="firstName" msprop:Generator_ColumnVarNameInTable="columnfirstName" msprop:Generator_ColumnPropNameInRow="firstName" msprop:Generator_ColumnPropNameInTable="firstNameColumn"> + <xs:element name="firstName" msprop:Generator_UserColumnName="firstName" msprop:Generator_ColumnPropNameInRow="firstName" msprop:Generator_ColumnVarNameInTable="columnfirstName" msprop:Generator_ColumnPropNameInTable="firstNameColumn"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="24" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="lastName" msprop:Generator_UserColumnName="lastName" msprop:Generator_ColumnVarNameInTable="columnlastName" msprop:Generator_ColumnPropNameInRow="lastName" msprop:Generator_ColumnPropNameInTable="lastNameColumn"> + <xs:element name="lastName" msprop:Generator_UserColumnName="lastName" msprop:Generator_ColumnPropNameInRow="lastName" msprop:Generator_ColumnVarNameInTable="columnlastName" msprop:Generator_ColumnPropNameInTable="lastNameColumn"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="24" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="fullName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="fullName" msprop:Generator_ColumnVarNameInTable="columnfullName" msprop:Generator_ColumnPropNameInRow="fullName" msprop:Generator_ColumnPropNameInTable="fullNameColumn" minOccurs="0"> + <xs:element name="fullName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="fullName" msprop:Generator_ColumnPropNameInRow="fullName" msprop:Generator_ColumnVarNameInTable="columnfullName" msprop:Generator_ColumnPropNameInTable="fullNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="automation" msprop:Generator_UserColumnName="automation" msprop:Generator_ColumnVarNameInTable="columnautomation" msprop:Generator_ColumnPropNameInRow="automation" msprop:Generator_ColumnPropNameInTable="automationColumn" type="xs:boolean" /> + <xs:element name="automation" msprop:Generator_UserColumnName="automation" msprop:Generator_ColumnPropNameInRow="automation" msprop:Generator_ColumnVarNameInTable="columnautomation" msprop:Generator_ColumnPropNameInTable="automationColumn" type="xs:boolean" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_products" msprop:Generator_UserTableName="db_products" msprop:Generator_RowDeletedName="db_productsRowDeleted" msprop:Generator_RowChangedName="db_productsRowChanged" msprop:Generator_RowClassName="db_productsRow" msprop:Generator_RowChangingName="db_productsRowChanging" msprop:Generator_RowEvArgName="db_productsRowChangeEvent" msprop:Generator_RowEvHandlerName="db_productsRowChangeEventHandler" msprop:Generator_TableClassName="db_productsDataTable" msprop:Generator_TableVarName="tabledb_products" msprop:Generator_RowDeletingName="db_productsRowDeleting" msprop:Generator_TablePropName="db_products"> <xs:complexType> <xs:sequence> - <xs:element name="productID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" /> - <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> + <xs:element name="productID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" /> + <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> + <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="devManager" msprop:Generator_UserColumnName="devManager" msprop:Generator_ColumnVarNameInTable="columndevManager" msprop:Generator_ColumnPropNameInRow="devManager" msprop:Generator_ColumnPropNameInTable="devManagerColumn" type="xs:int" minOccurs="0" /> - <xs:element name="qaManager" msprop:Generator_UserColumnName="qaManager" msprop:Generator_ColumnVarNameInTable="columnqaManager" msprop:Generator_ColumnPropNameInRow="qaManager" msprop:Generator_ColumnPropNameInTable="qaManagerColumn" type="xs:int" minOccurs="0" /> - <xs:element name="devLead" msprop:Generator_UserColumnName="devLead" msprop:Generator_ColumnVarNameInTable="columndevLead" msprop:Generator_ColumnPropNameInRow="devLead" msprop:Generator_ColumnPropNameInTable="devLeadColumn" type="xs:int" minOccurs="0" /> - <xs:element name="qaLead" msprop:Generator_UserColumnName="qaLead" msprop:Generator_ColumnVarNameInTable="columnqaLead" msprop:Generator_ColumnPropNameInRow="qaLead" msprop:Generator_ColumnPropNameInTable="qaLeadColumn" type="xs:int" minOccurs="0" /> - <xs:element name="pm" msprop:Generator_UserColumnName="pm" msprop:Generator_ColumnVarNameInTable="columnpm" msprop:Generator_ColumnPropNameInRow="pm" msprop:Generator_ColumnPropNameInTable="pmColumn" type="xs:int" minOccurs="0" /> - <xs:element name="codeName" msprop:Generator_UserColumnName="codeName" msprop:Generator_ColumnVarNameInTable="columncodeName" msprop:Generator_ColumnPropNameInRow="codeName" msprop:Generator_ColumnPropNameInTable="codeNameColumn" minOccurs="0"> + <xs:element name="devManager" msprop:Generator_UserColumnName="devManager" msprop:Generator_ColumnPropNameInRow="devManager" msprop:Generator_ColumnVarNameInTable="columndevManager" msprop:Generator_ColumnPropNameInTable="devManagerColumn" type="xs:int" minOccurs="0" /> + <xs:element name="qaManager" msprop:Generator_UserColumnName="qaManager" msprop:Generator_ColumnPropNameInRow="qaManager" msprop:Generator_ColumnVarNameInTable="columnqaManager" msprop:Generator_ColumnPropNameInTable="qaManagerColumn" type="xs:int" minOccurs="0" /> + <xs:element name="devLead" msprop:Generator_UserColumnName="devLead" msprop:Generator_ColumnPropNameInRow="devLead" msprop:Generator_ColumnVarNameInTable="columndevLead" msprop:Generator_ColumnPropNameInTable="devLeadColumn" type="xs:int" minOccurs="0" /> + <xs:element name="qaLead" msprop:Generator_UserColumnName="qaLead" msprop:Generator_ColumnPropNameInRow="qaLead" msprop:Generator_ColumnVarNameInTable="columnqaLead" msprop:Generator_ColumnPropNameInTable="qaLeadColumn" type="xs:int" minOccurs="0" /> + <xs:element name="pm" msprop:Generator_UserColumnName="pm" msprop:Generator_ColumnPropNameInRow="pm" msprop:Generator_ColumnVarNameInTable="columnpm" msprop:Generator_ColumnPropNameInTable="pmColumn" type="xs:int" minOccurs="0" /> + <xs:element name="codeName" msprop:Generator_UserColumnName="codeName" msprop:Generator_ColumnPropNameInRow="codeName" msprop:Generator_ColumnVarNameInTable="columncodeName" msprop:Generator_ColumnPropNameInTable="codeNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="10" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> + <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_actionItems" msprop:Generator_UserTableName="db_actionItems" msprop:Generator_RowDeletedName="db_actionItemsRowDeleted" msprop:Generator_RowChangedName="db_actionItemsRowChanged" msprop:Generator_RowClassName="db_actionItemsRow" msprop:Generator_RowChangingName="db_actionItemsRowChanging" msprop:Generator_RowEvArgName="db_actionItemsRowChangeEvent" msprop:Generator_RowEvHandlerName="db_actionItemsRowChangeEventHandler" msprop:Generator_TableClassName="db_actionItemsDataTable" msprop:Generator_TableVarName="tabledb_actionItems" msprop:Generator_RowDeletingName="db_actionItemsRowDeleting" msprop:Generator_TablePropName="db_actionItems"> <xs:complexType> <xs:sequence> - <xs:element name="actionItemID" msprop:Generator_UserColumnName="actionItemID" msprop:Generator_ColumnPropNameInRow="actionItemID" msprop:Generator_ColumnVarNameInTable="columnactionItemID" msprop:Generator_ColumnPropNameInTable="actionItemIDColumn" type="xs:int" /> - <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> + <xs:element name="actionItemID" msprop:Generator_UserColumnName="actionItemID" msprop:Generator_ColumnVarNameInTable="columnactionItemID" msprop:Generator_ColumnPropNameInRow="actionItemID" msprop:Generator_ColumnPropNameInTable="actionItemIDColumn" type="xs:int" /> + <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> + <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="dateAssigned" msprop:Generator_UserColumnName="dateAssigned" msprop:Generator_ColumnPropNameInRow="dateAssigned" msprop:Generator_ColumnVarNameInTable="columndateAssigned" msprop:Generator_ColumnPropNameInTable="dateAssignedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="dateDue" msprop:Generator_UserColumnName="dateDue" msprop:Generator_ColumnPropNameInRow="dateDue" msprop:Generator_ColumnVarNameInTable="columndateDue" msprop:Generator_ColumnPropNameInTable="dateDueColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="percentComplete" msprop:Generator_UserColumnName="percentComplete" msprop:Generator_ColumnPropNameInRow="percentComplete" msprop:Generator_ColumnVarNameInTable="columnpercentComplete" msprop:Generator_ColumnPropNameInTable="percentCompleteColumn" type="xs:int" minOccurs="0" /> - <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> + <xs:element name="dateAssigned" msprop:Generator_UserColumnName="dateAssigned" msprop:Generator_ColumnVarNameInTable="columndateAssigned" msprop:Generator_ColumnPropNameInRow="dateAssigned" msprop:Generator_ColumnPropNameInTable="dateAssignedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="dateDue" msprop:Generator_UserColumnName="dateDue" msprop:Generator_ColumnVarNameInTable="columndateDue" msprop:Generator_ColumnPropNameInRow="dateDue" msprop:Generator_ColumnPropNameInTable="dateDueColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="percentComplete" msprop:Generator_UserColumnName="percentComplete" msprop:Generator_ColumnVarNameInTable="columnpercentComplete" msprop:Generator_ColumnPropNameInRow="percentComplete" msprop:Generator_ColumnPropNameInTable="percentCompleteColumn" type="xs:int" minOccurs="0" /> + <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="createdBy" msdata:ReadOnly="true" msprop:Generator_UserColumnName="createdBy" msprop:Generator_ColumnPropNameInRow="createdBy" msprop:Generator_ColumnVarNameInTable="columncreatedBy" msprop:Generator_ColumnPropNameInTable="createdByColumn" minOccurs="0"> + <xs:element name="createdBy" msdata:ReadOnly="true" msprop:Generator_UserColumnName="createdBy" msprop:Generator_ColumnVarNameInTable="columncreatedBy" msprop:Generator_ColumnPropNameInRow="createdBy" msprop:Generator_ColumnPropNameInTable="createdByColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="highPriority" msprop:Generator_UserColumnName="highPriority" msprop:Generator_ColumnPropNameInRow="highPriority" msprop:Generator_ColumnVarNameInTable="columnhighPriority" msprop:Generator_ColumnPropNameInTable="highPriorityColumn" type="xs:boolean" minOccurs="0" /> - <xs:element name="testPass" msprop:Generator_UserColumnName="testPass" msprop:Generator_ColumnVarNameInTable="columntestPass" msprop:Generator_ColumnPropNameInRow="testPass" msprop:Generator_ColumnPropNameInTable="testPassColumn" minOccurs="0"> + <xs:element name="highPriority" msprop:Generator_UserColumnName="highPriority" msprop:Generator_ColumnVarNameInTable="columnhighPriority" msprop:Generator_ColumnPropNameInRow="highPriority" msprop:Generator_ColumnPropNameInTable="highPriorityColumn" type="xs:boolean" minOccurs="0" /> + <xs:element name="testPass" msprop:Generator_UserColumnName="testPass" msprop:Generator_ColumnPropNameInRow="testPass" msprop:Generator_ColumnVarNameInTable="columntestPass" msprop:Generator_ColumnPropNameInTable="testPassColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="dateFinished" msprop:Generator_UserColumnName="dateFinished" msprop:Generator_ColumnVarNameInTable="columndateFinished" msprop:Generator_ColumnPropNameInRow="dateFinished" msprop:Generator_ColumnPropNameInTable="dateFinishedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="assignedID" msprop:Generator_UserColumnName="assignedID" msprop:Generator_ColumnVarNameInTable="columnassignedID" msprop:Generator_ColumnPropNameInRow="assignedID" msprop:Generator_ColumnPropNameInTable="assignedIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="assigned" msdata:ReadOnly="true" msprop:Generator_UserColumnName="assigned" msprop:Generator_ColumnVarNameInTable="columnassigned" msprop:Generator_ColumnPropNameInRow="assigned" msprop:Generator_ColumnPropNameInTable="assignedColumn" minOccurs="0"> + <xs:element name="dateFinished" msprop:Generator_UserColumnName="dateFinished" msprop:Generator_ColumnPropNameInRow="dateFinished" msprop:Generator_ColumnVarNameInTable="columndateFinished" msprop:Generator_ColumnPropNameInTable="dateFinishedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="assignedID" msprop:Generator_UserColumnName="assignedID" msprop:Generator_ColumnPropNameInRow="assignedID" msprop:Generator_ColumnVarNameInTable="columnassignedID" msprop:Generator_ColumnPropNameInTable="assignedIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="assigned" msdata:ReadOnly="true" msprop:Generator_UserColumnName="assigned" msprop:Generator_ColumnPropNameInRow="assigned" msprop:Generator_ColumnVarNameInTable="columnassigned" msprop:Generator_ColumnPropNameInTable="assignedColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="statusID" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="testPassID" msprop:Generator_UserColumnName="testPassID" msprop:Generator_ColumnPropNameInRow="testPassID" msprop:Generator_ColumnVarNameInTable="columntestPassID" msprop:Generator_ColumnPropNameInTable="testPassIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> - <xs:element name="creatorID" msprop:Generator_UserColumnName="creatorID" msprop:Generator_ColumnPropNameInRow="creatorID" msprop:Generator_ColumnVarNameInTable="columncreatorID" msprop:Generator_ColumnPropNameInTable="creatorIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="statusID" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="testPassID" msprop:Generator_UserColumnName="testPassID" msprop:Generator_ColumnVarNameInTable="columntestPassID" msprop:Generator_ColumnPropNameInRow="testPassID" msprop:Generator_ColumnPropNameInTable="testPassIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> + <xs:element name="creatorID" msprop:Generator_UserColumnName="creatorID" msprop:Generator_ColumnVarNameInTable="columncreatorID" msprop:Generator_ColumnPropNameInRow="creatorID" msprop:Generator_ColumnPropNameInTable="creatorIDColumn" type="xs:int" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_status" msprop:Generator_UserTableName="db_status" msprop:Generator_RowDeletedName="db_statusRowDeleted" msprop:Generator_RowChangedName="db_statusRowChanged" msprop:Generator_RowClassName="db_statusRow" msprop:Generator_RowChangingName="db_statusRowChanging" msprop:Generator_RowEvArgName="db_statusRowChangeEvent" msprop:Generator_RowEvHandlerName="db_statusRowChangeEventHandler" msprop:Generator_TableClassName="db_statusDataTable" msprop:Generator_TableVarName="tabledb_status" msprop:Generator_RowDeletingName="db_statusRowDeleting" msprop:Generator_TablePropName="db_status"> <xs:complexType> <xs:sequence> - <xs:element name="statusID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" /> - <xs:element name="Description" msprop:Generator_UserColumnName="Description" msprop:Generator_ColumnVarNameInTable="columnDescription" msprop:Generator_ColumnPropNameInRow="Description" msprop:Generator_ColumnPropNameInTable="DescriptionColumn" minOccurs="0"> + <xs:element name="statusID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" /> + <xs:element name="Description" msprop:Generator_UserColumnName="Description" msprop:Generator_ColumnPropNameInRow="Description" msprop:Generator_ColumnVarNameInTable="columnDescription" msprop:Generator_ColumnPropNameInTable="DescriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> + <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> @@ -764,113 +886,113 @@ <xs:element name="db_notes" msprop:Generator_UserTableName="db_notes" msprop:Generator_RowDeletedName="db_notesRowDeleted" msprop:Generator_RowChangedName="db_notesRowChanged" msprop:Generator_RowClassName="db_notesRow" msprop:Generator_RowChangingName="db_notesRowChanging" msprop:Generator_RowEvArgName="db_notesRowChangeEvent" msprop:Generator_RowEvHandlerName="db_notesRowChangeEventHandler" msprop:Generator_TableClassName="db_notesDataTable" msprop:Generator_TableVarName="tabledb_notes" msprop:Generator_RowDeletingName="db_notesRowDeleting" msprop:Generator_TablePropName="db_notes"> <xs:complexType> <xs:sequence> - <xs:element name="noteID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="noteID" msprop:Generator_ColumnVarNameInTable="columnnoteID" msprop:Generator_ColumnPropNameInRow="noteID" msprop:Generator_ColumnPropNameInTable="noteIDColumn" type="xs:int" /> - <xs:element name="dateCreated" msprop:Generator_UserColumnName="dateCreated" msprop:Generator_ColumnVarNameInTable="columndateCreated" msprop:Generator_ColumnPropNameInRow="dateCreated" msprop:Generator_ColumnPropNameInTable="dateCreatedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="noteField" msprop:Generator_UserColumnName="noteField" msprop:Generator_ColumnVarNameInTable="columnnoteField" msprop:Generator_ColumnPropNameInRow="noteField" msprop:Generator_ColumnPropNameInTable="noteFieldColumn" minOccurs="0"> + <xs:element name="noteID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="noteID" msprop:Generator_ColumnPropNameInRow="noteID" msprop:Generator_ColumnVarNameInTable="columnnoteID" msprop:Generator_ColumnPropNameInTable="noteIDColumn" type="xs:int" /> + <xs:element name="dateCreated" msprop:Generator_UserColumnName="dateCreated" msprop:Generator_ColumnPropNameInRow="dateCreated" msprop:Generator_ColumnVarNameInTable="columndateCreated" msprop:Generator_ColumnPropNameInTable="dateCreatedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="noteField" msprop:Generator_UserColumnName="noteField" msprop:Generator_ColumnPropNameInRow="noteField" msprop:Generator_ColumnVarNameInTable="columnnoteField" msprop:Generator_ColumnPropNameInTable="noteFieldColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="noteAuthor" msprop:Generator_UserColumnName="noteAuthor" msprop:Generator_ColumnVarNameInTable="columnnoteAuthor" msprop:Generator_ColumnPropNameInRow="noteAuthor" msprop:Generator_ColumnPropNameInTable="noteAuthorColumn" type="xs:int" minOccurs="0" /> + <xs:element name="noteAuthor" msprop:Generator_UserColumnName="noteAuthor" msprop:Generator_ColumnPropNameInRow="noteAuthor" msprop:Generator_ColumnVarNameInTable="columnnoteAuthor" msprop:Generator_ColumnPropNameInTable="noteAuthorColumn" type="xs:int" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_assignments" msprop:Generator_UserTableName="db_assignments" msprop:Generator_RowDeletedName="db_assignmentsRowDeleted" msprop:Generator_RowChangedName="db_assignmentsRowChanged" msprop:Generator_RowClassName="db_assignmentsRow" msprop:Generator_RowChangingName="db_assignmentsRowChanging" msprop:Generator_RowEvArgName="db_assignmentsRowChangeEvent" msprop:Generator_RowEvHandlerName="db_assignmentsRowChangeEventHandler" msprop:Generator_TableClassName="db_assignmentsDataTable" msprop:Generator_TableVarName="tabledb_assignments" msprop:Generator_RowDeletingName="db_assignmentsRowDeleting" msprop:Generator_TablePropName="db_assignments"> <xs:complexType> <xs:sequence> - <xs:element name="aType" msdata:ReadOnly="true" msprop:Generator_UserColumnName="aType" msprop:Generator_ColumnVarNameInTable="columnaType" msprop:Generator_ColumnPropNameInRow="aType" msprop:Generator_ColumnPropNameInTable="aTypeColumn" minOccurs="0"> + <xs:element name="aType" msdata:ReadOnly="true" msprop:Generator_UserColumnName="aType" msprop:Generator_ColumnPropNameInRow="aType" msprop:Generator_ColumnVarNameInTable="columnaType" msprop:Generator_ColumnPropNameInTable="aTypeColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="childID" msdata:ReadOnly="true" msprop:Generator_UserColumnName="childID" msprop:Generator_ColumnVarNameInTable="columnchildID" msprop:Generator_ColumnPropNameInRow="childID" msprop:Generator_ColumnPropNameInTable="childIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="creator" msdata:ReadOnly="true" msprop:Generator_UserColumnName="creator" msprop:Generator_ColumnVarNameInTable="columncreator" msprop:Generator_ColumnPropNameInRow="creator" msprop:Generator_ColumnPropNameInTable="creatorColumn" minOccurs="0"> + <xs:element name="childID" msdata:ReadOnly="true" msprop:Generator_UserColumnName="childID" msprop:Generator_ColumnPropNameInRow="childID" msprop:Generator_ColumnVarNameInTable="columnchildID" msprop:Generator_ColumnPropNameInTable="childIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="creator" msdata:ReadOnly="true" msprop:Generator_UserColumnName="creator" msprop:Generator_ColumnPropNameInRow="creator" msprop:Generator_ColumnVarNameInTable="columncreator" msprop:Generator_ColumnPropNameInTable="creatorColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="assigned" msdata:ReadOnly="true" msprop:Generator_UserColumnName="assigned" msprop:Generator_ColumnVarNameInTable="columnassigned" msprop:Generator_ColumnPropNameInRow="assigned" msprop:Generator_ColumnPropNameInTable="assignedColumn" minOccurs="0"> + <xs:element name="assigned" msdata:ReadOnly="true" msprop:Generator_UserColumnName="assigned" msprop:Generator_ColumnPropNameInRow="assigned" msprop:Generator_ColumnVarNameInTable="columnassigned" msprop:Generator_ColumnPropNameInTable="assignedColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="assignedID" msprop:Generator_UserColumnName="assignedID" msprop:Generator_ColumnVarNameInTable="columnassignedID" msprop:Generator_ColumnPropNameInRow="assignedID" msprop:Generator_ColumnPropNameInTable="assignedIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="dateAssigned" msprop:Generator_UserColumnName="dateAssigned" msprop:Generator_ColumnVarNameInTable="columndateAssigned" msprop:Generator_ColumnPropNameInRow="dateAssigned" msprop:Generator_ColumnPropNameInTable="dateAssignedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="dateDue" msprop:Generator_UserColumnName="dateDue" msprop:Generator_ColumnVarNameInTable="columndateDue" msprop:Generator_ColumnPropNameInRow="dateDue" msprop:Generator_ColumnPropNameInTable="dateDueColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="dateFinished" msprop:Generator_UserColumnName="dateFinished" msprop:Generator_ColumnVarNameInTable="columndateFinished" msprop:Generator_ColumnPropNameInRow="dateFinished" msprop:Generator_ColumnPropNameInTable="dateFinishedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="highPriority" msprop:Generator_UserColumnName="highPriority" msprop:Generator_ColumnVarNameInTable="columnhighPriority" msprop:Generator_ColumnPropNameInRow="highPriority" msprop:Generator_ColumnPropNameInTable="highPriorityColumn" type="xs:boolean" minOccurs="0" /> - <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> + <xs:element name="assignedID" msprop:Generator_UserColumnName="assignedID" msprop:Generator_ColumnPropNameInRow="assignedID" msprop:Generator_ColumnVarNameInTable="columnassignedID" msprop:Generator_ColumnPropNameInTable="assignedIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="dateAssigned" msprop:Generator_UserColumnName="dateAssigned" msprop:Generator_ColumnPropNameInRow="dateAssigned" msprop:Generator_ColumnVarNameInTable="columndateAssigned" msprop:Generator_ColumnPropNameInTable="dateAssignedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="dateDue" msprop:Generator_UserColumnName="dateDue" msprop:Generator_ColumnPropNameInRow="dateDue" msprop:Generator_ColumnVarNameInTable="columndateDue" msprop:Generator_ColumnPropNameInTable="dateDueColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="dateFinished" msprop:Generator_UserColumnName="dateFinished" msprop:Generator_ColumnPropNameInRow="dateFinished" msprop:Generator_ColumnVarNameInTable="columndateFinished" msprop:Generator_ColumnPropNameInTable="dateFinishedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="highPriority" msprop:Generator_UserColumnName="highPriority" msprop:Generator_ColumnPropNameInRow="highPriority" msprop:Generator_ColumnVarNameInTable="columnhighPriority" msprop:Generator_ColumnPropNameInTable="highPriorityColumn" type="xs:boolean" minOccurs="0" /> + <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="WOTotalTest" msprop:Generator_UserColumnName="WOTotalTest" msprop:Generator_ColumnVarNameInTable="columnWOTotalTest" msprop:Generator_ColumnPropNameInRow="WOTotalTest" msprop:Generator_ColumnPropNameInTable="WOTotalTestColumn" type="xs:int" minOccurs="0" /> - <xs:element name="WOPassRate" msdata:ReadOnly="true" msprop:Generator_UserColumnName="WOPassRate" msprop:Generator_ColumnVarNameInTable="columnWOPassRate" msprop:Generator_ColumnPropNameInRow="WOPassRate" msprop:Generator_ColumnPropNameInTable="WOPassRateColumn" minOccurs="0"> + <xs:element name="WOTotalTest" msprop:Generator_UserColumnName="WOTotalTest" msprop:Generator_ColumnPropNameInRow="WOTotalTest" msprop:Generator_ColumnVarNameInTable="columnWOTotalTest" msprop:Generator_ColumnPropNameInTable="WOTotalTestColumn" type="xs:int" minOccurs="0" /> + <xs:element name="WOPassRate" msdata:ReadOnly="true" msprop:Generator_UserColumnName="WOPassRate" msprop:Generator_ColumnPropNameInRow="WOPassRate" msprop:Generator_ColumnVarNameInTable="columnWOPassRate" msprop:Generator_ColumnPropNameInTable="WOPassRateColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="31" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="WOPass" msprop:Generator_UserColumnName="WOPass" msprop:Generator_ColumnVarNameInTable="columnWOPass" msprop:Generator_ColumnPropNameInRow="WOPass" msprop:Generator_ColumnPropNameInTable="WOPassColumn" type="xs:int" minOccurs="0" /> - <xs:element name="WOFail" msprop:Generator_UserColumnName="WOFail" msprop:Generator_ColumnVarNameInTable="columnWOFail" msprop:Generator_ColumnPropNameInRow="WOFail" msprop:Generator_ColumnPropNameInTable="WOFailColumn" type="xs:int" minOccurs="0" /> - <xs:element name="WOError" msprop:Generator_UserColumnName="WOError" msprop:Generator_ColumnVarNameInTable="columnWOError" msprop:Generator_ColumnPropNameInRow="WOError" msprop:Generator_ColumnPropNameInTable="WOErrorColumn" type="xs:int" minOccurs="0" /> - <xs:element name="aName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="aName" msprop:Generator_ColumnVarNameInTable="columnaName" msprop:Generator_ColumnPropNameInRow="aName" msprop:Generator_ColumnPropNameInTable="aNameColumn" minOccurs="0"> + <xs:element name="WOPass" msprop:Generator_UserColumnName="WOPass" msprop:Generator_ColumnPropNameInRow="WOPass" msprop:Generator_ColumnVarNameInTable="columnWOPass" msprop:Generator_ColumnPropNameInTable="WOPassColumn" type="xs:int" minOccurs="0" /> + <xs:element name="WOFail" msprop:Generator_UserColumnName="WOFail" msprop:Generator_ColumnPropNameInRow="WOFail" msprop:Generator_ColumnVarNameInTable="columnWOFail" msprop:Generator_ColumnPropNameInTable="WOFailColumn" type="xs:int" minOccurs="0" /> + <xs:element name="WOError" msprop:Generator_UserColumnName="WOError" msprop:Generator_ColumnPropNameInRow="WOError" msprop:Generator_ColumnVarNameInTable="columnWOError" msprop:Generator_ColumnPropNameInTable="WOErrorColumn" type="xs:int" minOccurs="0" /> + <xs:element name="aName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="aName" msprop:Generator_ColumnPropNameInRow="aName" msprop:Generator_ColumnVarNameInTable="columnaName" msprop:Generator_ColumnPropNameInTable="aNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> + <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_testPass" msprop:Generator_UserTableName="db_testPass" msprop:Generator_RowDeletedName="db_testPassRowDeleted" msprop:Generator_RowChangedName="db_testPassRowChanged" msprop:Generator_RowClassName="db_testPassRow" msprop:Generator_RowChangingName="db_testPassRowChanging" msprop:Generator_RowEvArgName="db_testPassRowChangeEvent" msprop:Generator_RowEvHandlerName="db_testPassRowChangeEventHandler" msprop:Generator_TableClassName="db_testPassDataTable" msprop:Generator_TableVarName="tabledb_testPass" msprop:Generator_RowDeletingName="db_testPassRowDeleting" msprop:Generator_TablePropName="db_testPass"> <xs:complexType> <xs:sequence> - <xs:element name="testPassID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="testPassID" msprop:Generator_ColumnPropNameInRow="testPassID" msprop:Generator_ColumnVarNameInTable="columntestPassID" msprop:Generator_ColumnPropNameInTable="testPassIDColumn" type="xs:int" /> - <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> + <xs:element name="testPassID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="testPassID" msprop:Generator_ColumnVarNameInTable="columntestPassID" msprop:Generator_ColumnPropNameInRow="testPassID" msprop:Generator_ColumnPropNameInTable="testPassIDColumn" type="xs:int" /> + <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="versionID" msprop:Generator_UserColumnName="versionID" msprop:Generator_ColumnPropNameInRow="versionID" msprop:Generator_ColumnVarNameInTable="columnversionID" msp... [truncated message content] |
From: <ro...@us...> - 2006-07-26 14:32:45
|
Revision: 222 Author: rouquin Date: 2006-07-26 07:32:35 -0700 (Wed, 26 Jul 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=222&view=rev Log Message: ----------- The user settings page wasn't updating so I tweaked it an it works now. I was also have some serious session timeout issues on IE. I added a little more session processing to help though I'm not sure if that was the issue. It seems that the SQL based session is more reliable but not as flexible (only handles serializable objects). Modified Paths: -------------- Website/App_Code/GlobalClass.cs Website/App_Code/SiteMaster.cs Website/Includes/UserSettings.ascx Website/Includes/UserSettings.ascx.cs Website/web.config Modified: Website/App_Code/GlobalClass.cs =================================================================== --- Website/App_Code/GlobalClass.cs 2006-07-25 22:01:30 UTC (rev 221) +++ Website/App_Code/GlobalClass.cs 2006-07-26 14:32:35 UTC (rev 222) @@ -71,6 +71,14 @@ // everything } + void Session_Start(object sender, EventArgs e) + { + if (User.Identity.IsAuthenticated) + { + Session["m_user"] = UserDB.GetUserInfo(User.Identity.Name); + } + } + void Application_PreRequestHandlerExecute(object sender, EventArgs e) { Modified: Website/App_Code/SiteMaster.cs =================================================================== --- Website/App_Code/SiteMaster.cs 2006-07-25 22:01:30 UTC (rev 221) +++ Website/App_Code/SiteMaster.cs 2006-07-26 14:32:35 UTC (rev 222) @@ -23,11 +23,14 @@ protected override void OnInit(EventArgs e) { - m_user = LoadSessionUser(); - m_startTime = LoadStartTime(); + if (Page.User.Identity.IsAuthenticated) + { + m_user = LoadSessionUser(); + m_startTime = LoadStartTime(); - //TimeSpan d = DateTime.Now - m_startTime; - //d.Milliseconds; + //TimeSpan d = DateTime.Now - m_startTime; + //d.Milliseconds; + } } public DateTime LoadStartTime() @@ -42,12 +45,11 @@ public User LoadSessionUser() { - if (m_user != null) + if (m_user != null && m_user.ISAUTHENTICATED) { return m_user; } - int id = 0; m_logg.Debug("Entering the SiteUserControl LoadUser"); try Modified: Website/Includes/UserSettings.ascx =================================================================== --- Website/Includes/UserSettings.ascx 2006-07-25 22:01:30 UTC (rev 221) +++ Website/Includes/UserSettings.ascx 2006-07-26 14:32:35 UTC (rev 222) @@ -3,7 +3,7 @@ <div id="UserSettings"> <asp:FormView ID="FormView1" runat="server" DataSourceID="UserDataSource" DataKeyNames="userID" OnItemDeleted="FormView1_ItemDeleted" OnItemCommand="FormView1_ItemCommand" OnItemInserted="FormView1_ItemInserted" - OnItemUpdated="FormView1_ItemUpdated"> + OnItemUpdated="FormView1_ItemUpdated" OnDataBound="FormView1_DataBound"> <HeaderTemplate> <div class="ch"> <h2> @@ -22,7 +22,7 @@ <div class="item"> <label> User:</label> - <asp:Label ID="usernameLabel" runat="server" Text='<%# Bind("username") %>'></asp:Label> + <asp:Label ID="usernameLabel" runat="server" Text='<%# Eval("username") %>'></asp:Label> </div> <div class="item"> <label> @@ -33,7 +33,7 @@ <div class="item"> <label> Email:</label> - <asp:Label ID="emailLabel" runat="server" Text='<%# Bind("email") %>'></asp:Label> + <asp:Label ID="emailLabel" runat="server" Text='<%# Eval("email") %>'></asp:Label> </div> </div> <div class="end"> @@ -46,17 +46,17 @@ <div class="item"> <label> Office #:</label> - <asp:Label ID="officeHome" runat="server" Text='<%# Bind("officePhone") %>'></asp:Label> + <asp:Label ID="officeHome" runat="server" Text='<%# Eval("officePhone") %>'></asp:Label> </div> <div class="item"> <label> Home #:</label> - <asp:Label ID="homePhoneLabel" runat="server" Text='<%# Bind("homePhone") %>'></asp:Label> + <asp:Label ID="homePhoneLabel" runat="server" Text='<%# Eval("homePhone") %>'></asp:Label> </div> <div class="item"> <label> Cell #:</label> - <asp:Label ID="cellPhoneLabel" runat="server" Text='<%# Bind("cellPhone") %>'></asp:Label> + <asp:Label ID="cellPhoneLabel" runat="server" Text='<%# Eval("cellPhone") %>'></asp:Label> </div> </div> <div class="end"> @@ -74,7 +74,7 @@ <div class="item"> <label> Automation:</label> - <asp:CheckBox ID="automationCheckBox" runat="server" Checked='<%# Bind("automation") %>' + <asp:CheckBox ID="automationCheckBox" runat="server" Checked='<%# Eval("automation") %>' Enabled="false" /> </div> </div> @@ -113,17 +113,14 @@ <div class="item"> <label> User:</label> - <asp:Label ID="usernameLbl" runat="server" Text='<%# Bind("username") %>'></asp:Label> + <asp:TextBox ID="usernameBox" runat="server" Text='<%# Bind("username") %>'></asp:TextBox> </div> <div class="item"> <label> Name: </label> - <asp:TextBox ID="firstNameBox" runat="server" Text='<%# Eval("firstName") %>'></asp:TextBox> - <asp:TextBox ID="lastNameBox" runat="server" Text='<%# Eval("lastName") %>'></asp:TextBox> - <!-- - <asp:Label ID="FirstNameLabel" runat="server" Text='<%# Eval("firstName") %>'></asp:Label> - <asp:Label ID="LastNameLabel" runat="server" Text='<%# Eval("lastName") %>'></asp:Label>--> + <asp:TextBox ID="firstNameBox" runat="server" Text='<%# Bind("firstName") %>'></asp:TextBox> + <asp:TextBox ID="lastNameBox" runat="server" Text='<%# Bind("lastName") %>'></asp:TextBox> </div> <div class="item"> <label> Modified: Website/Includes/UserSettings.ascx.cs =================================================================== --- Website/Includes/UserSettings.ascx.cs 2006-07-25 22:01:30 UTC (rev 221) +++ Website/Includes/UserSettings.ascx.cs 2006-07-26 14:32:35 UTC (rev 222) @@ -116,12 +116,7 @@ protected void SyncWithAD(object sender, CommandEventArgs e) { - String username = ""; - if (FormView1.CurrentMode == FormViewMode.Edit) - username = ((Label) FormView1.FindControl("usernameLbl")).Text; - else - username = ((TextBox)FormView1.FindControl("usernameBox")).Text; - + String username = ((TextBox)FormView1.FindControl("usernameBox")).Text; User curUser = AD_Authentication.AD_GetUserInfo(m_user.USERNAME, m_user.PASSWORD, username); if (curUser.ID != -1) @@ -149,4 +144,15 @@ else Response.Redirect("UserConfig.aspx?" + Constants.CODE_USER + "=" + userID); } + protected void FormView1_DataBound(object sender, EventArgs e) + { + if (FormView1.CurrentMode == FormViewMode.Edit) + { + if (mode == "read") + { + TextBox username = (TextBox)FormView1.FindControl("usernameBox"); + username.Enabled = false; + } + } + } } Modified: Website/web.config =================================================================== --- Website/web.config 2006-07-25 22:01:30 UTC (rev 221) +++ Website/web.config 2006-07-26 14:32:35 UTC (rev 222) @@ -132,7 +132,8 @@ providerName="System.Data.SqlClient" /> </connectionStrings> <system.web> - <sessionState mode="InProc" cookieless="false" timeout="1440"/> + <sessionState mode="InProc" cookieless="false" timeout="20"/> + <pages styleSheetTheme="Python"> <!-- TODO: Make sure the theme is being pulled dynamically --> <controls> @@ -198,7 +199,9 @@ <authentication mode="Windows"/> --> - <authentication mode="Forms" /> + <authentication mode="Forms" > + <forms timeout="50000000"/> + </authentication> <!-- The <customErrors> section enables configuration of what to do if/when an unhandled error occurs This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: Matt H. <Mat...@qu...> - 2006-07-26 14:08:08
|
=20 =20 Matthew Hildebrand VSM QA Engineer, Quest Software 333 South 520 West, Suite 270 Lindon, UT 84042 Phone: (801) 655-2542 www.quest.com=20 =20 |