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: <m_h...@us...> - 2006-08-09 23:01:09
|
Revision: 293 Author: m_hildebrand Date: 2006-08-09 16:00:54 -0700 (Wed, 09 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=293&view=rev Log Message: ----------- More CSS changes Worked on the main administration page layout Modified Paths: -------------- Website/App_Themes/Python/Python.skin Website/App_Themes/Python/python.css Website/Includes/Administration.ascx Website/Includes/Administration.ascx.cs Website/Includes/UserSettings.ascx Website/Includes/UserSettings.ascx.cs Added Paths: ----------- Website/App_Themes/Python/Images/product_delete_48.png Website/App_Themes/Python/Images/product_edit_48.png Website/App_Themes/Python/Images/product_view_48.png Website/App_Themes/Python/Images/user_delete_48.png Website/App_Themes/Python/Images/user_edit_48.png Website/App_Themes/Python/Images/user_view_48.png Added: Website/App_Themes/Python/Images/product_delete_48.png =================================================================== (Binary files differ) Property changes on: Website/App_Themes/Python/Images/product_delete_48.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: Website/App_Themes/Python/Images/product_edit_48.png =================================================================== (Binary files differ) Property changes on: Website/App_Themes/Python/Images/product_edit_48.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: Website/App_Themes/Python/Images/product_view_48.png =================================================================== (Binary files differ) Property changes on: Website/App_Themes/Python/Images/product_view_48.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: Website/App_Themes/Python/Images/user_delete_48.png =================================================================== (Binary files differ) Property changes on: Website/App_Themes/Python/Images/user_delete_48.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: Website/App_Themes/Python/Images/user_edit_48.png =================================================================== (Binary files differ) Property changes on: Website/App_Themes/Python/Images/user_edit_48.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: Website/App_Themes/Python/Images/user_view_48.png =================================================================== (Binary files differ) Property changes on: Website/App_Themes/Python/Images/user_view_48.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: Website/App_Themes/Python/Python.skin =================================================================== --- Website/App_Themes/Python/Python.skin 2006-08-09 21:13:16 UTC (rev 292) +++ Website/App_Themes/Python/Python.skin 2006-08-09 23:00:54 UTC (rev 293) @@ -22,8 +22,16 @@ --%> <asp:GridView runat="server" SkinId="assignments" Width="100%" /> <asp:Image runat="server" SkinId="newUserImage" ImageUrl="Images/user_add_48.png" /> +<asp:Image runat="server" SkinId="viewUserImage" ImageUrl="Images/user_view_48.png" /> +<asp:Image runat="server" SkinId="editUserImage" ImageUrl="Images/user_edit_48.png" /> +<asp:Image runat="server" SkinId="deleteUserImage" ImageUrl="Images/user_delete_48.png" /> <asp:Image runat="server" SkinId="userRoleImage" ImageUrl="Images/user_role_48.png" /> + <asp:Image runat="server" SkinId="newProductImage" ImageUrl="Images/product_add_48.png" /> +<asp:Image runat="server" SkinId="editProductImage" ImageUrl="Images/product_edit_48.png" /> +<asp:Image runat="server" SkinId="viewProductImage" ImageUrl="Images/product_view_48.png" /> +<asp:Image runat="server" SkinId="deleteProductImage" ImageUrl="Images/product_delete_48.png" /> + <asp:Image runat="server" SkinId="priority_high_small" ImageUrl="Images/priority_high_small.png" /> <asp:Image runat="server" SkinId="priority_high_large" ImageUrl="Images/priority_high_large.png" /> <asp:Image runat="server" SkinId="priority_normal_small" ImageUrl="" /> Modified: Website/App_Themes/Python/python.css =================================================================== --- Website/App_Themes/Python/python.css 2006-08-09 21:13:16 UTC (rev 292) +++ Website/App_Themes/Python/python.css 2006-08-09 23:00:54 UTC (rev 293) @@ -128,40 +128,6 @@ list-style-type: circle; } -.button -{ - display: inline; - position: relative; - top: 15px; - left: -20px; - z-index: 50; -} - -.button LABEL -{ - position: relative; - left: -30px; - top: 3px; - text-decoration: none; -} - -.button A -{ - text-decoration: none; - font-weight: bold; -} - - -.button IMG -{ - /*display: block;*/ - border: none; - position: relative; - left: 30px; - top: -3px; - z-index: -10; -} - .motd { margin: 10px 0 0 10px; @@ -183,12 +149,6 @@ text-indent: -5em } -.pictureMenu -{ - text-align: center; - z-index: 100; -} - /********** END Global Classes **********/ /********** BEGIN Calendar Classes **********/ @@ -454,7 +414,68 @@ } /********** END Notes Box Content **********/ +/********* BEGIN Administration Menu Content *********/ +#Administration, #Administration LABEL +{ + margin-left: 20px; +} +#Administration .menu +{ + display: block; + margin: 15px; + float: left; + clear: left; +} + +.pictureMenu +{ + margin: 0; + text-align: left; + z-index: 100; +} + +.button +{ + float: left; + position: relative; + z-index: 50; + margin: 5px 0 5px -20px; +} + +.button A +{ + text-decoration: none; + font-weight: bold; +} + +.button IMG +{ + border: none; + position: relative; + left: 30px; + top: -3px; + z-index: -10; +} + +.pictureMenu .xb2, .pictureMenu .xb3, .pictureMenu .xb4 +{ + background-color: Transparent; + border-left-color: #022E66; + border-right-color: #022E66; +} + +.pictureMenu .xb1 +{ + background-color: #022E66; +} + +.pictureMenu .xboxcontent +{ + background-color: Transparent; + border-color: #022E66; +} +/********** END Picture Menu Content **********/ /********** BEGIN Page Content **********/ #TreeContent { Modified: Website/Includes/Administration.ascx =================================================================== --- Website/Includes/Administration.ascx 2006-08-09 21:13:16 UTC (rev 292) +++ Website/Includes/Administration.ascx 2006-08-09 23:00:54 UTC (rev 293) @@ -1,17 +1,107 @@ -<%@ Control Language="C#" AutoEventWireup="true" CodeFile="Administration.ascx.cs" Inherits="TCDB.Administration" %> - -<div class="pictureMenu"> - <div class="button"> - <asp:LinkButton ID="newProduct" runat="server" PostBackUrl="~/Product.aspx?mode=new" OnInit="newProduct_Init" > - <asp:Image ID="newProductIcon" runat="server" SkinID="newProductImage" AlternateText="New Product" />New - Product</asp:LinkButton> +<%@ Control Language="C#" AutoEventWireup="true" CodeFile="Administration.ascx.cs" + Inherits="TCDB.Administration" %> +<!-- TODO: make these pull-downs dynamic --> +<div id="Administration"> + <div class="menu"> + <label> + Product Administration</label> + <div class="pictureMenu" id="ProductAdmin"> + <div class="xsnazzy"> + <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="button"> + <asp:LinkButton ID="newProduct" runat="server" PostBackUrl="~/Product.aspx?mode=new" + OnInit="newProduct_Init"> + <asp:Image ID="newProductIcon" runat="server" SkinID="newProductImage" AlternateText="New Product" />New + Product</asp:LinkButton> + </div> + <div class="end"> + </div> + <div class="hr"> + </div> + <div class="pulldown"> + <label> + For:</label> + <asp:DropDownList runat="server" ID="testing"> + <asp:ListItem Text="Quest management Xtensions for MOM" Value="1"></asp:ListItem> + </asp:DropDownList> + </div> + <div class="button"> + <asp:LinkButton ID="viewProduct" runat="server" PostBackUrl="~/Product.aspx?mode=view" + OnInit="viewProduct_Init"> + <asp:Image ID="viewProductIcon" runat="server" SkinID="newProductImage" AlternateText="Edit Product" />View + Product</asp:LinkButton> + </div> + <div class="button"> + <asp:LinkButton ID="editProduct" runat="server" PostBackUrl="~/Product.aspx?mode=edit" + OnInit="editProduct_Init"> + <asp:Image ID="editProductIcon" runat="server" SkinID="editProductImage" AlternateText="Edit Product" />Edit + Product</asp:LinkButton> + </div> + <div class="button"> + <asp:LinkButton ID="deleteProduct" runat="server" PostBackUrl="~/Product.aspx?mode=delete" + OnInit="deleteProduct_Init"> + <asp:Image ID="deleteProductIcon" runat="server" SkinID="deleteProductImage" AlternateText="Edit Product" />Delete + Product</asp:LinkButton> + </div> + <div class="end"> + </div> + </div> + <b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b></b> + <b class="xb1"></b> + </div> </div> - <div class="button"> - <asp:LinkButton ID="newUser" runat="server" PostBackUrl="~/UserSettings.aspx?mode=new" OnInit="newUser_Init" > - <asp:Image ID="newUserIcon" runat="server" SkinID="newUserImage" AlternateText="New User" />New - User</asp:LinkButton></div> - <div class="button"> - <asp:LinkButton ID="userRole" runat="server" PostBackUrl="~/AdminRole.aspx" OnInit="userRole_Init"> - <asp:Image ID="userRoleIcon" runat="server" SkinID="userRoleImage" AlternateText="User Roles" />User - Roles</asp:LinkButton></div> </div> + <div class="menu"> + <label> + User Administration</label> + <div class="pictureMenu" id="UserAdmin"> + <div class="xsnazzy"> + <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="button"> + <asp:LinkButton ID="newUser" runat="server" PostBackUrl="~/UserSettings.aspx?mode=new" + OnInit="newUser_Init"> + <asp:Image ID="newUserIcon" runat="server" SkinID="newUserImage" AlternateText="New User" />New + User</asp:LinkButton></div> + <div class="button"> + <asp:LinkButton ID="userRole" runat="server" PostBackUrl="~/AdminRole.aspx" OnInit="userRole_Init"> + <asp:Image ID="userRoleIcon" runat="server" SkinID="userRoleImage" AlternateText="User Roles" />User + Roles</asp:LinkButton></div> + <div class="end"> + </div> + <div class="hr"> + </div> + <div class="pulldown"> + <label> + For:</label> + <asp:DropDownList runat="server" ID="DropDownList1"> + <asp:ListItem Text="Matthew Hildebrand" Value="1"></asp:ListItem> + </asp:DropDownList> + </div> + <div class="button"> + <asp:LinkButton ID="userView" runat="server" PostBackUrl="~/UserSettings.aspx?mode=view" + OnInit="viewUser_Init"> + <asp:Image ID="userViewIcon" runat="server" SkinID="viewUserImage" AlternateText="View User" />View + User</asp:LinkButton></div> + <div class="button"> + <asp:LinkButton ID="userEdit" runat="server" PostBackUrl="~/UserSettings.aspx?mode=edit" + OnInit="editUser_Init"> + <asp:Image ID="userEditIcon" runat="server" SkinID="editUserImage" AlternateText="Edit User" />Edit + User</asp:LinkButton></div> + <div class="button"> + <asp:LinkButton ID="userDelete" runat="server" PostBackUrl="~/UserSettings.aspx?mode=new" + OnInit="deleteUser_Init"> + <asp:Image ID="userDeleteIcon" runat="server" SkinID="deleteUserImage" AlternateText="Delete User" />Delete + User</asp:LinkButton></div> + <div class="end"> + </div> + </div> + <b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b></b> + <b class="xb1"></b> + </div> + </div> + </div> +</div> Modified: Website/Includes/Administration.ascx.cs =================================================================== --- Website/Includes/Administration.ascx.cs 2006-08-09 21:13:16 UTC (rev 292) +++ Website/Includes/Administration.ascx.cs 2006-08-09 23:00:54 UTC (rev 293) @@ -21,6 +21,7 @@ { m_logg.Debug("Loading Administration page"); } + protected void newUser_Init(object sender, EventArgs e) { LinkButton newUser = (LinkButton)sender; @@ -28,6 +29,31 @@ if (!m_user.HasRight("create_user", Constants.PRODUCT_ANYID)) newUser.Visible = false; } + + protected void viewUser_Init(object sender, EventArgs e) + { + LinkButton viewUser = (LinkButton)sender; + + if (!m_user.HasRight("view_user", Constants.PRODUCT_ANYID)) + viewUser.Visible = false; + } + + protected void editUser_Init(object sender, EventArgs e) + { + LinkButton editUser = (LinkButton)sender; + + if (!m_user.HasRight("edit_user", Constants.PRODUCT_ANYID)) + editUser.Visible = false; + } + + protected void deleteUser_Init(object sender, EventArgs e) + { + LinkButton deleteUser = (LinkButton)sender; + + if (!m_user.HasRight("delete_user", Constants.PRODUCT_ANYID)) + deleteUser.Visible = false; + } + protected void userRole_Init(object sender, EventArgs e) { LinkButton seeRoles = (LinkButton)sender; @@ -35,6 +61,7 @@ if (!m_user.HasRight("view_my_roles", Constants.PRODUCT_ANYID) && !m_user.HasRight("view_other_roles", Constants.PRODUCT_ANYID)) seeRoles.Visible = false; } + protected void newProduct_Init(object sender, EventArgs e) { LinkButton newProduct = (LinkButton)sender; @@ -42,5 +69,29 @@ if (!m_user.HasRight("create_product", Constants.PRODUCT_ANYID)) newProduct.Visible = false; } + + protected void editProduct_Init(object sender, EventArgs e) + { + LinkButton editProduct = (LinkButton)sender; + + if (!m_user.HasRight("edit_product", Constants.PRODUCT_ANYID)) + editProduct.Visible = false; + } + + protected void viewProduct_Init(object sender, EventArgs e) + { + LinkButton viewProduct = (LinkButton)sender; + + if (!m_user.HasRight("view_product", Constants.PRODUCT_ANYID)) + viewProduct.Visible = false; + } + + protected void deleteProduct_Init(object sender, EventArgs e) + { + LinkButton deleteProduct = (LinkButton)sender; + + if (!m_user.HasRight("delete_product", Constants.PRODUCT_ANYID)) + deleteProduct.Visible = false; + } } } \ No newline at end of file Modified: Website/Includes/UserSettings.ascx =================================================================== --- Website/Includes/UserSettings.ascx 2006-08-09 21:13:16 UTC (rev 292) +++ Website/Includes/UserSettings.ascx 2006-08-09 23:00:54 UTC (rev 293) @@ -207,9 +207,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:LinkButton ID="sync" runat="server" Text="Sync from AD" OnCommand="SyncFromAD" /> - <asp:Label ID="passwordLbl" runat="server" Text="Password: "></asp:Label><asp:TextBox + <asp:Label ID="passwordLbl" runat="server" Text="Your AD Password: "></asp:Label><asp:TextBox ID="passwordBox" runat="server" TextMode="Password"></asp:TextBox> </div> <div class="right"> @@ -309,9 +309,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:LinkButton ID="sync" runat="server" Text="Sync from AD" OnCommand="SyncFromAD" /> - <asp:Label ID="passwordLbl" runat="server" Text="Password: "></asp:Label><asp:TextBox + <asp:Label ID="passwordLbl" runat="server" Text="Your AD Password: "></asp:Label><asp:TextBox ID="passwordBox" runat="server" TextMode="Password"></asp:TextBox> </div> <div class="right"> Modified: Website/Includes/UserSettings.ascx.cs =================================================================== --- Website/Includes/UserSettings.ascx.cs 2006-08-09 21:13:16 UTC (rev 292) +++ Website/Includes/UserSettings.ascx.cs 2006-08-09 23:00:54 UTC (rev 293) @@ -197,7 +197,7 @@ m_user.ClearRights(); } - protected void SyncWithAD(object sender, CommandEventArgs e) + protected void SyncFromAD(object sender, CommandEventArgs e) { TextBox passwordBox = (TextBox)UserSettingsView.FindControl("passwordBox"); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2006-08-09 21:13:21
|
Revision: 292 Author: rouquin Date: 2006-08-09 14:13:16 -0700 (Wed, 09 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=292&view=rev Log Message: ----------- Had to fix what values were being passed to session for assignments filtering. Modified Paths: -------------- Website/Includes/ActionItems.ascx.cs Website/Includes/Assignments.ascx.cs Website/Includes/AssignmentsTree.ascx.cs Website/Includes/Products.ascx.cs Website/Includes/Rights.ascx.cs Website/Includes/UserRoles.ascx.cs Modified: Website/Includes/ActionItems.ascx.cs =================================================================== --- Website/Includes/ActionItems.ascx.cs 2006-08-09 20:32:34 UTC (rev 291) +++ Website/Includes/ActionItems.ascx.cs 2006-08-09 21:13:16 UTC (rev 292) @@ -484,7 +484,8 @@ tcdbDataSetTableAdapters.db_actionItemsTableAdapter aiAdapter = new tcdbDataSetTableAdapters.db_actionItemsTableAdapter(); aiAdapter.Delete(Convert.ToInt32(item_id), deleted); - Response.Redirect(Request.RawUrl); + if (ActionItemsView.CurrentMode != FormViewMode.Edit) + Response.Redirect(Request.RawUrl); } } } Modified: Website/Includes/Assignments.ascx.cs =================================================================== --- Website/Includes/Assignments.ascx.cs 2006-08-09 20:32:34 UTC (rev 291) +++ Website/Includes/Assignments.ascx.cs 2006-08-09 21:13:16 UTC (rev 292) @@ -22,7 +22,7 @@ { private static Logger m_logg = new Logger("TCDB.Assignments"); - private String uid = null; + private int uid = 0; private String mode = null; private int productID = 0; private const int MAX_NAME_LENGTH = 30; @@ -33,29 +33,31 @@ { return; } + Session.Remove("uid"); + Session.Remove("myID"); m_logg.Debug("Loading assignments for [" + m_user.ToString() + "]"); // Load session data try { - uid = (String)Session[Constants.CODE_USER]; + uid = Convert.ToInt32(Session[Constants.CODE_USER]); } catch { } try { - mode = (String)Session["mode"]; + mode = Session[Constants.CODE_MODE].ToString(); } catch { } try { - productID = (int)Session[Constants.CODE_PRODUCT]; + productID = Convert.ToInt32(Session[Constants.CODE_PRODUCT]); } catch { } if (productID == 0) productID = Constants.PRODUCT_ANYID; - if (uid == null) + if (uid == 0) { m_logg.Debug("UserID not specified in the session data, checking for permissions to view multiple users assignments"); if (m_user.HasRight("view_other_ai", productID) || m_user.HasRight("view_created_ai", productID) || @@ -77,7 +79,7 @@ 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(); + uid = m_user.ID; Page.Title = "TCDB: My Assignments"; header.Text = "My Assignments"; } @@ -85,7 +87,7 @@ Response.Redirect("~/Default.aspx"); } } - else if (uid == m_user.ID.ToString()) + else if (uid == m_user.ID) { if (m_user.HasRight("view_my_ai") || m_user.HasRight("view_my_wo")) { @@ -98,7 +100,7 @@ } else { - User user = UserDB.GetUserInfo(Convert.ToInt32(uid)); + User user = UserDB.GetUserInfo(uid); if (user.HasRights(productID) && (m_user.HasRight("view_other_ai", productID) || m_user.HasRight("view_other_wo", productID) || @@ -110,10 +112,11 @@ header.Text = name + "'s Assignments"; } } - if (mode == Constants.ASSIGNMENT_CREATED) + if (mode == Constants.CODE_CREATED) Session.Add("myID", m_user.ID); - Session.Add("uid", uid); + if (uid != 0) + Session.Add("uid", uid); m_logg.Debug("Databinding the AssignmentsGridView"); if (Session["refresh"] != null) AssignmentsGridView.DataBind(); @@ -156,7 +159,7 @@ ) return false; - if (mode == "created" && ai.CREATOR.ID != m_user.ID) + if (mode == Constants.CODE_CREATED && ai.CREATOR.ID != m_user.ID) return false; if (cboTypeFilter.Checked && !cboShowActionItems.Checked) @@ -180,7 +183,7 @@ ) return false; - if (mode == "created" && wo.CREATOR.ID != m_user.ID) + if (mode == Constants.CODE_CREATED && wo.CREATOR.ID != m_user.ID) return false; if (cboTypeFilter.Checked && !cboShowWorkOrders.Checked) Modified: Website/Includes/AssignmentsTree.ascx.cs =================================================================== --- Website/Includes/AssignmentsTree.ascx.cs 2006-08-09 20:32:34 UTC (rev 291) +++ Website/Includes/AssignmentsTree.ascx.cs 2006-08-09 21:13:16 UTC (rev 292) @@ -74,57 +74,6 @@ m_logg.Debug("Collapsing node [" + nodes[index].ToString() + "]"); nodes.RemoveAt(index); } - - if (e.Node.Selected && AssignmentTree.ShowExpandCollapse == false) - { - e.Node.Selected = false; - String nodeType = GetValue(e.Node, "NodeType"); - if (nodeType == null) nodeType = "Root"; - String nodeValue = GetValue(e.Node, "Value"); - switch (nodeType) - { - case "Root": - Session.Remove(PREFIX + Constants.CODE_USER); - Session.Remove(PREFIX + Constants.CODE_PRODUCT); - Response.Redirect("~/Assignments.aspx"); - break; - case "Product": - Session.Remove(PREFIX + Constants.CODE_USER); - Session[PREFIX + Constants.CODE_PRODUCT] = nodeValue; - Response.Redirect("~/Assignments.aspx"); - break; - case "User": - Session[PREFIX + Constants.CODE_USER] = nodeValue; - Session[PREFIX + Constants.CODE_PRODUCT] = GetValue(e.Node.Parent, "Value"); - try - { - if (bool.Parse(GetValue(e.Node, "IsCreated"))) - { - Session.Remove(Constants.CODE_PRODUCT); - Session[Constants.CODE_CREATED] = true; - } - } - catch { } - Response.Redirect("~/Assignments.aspx"); - break; - case "Created": - Session.Remove(Constants.CODE_USER); - Session.Remove(Constants.CODE_PRODUCT); - Session[Constants.CODE_CREATED] = true; - Response.Redirect("~/Assignments.aspx"); - break; - case "ActionItem": - Session[Constants.CODE_AI] = nodeValue; - Response.Redirect("~/ActionItem.aspx"); - break; - case "WorkOrer": - Session[Constants.CODE_WO] = nodeValue; - Response.Redirect("~/WorkOrder.aspx"); - break; - default: - break; - } - } } protected void AssignmentTree_TreeNodeExpanded(object sender, TreeNodeEventArgs e) @@ -136,85 +85,25 @@ 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; - String nodeType = GetValue(e.Node, "NodeType"); - if (nodeType == null) nodeType = "Root"; - String nodeValue = GetValue(e.Node, "Value"); - switch (nodeType) - { - case "Root": - Session.Remove(PREFIX + Constants.CODE_USER); - Session.Remove(PREFIX + Constants.CODE_PRODUCT); - Response.Redirect("~/Assignments.aspx"); - break; - case "Product": - Session.Remove(PREFIX + Constants.CODE_USER); - Session[PREFIX + Constants.CODE_PRODUCT] = nodeValue; - Response.Redirect("~/Assignments.aspx"); - break; - case "User": - Session[PREFIX + Constants.CODE_USER] = nodeValue; - Session[PREFIX + Constants.CODE_PRODUCT] = GetValue(e.Node.Parent, "Value"); - try - { - if (bool.Parse(GetValue(e.Node, "IsCreated"))) - { - Session.Remove(Constants.CODE_PRODUCT); - Session[Constants.CODE_CREATED] = true; - } - } - catch { } - Response.Redirect("~/Assignments.aspx"); - break; - case "Created": - Session.Remove(Constants.CODE_USER); - Session.Remove(Constants.CODE_PRODUCT); - Session[Constants.CODE_CREATED] = true; - Response.Redirect("~/Assignments.aspx"); - break; - case "ActionItem": - Session[Constants.CODE_AI] = nodeValue; - Response.Redirect("~/ActionItem.aspx"); - break; - case "WorkOrer": - Session[Constants.CODE_WO] = nodeValue; - Response.Redirect("~/WorkOrder.aspx"); - 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 - {*/ String nodeType = GetValue(node, "NodeType"); if (nodeType == null) nodeType = "Root"; + String nodeValue = GetValue(node, "Value"); + node.Selected = false; + + Session.Remove(Constants.CODE_USER); + Session.Remove(Constants.CODE_PRODUCT); + Session.Remove(Constants.CODE_MODE); switch (nodeType) { case "Root": - Session.Remove(Constants.CODE_USER); - Session.Remove(Constants.CODE_PRODUCT); Response.Redirect("~/Assignments.aspx"); break; case "Product": - Session.Remove(Constants.CODE_USER); Session[Constants.CODE_PRODUCT] = nodeValue; Response.Redirect("~/Assignments.aspx"); break; @@ -225,24 +114,21 @@ { if (bool.Parse(GetValue(node, "IsCreated"))) { - Session.Remove(Constants.CODE_PRODUCT); - Session[Constants.CODE_CREATED] = true; + Session[Constants.CODE_MODE] = Constants.CODE_CREATED; } } catch { } Response.Redirect("~/Assignments.aspx"); break; case "Created": - Session.Remove(Constants.CODE_USER); - Session.Remove(Constants.CODE_PRODUCT); - Session[Constants.CODE_CREATED] = true; + Session[Constants.CODE_MODE] = Constants.CODE_CREATED; Response.Redirect("~/Assignments.aspx"); break; case "ActionItem": Session[Constants.CODE_AI] = nodeValue; Response.Redirect("~/ActionItem.aspx"); break; - case "WorkOrer": + case "WorkOrder": Session[Constants.CODE_WO] = nodeValue; Response.Redirect("~/WorkOrder.aspx"); break; Modified: Website/Includes/Products.ascx.cs =================================================================== --- Website/Includes/Products.ascx.cs 2006-08-09 20:32:34 UTC (rev 291) +++ Website/Includes/Products.ascx.cs 2006-08-09 21:13:16 UTC (rev 292) @@ -246,9 +246,9 @@ { tcdbDataSetTableAdapters.db_productsTableAdapter pAdapter = new tcdbDataSetTableAdapters.db_productsTableAdapter(); pAdapter.Update(product.ID, product.NAME, product.DESCRIPTION, null, null, null, null, null, product.CODENAME, activeBox.Checked); + + Response.Redirect(Request.RawUrl); } - - Response.Redirect(Request.RawUrl); } protected void ProductsView_DataBound(object sender, EventArgs e) { Modified: Website/Includes/Rights.ascx.cs =================================================================== --- Website/Includes/Rights.ascx.cs 2006-08-09 20:32:34 UTC (rev 291) +++ Website/Includes/Rights.ascx.cs 2006-08-09 21:13:16 UTC (rev 292) @@ -125,7 +125,9 @@ { tcdbDataSetTableAdapters.db_rightsTableAdapter rAdapter = new tcdbDataSetTableAdapters.db_rightsTableAdapter(); rAdapter.Update(right.ID, right.CODE, right.NAME, right.DESCRIPTION, activeBox.Checked); - } + + Response.Redirect(Request.RawUrl); + } } protected void FormView1_DataBound(object sender, EventArgs e) Modified: Website/Includes/UserRoles.ascx.cs =================================================================== --- Website/Includes/UserRoles.ascx.cs 2006-08-09 20:32:34 UTC (rev 291) +++ Website/Includes/UserRoles.ascx.cs 2006-08-09 21:13:16 UTC (rev 292) @@ -263,6 +263,8 @@ { tcdbDataSetTableAdapters.db_roleTableAdapter rAdapter = new tcdbDataSetTableAdapters.db_roleTableAdapter(); rAdapter.Update(role.ID, role.NAME, role.DESCRIPTION, activeBox.Checked); + + Response.Redirect(Request.RawUrl); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <m_h...@us...> - 2006-08-09 20:32:47
|
Revision: 291 Author: m_hildebrand Date: 2006-08-09 13:32:34 -0700 (Wed, 09 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=291&view=rev Log Message: ----------- CSS changes making things pretty. Modified Paths: -------------- Website/App_Code/Assignments.cs Website/App_Code/tcdbDataSet.xsd Website/App_Code/tcdbDataSet.xss Website/App_Themes/Python/Python.skin Website/App_Themes/Python/python.css Website/Bin/App_Licenses.dll Website/Includes/Assignments.ascx Website/Includes/Assignments.ascx.cs Website/Includes/Products.ascx Website/Includes/Products.ascx.cs Website/Includes/Rights.ascx Website/Includes/UserRoles.ascx Website/Includes/UserRoles.ascx.cs Website/Includes/UserSettings.ascx Website/Includes/UserSettings.ascx.cs Modified: Website/App_Code/Assignments.cs =================================================================== --- Website/App_Code/Assignments.cs 2006-08-09 19:34:56 UTC (rev 290) +++ Website/App_Code/Assignments.cs 2006-08-09 20:32:34 UTC (rev 291) @@ -15,6 +15,67 @@ { private static Logger m_logg = new Logger("TCDB.Code.AssignmentDB"); + public static Assignment GetAssignment(int id) + { + // TODO: Uncomment these two blocks after Jon changes stored proc sel_assignments + /* + tcdbDataSetTableAdapters.db_assignmentsTableAdapter ta = new tcdbDataSetTableAdapters.db_assignmentsTableAdapter(); + tcdbDataSet.db_assignmentsDataTable aTable; + aTable = ta.GetData(id, null, null, null, null, null, null); + */ + Assignment assignment = new Assignment(); + /* + foreach (tcdbDataSet.db_assignmentsRow row in aTable) + { + assignment.DELETED = !row.active; + assignment.NAME = row.aName; + assignment.DATEASSIGNED = row.dateAssigned; + try + { + assignment.DATEDUE = row.dateDue; + } + catch { } + assignment.HIGHPRIORITY = row.highPriority; + assignment.STATUSNAME = row.statusName; + try + { + assignment.DATEFINISHED = row.dateFinished; + } + catch { } + + string type = row.aType; + if (type == Constants.CODE_AI) + { + assignment.ACTIONITEM = ActionItemDB.GetActionItem(row.childID, active); + assignment.WOTOTALTEST = 0; + assignment.WOPASSRATE = 0; + assignment.WOPASS = 0; + assignment.WOFAIL = 0; + assignment.WOERROR = 0; + + assignment.ASSIGNED = assignment.ACTIONITEM.ASSIGNED; + assignment.CREATOR = assignment.ACTIONITEM.CREATOR; + } + else if (type == Constants.CODE_WO) + { + assignment.WORKORDER = WorkOrderDB.TCDB_GetWorkOrder(row.childID); + assignment.WOTOTALTEST = row.WOTotalTest; + //assignment.WOPASSRATE = Convert.ToInt32(row.WOPassRate); + assignment.WOPASS = row.WOPass; + assignment.WOFAIL = row.WOFail; + assignment.WOERROR = row.WOError; + + assignment.ASSIGNED = assignment.WORKORDER.ASSIGNED; + assignment.CREATOR = assignment.WORKORDER.CREATOR; + } + + return assignment; + } + */ + return assignment; + + } + public static List<Assignment> GetAssignmentList(string aType, int finished, int assignedID, string highPriority, Nullable<int> creatorID, Nullable<bool> active) { tcdbDataSetTableAdapters.db_assignmentsTableAdapter ta = new tcdbDataSetTableAdapters.db_assignmentsTableAdapter(); Modified: Website/App_Code/tcdbDataSet.xsd =================================================================== --- Website/App_Code/tcdbDataSet.xsd 2006-08-09 19:34:56 UTC (rev 290) +++ Website/App_Code/tcdbDataSet.xsd 2006-08-09 20:32:34 UTC (rev 291) @@ -1507,4 +1507,4 @@ <xs:field xpath="mstns:noteID" /> </xs:unique> </xs:element> -</xs:schema> \ No newline at end of file +</xs:schema> Modified: Website/App_Code/tcdbDataSet.xss =================================================================== --- Website/App_Code/tcdbDataSet.xss 2006-08-09 19:34:56 UTC (rev 290) +++ Website/App_Code/tcdbDataSet.xss 2006-08-09 20:32:34 UTC (rev 291) @@ -4,7 +4,7 @@ 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="286" 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="209" ViewPortY="-1" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout"> <Shapes> <Shape ID="DesignTable:db_products" ZOrder="17" X="28" Y="453" Height="241" Width="213" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="194" /> <Shape ID="DesignTable:db_actionItems" ZOrder="16" X="619" Y="9" Height="292" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="228" SplitterPosition="228" /> @@ -25,4 +25,4 @@ <Shape ID="DesignTable:db_rights" ZOrder="1" X="585" Y="658" Height="156" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="109" /> </Shapes> <Connectors /> -</DiagramLayout> \ No newline at end of file +</DiagramLayout> Modified: Website/App_Themes/Python/Python.skin =================================================================== --- Website/App_Themes/Python/Python.skin 2006-08-09 19:34:56 UTC (rev 290) +++ Website/App_Themes/Python/Python.skin 2006-08-09 20:32:34 UTC (rev 291) @@ -27,4 +27,8 @@ <asp:Image runat="server" SkinId="priority_high_small" ImageUrl="Images/priority_high_small.png" /> <asp:Image runat="server" SkinId="priority_high_large" ImageUrl="Images/priority_high_large.png" /> <asp:Image runat="server" SkinId="priority_normal_small" ImageUrl="" /> -<asp:Image runat="server" SkinId="priority_normal_large" ImageUrl="" /> \ No newline at end of file +<asp:Image runat="server" SkinId="priority_normal_large" ImageUrl="" /> +<asp:Panel runat="server" SkinID="ItemList" Height="100%" Width="100%" /> +<asp:ListBox runat="server" SkinID="RightsBox" SelectionMode="Multiple" Height="150px" Width="250px" /> + +<%-- TODO: Replace the FreeTextBox objects with something that is skinable --%> \ No newline at end of file Modified: Website/App_Themes/Python/python.css =================================================================== --- Website/App_Themes/Python/python.css 2006-08-09 19:34:56 UTC (rev 290) +++ Website/App_Themes/Python/python.css 2006-08-09 20:32:34 UTC (rev 291) @@ -100,6 +100,11 @@ font-family: 'Arial Narrow'; } +INPUT:focus +{ + outline: solid 1px blue; +} + .item .checkbox INPUT { margin: 0; @@ -174,7 +179,8 @@ .indent { - display: inline; + margin-left: 5em; + text-indent: -5em } .pictureMenu @@ -645,6 +651,25 @@ } /************ END Priority Classes *************/ +/******** BEGIN Rights Assignment ************/ +#RightsAssignment .item +{ + display: block; + float: left; + margin: 5px 10px 5px 10px; +} + +#RightsAssignment .hr +{ + clear: both; +} + +#RightsAssignment #Buttons +{ + margin-top: 25px; +} + + /************* DEBUGGING ***************/ /* #MainContent Modified: Website/Bin/App_Licenses.dll =================================================================== (Binary files differ) Modified: Website/Includes/Assignments.ascx =================================================================== --- Website/Includes/Assignments.ascx 2006-08-09 19:34:56 UTC (rev 290) +++ Website/Includes/Assignments.ascx 2006-08-09 20:32:34 UTC (rev 291) @@ -23,10 +23,10 @@ </div> <div class="right"> <div class="buttons"> - <asp:LinkButton ID="newActionItem" runat="server" PostBackUrl="~/ActionItem.aspx?mode=new" - OnInit="newActionItem_Init">New Action Item</asp:LinkButton> + <asp:LinkButton ID="newActionItem" runat="server" + OnInit="newActionItem_Init" OnCommand="newActionItem_Command">New Action Item</asp:LinkButton> - <asp:LinkButton ID="newWorkOrder" runat="server" PostBackUrl="~/WorkOrder.aspx?mode=new" OnInit="newWorkOrder_Init">New Work Order</asp:LinkButton> + <asp:LinkButton ID="newWorkOrder" runat="server" OnInit="newWorkOrder_Init" OnCommand="newWorkOrder_Command">New Work Order</asp:LinkButton> </div> <div class="quickFilter"> <asp:CheckBox ID="cboShowCompleted" runat="server" Text="Show Completed" TextAlign="Left" @@ -44,22 +44,19 @@ </b></b> <div class="xboxcontent"> <asp:Label runat="server" ID="NoAssignments" Text="*" Visible="false" CssClass="errorMessage"></asp:Label> + <!-- // TODO: Change the DataTextField onthe ButtonField to aID after Jon changes stored proc sel_assignments --> <asp:GridView ID="AssignmentsGridView" runat="server" GridLines="None" AllowSorting="True" AutoGenerateColumns="False" DataSourceID="AssignmentDataSource" OnRowDataBound="AssignmentsGridView_RowDataBound" EnableTheming="True" SkinID="assignments" RowStyle-CssClass="hover" HeaderStyle-CssClass="header" - OnDataBinding="AssignmentsGridView_DataBinding" OnDataBound="AssignmentsGridView_DataBound" OnSorted="AssignmentsGridView_Sorted"> + OnDataBinding="AssignmentsGridView_DataBinding" OnDataBound="AssignmentsGridView_DataBound" OnSorted="AssignmentsGridView_Sorted" + OnRowCommand="AssignmentsGridView_RowCommand"> <Columns> <asp:TemplateField HeaderText="(!)" SortExpression="highPriority"> <ItemTemplate> <asp:Literal runat="server" Text="<div class='priority_high_small'></div>" Visible='<%# (Convert.ToBoolean(Eval("highPriority")) == true) %>' /> </ItemTemplate> </asp:TemplateField> - <asp:TemplateField HeaderText="Assignment" SortExpression="aName"> - <ItemTemplate> - <asp:Literal ID="url" runat="server" - Text='<%# getURL(Convert.ToInt32(Eval("childID")),Convert.ToString(Eval("aType")),Convert.ToString(Eval("aName"))) %>' /> - </ItemTemplate> - </asp:TemplateField> + <asp:ButtonField ButtonType="Link" CommandName="View" DataTextField="aName" HeaderText="Assignment" SortExpression="aName" /> <asp:BoundField DataField="assigned" HeaderText="Assignee" SortExpression="assigned" /> <asp:BoundField DataField="creator" HeaderText="Creator" ReadOnly="True" SortExpression="creator" /> <asp:BoundField DataField="dateAssigned" DataFormatString="{0:M-dd-yyyy}" HeaderText="Assigned" Modified: Website/Includes/Assignments.ascx.cs =================================================================== --- Website/Includes/Assignments.ascx.cs 2006-08-09 19:34:56 UTC (rev 290) +++ Website/Includes/Assignments.ascx.cs 2006-08-09 20:32:34 UTC (rev 291) @@ -805,5 +805,32 @@ if (!m_user.HasRight("dev_access")) newWorkOrder.Visible = false; } + protected void newActionItem_Command(object sender, EventArgs e) + { + Session[Constants.CODE_MODE] = "new"; + Response.Redirect("~/ActionItem.aspx"); + } + protected void newWorkOrder_Command(object sender, EventArgs e) + { + Session[Constants.CODE_MODE] = "new"; + Response.Redirect("~/WorkOrder.aspx"); + } + protected void AssignmentsGridView_RowCommand(object sender, GridViewCommandEventArgs e) + { + if (e.CommandName == "View") + { + Assignment a = AssignmentDB.GetAssignment(int.Parse(e.CommandArgument.ToString())); + if (a.ISACTIONITEM) + { + Session[Constants.CODE_AI] = a.ACTIONITEM.ID; + Response.Redirect("~/ActionItem.aspx"); + } + else if (a.ISWORKORDER) + { + Session[Constants.CODE_WO] = a.WORKORDER.ID; + Response.Redirect("~/WorkOrder.aspx"); + } + } + } } } Modified: Website/Includes/Products.ascx =================================================================== --- Website/Includes/Products.ascx 2006-08-09 19:34:56 UTC (rev 290) +++ Website/Includes/Products.ascx 2006-08-09 20:32:34 UTC (rev 291) @@ -1,139 +1,113 @@ -<%@ Control Language="C#" AutoEventWireup="true" CodeFile="Products.ascx.cs" Inherits="TCDB.Products" %> +<%@ Control Language="C#" AutoEventWireup="true" CodeFile="Products.ascx.cs" Inherits="TCDB.Products" %> <%@ Register Assembly="FreeTextBox" Namespace="FreeTextBoxControls" TagPrefix="FTB" %> <%@ Import Namespace="TCDB.Code" %> - <asp:FormView ID="ProductsView" runat="server" DataKeyNames="productID" DataSourceID="ProductData" OnItemInserted="ProductsView_ItemInserted" OnItemUpdated="ProductsView_ItemUpdated" OnDataBound="ProductsView_DataBound" OnItemCommand="ProductsView_ItemCommand"> <HeaderTemplate> <div class="ch"> - <h2> - Product</h2> + <div class="left"> + <h2> + Product</h2> + </div> + <div class="right"> + <asp:Label ID="activeLbl" runat="server" Text="Active"></asp:Label> + <asp:CheckBox ID="activeBox" runat="server" AutoPostBack="True" OnCheckedChanged="activeBox_CheckedChanged" + OnInit="activeBox_Init" /></div> + <div class="end"> + </div> </div> - <div align="right"> - <asp:Label ID="activeLbl" runat="server" Text="Active"></asp:Label> - <asp:CheckBox ID="activeBox" runat="server" AutoPostBack="True" OnCheckedChanged="activeBox_CheckedChanged" - OnInit="activeBox_Init" /></div> - <div class="cc"> </HeaderTemplate> <ItemTemplate> - <div class="xsnazzy"> - <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="ct"> - <div class="item"> - <label> - Product Name:</label> - <asp:Label ID="NameLabel" runat="server" Text='<%# Bind("Name") %>'></asp:Label></div> - <div class="item"> - <label> - Abbreviation:</label> - <asp:Label ID="CodeLabel" runat="server" Text='<%# Eval("codeName") %>'></asp:Label> + <div class="cc"> + <div class="xsnazzy"> + <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="ct"> + <div class="item"> + <label> + Product Name:</label> + <asp:Label ID="NameLabel" runat="server" Text='<%# Bind("Name") %>'></asp:Label></div> + <div class="item"> + <label> + Abbreviation:</label> + <asp:Label ID="CodeLabel" runat="server" Text='<%# Eval("codeName") %>'></asp:Label> + </div> + <div class="hr"> + </div> </div> - <div class="hr"> + <div class="cm"> + <asp:Label ID="DescriptionLabel" runat="server" Text='<%# Eval("Description") %>'></asp:Label> + <div class="hr"> + </div> </div> - </div> - <div class="cm"> - <asp:Label ID="DescriptionLabel" runat="server" Text='<%# Eval("Description") %>'></asp:Label> - <div class="hr"> + <div class="cm"> + <asp:Panel ID="RoleUsersPanel" SkinID="ItemList" runat="server" OnInit="RoleUsersPanel_Init" /> + <div class="hr"> + </div> </div> - </div> - <div class="cm"> - <asp:Panel ID="RoleUsersPanel" runat="server" Height="100%" Width="100%" OnInit="RoleUsersPanel_Init"> - </asp:Panel> - <div class="hr"> + <div class="cb"> + <asp:LinkButton ID="New" runat="server" CommandName="New" OnInit="New_Init">New</asp:LinkButton><asp:Label + ID="newLbl" runat="server"> | </asp:Label><asp:LinkButton ID="Edit" runat="server" + CommandName="Edit" OnInit="Edit_Init">Edit</asp:LinkButton><asp:Label ID="deleteLbl" + runat="server"> | </asp:Label><asp:LinkButton ID="Delete" runat="server" + CommandName="DeleteCmd" OnInit="Delete_Init" OnCommand="deleteCmd">Delete</asp:LinkButton><br /> </div> </div> - <div class="cb"> - <asp:LinkButton ID="New" runat="server" CommandName="New" OnInit="New_Init">New</asp:LinkButton><asp:Label - ID="newLbl" runat="server"> | </asp:Label><asp:LinkButton ID="Edit" runat="server" - CommandName="Edit" OnInit="Edit_Init">Edit</asp:LinkButton><asp:Label ID="deleteLbl" - runat="server"> | </asp:Label><asp:LinkButton ID="Delete" runat="server" - CommandName="DeleteCmd" OnInit="Delete_Init" OnCommand="deleteCmd">Delete</asp:LinkButton><br /> - </div> + <b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b><b class="xb1"> + </b></b> </div> - <b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b><b class="xb1"> - </b></b> </div> </ItemTemplate> <EditItemTemplate> - <asp:RequiredFieldValidator ID="nameValidator" runat="server" ErrorMessage="You must enter a right name." - ControlToValidate="nameBox"></asp:RequiredFieldValidator> - <asp:RequiredFieldValidator ID="codeValidator" runat="server" ErrorMessage="You must enter a right code." - ControlToValidate="codeBox"></asp:RequiredFieldValidator> - <div class="xsnazzy"> - <b class="xtop"><b class="xb1"></b><b class="xb2"></b><b class="xb3"></b><b class="xb4"> - </b></b> - <div class="xboxcontent"> - <table width="700"> - <tr> - <td colspan="3" width="75%" style="height: 44px"> - <strong>Name: </strong><asp:TextBox ID="nameBox" runat="server" Text='<%# Bind("Name") %>' - Width="80%"></asp:TextBox> + <div class="cc"> + <div class="xsnazzy"> + <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="ct"> + <div class="item"> + <asp:CheckBox ID="active" runat="server" Checked='<%# Bind("active") %>' Enabled="False" + Visible="False" /><label> + Name:</label><asp:TextBox ID="nameBox" runat="server" Text='<%# Bind("Name") %>' + Width="80%"></asp:TextBox> <asp:Label ID="nameLbl" runat="server" Text='<%# Eval("Name") %>' Visible="False" OnLoad="nameLbl_Load"></asp:Label> - </td> - <td colspan="1" width="25%" style="height: 44px"> - <strong>Abbreviation: </strong> + </div> + <div class="item"> + <label> + Abbreviation: </label> <asp:TextBox ID="codeBox" runat="server" Text='<%# Bind("codeName") %>'></asp:TextBox> <asp:Label ID="codeLbl" runat="server" Text='<%# Eval("codeName") %>' Visible="False"></asp:Label> - </td> - </tr> - <tr> - <td class="hr" colspan="4"> - </td> - </tr> - <tr> - <td colspan="4" height="200" valign="top" align="left"> - <strong>Description:</strong><br /> + </div> + <div class="hr"> + </div> + </div> + <div class="cm"> + <div class="item"> + <label> + Description:</label><br /> <FTB:FreeTextBox ID="descriptionBox" runat="server" SupportFolder="~/aspnet_client/FreeTextBox/" Width="100%" Text='<%# Bind("Description") %>' Height="200px"> </FTB:FreeTextBox> <asp:Label ID="descriptionLbl" runat="server" Text='<%# Eval("Description") %>' Visible="False"></asp:Label> - </td> - </tr> - <tr> - <td class="hr" colspan="4"> - </td> - </tr> - <tr> - <td colspan="2"> - <strong>Roles: </strong> - <asp:DropDownList ID="roleList" runat="server" OnInit="roleList_Init" OnSelectedIndexChanged="roleList_SelectedIndexChanged" - AutoPostBack="True"> - </asp:DropDownList><br /> - <br /> - <asp:LinkButton ID="newRole" runat="server" OnInit="newRole_Init">New Role</asp:LinkButton> - </td> - <td colspan="2"> - <strong>Users: </strong> - <br /> - <asp:ListBox ID="userList" runat="server" Height="150px" Width="150px" OnInit="userList_Init" - SelectionMode="Multiple"></asp:ListBox> - </td> - </tr> - <tr> - <td class="hr" colspan="4"> - </td> - </tr> - <tr> - <td colspan="1" width="25%"> - <asp:LinkButton ID="UpdateButton" runat="server" CausesValidation="True" CommandName="Update" - Text="Update"> - </asp:LinkButton> - <asp:LinkButton ID="UpdateCancelButton" runat="server" CausesValidation="False" CommandName="Cancel" - Text="Cancel"> - </asp:LinkButton> - </td> - <td colspan="3" width="75%"> - <asp:CheckBox ID="active" runat="server" Checked='<%# Bind("active") %>' Enabled="False" - Visible="False" /></td> - </tr> - </table> + </div> + <div class="hr"> + </div> + </div> + <div class="cb"> + <asp:LinkButton ID="UpdateButton" runat="server" CausesValidation="True" CommandName="Update" + Text="Update"> + </asp:LinkButton> | + <asp:LinkButton ID="UpdateCancelButton" runat="server" CausesValidation="False" CommandName="Cancel" + Text="Cancel"> + </asp:LinkButton> + </div> + </div> + <b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b><b class="xb1"> + </b></b> </div> - <b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b><b class="xb1"> - </b></b> </div> </EditItemTemplate> <InsertItemTemplate> @@ -141,74 +115,46 @@ ControlToValidate="nameBox"></asp:RequiredFieldValidator> <asp:RequiredFieldValidator ID="codeValidator" runat="server" ErrorMessage="You must enter a right code." ControlToValidate="codeBox"></asp:RequiredFieldValidator> - <div class="xsnazzy"> - <b class="xtop"><b class="xb1"></b><b class="xb2"></b><b class="xb3"></b><b class="xb4"> - </b></b> - <div class="xboxcontent"> - <table width="700"> - <tr> - <td colspan="3" width="75%"> - <strong>Name:<br /> - <asp:TextBox ID="nameBox" runat="server" Text='<%# Bind("Name") %>' Width="80%"></asp:TextBox></strong></td> - <td colspan="1" width="25%"> - <strong>Abbreviation:</strong> - <asp:TextBox ID="codeBox" runat="server" Text='<%# Bind("codeName") %>'></asp:TextBox></td> - </tr> - <tr> - <td class="hr" colspan="4" style="height: 1px"> - </td> - </tr> - <tr> - <td colspan="4" align="left" valign="top" height="200"> - <strong>Description:</strong><br /> + <div class="cc"> + <div class="xsnazzy"> + <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="ct"> + <div class="item"> + <label> + Name:</label> + <asp:TextBox ID="nameBox" runat="server" Text='<%# Bind("Name") %>' Width="80%"></asp:TextBox></div> + <div class="item"> + <label> + Abbreviation:</label> + <asp:TextBox ID="codeBox" runat="server" Text='<%# Bind("codeName") %>'></asp:TextBox></div> + <div class="hr"> + </div> + </div> + <div class="cm"> + <div class="item"> + <label> + Description:</label><br /> <FTB:FreeTextBox ID="FreeTextBox1" runat="server" SupportFolder="~/aspnet_client/FreeTextBox/" Width="100%" Text='<%# Bind("Description", "{0}") %>' Height="200px"> </FTB:FreeTextBox> - </td> - </tr> - <tr> - <td class="hr" colspan="4"> - </td> - </tr> - <tr> - <td colspan="2"> - <strong>Roles: </strong> - <asp:DropDownList ID="roleList" runat="server" OnInit="roleList_Init" OnSelectedIndexChanged="roleList_SelectedIndexChanged" - AutoPostBack="True"> - </asp:DropDownList><br /> - <br /> - <asp:LinkButton ID="newRole" runat="server" OnInit="newRole_Init">New Role</asp:LinkButton> - </td> - <td colspan="2"> - <strong>Users: </strong> - <br /> - <asp:ListBox ID="userList" runat="server" Height="150px" Width="150px" OnInit="userList_Init" - SelectionMode="Multiple"></asp:ListBox> - </td> - </tr> - <tr> - <td class="hr" colspan="4"> - </td> - </tr> - <tr> - <td colspan="1" width="25%"> - <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> - </td> - <td colspan="3" width="75%"> - </td> - </tr> - </table> + </div> + <div class="hr"> + </div> + </div> + <div class="cb"> + <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> + </div> + </div> + <b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b><b class="xb1"> + </b></b> </div> - <b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b><b class="xb1"> - </b></b> </div> </InsertItemTemplate> - <FooterTemplate> - </div> - </FooterTemplate> </asp:FormView> <asp:ObjectDataSource ID="ProductData" runat="server" InsertMethod="Insert" SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.db_productsTableAdapter" UpdateMethod="Update"> Modified: Website/Includes/Products.ascx.cs =================================================================== --- Website/Includes/Products.ascx.cs 2006-08-09 19:34:56 UTC (rev 290) +++ Website/Includes/Products.ascx.cs 2006-08-09 20:32:34 UTC (rev 291) @@ -145,8 +145,8 @@ { int roleID = rRow.roleID; - Label Role = new Label(); - Role.Text = "<div class=\"item\"><label>" + rRow.roleName + ":</label><div class=\"indent\">"; + Literal Role = new Literal(); + Role.Text = "<div class=\"item\"><div class=\"indent\"><label>" + rRow.roleName + ":</label>"; ruPanel.Controls.Add(Role); tcdbDataSetTableAdapters.db_roleProductUserTableAdapter rpuAdapter = new tcdbDataSetTableAdapters.db_roleProductUserTableAdapter(); @@ -222,138 +222,6 @@ } } } - protected void newRole_Init(object sender, EventArgs e) - { - LinkButton newRoleBtn = (LinkButton)sender; - - if (!m_user.HasRight("create_role", Constants.PRODUCT_ANYID)) - newRoleBtn.Visible = false; - } - - protected void roleList_SelectedIndexChanged(object sender, EventArgs e) - { - ListBox userList = (ListBox)ProductsView.FindControl("userList"); - DropDownList roleList = (DropDownList)sender; - - // Check for bad state - if (ProductsView.CurrentMode == FormViewMode.Edit) - { - FreeTextBoxControls.FreeTextBox ftb = (FreeTextBoxControls.FreeTextBox)ProductsView.FindControl("descriptionBox"); - if (ftb.Text == "") - ProductsView.DataBind(); - } - - // Get Product Users - if (Session["RoleUsers"] == null) - updateRoleUsers(); - Dictionary<String, ArrayList> RoleUsers = (Dictionary<String, ArrayList>)Session["RoleUsers"]; - - // update selected role - String roleID; - if (Session["role"] != null) - { - roleID = Session["role"].ToString(); - - // Update ProductUsers - int[] indices = userList.GetSelectedIndices(); - ArrayList users = new ArrayList(); - foreach (int index in indices) - users.Add(userList.Items[index].Value); - if (RoleUsers.ContainsKey(roleID)) - RoleUsers[roleID] = users; - } - - Session["role"] = roleList.SelectedValue; - // Update userlist - userList_populate(); - } - protected void updateRoleUsers() - { - // Init RoleUsers - if (Session["RoleUsers"] == null) - Session.Add("RoleUsers", new Dictionary<String, ArrayList>()); - Dictionary<String, ArrayList> RoleUsers = (Dictionary<String, ArrayList>)Session["RoleUsers"]; - RoleUsers.Clear(); - - if (ProductsView.CurrentMode == FormViewMode.Insert) - return; - - tcdbDataSetTableAdapters.db_roleTableAdapter rAdapter = new tcdbDataSetTableAdapters.db_roleTableAdapter(); - tcdbDataSet.db_roleDataTable rTable = rAdapter.GetData(null, null, active); - - foreach (tcdbDataSet.db_roleRow rRow in rTable) - { - ArrayList users = new ArrayList(); - String roleID = rRow.roleID.ToString(); - - tcdbDataSetTableAdapters.db_roleProductUserTableAdapter roleProductUserAdapter = new tcdbDataSetTableAdapters.db_roleProductUserTableAdapter(); - tcdbDataSet.db_roleProductUserDataTable roleProductUserTable = roleProductUserAdapter.GetData(Convert.ToInt32(roleID), productID, true); - - foreach (tcdbDataSet.db_roleProductUserRow row in roleProductUserTable) - users.Add(row.userID.ToString()); - - if (RoleUsers.ContainsKey(roleID)) - RoleUsers[roleID] = users; - else - RoleUsers.Add(roleID, users); - } - } - protected void userList_populate() - { - ListBox userList = (ListBox)ProductsView.FindControl("userList"); - int roleID = Convert.ToInt32(Session["role"]); - - tcdbDataSetTableAdapters.db_usersTableAdapter uAdapter = new tcdbDataSetTableAdapters.db_usersTableAdapter(); - tcdbDataSet.db_usersDataTable uTable = uAdapter.GetData(null, null); - - updateRoleUsers(); - Dictionary<String, ArrayList> RoleUsers = (Dictionary<String, ArrayList>)Session["RoleUsers"]; - - // Init selected user list - ArrayList users; - if (RoleUsers.ContainsKey(roleID.ToString())) - users = RoleUsers[roleID.ToString()]; - else - users = new ArrayList(); - - // populate user list - userList.Items.Clear(); - foreach (tcdbDataSet.db_usersRow row in uTable) - { - ListItem item = new ListItem(row.fullName, row.userID.ToString()); - if (users.Contains(row.userID.ToString())) - item.Selected = true; - userList.Items.Add(item); - } - } - protected void userList_Init(object sender, EventArgs e) - { - ListBox userList = (ListBox)sender; - - if (!m_user.HasRight("edit_role_users", Constants.PRODUCT_ANYID)) - userList.Enabled = false; - } - protected void roleList_Init(object sender, EventArgs e) - { - tcdbDataSetTableAdapters.db_roleTableAdapter rAdapter = new tcdbDataSetTableAdapters.db_roleTableAdapter(); - tcdbDataSet.db_roleDataTable rTable = rAdapter.GetData(null, null, active); - DropDownList roleList = (DropDownList)sender; - ListBox userList = (ListBox)ProductsView.FindControl("userList"); - - // populate roles - foreach (tcdbDataSet.db_roleRow row in rTable) - { - ListItem item = new ListItem(row.roleName, row.roleID.ToString()); - if (!row.active) - item.Attributes.CssStyle.Add("text-decoration", "line-through"); - - roleList.Items.Add(item); - } - - Session["role"] = roleList.SelectedValue; - userList_populate(); - } - protected void activeBox_Init(object sender, EventArgs e) { CheckBox activeBox = (CheckBox)sender; Modified: Website/Includes/Rights.ascx =================================================================== --- Website/Includes/Rights.ascx 2006-08-09 19:34:56 UTC (rev 290) +++ Website/Includes/Rights.ascx 2006-08-09 20:32:34 UTC (rev 291) @@ -4,167 +4,57 @@ OnItemCommand="FormView1_ItemCommand" OnItemInserted="FormView1_ItemInserted" OnItemUpdated="FormView1_ItemUpdated" OnDataBound="FormView1_DataBound"> <HeaderTemplate> - <div align="left"> - <h2> - User Rights</h2> + <div class="ch"> + <div class="left"> + <h2> + User Rights</h2> + </div> + <div class="right"> + <asp:Label ID="activeLbl" runat="server" Text="Active"></asp:Label> + <asp:CheckBox ID="activeBox" runat="server" AutoPostBack="True" OnCheckedChanged="activeBox_CheckedChanged" + OnInit="activeBox_Init" /></div> + <div class="end"> + </div> </div> - <div align="right"> - <asp:Label ID="activeLbl" runat="server" Text="Active"></asp:Label> - <asp:CheckBox ID="activeBox" runat="server" AutoPostBack="True" OnCheckedChanged="activeBox_CheckedChanged" - OnInit="activeBox_Init" /></div> </HeaderTemplate> <ItemTemplate> - <div class="xsnazzy"> - <b class="xtop"><b class="xb1"></b><b class="xb2"></b><b class="xb3"></b><b class="xb4"> - </b></b> - <div class="xboxcontent"> - <table width="700"> - <tr> - <td align="left" colspan="3"> - <strong>Name:</strong> - <asp:Label ID="nameLabel" runat="server" Text='<%# Eval("rightsName") %>'></asp:Label></td> - <td align="left" colspan="3"> - <strong>Code:</strong> - <asp:Label ID="codeLabel" runat="server" Text='<%# Eval("rightsCode") %>'></asp:Label></td> - </tr> - <tr> - <td class="hr" colspan="6"> - </td> - </tr> - <tr> - <td align="left" colspan="6" valign="top"> - <strong>Description:</strong><br /> - <asp:Label ID="descriptionLbl" runat="server" Text='<%# Eval("rightsDescription") %>'></asp:Label></td> - </tr> - <tr> - <td class="hr" colspan="6" style="height: 1px"> - </td> - </tr> - <tr> - <td align="left" colspan="2" valign="top" width="33%"> - <strong>Roles:<br /> - </strong> - <asp:Literal ID="roleList" runat="server" OnInit="roleList_Init"></asp:Literal> </td> - <td align="left" colspan="2" valign="top" width="33%"> - </td> - <td align="left" colspan="2" valign="top" width="34%"> - </td> - </tr> - <tr> - <td class="hr" colspan="6"> - </td> - </tr> - <tr> - <td align="left" colspan="6"> - <asp:LinkButton ID="New" runat="server" CommandName="new" OnInit="New_Init">New</asp:LinkButton><asp:Label - ID="newLbl" runat="server" Text="Label"> | </asp:Label><asp:LinkButton - ID="Edit" runat="server" CommandName="edit">Edit</asp:LinkButton></td> - </tr> - </table> + <div class="cc"> + <div class="xsnazzy"> + <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="ct"> + <div class="item"> + <label> + Name:</label> + <asp:Label ID="nameLabel" runat="server" Text='<%# Eval("rightsName") %>'></asp:Label></div> + <div class="item"> + <label> + Code:</label> + <asp:Label ID="codeLabel" runat="server" Text='<%# Eval("rightsCode") %>'></asp:Label></div> + <div class="hr"> + </div> + </div> + <div class="cm"> + <div class="item"> + <label> + Description:</label><br /> + <asp:Label ID="descriptionLbl" runat="server" Text='<%# Eval("rightsDescription") %>'></asp:Label></div> + <div class="hr"> + </div> + </div> + <div class="cm"> + <div class="item"> + <label> + Assigned to Roles:</label><br /> + <asp:Literal ID="roleList" runat="server" OnInit="roleList_Init"></asp:Literal></div> + </div> + </div> + <b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b><b class="xb1"> + </b></b> </div> - <b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b><b class="xb1"> - </b></b> </div> </ItemTemplate> - <EditItemTemplate> - <asp:RequiredFieldValidator ID="nameValidator" runat="server" ErrorMessage="You must enter a right name." - ControlToValidate="nameBox"></asp:RequiredFieldValidator> - <asp:RequiredFieldValidator ID="codeValidator" runat="server" ErrorMessage="You must enter a right code." - ControlToValidate="codeBox"></asp:RequiredFieldValidator> - <div class="xsnazzy"> - <b class="xtop"><b class="xb1"></b><b class="xb2"></b><b class="xb3"></b><b class="xb4"> - </b></b> - <div class="xboxcontent"> - <table width="700"> - <tr> - <td align="left" colspan="3"> - <strong>Name:</strong> - <asp:TextBox ID="nameBox" runat="server" Text='<%# Bind("rightsName") %>' Width="70%"></asp:TextBox></td> - <td align="left" colspan="3"> - <strong>Code:</strong> - <asp:TextBox ID="codeBox" runat="server" Text='<%# Bind("rightsCode") %>'></asp:TextBox> - <asp:CheckBox ID="active" runat="server" Checked='<%# Bind("active") %>' Enabled="False" - Visible="False" /></td> - </tr> - <tr> - <td class="hr" colspan="6"> - </td> - </tr> - <tr> - <td align="left" colspan="6" valign="top"> - <strong>Description:</strong><br /> - <FTB:FreeTextBox ID="descriptionBox" runat="server" Height="200px" SupportFolder="~/aspnet_client/FreeTextBox/" - Text='<%# Bind("rightsDescription") %>' Width="100%" EnableHtmlMode="True"> - </FTB:FreeTextBox></td> - </tr> - <tr> - <td class="hr" colspan="6"> - </td> - </tr> - <tr> - <td align="left" colspan="6"> - <asp:LinkButton ID="UpdateButton" runat="server" CausesValidation="True" CommandName="Update" - Text="Update"></asp:LinkButton> - | - <asp:LinkButton ID="UpdateCancelButton" runat="server" CausesValidation="False" CommandName="Cancel" - Text="Cancel"> - </asp:LinkButton></td> - </tr> - </table> - </div> - <b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b><b class="xb1"> - </b></b> - </div> - </EditItemTemplate> - <InsertItemTemplate> - <asp:RequiredFieldValidator ID="nameValidator" runat="server" ErrorMessage="You must enter a right name." - ControlToValidate="nameBox"></asp:RequiredFieldValidator> - <asp:RequiredFieldValidator ID="codeValidator" runat="server" ErrorMessage="You must enter a right code." - ControlToValidate="codeBox"></asp:RequiredFieldValidator> - <div class="xsnazzy"> - <b class="xtop"><b class="xb1"></b><b class="xb2"></b><b class="xb3"></b><b class="xb4"> - </b></b> - <div class="xboxcontent"> - <table width="700"> - <tr> - <td align="left" colspan="3"> - <strong>Name:</strong> - <asp:TextBox ID="nameBox" runat="server" Text='<%# Bind("rightsName") %>' Width="70%"></asp:TextBox></td> - <td align="left" colspan="3"> - <strong>Code:</strong> - <asp:TextBox ID="codeBox" runat="server" Text='<%# Bind("rightsCode") %>'></asp:TextBox></td> - </tr> - <tr> - <td class="hr" colspan="6"> - </td> - </tr> - <tr> - <td align="left" colspan="6" valign="top"> - <strong>Description:</strong><br /> - <FTB:FreeTextBox ID="FreeTextBox1" runat="server" Height="200px" SupportFolder="~/aspnet_client/FreeTextBox/" - Text='<%# Bind("rightsDescription") %>' Width="100%" EnableHtmlMode="True"> - </FTB:FreeTextBox> - </td> - </tr> - <tr> - <td class="hr" colspan="6"> - </td> - </tr> - <tr> - <td align="left" colspan="6"> - <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> - </tr> - </table> - </div> - <b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b><b class="xb1"> - </b></b> - </div> - </InsertItemTemplate> </asp:FormView> <asp:ObjectDataSource ID="RightsDataSource" runat="server" SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.db_rightsTableAdapter" InsertMethod="Insert" UpdateMethod="Update"> Modified: Website/Includes/UserRoles.ascx =================================================================== --- Website/Includes/UserRoles.ascx 2006-08-09 19:34:56 UTC (rev 290) +++ Website/Includes/UserRoles.ascx 2006-08-09 20:32:34 UTC (rev 291) @@ -1,203 +1,200 @@ <%@ Control Language="C#" AutoEventWireup="true" CodeFile="UserRoles.ascx.cs" Inherits="TCDB.UserRoles" %> <%@ Register Assembly="FreeTextBox" Namespace="FreeTextBoxControls" TagPrefix="FTB" %> -<asp:FormView ID="FormView1" runat="server" DataKeyNames="roleID" DataSourceID="RoleDataSource" - OnItemInserted="FormView1_ItemInserted" OnItemUpdated="FormView1_ItemUpdated" - OnItemCommand="FormView1_ItemCommand" OnDataBound="FormView1_DataBound"> +<asp:FormView ID="UserRoleView" runat="server" DataKeyNames="roleID" DataSourceID="RoleDataSource" + OnItemInserted="UserRoleView_ItemInserted" OnItemUpdated="UserRoleView_ItemUpdated" + OnItemCommand="UserRoleView_ItemCommand" OnDataBound="UserRoleView_DataBound"> <HeaderTemplate> - <div align="left"> - <h2> - User Role</h2> + <div class="ch"> + <div class="left"> + <h2> + User Role</h2> + </div> + <div class="right"> + <asp:Label ID="ActiveLbl" runat="server" Text="Active"></asp:Label> + <asp:CheckBox ID="ActiveBox" runat="server" AutoPostBack="True" OnCheckedChanged="ActiveBox_CheckedChanged" + OnInit="ActiveBox_Init" /></div> </div> - <div align="right"> - <asp:Label ID="activeLbl" runat="server" Text="Active"></asp:Label> - <asp:CheckBox ID="activeBox" runat="server" AutoPostBack="True" OnCheckedChanged="activeBox_CheckedChanged" - OnInit="activeBox_Init" /></div> </HeaderTemplate> <ItemTemplate> - <div class="xsnazzy"> - <b class="xtop"><b class="xb1"></b><b class="xb2"></b><b class="xb3"></b><b class="xb4"> - </b></b> - <div class="xboxcontent"> - <table width="700"> - <tr> - <td colspan="6" align="left"> - <strong>Name:</strong> - <asp:Label ID="nameLabel" runat="server" Text='<%# Eval("roleName") %>'></asp:Label></td> - </tr> - <tr> - <td class="hr" colspan="6"> - </td> - </tr> - <tr> - <td align="left" colspan="6" valign="top"> - <strong>Description:</strong><br /> - <asp:Label ID="descriptionLbl" runat="server" Text='<%# Eval("roleDescription") %>'></asp:Label></td> - </tr> - <tr> - <td class="hr" colspan="6"> - </td> - </tr> - <tr> - <td colspan="4" align="left" valign="top" width="33%" style="height: 132px"> - <asp:Panel ID="ProductUserPanel" runat="server" Height="100%" Width="100%" OnInit="ProductUserPanel_Init" - ScrollBars="Horizontal" Wrap="False"> - </asp:Panel> - <br /> - <asp:LinkButton ID="editAssignments" runat="server" CommandName="editAssignments" - OnCommand="editAssignments_Command">Edit Role Assignments</asp:LinkButton> - </td> - <td colspan="2" align="left" valign="top" width="34%" style="height: 132px"> - <strong>Rights:</strong><br /> - - <asp:Literal ID="rightsList" runat="server" OnInit="rightsList_Init"></asp:Literal></td> - </tr> - <tr> - <td colspan="6" class="hr"> - </td> - </tr> - <tr> - <td align="left" colspan="6"> - <asp:LinkButton ID="New" runat="server" CommandName="new" OnInit="New_Init">New</asp:LinkButton><asp:Label - ID="newLbl" runat="server" Text=" | "></asp:Label><asp:LinkButton ID="Edit" - runat="server" CommandName="edit" OnInit="Edit_Init">Edit</asp:LinkButton><asp:Label - ID="deleteLbl" runat="server" Text=" | "></asp:Label><asp:LinkButton ID="Delete" - runat="server" CommandName="deleteCmd" OnCommand="deleteCmd" OnLoad="Delete_Load">Delete</asp:LinkButton></td> - </tr> - </table> + <div class="cc"> + <div class="xsnazzy"> + <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="ct"> + <div class="item"> + <label> + Name:</label> + <asp:Label ID="NameLabel" runat="server" Text='<%# Eval("roleName") %>'></asp:Label></div> + <div class="hr"> + </div> + </div> + <div class="cm"> + <div class="item"> + <label> + Description:</label> + <asp:Label ID="DescriptionLbl" runat="server" Text='<%# Eval("roleDescription") %>'></asp:Label></div> + <div class="hr"> + </div> + </div> + <div class="cm"> + <div class="item"> + <label> + User Assignments:</label><br /> + <asp:Panel ID="ProductUserPanel" SkinID="ItemList" runat="server" OnInit="ProductUserPanel_Init" /> + </div> + <br /> + <div class="item"> + <div class="indent"> + <label> + Rights:</label> + <asp:Literal ID="RightsList" runat="server" OnInit="RightsList_Init"></asp:Literal></div> + </div> + <div class="hr"> + </div> + </div> + <div class="cb"> + <asp:LinkButton ID="New" runat="server" CommandName="new" OnInit="New_Init">New</asp:LinkButton><asp:Label + ID="NewLbl" runat="server" Text=" | "></asp:Label><asp:LinkButton ID="Edit" + runat="server" CommandName="edit" OnInit="Edit_Init">Edit</asp:LinkButton><asp:Label + ID="EditLbl" runat="server" Text=" | "></asp:Label><asp:LinkButton ID="Delete" + runat="server" CommandName="DeleteCmd" OnCommand="DeleteCmd" OnLoad="Delete_Load">Delete</asp:LinkButton><asp:Label + ID="DeleteLbl" runat="server" Text=" | "></asp:Label><asp:LinkButton ID="EditAssignments" + runat="server" CommandName="EditAssignments" OnCommand="EditAssignments_Command">Edit Role Assignments</asp:LinkButton> + </div> + </div> + <b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b><b class="xb1"> + </b></b> </div> - <b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b><b class="xb1"> - </b></b> </div> </ItemTemplate> <EditItemTemplate> - <asp:RequiredFieldValidator ID="nameValidator" runat="server" ErrorMessage="You must enter a role name." - ControlToValidate="nameBox"></asp:RequiredFieldValidator> - <div class="xsnazzy"> - <b class="xtop"><b class="xb1"></b><b class="xb2"></b><b class="xb3"></b><b class="xb4"> - </b></b> - <div class="xboxcontent"> - <table width="700"> - <tr> - <td align="left" colspan="6"> - <strong>Name:</strong> - <asp:TextBox ID="nameBox" runat="server" Text='<%# Bind("roleName") %>' Width="70%"></asp:TextBox> - <asp:CheckBox ID="active" runat="server" Checked='<%# Bind("active") %>' Enabled="False" - Visible="False" /></td> - </tr> - <tr> - <td class="hr" colspan="6"> - </td> - </tr> - <tr> - <td align="left" colspan="6" valign="top"> - <strong>Description:</strong><br /> - <FTB:FreeTextBox ID="descriptionBox" runat="server" SupportFolder="~/aspnet_client/FreeTextBox/" + <asp:RequiredFieldValidator ID="NameValidator" runat="server" ErrorMessage="You must enter a role name." + ControlToValidate="NameBox"></asp:RequiredFieldValidator> + <div class="cc"> + <div class="xsnazzy"> + <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="ct"> + <div class="item"> + <asp:CheckBox ID="Active" runat="server" Checked='<%# Bind("active") %>' Enabled="False" + Visible="False" /><label> + ... [truncated message content] |
From: <ro...@us...> - 2006-08-09 19:35:12
|
Revision: 290 Author: rouquin Date: 2006-08-09 12:34:56 -0700 (Wed, 09 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=290&view=rev Log Message: ----------- Had some updating issues. Should be working properly now. Modified Paths: -------------- Website/App_Code/tcdbDataSet.xsd Website/App_Code/tcdbDataSet.xss Website/Includes/ActionItems.ascx.cs Website/Includes/Products.ascx Website/Includes/Products.ascx.cs Website/Includes/Rights.ascx Website/Includes/Rights.ascx.cs Website/Includes/UserRoles.ascx Website/Includes/UserRoles.ascx.cs Modified: Website/App_Code/tcdbDataSet.xsd =================================================================== --- Website/App_Code/tcdbDataSet.xsd 2006-08-09 18:18:06 UTC (rev 289) +++ Website/App_Code/tcdbDataSet.xsd 2006-08-09 19:34:56 UTC (rev 290) @@ -427,73 +427,6 @@ <Sources> </Sources> </TableAdapter> - <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> - <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="@rightsCode" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumn="rightsCode" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@rightsName" 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="@rightsDescription" Precision="0" ProviderType="Text" Scale="0" Size="2147483647" SourceColumn="rightsDescription" 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="@rightsCode" Precision="0" ProviderType="VarChar" Scale="0" Size="255" 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="@rightsCode" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumn="rightsCode" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@rightsName" 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="@rightsDescription" Precision="0" ProviderType="Text" Scale="0" Size="2147483647" SourceColumn="rightsDescription" 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" /> - <Mapping SourceColumn="rightsDescription" DataSetColumn="rightsDescription" /> - <Mapping SourceColumn="rightsCode" DataSetColumn="rightsCode" /> - </Mappings> - <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"> @@ -954,6 +887,72 @@ <Sources> </Sources> </TableAdapter> + <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> + <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="@rightsCode" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumn="rightsCode" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@rightsName" 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="@rightsDescription" Precision="0" ProviderType="Text" Scale="0" Size="2147483647" SourceColumn="rightsDescription" 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="@rightsCode" Precision="0" ProviderType="VarChar" Scale="0" Size="255" 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="@rightsCode" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumn="rightsCode" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@rightsName" 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="@rightsDescription" Precision="0" ProviderType="Text" Scale="0" Size="2147483647" SourceColumn="rightsDescription" 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="rightsCode" DataSetColumn="rightsCode" /> + <Mapping SourceColumn="rightsName" DataSetColumn="rightsName" /> + <Mapping SourceColumn="rightsDescription" DataSetColumn="rightsDescription" /> + <Mapping SourceColumn="active" DataSetColumn="active" /> + </Mappings> + <Sources> + </Sources> + </TableAdapter> </Tables> <Sources> </Sources> @@ -966,108 +965,108 @@ <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" /> @@ -1080,17 +1079,17 @@ <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="noteAuthorName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="noteAuthorName" msprop:Generator_ColumnVarNameInTable="columnnoteAuthorName" msprop:Generator_ColumnPropNameInRow="noteAuthorName" msprop:Generator_ColumnPropNameInTable="noteAuthorNameColumn" 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:element name="noteAuthorName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="noteAuthorName" msprop:Generator_ColumnPropNameInRow="noteAuthorName" msprop:Generator_ColumnVarNameInTable="columnnoteAuthorName" msprop:Generator_ColumnPropNameInTable="noteAuthorNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> @@ -1103,102 +1102,102 @@ <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="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="numAI" msdata:ReadOnly="true" msprop:Generator_UserColumnName="numAI" msprop:Generator_ColumnPropNameInRow="numAI" msprop:Generator_ColumnVarNameInTable="columnnumAI" msprop:Generator_ColumnPropNameInTable="numAIColumn" type="xs:int" minOccurs="0" /> - <xs:element name="numWO" msdata:ReadOnly="true" msprop:Generator_UserColumnName="numWO" msprop:Generator_ColumnPropNameInRow="numWO" msprop:Generator_ColumnVarNameInTable="columnnumWO" msprop:Generator_ColumnPropNameInTable="numWOColumn" 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_ColumnVarNameInTable="columncreatorID" msprop:Generator_ColumnPropNameInRow="creatorID" msprop:Generator_ColumnPropNameInTable="creatorIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="numAI" msdata:ReadOnly="true" msprop:Generator_UserColumnName="numAI" msprop:Generator_ColumnVarNameInTable="columnnumAI" msprop:Generator_ColumnPropNameInRow="numAI" msprop:Generator_ColumnPropNameInTable="numAIColumn" type="xs:int" minOccurs="0" /> + <xs:element name="numWO" msdata:ReadOnly="true" msprop:Generator_UserColumnName="numWO" msprop:Generator_ColumnVarNameInTable="columnnumWO" msprop:Generator_ColumnPropNameInRow="numWO" msprop:Generator_ColumnPropNameInTable="numWOColumn" type="xs:int" minOccurs="0" /> </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_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> ... [truncated message content] |
From: <ro...@us...> - 2006-08-09 18:18:11
|
Revision: 289 Author: rouquin Date: 2006-08-09 11:18:06 -0700 (Wed, 09 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=289&view=rev Log Message: ----------- Bug fixes: 1) Enabling/disabled of date pickers disabled 2) Sorting columns refreshes rows. Modified Paths: -------------- Website/Includes/Assignments.ascx.cs Website/Includes/FeaturesTree.ascx.cs Website/Includes/Versions.ascx Modified: Website/Includes/Assignments.ascx.cs =================================================================== --- Website/Includes/Assignments.ascx.cs 2006-08-09 16:53:30 UTC (rev 288) +++ Website/Includes/Assignments.ascx.cs 2006-08-09 18:18:06 UTC (rev 289) @@ -323,8 +323,9 @@ } protected void AssignmentsGridView_Sorted(object sender, EventArgs e) { - foreach (GridViewRow row in AssignmentsGridView.Rows) - filter(row); + Session["refresh"] = true; + //foreach (GridViewRow row in AssignmentsGridView.Rows) + // filter(row); } protected void AssignmentsGridView_DataBinding(object sender, EventArgs e) { @@ -470,16 +471,6 @@ } protected void cboDateFilter_CheckedChanged(object sender, EventArgs e) { - if (cboDateFilter.Checked) - { - toDate.Enabled = true; - fromDate.Enabled = true; - } - else - { - toDate.Enabled = false; - fromDate.Enabled = false; - } Session["filterAssignedDate"] = cboDateFilter.Checked; Session.Add("refresh", true); @@ -487,16 +478,6 @@ } protected void cboDueFilter_CheckedChanged(object sender, EventArgs e) { - if (cboDueFilter.Checked) - { - toDueDate.Enabled = true; - fromDueDate.Enabled = true; - } - else - { - toDueDate.Enabled = false; - fromDueDate.Enabled = false; - } Session["filterDueDate"] = cboDueFilter.Checked; Session.Add("refresh", true); @@ -504,16 +485,6 @@ } protected void cboFinishedFilter_CheckedChanged(object sender, EventArgs e) { - if (cboFinishedFilter.Checked) - { - toFinishedDate.Enabled = true; - fromFinishedDate.Enabled = true; - } - else - { - toFinishedDate.Enabled = false; - fromFinishedDate.Enabled = false; - } Session["filterFinishedDate"] = cboFinishedFilter.Checked; Session.Add("refresh", true); Modified: Website/Includes/FeaturesTree.ascx.cs =================================================================== --- Website/Includes/FeaturesTree.ascx.cs 2006-08-09 16:53:30 UTC (rev 288) +++ Website/Includes/FeaturesTree.ascx.cs 2006-08-09 18:18:06 UTC (rev 289) @@ -13,7 +13,7 @@ namespace TCDB -{ +{ public partial class FeaturesTree : SiteUserControl { private static Logger m_logg = new Logger("TCDB.FeatureTree"); @@ -89,7 +89,7 @@ // Set additional properties for the node. newNode.SelectAction = TreeNodeSelectAction.Expand; - newNode.NavigateUrl = "~/Version.aspx?mode=read&i"+Constants.CODE_VERSION+"=" + newNode.Value; + newNode.NavigateUrl = "~/Version.aspx?mode=read&"+Constants.CODE_VERSION+"=" + newNode.Value; if (!version.ACTIVE) newNode.Text = "<font class='deleted'>" + newNode.Text + "</font>"; Modified: Website/Includes/Versions.ascx =================================================================== --- Website/Includes/Versions.ascx 2006-08-09 16:53:30 UTC (rev 288) +++ Website/Includes/Versions.ascx 2006-08-09 18:18:06 UTC (rev 289) @@ -42,18 +42,10 @@ <tr> <td align="left" colspan="2" valign="top"> <strong>Product:</strong> - <asp:Label ID="productName" runat="server" Text='<%# Eval("productID") %>'></asp:Label></td> + <asp:Label ID="productName" runat="server" Text='<%# Eval("productName") %>'></asp:Label></td> <td align="left" colspan="2" valign="top"> <strong>Platforms: </strong><br /> - <asp:ListBox ID="platformList" runat="server" DataSourceID="VersionPlatformDataSource" - DataTextField="platformName" DataValueField="platformID"></asp:ListBox><asp:SqlDataSource - ID="VersionPlatformDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:tcdbConnectionString %>" - SelectCommand="sel_products" SelectCommandType="StoredProcedure"> - <SelectParameters> - <asp:Parameter DefaultValue="true" Name="active" Type="Boolean" /> - <asp:Parameter Name="productID" Type="Int32" /> - </SelectParameters> - </asp:SqlDataSource> + <asp:ListBox ID="platformList" runat="server"></asp:ListBox> </td> </tr> <tr> @@ -101,16 +93,13 @@ <tr> <td align="left" colspan="2"> <strong>Product:</strong> - <asp:DropDownList ID="productList" runat="server" DataSourceID="ProductDataSource" + <asp:DropDownList ID="productList" runat="server" DataSourceID="ProductsDataSource" DataTextField="name" DataValueField="productID" SelectedValue='<%# Bind("productID") %>'> - </asp:DropDownList><asp:ObjectDataSource ID="ProductDataSource" runat="server" OldValuesParameterFormatString="original_{0}" - SelectMethod="GetAllProductData" TypeName="DummyDataSetTableAdapters.productTableAdapter"> - </asp:ObjectDataSource> + </asp:DropDownList> </td> <td align="left" colspan="2" valign="top"> <strong>Platform:</strong><br /> - <asp:ListBox ID="platformList" runat="server" DataSourceID="PlatformDataSource" DataTextField="platformName" - DataValueField="platformID" OnDataBound="platformList_DataBound" SelectionMode="Multiple"> + <asp:ListBox ID="platformList" runat="server" OnDataBound="platformList_DataBound" SelectionMode="Multiple"> </asp:ListBox> </td> </tr> <tr> @@ -156,16 +145,13 @@ <tr> <td align="left" colspan="2"> <strong>Product:</strong> - <asp:DropDownList ID="productList" runat="server" DataSourceID="ProductDataSource" + <asp:DropDownList ID="productList" runat="server" DataSourceID="ProductsDataSource" DataTextField="name" DataValueField="productID" SelectedValue='<%# Bind("productID") %>'> - </asp:DropDownList><asp:ObjectDataSource ID="ProductDataSource" runat="server" OldValuesParameterFormatString="original_{0}" - SelectMethod="GetAllProductData" TypeName="DummyDataSetTableAdapters.productTableAdapter"> - </asp:ObjectDataSource> + </asp:DropDownList> </td> <td align="left" colspan="2" valign="top"> <strong>Platform:</strong><br /> - <asp:ListBox ID="platformList" runat="server" DataSourceID="PlatformDataSource" DataTextField="platformName" - DataValueField="platformID" SelectionMode="Multiple"></asp:ListBox> </td> + <asp:ListBox ID="platformList" runat="server" SelectionMode="Multiple"></asp:ListBox> </td> </tr> <tr> <td class="hr" colspan="4"> @@ -209,34 +195,11 @@ <asp:Parameter Name="active" Type="Boolean" /> </InsertParameters> </asp:ObjectDataSource> -<asp:ObjectDataSource ID="PlatformDataSource" runat="server" OldValuesParameterFormatString="original_{0}" - SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.db_productsTableAdapter" - InsertMethod="Insert" UpdateMethod="Update"> - <UpdateParameters> - <asp:Parameter Name="productID" Type="Int32" /> - <asp:Parameter Name="name" Type="String" /> - <asp:Parameter Name="description" Type="String" /> - <asp:Parameter Name="devManager" Type="Int32" /> - <asp:Parameter Name="qaManager" Type="Int32" /> - <asp:Parameter Name="devLead" Type="Int32" /> - <asp:Parameter Name="qaLead" Type="Int32" /> - <asp:Parameter Name="pm" Type="Int32" /> - <asp:Parameter Name="codeName" Type="String" /> - <asp:Parameter Name="active" Type="Boolean" /> - </UpdateParameters> +<asp:ObjectDataSource ID="ProductsDataSource" runat="server" OldValuesParameterFormatString="original_{0}" + SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.db_productsTableAdapter"> <SelectParameters> - <asp:Parameter Name="active" Type="Boolean" DefaultValue="true" /> + <asp:SessionParameter Name="active" SessionField="active" Type="Boolean" /> <asp:Parameter Name="productID" Type="Int32" /> + <asp:Parameter Name="productName" Type="String" /> </SelectParameters> - <InsertParameters> - <asp:Parameter Name="name" Type="String" /> - <asp:Parameter Name="description" Type="String" /> - <asp:Parameter Name="devManager" Type="Int32" /> - <asp:Parameter Name="qaManager" Type="Int32" /> - <asp:Parameter Name="devLead" Type="Int32" /> - <asp:Parameter Name="qaLead" Type="Int32" /> - <asp:Parameter Name="pm" Type="Int32" /> - <asp:Parameter Name="codeName" Type="String" /> - <asp:Parameter Name="active" Type="Boolean" /> - </InsertParameters> </asp:ObjectDataSource> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2006-08-09 16:53:50
|
Revision: 288 Author: rouquin Date: 2006-08-09 09:53:30 -0700 (Wed, 09 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=288&view=rev Log Message: ----------- Added some supporting pages (not functional). Also, updated version page a little and updated code for some bug fixes that Jon put in. Modified Paths: -------------- Website/App_Code/Common.cs Website/App_Code/Right.cs Website/App_Code/Versions.cs Website/App_Code/tcdbDataSet.xsd Website/App_Code/tcdbDataSet.xss Website/Includes/AdministrationTree.ascx.cs Website/Includes/Builds.ascx Website/Includes/FeaturesTree.ascx.cs Website/Includes/Platforms.ascx Website/Includes/Rights.ascx.cs Website/Includes/UserRoles.ascx.cs Website/Includes/Versions.ascx Added Paths: ----------- Website/Build.aspx Website/Includes/Builds.ascx.cs Website/Includes/Platforms.ascx.cs Website/Includes/TestPasses.ascx Website/Includes/TestPasses.ascx.cs Website/Platform.aspx Website/TestPass.aspx Modified: Website/App_Code/Common.cs =================================================================== --- Website/App_Code/Common.cs 2006-08-09 15:47:18 UTC (rev 287) +++ Website/App_Code/Common.cs 2006-08-09 16:53:30 UTC (rev 288) @@ -659,7 +659,7 @@ Dictionary<String, List<Config>> settings = new Dictionary<string, List<Config>>(); Dictionary<String, String> values; List<Config> group; - + // Start clean settings.Clear(); Modified: Website/App_Code/Right.cs =================================================================== --- Website/App_Code/Right.cs 2006-08-09 15:47:18 UTC (rev 287) +++ Website/App_Code/Right.cs 2006-08-09 16:53:30 UTC (rev 288) @@ -173,15 +173,15 @@ List<String> rightsList = new List<String>(); foreach (tcdbDataSet.db_userRightsRow row in userRightsTable) - rightsList.Add(row.rightsName); + rightsList.Add(row.rightsCode); return rightsList; } - public static Right TCDB_GetUserRight(int productID, int userID, String rightsName, Nullable<bool> active) + public static Right TCDB_GetUserRight(int productID, int userID, String rightsCode, Nullable<bool> active) { tcdbDataSetTableAdapters.db_userRightsTableAdapter userRightsAdapter = new tcdbDataSetTableAdapters.db_userRightsTableAdapter(); - tcdbDataSet.db_userRightsDataTable userRightsTable = userRightsAdapter.GetData(userID, productID, null, rightsName, active); + tcdbDataSet.db_userRightsDataTable userRightsTable = userRightsAdapter.GetData(userID, productID, null, rightsCode, active); if (userRightsTable.Count > 0) { Modified: Website/App_Code/Versions.cs =================================================================== --- Website/App_Code/Versions.cs 2006-08-09 15:47:18 UTC (rev 287) +++ Website/App_Code/Versions.cs 2006-08-09 16:53:30 UTC (rev 288) @@ -16,53 +16,52 @@ /// </summary> public class VersionDB : Page { - public static Version GetVersion(int VersionID) + public static ProductVersion GetVersion(int VersionID) { tcdbDataSetTableAdapters.db_versionTableAdapter versionAdapter = new tcdbDataSetTableAdapters.db_versionTableAdapter(); tcdbDataSet.db_versionDataTable versionTable = versionAdapter.GetData(VersionID, null, true); - Version version = new Version(); + ProductVersion version = new ProductVersion(); if (versionTable.Count > 0) - version = new Version(versionTable[0]); + version = new ProductVersion(versionTable[0]); return version; } - public static List<Version> GetVersionList(int ProductID) + public static List<ProductVersion> GetVersionList(Nullable<int> ProductID, Nullable<bool> active) { tcdbDataSetTableAdapters.db_versionTableAdapter versionAdapter = new tcdbDataSetTableAdapters.db_versionTableAdapter(); - tcdbDataSet.db_versionDataTable versionTable = versionAdapter.GetData(null, ProductID, true); - List<Version> versionList = new List<Version>(); + tcdbDataSet.db_versionDataTable versionTable = versionAdapter.GetData(null, ProductID, active); + List<ProductVersion> versionList = new List<ProductVersion>(); foreach (tcdbDataSet.db_versionRow row in versionTable) - versionList.Add(new Version(row)); + versionList.Add(new ProductVersion(row)); return versionList; } } - public class Version + public class ProductVersion { private int p_versionid; private Product p_product; private string p_number; private string p_code; private bool p_active; - private Nullable<DateTime> p_datecreated; + private DateTime p_datecreated; // TODO: Implement these as the time is right //private List<Platform> platforms; - public Version() + public ProductVersion() { p_versionid = 0; p_product = null; p_number = null; p_code = null; p_active = false; - p_datecreated = null; } - public Version(int versionID, int productID, string number, string code, bool active, DateTime dateCreated) + public ProductVersion(int versionID, int productID, string number, string code, bool active, DateTime dateCreated) { p_versionid = versionID; p_product = ProductDB.GetProduct(true,productID,null); @@ -72,12 +71,18 @@ p_datecreated = dateCreated; } - public Version(tcdbDataSet.db_versionRow row) + public ProductVersion(tcdbDataSet.db_versionRow row) { p_versionid = row.versionID; p_product = ProductDB.GetProduct(true, row.productID, null); p_number = row.number; - p_code = row.code; + + try + { + p_code = row.code; + } + catch { p_code = ""; } + p_active = row.active; p_datecreated = row.dateCreated; } @@ -112,7 +117,7 @@ set { p_active = value; } } - public Nullable<DateTime> DATECREATED + public DateTime DATECREATED { get { return p_datecreated; } set { p_datecreated = value; } Modified: Website/App_Code/tcdbDataSet.xsd =================================================================== --- Website/App_Code/tcdbDataSet.xsd 2006-08-09 15:47:18 UTC (rev 287) +++ Website/App_Code/tcdbDataSet.xsd 2006-08-09 16:53:30 UTC (rev 288) @@ -688,7 +688,7 @@ </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 AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@rightsCode" 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> @@ -705,6 +705,7 @@ <Mapping SourceColumn="rightsID" DataSetColumn="rightsID" /> <Mapping SourceColumn="rightsName" DataSetColumn="rightsName" /> <Mapping SourceColumn="rightDescription" DataSetColumn="rightDescription" /> + <Mapping SourceColumn="rightsCode" DataSetColumn="rightsCode" /> </Mappings> <Sources> </Sources> @@ -965,108 +966,108 @@ <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" /> @@ -1079,17 +1080,17 @@ <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="noteAuthorName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="noteAuthorName" msprop:Generator_ColumnPropNameInRow="noteAuthorName" msprop:Generator_ColumnVarNameInTable="columnnoteAuthorName" msprop:Generator_ColumnPropNameInTable="noteAuthorNameColumn" 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:element name="noteAuthorName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="noteAuthorName" msprop:Generator_ColumnVarNameInTable="columnnoteAuthorName" msprop:Generator_ColumnPropNameInRow="noteAuthorName" msprop:Generator_ColumnPropNameInTable="noteAuthorNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> @@ -1102,102 +1103,102 @@ <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="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="numAI" msdata:ReadOnly="true" msprop:Generator_UserColumnName="numAI" msprop:Generator_ColumnVarNameInTable="columnnumAI" msprop:Generator_ColumnPropNameInRow="numAI" msprop:Generator_ColumnPropNameInTable="numAIColumn" type="xs:int" minOccurs="0" /> - <xs:element name="numWO" msdata:ReadOnly="true" msprop:Generator_UserColumnName="numWO" msprop:Generator_ColumnVarNameInTable="columnnumWO" msprop:Generator_ColumnPropNameInRow="numWO" msprop:Generator_ColumnPropNameInTable="numWOColumn" 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_ColumnPropNameInRow="creatorID" msprop:Generator_ColumnVarNameInTable="columncreatorID" msprop:Generator_ColumnPropNameInTable="creatorIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="numAI" msdata:ReadOnly="true" msprop:Generator_UserColumnName="numAI" msprop:Generator_ColumnPropNameInRow="numAI" msprop:Generator_ColumnVarNameInTable="columnnumAI" msprop:Generator_ColumnPropNameInTable="numAIColumn" type="xs:int" minOccurs="0" /> + <xs:element name="numWO" msdata:ReadOnly="true" msprop:Generator_UserColumnName="numWO" msprop:Generator_ColumnPropNameInRow="numWO" msprop:Generator_ColumnVarNameInTable="columnnumWO" msprop:Generator_ColumnPropNameInTable="numWOColumn" type="xs:int" minOccurs="0" /> </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_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" msprop:Generator_ColumnPropNameInRow="number" 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_ColumnPropNameInRow="code" msprop:Generator_ColumnVarNameInTable="columncode" msprop:Generator_ColumnPropNameInTable="codeColumn" minOccurs="0"> + <xs:element name="code" msprop:Generator_UserColumnName="code" msprop:Generator_ColumnVarNameInTable="columncode" msprop:Generator_ColumnPropNameInRow="code" 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_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:element name="productName" msprop:Generator_UserColumnName="productName" msprop:Generator_ColumnPropNameInRow="productName" msprop:Generator_ColumnVarNameInTable="columnproductName" msprop:Generator_ColumnPropNameInTable="productNameColumn" 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" 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="productName" msprop:Generator_UserColumnName="productName" msprop:Generator_ColumnVarNameInTable="columnproductName" msprop:Generator_ColumnPropNameInRow="productName" msprop:Generator_ColumnPropNameInTable="productNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> @@ -1210,30 +1211,30 @@ <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_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: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: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_ColumnVarNameInTable="columnrightDescription" msprop:Generator_ColumnPropNameInRow="rightDescription" msprop:Generator_ColumnPropNameInTable="rightDescriptionColumn" minOccurs="0"> + <xs:element name="rightDescription" msprop:Generator_UserColumnName="rightDescription" msprop:Generator_ColumnPropNameInRow="rightDescription" msprop:Generator_ColumnVarNameInTable="columnrightDescription" msprop:Generator_ColumnPropNameInTable="rightDescriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </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="rightsDescription" msprop:Generator_UserColumnName="rightsDescription" msprop:Generator_ColumnVarNameInTable="columnrightsDescription" msprop:Generator_ColumnPropNameInRow="rightsDescription" msprop:Generator_ColumnPropNameInTable="rightsDescriptionColumn" 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="rightsDescription" msprop:Generator_UserColumnName="rightsDescription" msprop:Generator_ColumnPropNameInRow="rightsDescription" msprop:Generator_ColumnVarNameInTable="columnrightsDescription" msprop:Generator_ColumnPropNameInTable="rightsDescriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="rightsCode" msprop:Generator_UserColumnName="rightsCode" msprop:Generator_ColumnVarNameInTable="columnrightsCode" msprop:Generator_ColumnPropNameInRow="rightsCode" msprop:Generator_ColumnPropNameInTable="rightsCodeColumn" minOccurs="0"> + <xs:element name="rightsCode" msprop:Generator_UserColumnName="rightsCode" msprop:Generator_ColumnPropNameInRow="rightsCode" msprop:Generator_ColumnVarNameInTable="columnrightsCode" msprop:Generator_ColumnPropNameInTable="rightsCodeColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> @@ -1246,25 +1247,25 @@ <xs:element name="db_roleProductUser" msprop:Generator_UserTableName="db_roleProductUser" msprop:Generator_RowDeletedName="db_roleProductUserRowDeleted" msprop:Generator_RowChangedName="db_roleProductUserRowChanged" msprop:Generator_RowClassName="db_roleProductUserRow" msprop:Generator_RowChangingName="db_roleProductUserRowChanging" msprop:Generator_RowEvArgName="db_roleProductUserRowChangeEvent" msprop:Generator_RowEvHandl... [truncated message content] |
From: <ro...@us...> - 2006-08-09 15:47:30
|
Revision: 287 Author: rouquin Date: 2006-08-09 08:47:18 -0700 (Wed, 09 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=287&view=rev Log Message: ----------- Changed rights/Role list views to text lists so that Matt can beautify them. Modified Paths: -------------- Website/App_Code/Right.cs Website/App_Code/Versions.cs Website/App_Code/tcdbDataSet.xsd Website/App_Code/tcdbDataSet.xss Website/Includes/AdministrationTree.ascx.cs Website/Includes/FeaturesTree.ascx.cs Website/Includes/Rights.ascx Website/Includes/Rights.ascx.cs Website/Includes/UserRoles.ascx Website/Includes/UserRoles.ascx.cs Website/Includes/Versions.ascx Website/Includes/Versions.ascx.cs Modified: Website/App_Code/Right.cs =================================================================== --- Website/App_Code/Right.cs 2006-08-09 14:54:57 UTC (rev 286) +++ Website/App_Code/Right.cs 2006-08-09 15:47:18 UTC (rev 287) @@ -75,7 +75,7 @@ } catch { } - return new Role(row.roleID, row.roleName, description); + return new Role(row.roleID, row.roleName, description, row.active); } else return new Role(); @@ -90,7 +90,7 @@ { tcdbDataSet.db_roleRow row = roleTable[0]; - return new Role(row.roleID, row.roleName, row.roleDescription); + return new Role(row.roleID, row.roleName, row.roleDescription, row.active); } else return new Role(); @@ -117,6 +117,27 @@ return rightsList; } + public static List<Role> TCDB_GetRoleList(Nullable<bool> active) + { + tcdbDataSetTableAdapters.db_roleTableAdapter roleAdapter = new tcdbDataSetTableAdapters.db_roleTableAdapter(); + tcdbDataSet.db_roleDataTable roleTable = roleAdapter.GetData(null, null, active); + List<Role> roleList = new List<Role>(); + + foreach (tcdbDataSet.db_roleRow row in roleTable) + { + String description = ""; + try + { + description = row.roleDescription; + } + catch { } + + roleList.Add(new Role(row.roleID, row.roleName, row.roleDescription, row.active)); + } + + return roleList; + } + public static List<Right> TCDB_GetRoleRights(Nullable<int> roleID, Nullable<bool> active) { tcdbDataSetTableAdapters.db_roleRightTableAdapter rrAdapter = new tcdbDataSetTableAdapters.db_roleRightTableAdapter(); @@ -131,6 +152,20 @@ return rightsList; } + public static List<Role> TCDB_GetRightRoles(Nullable<int> rightsID, Nullable<bool> active) + { + tcdbDataSetTableAdapters.db_rightRoleTableAdapter rrAdapter = new tcdbDataSetTableAdapters.db_rightRoleTableAdapter(); + tcdbDataSet.db_rightRoleDataTable rrTable = rrAdapter.GetData(rightsID, active); + List<Role> rolesList = new List<Role>(); + + foreach (tcdbDataSet.db_rightRoleRow row in rrTable) + { + rolesList.Add(new Role(row.roleID,row.roleName,"",row.active)); + } + + return rolesList; + } + public static List<String> TCDB_GetUserRights(int productID, int userID, Nullable<bool> active) { tcdbDataSetTableAdapters.db_userRightsTableAdapter userRightsAdapter = new tcdbDataSetTableAdapters.db_userRightsTableAdapter(); @@ -327,12 +362,14 @@ private int p_id; private string p_name; private string p_description; + private bool p_active; public Role() { p_id = 0; p_name = ""; p_description = ""; + p_active = true; } public Role(string name) @@ -345,11 +382,12 @@ BuildRole(RightDB.GetRoleInfo(id)); } - public Role(int id, string name, string description) + public Role(int id, string name, string description, bool active) { p_id = id; p_name = name; p_description = description; + p_active = active; } private void BuildRole(Role role) @@ -357,6 +395,7 @@ p_id = role.ID; p_name = role.NAME; p_description = role.DESCRIPTION; + p_active = role.ACTIVE; } public int ID @@ -376,5 +415,11 @@ get { return p_description.Trim(); } set { p_description = value.Trim(); } } + + public bool ACTIVE + { + get { return p_active; } + set { p_active = value; } + } } } Modified: Website/App_Code/Versions.cs =================================================================== --- Website/App_Code/Versions.cs 2006-08-09 14:54:57 UTC (rev 286) +++ Website/App_Code/Versions.cs 2006-08-09 15:47:18 UTC (rev 287) @@ -19,7 +19,7 @@ public static Version GetVersion(int VersionID) { tcdbDataSetTableAdapters.db_versionTableAdapter versionAdapter = new tcdbDataSetTableAdapters.db_versionTableAdapter(); - tcdbDataSet.db_versionDataTable versionTable = versionAdapter.GetData(VersionID,null); + tcdbDataSet.db_versionDataTable versionTable = versionAdapter.GetData(VersionID, null, true); Version version = new Version(); if (versionTable.Count > 0) @@ -31,7 +31,7 @@ public static List<Version> GetVersionList(int ProductID) { tcdbDataSetTableAdapters.db_versionTableAdapter versionAdapter = new tcdbDataSetTableAdapters.db_versionTableAdapter(); - tcdbDataSet.db_versionDataTable versionTable = versionAdapter.GetData(null,ProductID); + tcdbDataSet.db_versionDataTable versionTable = versionAdapter.GetData(null, ProductID, true); List<Version> versionList = new List<Version>(); foreach (tcdbDataSet.db_versionRow row in versionTable) Modified: Website/App_Code/tcdbDataSet.xsd =================================================================== --- Website/App_Code/tcdbDataSet.xsd 2006-08-09 14:54:57 UTC (rev 286) +++ Website/App_Code/tcdbDataSet.xsd 2006-08-09 15:47:18 UTC (rev 287) @@ -391,6 +391,8 @@ </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> @@ -420,6 +422,7 @@ <Mapping SourceColumn="code" DataSetColumn="code" /> <Mapping SourceColumn="active" DataSetColumn="active" /> <Mapping SourceColumn="dateCreated" DataSetColumn="dateCreated" /> + <Mapping SourceColumn="productName" DataSetColumn="productName" /> </Mappings> <Sources> </Sources> @@ -962,108 +965,108 @@ <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" /> @@ -1076,17 +1079,17 @@ <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="noteAuthorName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="noteAuthorName" msprop:Generator_ColumnVarNameInTable="columnnoteAuthorName" msprop:Generator_ColumnPropNameInRow="noteAuthorName" msprop:Generator_ColumnPropNameInTable="noteAuthorNameColumn" 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:element name="noteAuthorName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="noteAuthorName" msprop:Generator_ColumnPropNameInRow="noteAuthorName" msprop:Generator_ColumnVarNameInTable="columnnoteAuthorName" msprop:Generator_ColumnPropNameInTable="noteAuthorNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> @@ -1099,131 +1102,138 @@ <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="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="numAI" msdata:ReadOnly="true" msprop:Generator_UserColumnName="numAI" msprop:Generator_ColumnPropNameInRow="numAI" msprop:Generator_ColumnVarNameInTable="columnnumAI" msprop:Generator_ColumnPropNameInTable="numAIColumn" type="xs:int" minOccurs="0" /> - <xs:element name="numWO" msdata:ReadOnly="true" msprop:Generator_UserColumnName="numWO" msprop:Generator_ColumnPropNameInRow="numWO" msprop:Generator_ColumnVarNameInTable="columnnumWO" msprop:Generator_ColumnPropNameInTable="numWOColumn" 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_ColumnVarNameInTable="columncreatorID" msprop:Generator_ColumnPropNameInRow="creatorID" msprop:Generator_ColumnPropNameInTable="creatorIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="numAI" msdata:ReadOnly="true" msprop:Generator_UserColumnName="numAI" msprop:Generator_ColumnVarNameInTable="columnnumAI" msprop:Generator_ColumnPropNameInRow="numAI" msprop:Generator_ColumnPropNameInTable="numAIColumn" type="xs:int" minOccurs="0" /> + <xs:element name="numWO" msdata:ReadOnly="true" msprop:Generator_UserColumnName="numWO" msprop:Generator_ColumnVarNameInTable="columnnumWO" msprop:Generator_ColumnPropNameInRow="numWO" msprop:Generator_ColumnPropNameInTable="numWOColumn" type="xs:int" minOccurs="0" /> </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_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:element name="productName" msprop:Generator_UserColumnName="productName" msprop:Generator_ColumnPropNameInRow="productName" msprop:Generator_ColumnVarNameInTable="columnproductName" msprop:Generator_ColumnPropNameInTable="productNameColumn" minOccurs="0"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:maxLength value="255" /> + </xs:restriction> + </xs:simpleType> + </xs:element> </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:Generator_ColumnVarNameInTable="columnrightDescription" msprop:Generator_ColumnPropNameInRow="rightDescription" msprop:Generator_ColumnPropNameInTable="rightDescriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </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="rightsDescription" msprop:Generator_UserColumnName="rightsDescription" msprop:Generator_ColumnPropNameInRow="rightsDescription" msprop:Generator_ColumnVarNameInTable="columnrightsDescription" msprop:Generator_ColumnPropNameInTable="rightsDescriptionColumn" 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="rightsDescription" msprop:Generator_UserColumnName="rightsDescription" msprop:Generator_ColumnVarNameInTable="columnrightsDescription" msprop:Generator_ColumnPropNameInRow="rightsDescription" msprop:Generator_ColumnPropNameInTable="rightsDescriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="rightsCode" msprop:Generator_UserColumnName="rightsCode" msprop:Generator_ColumnPropNameInRow="rightsCode" msprop:Generator_ColumnVarNameInTable="columnrightsCode" msprop:Generator_ColumnPropNameInTable="rightsCodeColumn" minOccurs="0"> + <xs:element name="rightsCode" msprop:Generator_UserColumnName="rightsCode" msprop:Generator_ColumnVarNameInTable="columnrightsCode" msprop:Generator_ColumnPropNameInRow="rightsCode" msprop:Generator_ColumnPropNameInTable="rightsCodeColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> @@ -1236,25 +1246,25 @@ <xs:element name="db_roleProductUser" msprop:Generator_UserTableName="db_roleProductUser" msprop:Generator_RowDeletedName="db_roleProductUserRowDeleted" msprop:Generator_RowChangedName="db_roleProductUserRowChanged" msprop:Generator_RowClassName="db_roleProductUserRow" msprop:Generator_RowChangingName="db_roleProductUserRowChanging" msprop:Generator_RowEvArgName="db_roleProductUserRowChangeEvent" msprop:Generator_RowEvHandlerName="db_roleProductUserRowChangeEventHandler" msprop:Generator_TableClassName="db_roleProductUserDataTable" msprop:Generator_TableVarName="tabledb_roleProductUser" msprop:Generator_RowDeletingName="db_roleProductUserRowDeleting" msprop:Generator_TablePropName="db_roleProductUser"> <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="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="userID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="userID" msprop:Genera... [truncated message content] |
From: <ro...@us...> - 2006-08-09 14:55:13
|
Revision: 286 Author: rouquin Date: 2006-08-09 07:54:57 -0700 (Wed, 09 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=286&view=rev Log Message: ----------- Changed split rights list to unassigned and assigned rights. Modified Paths: -------------- Website/App_Code/Right.cs Website/Includes/UserRoles.ascx Website/Includes/UserRoles.ascx.cs Modified: Website/App_Code/Right.cs =================================================================== --- Website/App_Code/Right.cs 2006-08-09 04:47:23 UTC (rev 285) +++ Website/App_Code/Right.cs 2006-08-09 14:54:57 UTC (rev 286) @@ -117,6 +117,20 @@ return rightsList; } + public static List<Right> TCDB_GetRoleRights(Nullable<int> roleID, Nullable<bool> active) + { + tcdbDataSetTableAdapters.db_roleRightTableAdapter rrAdapter = new tcdbDataSetTableAdapters.db_roleRightTableAdapter(); + tcdbDataSet.db_roleRightDataTable rrTable = rrAdapter.GetData(roleID, active); + List<Right> rightsList = new List<Right>(); + + foreach (tcdbDataSet.db_roleRightRow row in rrTable) + { + rightsList.Add(new Right(row.rightsID, row.rightName, row.rightCode, "", row.active)); + } + + return rightsList; + } + public static List<String> TCDB_GetUserRights(int productID, int userID, Nullable<bool> active) { tcdbDataSetTableAdapters.db_userRightsTableAdapter userRightsAdapter = new tcdbDataSetTableAdapters.db_userRightsTableAdapter(); @@ -250,6 +264,28 @@ p_active = right.ACTIVE; } + public override bool Equals(Object obj) + { + bool result = false; + + try + { + Right right = (Right)obj; + + if (right.ID == p_id) + result = true; + } + catch + { + } + return result; + } + + public override int GetHashCode() + { + return base.GetHashCode(); + } + public int ID { get { return p_id; } Modified: Website/Includes/UserRoles.ascx =================================================================== --- Website/Includes/UserRoles.ascx 2006-08-09 04:47:23 UTC (rev 285) +++ Website/Includes/UserRoles.ascx 2006-08-09 14:54:57 UTC (rev 286) @@ -48,7 +48,7 @@ </td> <td colspan="2" align="left" valign="top" width="34%" style="height: 132px"> <strong>Rights:</strong><br /> - <asp:ListBox ID="rightsList" runat="server" Height="150px" Width="150px" OnInit="rightsList_Init1"> + <asp:ListBox ID="rightsList" runat="server" Height="150px" Width="150px" OnInit="rightsList_Init"> </asp:ListBox> </td> </tr> @@ -102,24 +102,26 @@ </td> </tr> <tr> - <td colspan="2" align="left" valign="top" width="33%"> - </td> - <td colspan="2" align="left" valign="top" width="33%"> - </td> - <td colspan="2" align="left" valign="top" width="34%"> - <strong>Rights:<br /> - <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" - Height="150px" OnDataBound="rightsList_DataBound" Width="150px"> - </asp:ListBox> </td> - </tr> + <td colspan="2" width="45%" valign="top" height="200" align="center"> + <strong>Unassigned Rights:</strong><br /> + <asp:ListBox ID="unassignedList" runat="server" Height="100%" SelectionMode="Multiple" + Width="300px"></asp:ListBox> + </td> + <td colspan="2" height="200" width="10%" valign="middle" align="center"> + <asp:Button ID="assignButton" runat="server" OnCommand="assignSelected" Text="-->" /><br /> + <asp:Button ID="unassignButton" runat="server" OnCommand="unassignSelected" Text="<--" /></td> + <td colspan="2" width="45%" valign="top" height="200" align="center"> + <strong>Assigned Rights:</strong><br /> + <asp:ListBox ID="assignedList" runat="server" Height="100%" SelectionMode="Multiple" + AppendDataBoundItems="True" Width="300px"></asp:ListBox> + </td> + </tr> <tr> <td class="hr" colspan="6"> </td> </tr> <tr> - <td align="left" colspan="6"> + <td align="left" colspan="4"> <asp:LinkButton ID="UpdateButton" runat="server" CausesValidation="True" CommandName="Update" Text="Update"> </asp:LinkButton> @@ -127,6 +129,7 @@ <asp:LinkButton ID="UpdateCancelButton" runat="server" CausesValidation="False" CommandName="Cancel" Text="Cancel"> </asp:LinkButton></td> + <td align="right" colspan="2"><asp:LinkButton CommandName="newRight" ID="newRight" OnCommand="newRight" runat="server" >New Right</asp:LinkButton></td> </tr> </table> </div> @@ -164,18 +167,20 @@ </td> </tr> <tr> - <td colspan="2" align="left" valign="top" width="33%"> - </td> - <td colspan="2" align="left" valign="top" width="33%"> - </td> - <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" - Height="150px" Width="150px"></asp:ListBox> - </td> - </tr> + <td colspan="2" width="45%" valign="top" height="200" align="center"> + <strong>Unassigned Rights:</strong><br /> + <asp:ListBox ID="unassignedList" runat="server" Height="100%" SelectionMode="Multiple" + Width="300px"></asp:ListBox> + </td> + <td colspan="2" height="200" width="10%" valign="middle" align="center"> + <asp:Button ID="assignButton" runat="server" OnCommand="assignSelected" Text="-->" /><br /> + <asp:Button ID="unassignButton" runat="server" OnCommand="unassignSelected" Text="<--" /></td> + <td colspan="2" width="45%" valign="top" height="200" align="center"> + <strong>Assigned Rights:</strong><br /> + <asp:ListBox ID="assignedList" runat="server" Height="100%" SelectionMode="Multiple" + AppendDataBoundItems="True" Width="300px"></asp:ListBox> + </td> + </tr> <tr> <td class="hr" colspan="6"> </td> Modified: Website/Includes/UserRoles.ascx.cs =================================================================== --- Website/Includes/UserRoles.ascx.cs 2006-08-09 04:47:23 UTC (rev 285) +++ Website/Includes/UserRoles.ascx.cs 2006-08-09 14:54:57 UTC (rev 286) @@ -81,12 +81,14 @@ } protected void updateRoleRights() { - ListBox rightsList = (ListBox)FormView1.FindControl("rightsList"); + ListBox rightsList = (ListBox)FormView1.FindControl("assignedList"); // Clear roles tcdbDataSetTableAdapters.db_roleRightTableAdapter rrAdapter = new tcdbDataSetTableAdapters.db_roleRightTableAdapter(); rrAdapter.DeleteRoleRights(roleID, null); + foreach (ListItem item in rightsList.Items) + rrAdapter.InsertRoleRights(roleID, Convert.ToInt32(item.Value)); } protected void FormView1_ItemInserted(object sender, FormViewInsertedEventArgs e) @@ -136,21 +138,6 @@ } } - protected void rightsList_DataBound(object sender, EventArgs e) - { - ListBox rightsList = (ListBox)sender; - - tcdbDataSetTableAdapters.db_roleRightTableAdapter roleRightAdapter = new tcdbDataSetTableAdapters.db_roleRightTableAdapter(); - tcdbDataSet.db_roleRightDataTable roleRightTable = roleRightAdapter.GetData(roleID, true); - - foreach (tcdbDataSet.db_roleRightRow row in roleRightTable) - { - ListItem item = rightsList.Items.FindByValue(row.rightsID.ToString()); - item.Selected = true; - if (!row.active) - item.Attributes.CssStyle.Add("text-decoration", "line-through"); - } - } protected void newRight(object sender, CommandEventArgs e) { Response.Redirect("Right.aspx?mode=new&" + Constants.CODE_ROLE + "=" + roleID); @@ -269,26 +256,80 @@ } else activeBox.Enabled = false; + + if (FormView1.CurrentMode != FormViewMode.ReadOnly) + { + ListBox unassigned = (ListBox)FormView1.FindControl("unassignedList"); + ListBox assigned = (ListBox)FormView1.FindControl("assignedList"); + + // init + unassigned.Items.Clear(); + assigned.Items.Clear(); + + List<Right> roleRights = RightDB.TCDB_GetRoleRights(roleID, active); + List<Right> rights = RightDB.TCDB_GetRightList(active); + foreach (Right right in rights) + { + ListItem item = new ListItem(right.NAME, right.ID.ToString()); + if (!right.ACTIVE) + item.Attributes.CssStyle.Add("text-decoration", "line-through"); + + if (roleRights.Contains(right)) + assigned.Items.Add(item); + else + unassigned.Items.Add(item); + } + } } - protected void rightsList_Init1(object sender, EventArgs e) + protected void editAssignments_Command(object sender, CommandEventArgs e) { + Response.Redirect("~/RoleAssignments.aspx?" + Constants.CODE_PRODUCT + "=" + productID + "&" + Constants.CODE_ROLE + "=" + roleID); + } + + protected void assignSelected(object sender, CommandEventArgs e) + { + ListBox unassigned = (ListBox)FormView1.FindControl("unassignedList"); + ListBox assigned = (ListBox)FormView1.FindControl("assignedList"); + + int[] indices = unassigned.GetSelectedIndices(); + for (int index = indices.Length-1; index >= 0; index--) + { + ListItem item = unassigned.Items[indices[index]]; + + unassigned.Items.Remove(item); + assigned.Items.Add(item); + item.Selected = false; + } + } + protected void unassignSelected(object sender, CommandEventArgs e) + { + ListBox unassigned = (ListBox)FormView1.FindControl("unassignedList"); + ListBox assigned = (ListBox)FormView1.FindControl("assignedList"); + + int[] indices = assigned.GetSelectedIndices(); + for (int index = indices.Length-1; index >= 0; index--) + { + ListItem item = assigned.Items[indices[index]]; + + assigned.Items.Remove(item); + unassigned.Items.Add(item); + item.Selected = false; + } + } + protected void rightsList_Init(object sender, EventArgs e) + { ListBox rightsList = (ListBox)sender; - tcdbDataSetTableAdapters.db_roleRightTableAdapter rrAdapter = new tcdbDataSetTableAdapters.db_roleRightTableAdapter(); - tcdbDataSet.db_roleRightDataTable rrTable = rrAdapter.GetData(roleID, active); - foreach (tcdbDataSet.db_roleRightRow row in rrTable) + List<Right> rights = RightDB.TCDB_GetRoleRights(roleID, active); + foreach (Right right in rights) { - ListItem item = new ListItem(row.rightName, row.rightsID.ToString()); - if (!row.active) + ListItem item = new ListItem(right.NAME, right.ID.ToString()); + if (!right.ACTIVE) item.Attributes.CssStyle.Add("text-decoration", "line-through"); rightsList.Items.Add(item); } } - protected void editAssignments_Command(object sender, CommandEventArgs e) - { - Response.Redirect("~/RoleAssignments.aspx?" + Constants.CODE_PRODUCT + "=" + productID + "&" + Constants.CODE_ROLE + "=" + roleID); - } - } } +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <m_h...@us...> - 2006-08-09 04:47:42
|
Revision: 285 Author: m_hildebrand Date: 2006-08-08 21:47:23 -0700 (Tue, 08 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=285&view=rev Log Message: ----------- Lots more refactoring Changed Assignments Tree to use postbacks for all links rather than typical html links Added product_add graphic that I forgot to commit up earlier Modified Paths: -------------- Website/App_Code/Assignments.cs Website/App_Code/Common.cs Website/App_Code/Right.cs Website/Includes/Assignments.ascx.cs Website/Includes/AssignmentsTree.ascx Website/Includes/AssignmentsTree.ascx.cs Website/Includes/Footer.ascx.cs Website/Includes/Header.ascx Website/Includes/Header_Menu.ascx Website/Includes/Header_User.ascx Website/Role.aspx Website/TCDB.master Added Paths: ----------- Website/App_Themes/Python/Images/product_add_48.png Website/Includes/Header.ascx.cs Website/Includes/Header_Menu.ascx.cs Website/Includes/UserRoles.ascx Website/Includes/UserRoles.ascx.cs Removed Paths: ------------- Website/Includes/Roles.ascx Website/Includes/Roles.ascx.cs Modified: Website/App_Code/Assignments.cs =================================================================== --- Website/App_Code/Assignments.cs 2006-08-08 21:26:55 UTC (rev 284) +++ Website/App_Code/Assignments.cs 2006-08-09 04:47:23 UTC (rev 285) @@ -82,7 +82,7 @@ public class ActionItemDB : Page { - private static Logger m_logg = new Logger("TCDB.Assignments.ActionItemDB"); + private static Logger m_logg = new Logger("TCDB.Code.ActionItemDB"); public static bool SendNewActionItemMail(int id) { @@ -250,7 +250,7 @@ public class WorkOrderDB : Page { - private static Logger m_logg = new Logger("TCDB.Assignments.WorkOrderDB"); + private static Logger m_logg = new Logger("TCDB.Code.WorkOrderDB"); public static WorkOrder TCDB_GetWorkOrder(int id) { @@ -283,7 +283,7 @@ public class Assignment { - private static Logger m_logg = new Logger("TCDB.Assignments.Assignment"); + private static Logger m_logg = new Logger("TCDB.Code.Assignment"); private int p_id; private string p_name; @@ -469,7 +469,7 @@ public class ActionItem { - private static Logger m_logg = new Logger("TCDB.Assignments.ActionItem"); + private static Logger m_logg = new Logger("TCDB.Code.ActionItem"); private int p_id; private string p_name; @@ -544,7 +544,7 @@ public class WorkOrder { - private static Logger m_logg = new Logger("TCDB.Assignments.WorkOrder"); + private static Logger m_logg = new Logger("TCDB.Code.WorkOrder"); private int p_id; private string p_name; Modified: Website/App_Code/Common.cs =================================================================== --- Website/App_Code/Common.cs 2006-08-08 21:26:55 UTC (rev 284) +++ Website/App_Code/Common.cs 2006-08-09 04:47:23 UTC (rev 285) @@ -42,13 +42,13 @@ m_logg.Fatal(Prefix() + message, ex); } - public void Error(string message) + public new void Error(string message) { if (m_logg.IsErrorEnabled) m_logg.Error(Prefix() + message); } - public void Error(string message, Exception ex) + public new void Error(string message, Exception ex) { if (m_logg.IsErrorEnabled) m_logg.Error(Prefix() + message, ex); @@ -97,24 +97,27 @@ bool hn = false; bool ha = false; - try { + try + { if (m_user != null) u = true; } - catch {} + catch { } - try { + try + { if (m_request.UserHostName != null) hn = true; } - catch {} + catch { } - try { + try + { if (m_request.UserHostAddress != null) { if (hn && m_request.UserHostName != m_request.UserHostAddress) ha = true; } } - catch {} + catch { } if (u || hn || ha) result = "["; if (u) result = result + m_user.ToString(); @@ -1164,23 +1167,30 @@ // TODO: Look for data in the cache and return it if it exists // TODO: Look for data in the config file, save it to the cache, and return it + try + { + tcdbDataSet ds = new tcdbDataSet(); + tcdbDataSetTableAdapters.db_configTableAdapter ta = new tcdbDataSetTableAdapters.db_configTableAdapter(); + ta.GetData(userID, name); + ta.Fill(ds.db_config, userID, name); - tcdbDataSet ds = new tcdbDataSet(); - tcdbDataSetTableAdapters.db_configTableAdapter ta = new tcdbDataSetTableAdapters.db_configTableAdapter(); - ta.GetData(userID, name); - ta.Fill(ds.db_config, userID, name); + DataTableReader dr = ds.db_config.CreateDataReader(); + if (dr.HasRows && dr.Read()) + { + value = Help.DB_StringParse(dr["value"]); + } - DataTableReader dr = ds.db_config.CreateDataReader(); - if (dr.HasRows && dr.Read()) - { - value = Help.DB_StringParse(dr["value"]); + if (value == null && userID != Constants.ANONYMOUSUSERID) + { + value = GetConfigString(Constants.ANONYMOUSUSERID, name); + } + + m_logg.Debug("Loaded config data [" + name + " = " + value.ToString() + "] for userID [" + userID + "]"); } - - if (value == null && userID != Constants.ANONYMOUSUSERID) + catch { - value = GetConfigString(Constants.ANONYMOUSUSERID, name); + m_logg.Debug("Error loading config data [" + name + "] for userID [" + userID + "]"); } - // TODO: Save this value to the cache return value; @@ -1189,45 +1199,62 @@ public static int GetConfigID(int userID, String name) { int id = -1; + try + { + tcdbDataSet ds = new tcdbDataSet(); + tcdbDataSetTableAdapters.db_configTableAdapter ta = new tcdbDataSetTableAdapters.db_configTableAdapter(); + ta.GetData(userID, name); + ta.Fill(ds.db_config, userID, name); - tcdbDataSet ds = new tcdbDataSet(); - tcdbDataSetTableAdapters.db_configTableAdapter ta = new tcdbDataSetTableAdapters.db_configTableAdapter(); - ta.GetData(userID, name); - ta.Fill(ds.db_config, userID, name); - - DataTableReader dr = ds.db_config.CreateDataReader(); - if (dr.HasRows && dr.Read()) + DataTableReader dr = ds.db_config.CreateDataReader(); + if (dr.HasRows && dr.Read()) + { + id = Help.DB_IntParse(dr["id"]); + } + } + catch { - id = Help.DB_IntParse(dr["id"]); + m_logg.Debug("Error locating ConfigID for config value [" + name + "] and userID [" + userID.ToString() + "]"); } - return id; } public static void DeleteConfig(int userID, String name) { - + m_logg.Debug("Attempting to delete config [" + name + "] data for userID [" + userID + "]"); try { int id = GetConfigID(userID, name); DeleteConfig(id); + m_logg.Debug("Config [" + name + "] data for userID [" + userID + "] successfully deleted"); } - catch { } + catch (Exception ex) + { + m_logg.Debug("Unable to delete config [" + name + "] data for userID [" + userID + "]. Does it really exist?", ex); + } } public static void DeleteConfig(int id) { // TODO: Make sure to remove the config value from the cache. Don't remove // it from the config file though. - - tcdbDataSet ds = new tcdbDataSet(); - tcdbDataSetTableAdapters.db_configTableAdapter ta = new tcdbDataSetTableAdapters.db_configTableAdapter(); - ta.Delete(id); + try + { + m_logg.Debug("Removing config data [" + id + "]"); + tcdbDataSet ds = new tcdbDataSet(); + tcdbDataSetTableAdapters.db_configTableAdapter ta = new tcdbDataSetTableAdapters.db_configTableAdapter(); + ta.Delete(id); + } + catch (Exception ex) + { + m_logg.Debug("Unable to remove config data [" + id + "]", ex); + } } public static void SaveConfigString(int userID, String name, String value) { - if (Constants.IS_DEV_ENV) + m_logg.Debug("Saving config data [" + name + " = " + value + "] for userID [" + userID.ToString() + "]"); + try { tcdbDataSetTableAdapters.db_configTableAdapter configAdapter = new tcdbDataSetTableAdapters.db_configTableAdapter(); tcdbDataSet.db_configDataTable configTable = configAdapter.GetData(userID, name); @@ -1242,6 +1269,11 @@ configAdapter.Insert(userID, name, value, "u"); } } + catch (Exception ex) + { + m_logg.Debug("Error saving config string [" + name + " = " + value + "] for userID [" + userID.ToString() + "]", ex); + } + } public static void SaveConfigBool(int userID, String name, Boolean value) { @@ -1371,6 +1403,8 @@ public static string CODE_VERSION = "v"; public static string CODE_RIGHT = "rt"; public static string CODE_ROLE = "r"; + public static string CODE_MODE = "m"; + public static string CODE_CREATED = "created"; // TODO: figure this one out //public static bool ASSIGNMENT_PRIORITY_ALL = null; @@ -1388,31 +1422,37 @@ public static string RIGHTS_SITEADMIN = "siteAdmin"; public static string RIGHTS_ASSIGNASSIGNMENT = "assignAssignment"; + + public static string ASSIGNMENT_MINE = "My Assignments"; + public static string ASSIGNMENT_CREATED = "My Created Assignments"; } public static class Help { - private static Logger m_logg = new Logger("TCDB.Common.Help"); + private static Logger m_logg = new Logger("TCDB.Code.Help"); //protected void SendMail(int type, int id) public static bool SendMail(string subject, string body, bool html, User to) { + m_logg.Debug("Attempting to send mail message from TCDB site to [" + to.ToString() + "]"); string site_email = ConfigDB.GetConfigString("site_email"); string site_name = ConfigDB.GetConfigString("site_name"); - User from = new User(0, site_name, "", site_name, site_email, "", "", "", true); try { + User from = new User(0, site_name, "", site_name, site_email, "", "", "", true); return SendMail(subject, body, html, to, from); } catch (Exception ex) { - throw ex; + m_logg.Error("Error sending mail message from TCDB site to [" + to.ToString() + "]", ex); } + + return false; } public static bool SendMail(string subject, string body, bool html, User to, User from) { - m_logg.Debug("Attempting to send email"); + m_logg.Debug("Attempting to send email from [" + from.ToString() + "] to [" + to.ToString() + "] with subject [" + subject + "]"); if (!ConfigDB.GetConfigBool("enable_email")) { m_logg.Debug("Email notifications are disabled site-wide, unable to send mail"); @@ -1425,30 +1465,40 @@ } //create the mail message - MailAddress fromAddr = new MailAddress(from.EMAIL, to.FULLNAME); - MailAddress toAddr = new MailAddress(to.EMAIL, to.FULLNAME); - MailMessage mail = new MailMessage(fromAddr, toAddr); + try + { + MailAddress fromAddr = new MailAddress(from.EMAIL, to.FULLNAME); + MailAddress toAddr = new MailAddress(to.EMAIL, to.FULLNAME); + MailMessage mail = new MailMessage(fromAddr, toAddr); - //set the content - mail.Subject = subject; - mail.Body = body; - mail.IsBodyHtml = html; + //set the content + mail.Subject = subject; + mail.Body = body; + mail.IsBodyHtml = html; - //send the message - SmtpClient smtp = new SmtpClient(ConfigDB.GetConfigString("smtp_server"), ConfigDB.GetConfigInt("smtp_port")); - // TODO: allow for SMTP authentication and for SSL - try - { - smtp.Send(mail); - m_logg.Debug("Email sent to [" + to.EMAIL + "(" + to.ToString() + ")]: " + mail.Subject); + //send the message + try + { + SmtpClient smtp = new SmtpClient(ConfigDB.GetConfigString("smtp_server"), ConfigDB.GetConfigInt("smtp_port")); + // TODO: allow for SMTP authentication and for SSL + + smtp.Send(mail); + m_logg.Debug("Email sent to [" + to.EMAIL + "(" + to.ToString() + ")]: " + mail.Subject); + } + catch (Exception ex) + { + m_logg.Error("Failed to send email to [" + to.EMAIL + "(" + to.ToString() + ")]: " + mail.Subject, ex); + return false; + } } catch (Exception ex) { - m_logg.Error("Failed to send email to [" + to.EMAIL + "(" + to.ToString() + ")]: " + mail.Subject, ex); - throw ex; + m_logg.Error("Error creating the message", ex); + return false; } + m_logg.Debug("Message successfully sent"); return true; } Modified: Website/App_Code/Right.cs =================================================================== --- Website/App_Code/Right.cs 2006-08-08 21:26:55 UTC (rev 284) +++ Website/App_Code/Right.cs 2006-08-09 04:47:23 UTC (rev 285) @@ -14,7 +14,6 @@ using System.Collections; using System.Collections.Generic; using System.Collections.Specialized; -using TCDB.Plugins.AD; using System.Web.SessionState; Added: Website/App_Themes/Python/Images/product_add_48.png =================================================================== (Binary files differ) Property changes on: Website/App_Themes/Python/Images/product_add_48.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: Website/Includes/Assignments.ascx.cs =================================================================== --- Website/Includes/Assignments.ascx.cs 2006-08-08 21:26:55 UTC (rev 284) +++ Website/Includes/Assignments.ascx.cs 2006-08-09 04:47:23 UTC (rev 285) @@ -21,9 +21,10 @@ public partial class Assignments : SiteUserControl { private static Logger m_logg = new Logger("TCDB.Assignments"); - private String uid = HttpContext.Current.Request.QueryString[Constants.CODE_USER]; - private String mode = HttpContext.Current.Request.QueryString["mode"]; - private int productID = Convert.ToInt32(HttpContext.Current.Request.QueryString[Constants.CODE_PRODUCT]); + + private String uid = null; + private String mode = null; + private int productID = 0; private const int MAX_NAME_LENGTH = 30; protected void Page_Load(object sender, EventArgs e) @@ -33,12 +34,30 @@ return; } m_logg.Debug("Loading assignments for [" + m_user.ToString() + "]"); + + // Load session data + try + { + uid = (String)Session[Constants.CODE_USER]; + } + catch { } + try + { + mode = (String)Session["mode"]; + } + catch { } + try + { + productID = (int)Session[Constants.CODE_PRODUCT]; + } + catch { } + 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"); + m_logg.Debug("UserID not specified in the session data, checking for permissions to view multiple users assignments"); 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)) { @@ -91,7 +110,7 @@ header.Text = name + "'s Assignments"; } } - if (mode == "created") + if (mode == Constants.ASSIGNMENT_CREATED) Session.Add("myID", m_user.ID); Session.Add("uid", uid); @@ -283,6 +302,7 @@ Session.Add("refresh", true); AssignmentsGridView.DataBind(); } + protected String getURL(int cid, String type, String name) { String displayName; @@ -290,7 +310,7 @@ displayName = name.Substring(0, MAX_NAME_LENGTH) + "..."; else displayName = name; - + if (type == Constants.CODE_AI) return "<a href=\"ActionItem.aspx?" + Constants.CODE_PRODUCT + "=" + productID + "&" + Constants.CODE_AI + "=" + cid + "\">" + displayName + "</a>"; else if (type == Constants.CODE_WO) Modified: Website/Includes/AssignmentsTree.ascx =================================================================== --- Website/Includes/AssignmentsTree.ascx 2006-08-08 21:26:55 UTC (rev 284) +++ Website/Includes/AssignmentsTree.ascx 2006-08-09 04:47:23 UTC (rev 285) @@ -1,10 +1,12 @@ -<%@ Control Language="C#" AutoEventWireup="true" CodeFile="AssignmentsTree.ascx.cs" Inherits="TCDB.AssignmentsTree" %> - -<asp:CheckBox ID="statusComplete" runat="server" Text="Show Completed" AutoPostBack="True" OnCheckedChanged="statusComplete_CheckedChanged" OnLoad="statusComplete_Load" Visible="false"/> +<%@ Control Language="C#" AutoEventWireup="true" CodeFile="AssignmentsTree.ascx.cs" + Inherits="TCDB.AssignmentsTree" %> +<asp:CheckBox ID="statusComplete" runat="server" Text="Show Completed" AutoPostBack="True" + OnCheckedChanged="statusComplete_CheckedChanged" OnLoad="statusComplete_Load" + Visible="false" /> <asp:TreeView ID="AssignmentTree" runat="server" SelectedNodeStyle-CssClass="selectednode" - OnTreeNodePopulate="AssignmentTree_TreeNodePopulate" - OnTreeNodeCollapsed="AssignmentTree_TreeNodeCollapsed" - OnTreeNodeExpanded="AssignmentTree_TreeNodeExpanded" OnInit="AssignmentTree_Init" OnSelectedNodeChanged="AssignmentTree_SelectedNodeChanged" ExpandDepth="1"> + OnTreeNodePopulate="AssignmentTree_TreeNodePopulate" OnTreeNodeCollapsed="AssignmentTree_TreeNodeCollapsed" + OnTreeNodeExpanded="AssignmentTree_TreeNodeExpanded" OnInit="AssignmentTree_Init" + OnSelectedNodeChanged="AssignmentTree_SelectedNodeChanged" ExpandDepth="1"> <Nodes> <asp:TreeNode Text="All Assignments" Value="Users" PopulateOnDemand="True" /> </Nodes> Modified: Website/Includes/AssignmentsTree.ascx.cs =================================================================== --- Website/Includes/AssignmentsTree.ascx.cs 2006-08-08 21:26:55 UTC (rev 284) +++ Website/Includes/AssignmentsTree.ascx.cs 2006-08-09 04:47:23 UTC (rev 285) @@ -16,6 +16,32 @@ { public partial class AssignmentsTree : SiteUserControl { + private void SetValue(TreeNode n, string key, string value) + { + string encodedValues = n.Value; + encodedValues = encodedValues + "|" + key + ":" + value; + n.Value = encodedValues; + } + + private string GetValue(TreeNode n, string key) + { + string encodedValues = n.Value; + char[] delim = "|".ToCharArray(); + string[] split = null; + split = encodedValues.Split(delim); + delim = ":".ToCharArray(); + string[] kvPair = null; + foreach (string s in split) + { + kvPair = s.Split(delim); + if (kvPair[0] == key) + return kvPair[1]; + } + + return null; + } + + private const string PREFIX = "assignmentsTree_"; private static Logger m_logg = new Logger("TCDB.AssignmentsTree"); private const int MAX_NAME_LENGTH = 30; @@ -37,6 +63,7 @@ AssignmentTree.Visible = false; } } + protected void AssignmentTree_TreeNodeCollapsed(object sender, TreeNodeEventArgs e) { ArrayList nodes = (ArrayList)Session["AssignmentNodes"]; @@ -51,22 +78,55 @@ if (e.Node.Selected && AssignmentTree.ShowExpandCollapse == false) { e.Node.Selected = false; - switch (e.Node.Depth) + String nodeType = GetValue(e.Node, "NodeType"); + if (nodeType == null) nodeType = "Root"; + String nodeValue = GetValue(e.Node, "Value"); + switch (nodeType) { - case 0: + case "Root": + Session.Remove(PREFIX + Constants.CODE_USER); + Session.Remove(PREFIX + Constants.CODE_PRODUCT); Response.Redirect("~/Assignments.aspx"); break; - case 1: - Response.Redirect("~/Assignments.aspx?" + Constants.CODE_PRODUCT + "=" + e.Node.Value); + case "Product": + Session.Remove(PREFIX + Constants.CODE_USER); + Session[PREFIX + Constants.CODE_PRODUCT] = nodeValue; + Response.Redirect("~/Assignments.aspx"); break; - case 2: - Response.Redirect("~/Assignments.aspx?" + Constants.CODE_PRODUCT + "=" + e.Node.Parent.Value + "&" + Constants.CODE_USER + "=" + e.Node.Value); + case "User": + Session[PREFIX + Constants.CODE_USER] = nodeValue; + Session[PREFIX + Constants.CODE_PRODUCT] = GetValue(e.Node.Parent, "Value"); + try + { + if (bool.Parse(GetValue(e.Node, "IsCreated"))) + { + Session.Remove(Constants.CODE_PRODUCT); + Session[Constants.CODE_CREATED] = true; + } + } + catch { } + Response.Redirect("~/Assignments.aspx"); break; + case "Created": + Session.Remove(Constants.CODE_USER); + Session.Remove(Constants.CODE_PRODUCT); + Session[Constants.CODE_CREATED] = true; + Response.Redirect("~/Assignments.aspx"); + break; + case "ActionItem": + Session[Constants.CODE_AI] = nodeValue; + Response.Redirect("~/ActionItem.aspx"); + break; + case "WorkOrer": + Session[Constants.CODE_WO] = nodeValue; + Response.Redirect("~/WorkOrder.aspx"); + break; default: break; } } } + protected void AssignmentTree_TreeNodeExpanded(object sender, TreeNodeEventArgs e) { ArrayList nodes = (ArrayList)Session["AssignmentNodes"]; @@ -80,22 +140,55 @@ if (e.Node.Selected && AssignmentTree.ShowExpandCollapse == false) { e.Node.Selected = false; - switch (e.Node.Depth) + String nodeType = GetValue(e.Node, "NodeType"); + if (nodeType == null) nodeType = "Root"; + String nodeValue = GetValue(e.Node, "Value"); + switch (nodeType) { - case 0: + case "Root": + Session.Remove(PREFIX + Constants.CODE_USER); + Session.Remove(PREFIX + Constants.CODE_PRODUCT); Response.Redirect("~/Assignments.aspx"); break; - case 1: - Response.Redirect("~/Assignments.aspx?" + Constants.CODE_PRODUCT + "=" + e.Node.Value); + case "Product": + Session.Remove(PREFIX + Constants.CODE_USER); + Session[PREFIX + Constants.CODE_PRODUCT] = nodeValue; + Response.Redirect("~/Assignments.aspx"); break; - case 2: - Response.Redirect("~/Assignments.aspx?" + Constants.CODE_USER + "=" + e.Node.Value); + case "User": + Session[PREFIX + Constants.CODE_USER] = nodeValue; + Session[PREFIX + Constants.CODE_PRODUCT] = GetValue(e.Node.Parent, "Value"); + try + { + if (bool.Parse(GetValue(e.Node, "IsCreated"))) + { + Session.Remove(Constants.CODE_PRODUCT); + Session[Constants.CODE_CREATED] = true; + } + } + catch { } + Response.Redirect("~/Assignments.aspx"); break; + case "Created": + Session.Remove(Constants.CODE_USER); + Session.Remove(Constants.CODE_PRODUCT); + Session[Constants.CODE_CREATED] = true; + Response.Redirect("~/Assignments.aspx"); + break; + case "ActionItem": + Session[Constants.CODE_AI] = nodeValue; + Response.Redirect("~/ActionItem.aspx"); + break; + case "WorkOrer": + Session[Constants.CODE_WO] = nodeValue; + Response.Redirect("~/WorkOrder.aspx"); + break; default: break; } } } + protected void AssignmentTree_SelectedNodeChanged(object sender, EventArgs e) { TreeNode node = AssignmentTree.SelectedNode; @@ -110,22 +203,55 @@ }/* else {*/ - switch (node.Depth) + String nodeType = GetValue(node, "NodeType"); + if (nodeType == null) nodeType = "Root"; + String nodeValue = GetValue(node, "Value"); + switch (nodeType) { - case 0: + case "Root": + Session.Remove(Constants.CODE_USER); + Session.Remove(Constants.CODE_PRODUCT); Response.Redirect("~/Assignments.aspx"); break; - case 1: - Response.Redirect("~/Assignments.aspx?" + Constants.CODE_PRODUCT + "=" + node.Value); + case "Product": + Session.Remove(Constants.CODE_USER); + Session[Constants.CODE_PRODUCT] = nodeValue; + Response.Redirect("~/Assignments.aspx"); break; - case 2: - Response.Redirect("~/Assignments.aspx?" + Constants.CODE_PRODUCT + "=" + node.Parent.Value + "&" + Constants.CODE_USER + "=" + node.Value); + case "User": + Session[Constants.CODE_USER] = nodeValue; + Session[Constants.CODE_PRODUCT] = GetValue(node.Parent, "Value"); + try + { + if (bool.Parse(GetValue(node, "IsCreated"))) + { + Session.Remove(Constants.CODE_PRODUCT); + Session[Constants.CODE_CREATED] = true; + } + } + catch { } + Response.Redirect("~/Assignments.aspx"); break; + case "Created": + Session.Remove(Constants.CODE_USER); + Session.Remove(Constants.CODE_PRODUCT); + Session[Constants.CODE_CREATED] = true; + Response.Redirect("~/Assignments.aspx"); + break; + case "ActionItem": + Session[Constants.CODE_AI] = nodeValue; + Response.Redirect("~/ActionItem.aspx"); + break; + case "WorkOrer": + Session[Constants.CODE_WO] = nodeValue; + Response.Redirect("~/WorkOrder.aspx"); + break; default: break; } // } } + protected void AssignmentTree_TreeNodePopulate(object sender, TreeNodeEventArgs e) { m_logg.Debug("Populating tree"); @@ -133,44 +259,53 @@ return; // Call the appropriate method to populate a node at a particular level. - switch (e.Node.Depth) + try { - case 0: - BuildProductList(e.Node); - break; - case 1: - if (e.Node.NavigateUrl.Contains("mode=created")) + String nodeType = GetValue(e.Node, "NodeType"); + if (nodeType == null) nodeType = "Root"; + switch (nodeType) + { + case "Root": + BuildProductList(e.Node); + break; + case "Product": + BuildUserList(e.Node); + break; + case "User": + BuildAssignmentList(e.Node); + break; + case "Created": BuildCreatedUserList(e.Node); - else if (e.Node.NavigateUrl.Contains("mode=mine")) - BuildAssignmentList(e.Node); - else - BuildUserList(e.Node); - break; - case 2: - BuildAssignmentList(e.Node); - break; - default: - break; + break; + default: + break; + } } + catch + { + BuildProductList(e.Node); + } } + private void BuildProductList(TreeNode parent) { ArrayList nodes = (ArrayList)Session["AssignmentNodes"]; tcdbDataSetTableAdapters.db_productsTableAdapter pAdapter = new tcdbDataSetTableAdapters.db_productsTableAdapter(); - List<Product> products = ProductDB.GetProductList(active); + List<Product> products = ProductDB.GetProductList(active); - foreach (Product product in products) + foreach (Product product in products) { - if (product.ID == Constants.PRODUCT_SITEID && !m_user.HasRight("view_admin")) + if (product.ID == Constants.PRODUCT_SITEID && !m_user.HasRight("view_admin")) continue; TreeNode child = new TreeNode(); - child.Text = product.NAME; - child.Value = product.ID.ToString(); + SetValue(child, "NodeType", "Product"); + child.Text = product.NAME; + SetValue(child, "Value", product.ID.ToString()); child.PopulateOnDemand = true; child.SelectAction = TreeNodeSelectAction.Select; - if (!product.ACTIVE) - child.Text = "<font class='deleted'>" + child.Text + "</font>"; + if (!product.ACTIVE) + child.Text = "<span class='deleted'>" + child.Text + "</span>"; parent.ChildNodes.Add(child); if (nodes.Contains(child.ValuePath)) @@ -185,15 +320,19 @@ if (m_user.HasRight("view_my_ai", Constants.PRODUCT_ANYID) || m_user.HasRight("view_my_wo", Constants.PRODUCT_ANYID)) { TreeNode mine = new TreeNode(); - mine.Text = "My Assignments"; - mine.Value = m_user.ID.ToString(); + SetValue(mine, "NodeType", "User"); + mine.Text = Constants.ASSIGNMENT_MINE; + SetValue(mine, "Value", m_user.ID.ToString()); mine.SelectAction = TreeNodeSelectAction.Select; mine.PopulateOnDemand = true; - mine.NavigateUrl = "~/Assignments.aspx?mode=mine&" + Constants.CODE_USER + "=" + m_user.ID; - parent.ChildNodes.Add(mine); if (nodes.Contains(mine.ValuePath)) mine.Expand(); + else + { + Session[PREFIX + Constants.CODE_MODE] = Constants.ASSIGNMENT_MINE; + AssignmentTree_TreeNodePopulate(AssignmentTree, new TreeNodeEventArgs(mine)); + } } // *************************** @@ -202,20 +341,21 @@ if (m_user.HasRight("view_created_ai", Constants.PRODUCT_ANYID) || m_user.HasRight("view_created_wo", Constants.PRODUCT_ANYID)) { TreeNode created = new TreeNode(); - created.Text = "My Created Assignments"; - created.Value = Constants.PRODUCT_CREATED.ToString(); + SetValue(created, "NodeType", "Created"); + created.Text = Constants.ASSIGNMENT_CREATED; + SetValue(created, "Value", Constants.PRODUCT_CREATED.ToString()); created.SelectAction = TreeNodeSelectAction.Select; created.PopulateOnDemand = true; - created.NavigateUrl = "~/Assignments.aspx?mode=created"; - parent.ChildNodes.Add(created); if (nodes.Contains(created.ValuePath)) created.Expand(); + else + AssignmentTree_TreeNodePopulate(AssignmentTree, new TreeNodeEventArgs(created)); } } private void BuildCreatedUserList(TreeNode parent) { - m_logg.Debug("Building my user list"); + m_logg.Debug("Building my created user list"); ArrayList nodes = (ArrayList)Session["AssignmentNodes"]; tcdbDataSetTableAdapters.db_usersTableAdapter uAdapter = new tcdbDataSetTableAdapters.db_usersTableAdapter(); tcdbDataSet.db_usersDataTable uTable = uAdapter.GetData(null, null); @@ -231,15 +371,20 @@ continue; // User name + m_logg.Debug("Adding user [" + row.fullName + "]"); TreeNode user = new TreeNode(); + SetValue(user, "NodeType", "User"); + SetValue(user, "IsCreated", "true"); user.Text = row.fullName; - user.Value = row.userID.ToString(); + SetValue(user, "Value", row.userID.ToString()); + user.Checked = true; user.PopulateOnDemand = true; user.SelectAction = TreeNodeSelectAction.Select; - user.NavigateUrl = "~/Assignments.aspx?mode=created&" + Constants.CODE_USER + "=" + user.Value; parent.ChildNodes.Add(user); if (nodes.Contains(user.ValuePath)) user.Expand(); + else + AssignmentTree_TreeNodePopulate(AssignmentTree, new TreeNodeEventArgs(user)); } } private void BuildUserList(TreeNode parent) @@ -247,7 +392,7 @@ 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); + tcdbDataSet.db_roleProductUserDataTable rpuTable = rpuAdapter.GetData(null, Convert.ToInt32(GetValue(parent, "Value")), true); m_logg.Debug("There are currently [" + rpuTable.Count.ToString() + "] users"); // Assignment status @@ -268,8 +413,9 @@ // Create the new child node. TreeNode child = new TreeNode(); + SetValue(child, "NodeType", "User"); child.Text = row.fullName; - child.Value = row.userID.ToString(); + SetValue(child, "Value", row.userID.ToString()); child.PopulateOnDemand = true; child.SelectAction = TreeNodeSelectAction.Select; parent.ChildNodes.Add(child); @@ -280,7 +426,7 @@ } // if there are no users or only the current user - if (parent.ChildNodes.Count == 0 || (parent.ChildNodes.Count == 1 && parent.ChildNodes[0].Value == m_user.ID.ToString())) + if (parent.ChildNodes.Count == 0 || (parent.ChildNodes.Count == 1 && GetValue(parent.ChildNodes[0], "Value") == m_user.ID.ToString())) parent.Parent.ChildNodes.Remove(parent); } private void BuildAssignmentList(TreeNode parent) @@ -288,20 +434,20 @@ m_logg.Debug("Building created assignment list"); // Populate the second-level nodes with assignments int status = Constants.ASSIGNMENT_UNFINISHED; - int userID = Convert.ToInt32(parent.Value); + int userID = Convert.ToInt32(GetValue(parent, "Value")); int productID = Constants.PRODUCT_ANYID; // try and get the product id (should only fail if in "My Assignments" try { - productID = Convert.ToInt32(parent.Parent.Value); + productID = Convert.ToInt32(GetValue(parent.Parent, "Value")); } catch { } // Set status and get assignment list if (statusComplete.Checked) status = Constants.ASSIGNMENT_FINISHEDANDUNFINISHED; - List<Assignment> assignmentList = UserDB.GetUserInfo(Convert.ToInt32(parent.Value)).GetAssignments(false, status, active); + List<Assignment> assignmentList = UserDB.GetUserInfo(Convert.ToInt32(GetValue(parent, "Value"))).GetAssignments(false, status, active); m_logg.Debug("There are currently [" + assignmentList.Count.ToString() + "] assignments"); if (assignmentList.Count > 0) @@ -309,7 +455,13 @@ foreach (Assignment a in assignmentList) { // created list - if (parent.NavigateUrl.Contains("mode=created") && a.CREATOR.ID != m_user.ID) + bool p = false; + try + { + p = bool.Parse(GetValue(parent, "IsCreated")); + } + catch { } + if (p && a.CREATOR.ID != m_user.ID) continue; // Create the new child node. @@ -323,37 +475,37 @@ child.Text = a.NAME; if (a.ISACTIONITEM) { + SetValue(child, "NodeType", "ActionItem"); 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_PRODUCT + "=" + productID + "&" + Constants.CODE_AI + "=" + child.Value; + SetValue(child, "Value", a.ACTIONITEM.ID.ToString()); } else continue; } else { + SetValue(child, "NodeType", "WorkOrder"); 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_PRODUCT + "=" + productID + "&" + Constants.CODE_WO + "=" + child.Value; + SetValue(child, "Value", a.WORKORDER.ID.ToString()); } else continue; } if (a.DELETED) - child.Text = "<font class='deleted'>" + child.Text + "</font>"; + child.Text = "<span class='deleted'>" + child.Text + "</span>"; else if (a.DATEFINISHED != null) - child.Text = "<font class='finished'>" + child.Text + "</font>"; + child.Text = "<span class='finished'>" + child.Text + "</span>"; else if (a.DATEDUE < DateTime.Today) - child.Text = "<font class='overdue'>" + child.Text + "</font>"; + child.Text = "<span class='overdue'>" + child.Text + "</span>"; // Add the new child node to the ChildNodes collection of the parent node. parent.ChildNodes.Add(child); } - + // if there are no assignments if (parent.ChildNodes.Count == 0) parent.Parent.ChildNodes.Remove(parent); Modified: Website/Includes/Footer.ascx.cs =================================================================== --- Website/Includes/Footer.ascx.cs 2006-08-08 21:26:55 UTC (rev 284) +++ Website/Includes/Footer.ascx.cs 2006-08-09 04:47:23 UTC (rev 285) @@ -33,7 +33,7 @@ result = loadtime.TotalSeconds.ToString("F") + " seconds"; } - m_logg.Debug("Page load for user [" + m_user.ToString() + "] from [" + Request.UserHostName + " (" + Request.UserHostAddress + ")] took [" + result + "]"); + m_logg.Debug("Page load took [" + result + "]"); return result; } Modified: Website/Includes/Header.ascx =================================================================== --- Website/Includes/Header.ascx 2006-08-08 21:26:55 UTC (rev 284) +++ Website/Includes/Header.ascx 2006-08-09 04:47:23 UTC (rev 285) @@ -1,4 +1,4 @@ -<%@ Control Language="C#" AutoEventWireup="true" Inherits="TCDB.SiteUserControl" %> +<%@ Control Language="C#" AutoEventWireup="true" Inherits="TCDB.Header" CodeFile="Header.ascx.cs" %> <%@ Register TagPrefix="TCDB" TagName="User" Src="~/Includes/Header_User.ascx" %> <%@ Register TagPrefix="TCDB" TagName="CurrentInfo" Src="~/Includes/Header_CurrentInfo.ascx" %> <%@ Register TagPrefix="TCDB" TagName="Menu" Src="~/Includes/Header_Menu.ascx" %> @@ -6,7 +6,7 @@ <div id="Logo"> </div> <% - if (m_user.ID > Constants.ANONYMOUSUSERID) + if (m_user.ID > Constants.ANONYMOUSUSERID && !m_user.AUTOMATION) { %> <div id="MainMenu"> @@ -26,7 +26,6 @@ else { // If the user doesn't exist, signout + m_logg.Debug("User is either not logged in or is an automation user, denying access"); FormsAuthentication.SignOut(); - } %> -<div id="Error"> - <asp:Label ID="ErrorControl" Text="" runat="server"></asp:Label></div> + } %> \ No newline at end of file Added: Website/Includes/Header.ascx.cs =================================================================== --- Website/Includes/Header.ascx.cs (rev 0) +++ Website/Includes/Header.ascx.cs 2006-08-09 04:47:23 UTC (rev 285) @@ -0,0 +1,22 @@ +using System; +using System.Data; +using System.Configuration; +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 TCDB.Code; + + +namespace TCDB +{ + /// <summary> + /// Summary description for Header + /// </summary> + public partial class Header : SiteUserControl + { + protected Logger m_logg = new Logger("TCDB.Header"); + } +} \ No newline at end of file Modified: Website/Includes/Header_Menu.ascx =================================================================== --- Website/Includes/Header_Menu.ascx 2006-08-08 21:26:55 UTC (rev 284) +++ Website/Includes/Header_Menu.ascx 2006-08-09 04:47:23 UTC (rev 285) @@ -1,7 +1,6 @@ -<%@ Control Language="C#" AutoEventWireup="true" Inherits="TCDB.SiteUserControl" %> +<%@ Control Language="C#" AutoEventWireup="true" CodeFile="Header_Menu.ascx.cs" Inherits="TCDB.Header_Menu" %> <%@ Import Namespace="TCDB.Code" %> -<a href="Assignments.aspx?<% Response.Write(Constants.CODE_USER+"="+m_user.ID); %>"> - Assignments</a> +<asp:LinkButton runat="server" id="load" OnCommand="LoadAssignments" Text="Assignments" /> <% if (Constants.IS_DEV_ENV) { %> | Execute Added: Website/Includes/Header_Menu.ascx.cs =================================================================== --- Website/Includes/Header_Menu.ascx.cs (rev 0) +++ Website/Includes/Header_Menu.ascx.cs 2006-08-09 04:47:23 UTC (rev 285) @@ -0,0 +1,28 @@ +using System; +using System.Data; +using System.Configuration; +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 TCDB.Code; + + +namespace TCDB +{ + /// <summary> + /// Summary description for Header_Menu + /// </summary> + public partial class Header_Menu : SiteUserControl + { + private Logger m_logg = new Logger("TCDB.Header_Menu"); + + protected void LoadAssignments(object sender, CommandEventArgs e) + { + Session[Constants.CODE_USER] = m_user.ID; + Response.Redirect("Assignments.aspx"); + } + } +} \ No newline at end of file Modified: Website/Includes/Header_User.ascx =================================================================== --- Website/Includes/Header_User.ascx 2006-08-08 21:26:55 UTC (rev 284) +++ Website/Includes/Header_User.ascx 2006-08-09 04:47:23 UTC (rev 285) @@ -10,4 +10,4 @@ <% if (m_user.HasRight("view_admin", Constants.PRODUCT_ANYID)) { %> | <a href="Administration.aspx">Admin</a> -<% } %> +<% } %> \ No newline at end of file Deleted: Website/Includes/Roles.ascx =================================================================== --- Website/Includes/Roles.ascx 2006-08-08 21:26:55 UTC (rev 284) +++ Website/Includes/Roles.ascx 2006-08-09 04:47:23 UTC (rev 285) @@ -1,226 +0,0 @@ -<%@ Control Language="C#" AutoEventWireup="true" CodeFile="Roles.ascx.cs" Inherits="TCDB.TCDBRoles" %> -<%@ Register Assembly="FreeTextBox" Namespace="FreeTextBoxControls" TagPrefix="FTB" %> -<asp:FormView ID="FormView1" runat="server" DataKeyNames="roleID" DataSourceID="RoleDataSource" - OnItemInserted="FormView1_ItemInserted" OnItemUpdated="FormView1_ItemUpdated" - OnItemCommand="FormView1_ItemCommand" OnDataBound="FormView1_DataBound"> - <HeaderTemplate> - <div align="left"> - <h2> - User Role</h2> - </div> - <div align="right"> - <asp:Label ID="activeLbl" runat="server" Text="Active"></asp:Label> - <asp:CheckBox ID="activeBox" runat="server" AutoPostBack="True" OnCheckedChanged="activeBox_CheckedChanged" - OnInit="activeBox_Init" /></div> - </HeaderTemplate> - <ItemTemplate> - <div class="xsnazzy"> - <b class="xtop"><b class="xb1"></b><b class="xb2"></b><b class="xb3"></b><b class="xb4"> - </b></b> - <div class="xboxcontent"> - <table width="700"> - <tr> - <td colspan="6" align="left"> - <strong>Name:</strong> - <asp:Label ID="nameLabel" runat="server" Text='<%# Eval("roleName") %>'></asp:Label></td> - </tr> - <tr> - <td class="hr" colspan="6"> - </td> - </tr> - <tr> - <td align="left" colspan="6" valign="top"> - <strong>Description:</strong><br /> - <asp:Label ID="descriptionLbl" runat="server" Text='<%# Eval("roleDescription") %>'></asp:Label></td> - </tr> - <tr> - <td class="hr" colspan="6"> - </td> - </tr> - <tr> - <td colspan="4" align="left" valign="top" width="33%" style="height: 132px"> - <asp:Panel ID="ProductUserPanel" runat="server" Height="100%" Width="100%" OnInit="ProductUserPanel_Init" - ScrollBars="Horizontal" Wrap="False"> - </asp:Panel> - <br /> - <asp:LinkButton ID="editAssignments" runat="server" CommandName="editAssignments" - OnCommand="editAssignments_Command">Edit Role Assignments</asp:LinkButton> - </td> - <td colspan="2" align="left" valign="top" width="34%" style="height: 132px"> - <strong>Rights:</strong><br /> - <asp:ListBox ID="rightsList" runat="server" Height="150px" Width="150px" OnInit="rightsList_Init1"> - </asp:ListBox> - </td> - </tr> - <tr> - <td colspan="6" class="hr"> - </td> - </tr> - <tr> - <td align="left" colspan="6"> - <asp:LinkButton ID="New" runat="server" CommandName="new" OnInit="New_Init">New</asp:LinkButton><asp:Label - ID="newLbl" runat="server" Text=" | "></asp:Label><asp:LinkButton ID="Edit" - runat="server" CommandName="edit" OnInit="Edit_Init">Edit</asp:LinkButton><asp:Label - ID="deleteLbl" runat="server" Text=" | "></asp:Label><asp:LinkButton ID="Delete" - runat="server" CommandName="deleteCmd" OnCommand="deleteCmd" OnLoad="Delete_Load">Delete</asp:LinkButton></td> - </tr> - </table> - </div> - <b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b><b class="xb1"> - </b></b> - </div> - </ItemTemplate> - <EditItemTemplate> - <asp:RequiredFieldValidator ID="nameValidator" runat="server" ErrorMessage="You must enter a role name." - ControlToValidate="nameBox"></asp:RequiredFieldValidator> - <div class="xsnazzy"> - <b class="xtop"><b class="xb1"></b><b class="xb2"></b><b class="xb3"></b><b class="xb4"> - </b></b> - <div class="xboxcontent"> - <table width="700"> - <tr> - <td align="left" colspan="6"> - <strong>Name:</strong> - <asp:TextBox ID="nameBox" runat="server" Text='<%# Bind("roleName") %>' Width="70%"></asp:TextBox> - </td> - </tr> - <tr> - <td class="hr" colspan="6"> - </td> - </tr> - <tr> - <td align="left" colspan="6" valign="top"> - <strong>Description:</strong><br /> - <FTB:FreeTextBox ID="descriptionBox" runat="server" SupportFolder="~/aspnet_client/FreeTextBox/" - Width="100%" Text='<%# Bind("roleDescription") %>' Height="200px" EnableHtmlMode="true" - DisableIEBackButton="False"> - </FTB:FreeTextBox> - </td> - </tr> - <tr> - <td class="hr" colspan="6"> - </td> - </tr> - <tr> - <td colspan="2" align="left" valign="top" width="33%"> - </td> - <td colspan="2" align="left" valign="top" width="33%"> - </td> - <td colspan="2" align="left" valign="top" width="34%"> - <strong>Rights:<br /> - <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" - Height="150px" OnDataBound="rightsList_DataBound" Width="150px"> - </asp:ListBox> </td> - </tr> - <tr> - <td class="hr" colspan="6"> - </td> - </tr> - <tr> - <td align="left" colspan="6"> - <asp:LinkButton ID="UpdateButton" runat="server" CausesValidation="True" CommandName="Update" - Text="Update"> - </asp:LinkButton> - | - <asp:LinkButton ID="UpdateCancelButton" runat="server" CausesValidation="False" CommandName="Cancel" - Text="Cancel"> - </asp:LinkButton></td> - </tr> - </table> - </div> - <b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b><b class="xb1"> - </b></b> - </div> - </EditItemTemplate> - <InsertItemTemplate> - <asp:RequiredFieldValidator ID="nameValidator" runat="server" ErrorMessage="You must enter a role name." - ControlToValidate="nameBox"></asp:RequiredFieldValidator> - <div class="xsnazzy"> - <b class="xtop"><b class="xb1"></b><b class="xb2"></b><b class="xb3"></b><b class="xb4"> - </b></b> - <div class="xboxcontent"> - <table width="700"> - <tr> - <td align="left" colspan="6"> - <strong>Name:</strong> - <asp:TextBox ID="nameBox" runat="server" Text='<%# Bind("roleName") %>' Width="70%"></asp:TextBox></td> - </tr> - <tr> - <td class="hr" colspan="6"> - </td> - </tr> - <tr> - <td align="left" colspan="6" valign="top"> - <strong>Description:</strong><br /> - <FTB:FreeTextBox ID="descriptionBox" runat="server" SupportFolder="~/aspnet_client/FreeTextBox/" - Width="100%" Text='<%# Bind("roleDescription") %>' Height="200px" EnableHtmlMode="true"> - </FTB:FreeTextBox> - </td> - </tr> - <tr> - <td class="hr" colspan="6"> - </td> - </tr> - <tr> - <td colspan="2" align="left" valign="top" width="33%"> - </td> - <td colspan="2" align="left" valign="top" width="33%"> - </td> - <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" - Height="150px" Width="150px"></asp:ListBox> - </td> - </tr> - <tr> - <td class="hr" colspan="6"> - </td> - </tr> - <tr> - <td align="left" colspan="6"> - <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> - </tr> - </table> - </div> - <b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b><b class="xb1"> - </b></b> - </div> - </InsertItemTemplate> -</asp:FormView> -<asp:ObjectDataSource ID="RoleDataSource" runat="server" InsertMethod="Insert" SelectMethod="GetData" - TypeName="tcdbDataSetTableAdapters.db_roleTableAdapter" UpdateMethod="Update" - OldValuesParameterFormatString="original_{0}"> - <UpdateParameters> - <asp:Parameter Name="roleID" Type="Int32" /> - <asp:Parameter Name="roleName" Type="String" /> - <asp:Parameter Name="roleDescription" Type="String" /> - <asp:Parameter Name="active" Typ... [truncated message content] |
From: <ro...@us...> - 2006-08-08 21:27:07
|
Revision: 284 Author: rouquin Date: 2006-08-08 14:26:55 -0700 (Tue, 08 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=284&view=rev Log Message: ----------- I ran into a ton of merging conflicts but here's some new stuff. I moved the role assignments to a new page. Modified Paths: -------------- Website/App_Code/Assignments.cs Website/Includes/AssignmentsTree.ascx.cs Website/Includes/RoleAdmin.ascx.cs Website/Includes/Roles.ascx Website/Includes/Roles.ascx.cs Added Paths: ----------- Website/Includes/RoleAssignments.ascx Website/Includes/RoleAssignments.ascx.cs Website/RoleAssignments.aspx Modified: Website/App_Code/Assignments.cs =================================================================== --- Website/App_Code/Assignments.cs 2006-08-08 20:56:12 UTC (rev 283) +++ Website/App_Code/Assignments.cs 2006-08-08 21:26:55 UTC (rev 284) @@ -9,7 +9,6 @@ using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; - namespace TCDB.Code { public class AssignmentDB @@ -291,7 +290,7 @@ private User p_creator; private User p_assigned; private DateTime p_dateAssigned; - private DateTime p_dateFinished; + private Nullable<DateTime> p_dateFinished; private DateTime p_dateDue; private WorkOrder p_workOrder; private ActionItem p_actionItem; @@ -311,7 +310,7 @@ p_creator = new User(); p_assigned = new User(); p_dateAssigned = new DateTime(1, 1, 1); - p_dateFinished = new DateTime(1, 1, 1); + p_dateFinished = null; p_dateDue = new DateTime(1, 1, 1); p_workOrder = null; p_actionItem = null; @@ -355,7 +354,7 @@ set { p_dateAssigned = value; } } - public DateTime DATEFINISHED + public Nullable<DateTime> DATEFINISHED { get { return p_dateFinished; } set { p_dateFinished = value; } Modified: Website/Includes/AssignmentsTree.ascx.cs =================================================================== --- Website/Includes/AssignmentsTree.ascx.cs 2006-08-08 20:56:12 UTC (rev 283) +++ Website/Includes/AssignmentsTree.ascx.cs 2006-08-08 21:26:55 UTC (rev 284) @@ -344,14 +344,16 @@ else continue; } if (a.DELETED) - { child.Text = "<font class='deleted'>" + child.Text + "</font>"; - } + else if (a.DATEFINISHED != null) + child.Text = "<font class='finished'>" + child.Text + "</font>"; + else if (a.DATEDUE < DateTime.Today) + child.Text = "<font class='overdue'>" + child.Text + "</font>"; // Add the new child node to the ChildNodes collection of the parent node. parent.ChildNodes.Add(child); } - + // if there are no assignments if (parent.ChildNodes.Count == 0) parent.Parent.ChildNodes.Remove(parent); Modified: Website/Includes/RoleAdmin.ascx.cs =================================================================== --- Website/Includes/RoleAdmin.ascx.cs 2006-08-08 20:56:12 UTC (rev 283) +++ Website/Includes/RoleAdmin.ascx.cs 2006-08-08 21:26:55 UTC (rev 284) @@ -15,11 +15,13 @@ { public partial class RoleAdmin : SiteUserControl { - private static Logger m_logg = new Logger("TCDB.Authenticate"); + private static Logger m_logg = new Logger("TCDB.RoleAdmin"); int productID = Convert.ToInt32(HttpContext.Current.Request.QueryString[Constants.CODE_PRODUCT]); protected void Page_Load(object sender, EventArgs e) { + m_logg.Debug("Loading page Role Admin"); + if (productID == 0) productID = Constants.PRODUCT_ANYID; } @@ -30,7 +32,7 @@ } protected void addRole(object sender, CommandEventArgs e) { - Response.Redirect("Role.aspx?mode=edit&" + Constants.CODE_PRODUCT + "=" + productID + "&" + Constants.CODE_ROLE + "=" + roleList.SelectedValue); + Response.Redirect("RoleAssignments.aspx?" + Constants.CODE_PRODUCT + "=" + productID + "&" + Constants.CODE_ROLE + "=" + roleList.SelectedValue); } protected void newRole(object sender, CommandEventArgs e) { @@ -84,15 +86,15 @@ return; } - if (!m_user.HasRight("dev_access")) + if (!m_user.HasRight("dev_access")) editRightsBtn.Visible = false; - List<Right> rights = RightDB.TCDB_GetRightList(active); + List<Right> rights = RightDB.TCDB_GetRightList(active); - foreach (Right right in rights) + foreach (Right right in rights) { - ListItem item = new ListItem(right.NAME, right.ID.ToString()); - if (!right.ACTIVE) + ListItem item = new ListItem(right.NAME, right.ID.ToString()); + if (!right.ACTIVE) item.Attributes.CssStyle.Add("text-decoration", "line-through"); rightsList.Items.Add(item); @@ -114,6 +116,5 @@ !m_user.HasRight("view_other_roles", productID)) viewRoleBtn.Visible = false; } - } } Added: Website/Includes/RoleAssignments.ascx =================================================================== --- Website/Includes/RoleAssignments.ascx (rev 0) +++ Website/Includes/RoleAssignments.ascx 2006-08-08 21:26:55 UTC (rev 284) @@ -0,0 +1,26 @@ +<%@ Control Language="C#" AutoEventWireup="true" CodeFile="RoleAssignments.ascx.cs" + Inherits="RoleAssignments" %> +<table width="700"> + <tr> + <td> + <h2> + <asp:LinkButton ID="roleNameBtn" runat="server" OnClick="roleNameBtn_Click"></asp:LinkButton></h2> + </td> + <td> + <asp:Button ID="Update" runat="server" Text="Update" OnClick="Update_Click"></asp:Button> + </td> + </tr> + <tr> + <td align="left" valign="top"> + <strong>Products: </strong><asp:DropDownList ID="productList" runat="server" + AutoPostBack="True" OnSelectedIndexChanged="productList_SelectedIndexChanged" + OnInit="productList_Init"> + </asp:DropDownList> + </td> + <td> + <strong>Users:</strong><br /> + <asp:ListBox ID="userList" runat="server" SelectionMode="Multiple" Height="500px" + Width="200px"></asp:ListBox> + </td> + </tr> +</table> Added: Website/Includes/RoleAssignments.ascx.cs =================================================================== --- Website/Includes/RoleAssignments.ascx.cs (rev 0) +++ Website/Includes/RoleAssignments.ascx.cs 2006-08-08 21:26:55 UTC (rev 284) @@ -0,0 +1,175 @@ +using System; +using System.Data; +using System.Configuration; +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.Collections; +using TCDB; +using TCDB.Code; +using log4net; + +public partial class RoleAssignments : SiteUserControl +{ + private static ILog m_logg = LogManager.GetLogger("Page:Role Assignments"); + Role role; + int roleID = Convert.ToInt32(HttpContext.Current.Request.QueryString[Constants.CODE_ROLE]); + int productID = Convert.ToInt32(HttpContext.Current.Request.QueryString[Constants.CODE_PRODUCT]); + + protected void Page_Load(object sender, EventArgs e) + { + // Check roleID + if (roleID == 0) + { + m_logg.Info("Could not find role"); + Response.Redirect("~/Administration.aspx"); + } + role = RightDB.GetRoleInfo(roleID); + + // Check rights + if (!m_user.HasRight("edit_role_users",Constants.PRODUCT_ANYID)) + Response.Redirect("~/Administration.aspx"); + + roleNameBtn.Text = role.NAME; + } + + protected void updateUserRoleProducts() + { + Dictionary<int, ArrayList> ProductUsers = (Dictionary<int, ArrayList>)Session["ProductUsers"]; + if (ProductUsers == null) + return; + tcdbDataSetTableAdapters.db_roleUserProductTableAdapter rupAdapter = new tcdbDataSetTableAdapters.db_roleUserProductTableAdapter(); + + // Update ProductUsers + int[] indices = userList.GetSelectedIndices(); + ArrayList users = new ArrayList(); + foreach (int index in indices) + users.Add(userList.Items[index].Value); + if (ProductUsers.ContainsKey(Convert.ToInt32(productList.SelectedValue))) + ProductUsers[Convert.ToInt32(productList.SelectedValue)] = users; + + foreach (ListItem product in productList.Items) + { + /* + String productID = item.Value; + + // Clear list + rupAdapter.upd_userRoleProduct(null,null,Convert.ToInt32(productID),false); + + // update ProductUser roles + if (ProductUsers.ContainsKey(productID)) + { + foreach (String userID in ProductUsers[productID]) + rupAdapter.ins_userRoleProduct(Convert.ToInt32(userID),roleID,Convert.ToInt32(productID)); + } + */ + int productID = Convert.ToInt32(product.Value); + foreach (ListItem user in userList.Items) + { + int userID = Convert.ToInt32(user.Value); + + if (ProductUsers.ContainsKey(productID) && ProductUsers[productID].Contains(userID.ToString())) + rupAdapter.ins_userRoleProduct(userID, roleID, productID); + else + rupAdapter.upd_userRoleProduct(userID, roleID, productID, false); + } + } + } + protected void updateProductUsers() + { + // Init ProductUsers + Dictionary<int, ArrayList> ProductUsers = new Dictionary<int, ArrayList>(); + List<Product> products = ProductDB.GetProductList(active); + + foreach (Product product in products) + { + ArrayList users = new ArrayList(); + + tcdbDataSetTableAdapters.db_roleProductUserTableAdapter roleProductUserAdapter = new tcdbDataSetTableAdapters.db_roleProductUserTableAdapter(); + tcdbDataSet.db_roleProductUserDataTable roleProductUserTable = roleProductUserAdapter.GetData(roleID, product.ID, true); + + foreach (tcdbDataSet.db_roleProductUserRow row in roleProductUserTable) + users.Add(row.userID.ToString()); + + ProductUsers[product.ID] = users; + } + Session["ProductUsers"] = ProductUsers; + } + + protected void productList_Init(object sender, EventArgs e) + { + List<Product> products = ProductDB.GetProductList(active); + foreach (Product product in products) + if (m_user.HasRight("edit_role_users", product.ID)) + productList.Items.Add(new ListItem(product.NAME, product.ID.ToString())); + + // Set selected value + if (productList.Items.FindByValue(productID.ToString()) != null && m_user.HasRight("edit_role_users", productID)) + productList.SelectedValue = productID.ToString(); + Session["product"] = productList.SelectedValue; + + userList_populate(Convert.ToInt32(productList.SelectedValue)); + } + protected void productList_SelectedIndexChanged(object sender, EventArgs e) + { + // Get Product Users + if (Session["ProductUsers"] == null) + updateProductUsers(); + Dictionary<int, ArrayList> ProductUsers = (Dictionary<int, ArrayList>)Session["ProductUsers"]; + + // update selected product + if (Session["product"] != null) + { + int productID = Convert.ToInt32(Session["product"]); + + // Update ProductUsers + int[] indices = userList.GetSelectedIndices(); + ArrayList users = new ArrayList(); + foreach (int index in indices) + users.Add(userList.Items[index].Value); + if (ProductUsers.ContainsKey(productID)) + ProductUsers[productID] = users; + } + Session["product"] = productList.SelectedValue; + + // Update userlist + userList_populate(Convert.ToInt32(productList.SelectedValue)); + } + + protected void userList_populate(int productID) + { + // Get ProductUsers + updateProductUsers(); + Dictionary<int, ArrayList> ProductUsers = (Dictionary<int, ArrayList>)Session["ProductUsers"]; + + // Init selected user list + ArrayList users; + if (ProductUsers.ContainsKey(productID)) + users = ProductUsers[productID]; + else + users = new ArrayList(); + + // populate user list + userList.Items.Clear(); + List<User> usersList = UserDB.TCDB_GetUserList(); + foreach (User user in usersList) + { + ListItem item = new ListItem(user.FULLNAME, user.ID.ToString()); + if (users.Contains(user.ID.ToString())) + item.Selected = true; + userList.Items.Add(item); + } + } + protected void Update_Click(object sender, EventArgs e) + { + updateUserRoleProducts(); + } + protected void roleNameBtn_Click(object sender, EventArgs e) + { + Response.Redirect("~/Role.aspx?" + Constants.CODE_PRODUCT + "=" + productID + "&" + Constants.CODE_ROLE + "=" + roleID); + } +} Modified: Website/Includes/Roles.ascx =================================================================== --- Website/Includes/Roles.ascx 2006-08-08 20:56:12 UTC (rev 283) +++ Website/Includes/Roles.ascx 2006-08-08 21:26:55 UTC (rev 284) @@ -7,9 +7,11 @@ <div align="left"> <h2> User Role</h2> - </div><div align="right"> + </div> + <div align="right"> <asp:Label ID="activeLbl" runat="server" Text="Active"></asp:Label> - <asp:CheckBox ID="activeBox" runat="server" AutoPostBack="True" OnCheckedChanged="activeBox_CheckedChanged" OnInit="activeBox_Init" /></div> + <asp:CheckBox ID="activeBox" runat="server" AutoPostBack="True" OnCheckedChanged="activeBox_CheckedChanged" + OnInit="activeBox_Init" /></div> </HeaderTemplate> <ItemTemplate> <div class="xsnazzy"> @@ -40,6 +42,9 @@ <asp:Panel ID="ProductUserPanel" runat="server" Height="100%" Width="100%" OnInit="ProductUserPanel_Init" ScrollBars="Horizontal" Wrap="False"> </asp:Panel> + <br /> + <asp:LinkButton ID="editAssignments" runat="server" CommandName="editAssignments" + OnCommand="editAssignments_Command">Edit Role Assignments</asp:LinkButton> </td> <td colspan="2" align="left" valign="top" width="34%" style="height: 132px"> <strong>Rights:</strong><br /> @@ -54,9 +59,9 @@ <tr> <td align="left" colspan="6"> <asp:LinkButton ID="New" runat="server" CommandName="new" OnInit="New_Init">New</asp:LinkButton><asp:Label - ID="newLbl" runat="server" Text=" | "></asp:Label><asp:LinkButton - ID="Edit" runat="server" CommandName="edit" OnInit="Edit_Init">Edit</asp:LinkButton><asp:Label ID="deleteLbl" - runat="server" Text=" | "></asp:Label><asp:LinkButton ID="Delete" + ID="newLbl" runat="server" Text=" | "></asp:Label><asp:LinkButton ID="Edit" + runat="server" CommandName="edit" OnInit="Edit_Init">Edit</asp:LinkButton><asp:Label + ID="deleteLbl" runat="server" Text=" | "></asp:Label><asp:LinkButton ID="Delete" runat="server" CommandName="deleteCmd" OnCommand="deleteCmd" OnLoad="Delete_Load">Delete</asp:LinkButton></td> </tr> </table> @@ -76,8 +81,8 @@ <tr> <td align="left" colspan="6"> <strong>Name:</strong> - <asp:TextBox ID="nameBox" runat="server" Text='<%# Bind("roleName") %>' Width="70%" OnLoad="nameBox_Load"></asp:TextBox> - <asp:Label ID="nameLbl" runat="server" Text='<%# Eval("roleName") %>' Visible="False"></asp:Label></td> + <asp:TextBox ID="nameBox" runat="server" Text='<%# Bind("roleName") %>' Width="70%"></asp:TextBox> + </td> </tr> <tr> <td class="hr" colspan="6"> @@ -90,8 +95,7 @@ Width="100%" Text='<%# Bind("roleDescription") %>' Height="200px" EnableHtmlMode="true" DisableIEBackButton="False"> </FTB:FreeTextBox> - <asp:Label ID="descriptionLbl" runat="server" Text='<%# Eval("roleDescription") %>' - Visible="False"></asp:Label></td> + </td> </tr> <tr> <td class="hr" colspan="6"> @@ -99,22 +103,16 @@ </tr> <tr> <td colspan="2" align="left" valign="top" width="33%"> - <strong>Products: <asp:DropDownList ID="productList" runat="server" AutoPostBack="True" - OnSelectedIndexChanged="productList_SelectedIndexChanged" OnInit="productList_Init"> - </asp:DropDownList></strong> </td> + </td> <td colspan="2" align="left" valign="top" width="33%"> - <strong>Users:<br /> - </strong> - <asp:ListBox ID="userList" runat="server" SelectionMode="Multiple" - Height="150px" Width="150px" OnInit="userList_Init"></asp:ListBox></td> + </td> <td colspan="2" align="left" valign="top" width="34%"> <strong>Rights:<br /> - <asp:LinkButton ID="newRight" runat="server" CommandName="newRight" OnCommand="newRight" - OnInit="newRight_Init">New Right</asp:LinkButton><br /> + <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" - Height="150px" OnDataBound="rightsList_DataBound" Width="150px" OnInit="rightsList_Init"></asp:ListBox> - </td> + Height="150px" OnDataBound="rightsList_DataBound" Width="150px"> + </asp:ListBox> </td> </tr> <tr> <td class="hr" colspan="6"> @@ -167,15 +165,9 @@ </tr> <tr> <td colspan="2" align="left" valign="top" width="33%"> - <strong>Products: </strong><asp:DropDownList ID="productList" runat="server" - AutoPostBack="True" OnSelectedIndexChanged="productList_SelectedIndexChanged" OnInit="productList_Init"> - </asp:DropDownList> - </td> + </td> <td colspan="2" align="left" valign="top" width="33%"> - <strong>Users:<br /> - </strong> - <asp:ListBox ID="userList" runat="server" SelectionMode="Multiple" - Height="150px" Width="150px"></asp:ListBox></td> + </td> <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 /> Modified: Website/Includes/Roles.ascx.cs =================================================================== --- Website/Includes/Roles.ascx.cs 2006-08-08 20:56:12 UTC (rev 283) +++ Website/Includes/Roles.ascx.cs 2006-08-08 21:26:55 UTC (rev 284) @@ -11,17 +11,17 @@ using System.Web.UI.HtmlControls; using System.Data.SqlClient; using TCDB.Code; +using log4net; - namespace TCDB { public partial class TCDBRoles : SiteUserControl { - private static Logger m_logg = new Logger("TCDB.TCDBRoles"); + private static ILog m_logg = LogManager.GetLogger("Page:TCDBRoles"); int roleID = Convert.ToInt32(HttpContext.Current.Request.QueryString[Constants.CODE_ROLE]); Role role; String mode = HttpContext.Current.Request.QueryString["mode"]; - String productID_in = HttpContext.Current.Request.QueryString[Constants.CODE_PRODUCT]; + String productID = HttpContext.Current.Request.QueryString[Constants.CODE_PRODUCT]; protected void Page_Load(object sender, EventArgs e) { @@ -54,49 +54,31 @@ FormView1.ChangeMode(FormViewMode.Edit); } - protected void updateUserRoleProducts() + protected void updateProductUsers() { - DropDownList productList = (DropDownList)FormView1.FindControl("productList"); - ListBox userList = (ListBox)FormView1.FindControl("userList"); - Dictionary<String, ArrayList> ProductUsers = (Dictionary<String, ArrayList>)Session["ProductUsers"]; - if (ProductUsers == null) + // Init ProductUsers + Dictionary<int, ArrayList> ProductUsers = new Dictionary<int, ArrayList>(); + + if (FormView1.CurrentMode == FormViewMode.Insert) return; - tcdbDataSetTableAdapters.db_roleUserProductTableAdapter rupAdapter = new tcdbDataSetTableAdapters.db_roleUserProductTableAdapter(); - // Update ProductUsers - int[] indices = userList.GetSelectedIndices(); - ArrayList users = new ArrayList(); - foreach (int index in indices) - users.Add(userList.Items[index].Value); - if (ProductUsers.ContainsKey(productList.SelectedValue)) - ProductUsers[productList.SelectedValue] = users; - - foreach (ListItem product in productList.Items) + foreach (Product product in ProductDB.GetProductList(active)) { - /* - String productID = item.Value; + ArrayList users = new ArrayList(); + int productID = product.ID; - // Clear list - rupAdapter.upd_userRoleProduct(null,null,Convert.ToInt32(productID),false); + tcdbDataSetTableAdapters.db_roleProductUserTableAdapter roleProductUserAdapter = new tcdbDataSetTableAdapters.db_roleProductUserTableAdapter(); + tcdbDataSet.db_roleProductUserDataTable roleProductUserTable = roleProductUserAdapter.GetData(roleID, productID, true); - // update ProductUser roles - if (ProductUsers.ContainsKey(productID)) - { - foreach (String userID in ProductUsers[productID]) - rupAdapter.ins_userRoleProduct(Convert.ToInt32(userID),roleID,Convert.ToInt32(productID)); - } - */ - int productID = Convert.ToInt32(product.Value); - foreach (ListItem user in userList.Items) - { - int userID = Convert.ToInt32(user.Value); + foreach (tcdbDataSet.db_roleProductUserRow row in roleProductUserTable) + users.Add(row.userID.ToString()); - if (ProductUsers.ContainsKey(productID.ToString()) && ProductUsers[productID.ToString()].Contains(userID.ToString())) - rupAdapter.ins_userRoleProduct(userID, roleID, productID); - else - rupAdapter.upd_userRoleProduct(userID, roleID, productID, false); - } + if (ProductUsers.ContainsKey(product.ID)) + ProductUsers[product.ID] = users; + else + ProductUsers.Add(product.ID, users); } + Session["ProductUsers"] = ProductUsers; } protected void updateRoleRights() { @@ -104,30 +86,10 @@ // Clear roles tcdbDataSetTableAdapters.db_roleRightTableAdapter rrAdapter = new tcdbDataSetTableAdapters.db_roleRightTableAdapter(); - rrAdapter.DeleteRoleRights(roleID,null); + rrAdapter.DeleteRoleRights(roleID, null); - // Update roles - int[] indices = rightsList.GetSelectedIndices(); - foreach (int index in indices) - { - int rightsID = Convert.ToInt32(rightsList.Items[index].Value); - - rrAdapter.InsertRoleRights(roleID,rightsID); - } - /* - tcdbDataSetTableAdapters.db_roleRightTableAdapter rrAdapter = new tcdbDataSetTableAdapters.db_roleRightTableAdapter(); - foreach (ListItem item in rightsList.Items) - { - int rightsID = Convert.ToInt32(item.Value); - - if (item.Selected) - rrAdapter.InsertRoleRights(roleID, rightsID); - else - rrAdapter.DeleteRoleRights(roleID, rightsID); - } - * */ - } + protected void FormView1_ItemInserted(object sender, FormViewInsertedEventArgs e) { tcdbDataSetTableAdapters.db_roleTableAdapter roleAdapter = new tcdbDataSetTableAdapters.db_roleTableAdapter(); @@ -137,7 +99,6 @@ { roleID = roleTable[roleTable.Count - 1].roleID; - updateUserRoleProducts(); updateRoleRights(); Session.Remove("tableName"); Response.Redirect("~/Role.aspx?" + Constants.CODE_ROLE + "=" + roleID); @@ -151,7 +112,6 @@ } protected void FormView1_ItemUpdated(object sender, FormViewUpdatedEventArgs e) { - updateUserRoleProducts(); updateRoleRights(); Session.Remove("tableName"); Response.Redirect("~/Role.aspx?" + Constants.CODE_ROLE + "=" + roleID); @@ -169,29 +129,14 @@ { if (FormView1.CurrentMode == FormViewMode.Insert && e.CommandName == "Cancel") { - Session.Remove("tableName"); - Response.Redirect("~/Administration.aspx"); - } - } - - protected void userList_DataBound(object sender, EventArgs e) - { - Dictionary<String, ArrayList> ProductUsers = (Dictionary<String, ArrayList>)Session["ProductUsers"]; - - if (ProductUsers != null) - { - ListBox userList = (ListBox)sender; - DropDownList productList = (DropDownList)FormView1.FindControl("productList"); - String productID = productList.SelectedValue; - userList.ClearSelection(); - - if (ProductUsers.ContainsKey(productID)) + if (FormView1.CurrentMode == FormViewMode.Insert && e.CommandName == "Cancel") { - foreach (String userID in ProductUsers[productID]) - userList.Items.FindByValue(userID).Selected = true; + Session.Remove("tableName"); + Response.Redirect("~/Administration.aspx"); } } } + protected void rightsList_DataBound(object sender, EventArgs e) { ListBox rightsList = (ListBox)sender; @@ -207,98 +152,24 @@ item.Attributes.CssStyle.Add("text-decoration", "line-through"); } } - - protected void addUsers(object sender, CommandEventArgs e) - { - updateUserRoleProducts(); - } protected void newRight(object sender, CommandEventArgs e) { Response.Redirect("Right.aspx?mode=new&" + Constants.CODE_ROLE + "=" + roleID); } - protected void productList_SelectedIndexChanged(object sender, EventArgs e) - { - ListBox userList = (ListBox)FormView1.FindControl("userList"); - DropDownList productList = (DropDownList)sender; - - // Check for bad state - if (FormView1.CurrentMode == FormViewMode.Edit) - { - FreeTextBoxControls.FreeTextBox ftb = (FreeTextBoxControls.FreeTextBox)FormView1.FindControl("descriptionBox"); - if (ftb.Text == "") - FormView1.DataBind(); - } - - // Get Product Users - if (Session["ProductUsers"] == null) - updateProductUsers(); - Dictionary<String, ArrayList> ProductUsers = (Dictionary<String, ArrayList>)Session["ProductUsers"]; - - // update selected product - String productID; - if (Session["product"] != null) - { - productID = Session["product"].ToString(); - - // Update ProductUsers - int[] indices = userList.GetSelectedIndices(); - ArrayList users = new ArrayList(); - foreach (int index in indices) - users.Add(userList.Items[index].Value); - if (ProductUsers.ContainsKey(productID)) - ProductUsers[productID] = users; - } - - Session["product"] = productList.SelectedValue; - // Update userlist - userList_populate(); - } - protected void updateProductUsers() - { - // Init ProductUsers - if (Session["ProductUsers"] == null) - Session.Add("ProductUsers", new Dictionary<String, ArrayList>()); - Dictionary<String, ArrayList> ProductUsers = (Dictionary<String, ArrayList>)Session["ProductUsers"]; - ProductUsers.Clear(); - - if (FormView1.CurrentMode == FormViewMode.Insert) - return; - - tcdbDataSetTableAdapters.db_productsTableAdapter pAdapter = new tcdbDataSetTableAdapters.db_productsTableAdapter(); - tcdbDataSet.db_productsDataTable pTable = pAdapter.GetData(active, null, null); - - foreach (tcdbDataSet.db_productsRow pRow in pTable) - { - ArrayList users = new ArrayList(); - String productID = pRow.productID.ToString(); - - tcdbDataSetTableAdapters.db_roleProductUserTableAdapter roleProductUserAdapter = new tcdbDataSetTableAdapters.db_roleProductUserTableAdapter(); - tcdbDataSet.db_roleProductUserDataTable roleProductUserTable = roleProductUserAdapter.GetData(roleID, Convert.ToInt32(productID), true); - - foreach (tcdbDataSet.db_roleProductUserRow row in roleProductUserTable) - users.Add(row.userID.ToString()); - - if (ProductUsers.ContainsKey(productID)) - ProductUsers[productID] = users; - else - ProductUsers.Add(productID, users); - } - } - protected void ProductUserPanel_Init(object sender, EventArgs e) { Panel puPanel = (Panel)sender; - List<Product> products = ProductDB.GetProductList(active); + List<Product> products = ProductDB.GetProductList(active); - foreach (Product product in products) + foreach (Product product in products) { - Label ProductLbl = new Label(); - ProductLbl.Text = "<strong>"+product.CODENAME+": </strong>"; + Label ProductLbl = new Label(); + ProductLbl.Text = "<strong>" + product.CODENAME + ": </strong>"; tcdbDataSetTableAdapters.db_roleProductUserTableAdapter rpuAdapter = new tcdbDataSetTableAdapters.db_roleProductUserTableAdapter(); - tcdbDataSet.db_roleProductUserDataTable rpuTable = rpuAdapter.GetData(roleID, product.ID, true); + tcdbDataSet.db_roleProductUserDataTable rpuTable = rpuAdapter.GetData(roleID, product.ID, true); Label Users = new Label(); foreach (tcdbDataSet.db_roleProductUserRow row in rpuTable) @@ -313,7 +184,7 @@ if (Users.Text != "") { - puPanel.Controls.Add(ProductLbl); + puPanel.Controls.Add(ProductLbl); puPanel.Controls.Add(Users); puPanel.Controls.Add(html); } @@ -347,101 +218,28 @@ protected void Delete_Load(object sender, EventArgs e) { LinkButton deleteBtn = (LinkButton)sender; + LinkButton editBtn = (LinkButton)FormView1.FindControl("Edit"); Label deleteLbl = (Label)FormView1.FindControl("deleteLbl"); - Label activeLbl = (Label)FormView1.FindControl("activeLbl"); + Label newLbl = (Label)FormView1.FindControl("newLbl"); + Label activeLbl = (Label)FormView1.FindControl("activeLbl"); updateProductUsers(); - Dictionary<String, ArrayList> ProductUsers = (Dictionary<String, ArrayList>)Session["ProductUsers"]; + Dictionary<int, ArrayList> ProductUsers = (Dictionary<int, ArrayList>)Session["ProductUsers"]; - foreach (String productID in ProductUsers.Keys) + foreach (int productID in ProductUsers.Keys) { - if ( activeLbl.Visible == true || ((ProductUsers[productID].Count > 0) && !m_user.HasRight("delete_role", Convert.ToInt32(productID)))) + if (activeLbl.Visible == true || ((ProductUsers[productID].Count > 0) && !m_user.HasRight("delete_role", productID))) { deleteBtn.Visible = false; deleteLbl.Visible = false; } - } + if ((ProductUsers[productID].Count > 0) && !m_user.HasRight("edit_role", productID)) + { + editBtn.Visible = false; + newLbl.Visible = false; + } + } } - protected void rightsList_Init(object sender, EventArgs e) - { - ListBox rightsList = (ListBox)sender; - updateProductUsers(); - Dictionary<String, ArrayList> ProductUsers = (Dictionary<String, ArrayList>)Session["ProductUsers"]; - foreach (String productID in ProductUsers.Keys) - { - if (!m_user.HasRight("edit_role", Convert.ToInt32(productID))) - rightsList.Enabled = false; - } - } - protected void userList_Init(object sender, EventArgs e) - { - ListBox userList = (ListBox)sender; - - if (!m_user.HasRight("edit_role_users", Constants.PRODUCT_ANYID)) - userList.Enabled = false; - } - - protected void userList_populate() - { - ListBox userList = (ListBox)FormView1.FindControl("userList"); - int productID = Convert.ToInt32(Session["product"]); - - tcdbDataSetTableAdapters.db_usersTableAdapter uAdapter = new tcdbDataSetTableAdapters.db_usersTableAdapter(); - tcdbDataSet.db_usersDataTable uTable = uAdapter.GetData(null, null); - - updateProductUsers(); - Dictionary<String, ArrayList> ProductUsers = (Dictionary<String, ArrayList>)Session["ProductUsers"]; - - // Init selected user list - ArrayList users; - if (ProductUsers.ContainsKey(productID.ToString())) - users = ProductUsers[productID.ToString()]; - else - users = new ArrayList(); - - // populate user list - userList.Items.Clear(); - foreach (tcdbDataSet.db_usersRow row in uTable) - { - ListItem item = new ListItem(row.fullName, row.userID.ToString()); - if (users.Contains(row.userID.ToString())) - item.Selected = true; - userList.Items.Add(item); - } - } - protected void productList_Init(object sender, EventArgs e) - { - DropDownList productList = (DropDownList)sender; - - List<Product> products = ProductDB.GetProductList(active); - - foreach (Product product in products) - if (m_user.HasRight("edit_role_users", product.ID)) - productList.Items.Add(new ListItem(product.NAME, product.ID.ToString())); - - // Set selected value - if (FormView1.CurrentMode == FormViewMode.Edit && productList.Items.FindByValue(productID_in) != null && m_user.HasRight("edit_role_users", Convert.ToInt32(productID_in))) - productList.SelectedValue = productID_in; - Session["product"] = productList.SelectedValue; - - userList_populate(); - } - - protected void nameBox_Load(object sender, EventArgs e) - { - TextBox nameBox = (TextBox)FormView1.FindControl("nameBox"); - FreeTextBoxControls.FreeTextBox descriptionBox = (FreeTextBoxControls.FreeTextBox)FormView1.FindControl("descriptionBox"); - Label nameLbl = (Label)FormView1.FindControl("nameLbl"); - Label descriptionLbl = (Label)FormView1.FindControl("descriptionLbl"); - - if (!m_user.HasRight("edit_role", Constants.PRODUCT_ANYID)) - { - nameBox.Visible = false; - descriptionBox.Visible = false; - nameLbl.Visible = true; - descriptionLbl.Visible = true; - } - } protected void activeBox_Init(object sender, EventArgs e) { CheckBox activeBox = (CheckBox)sender; @@ -488,5 +286,10 @@ rightsList.Items.Add(item); } } + protected void editAssignments_Command(object sender, CommandEventArgs e) + { + Response.Redirect("~/RoleAssignments.aspx?" + Constants.CODE_PRODUCT + "=" + productID + "&" + Constants.CODE_ROLE + "=" + roleID); + } } } + Added: Website/RoleAssignments.aspx =================================================================== --- Website/RoleAssignments.aspx (rev 0) +++ Website/RoleAssignments.aspx 2006-08-08 21:26:55 UTC (rev 284) @@ -0,0 +1,12 @@ +<%@ Page Language="C#" MasterPageFile="~/TCDB.master" AutoEventWireup="true" Title="TCDB: Role Assignments" %> + +<%@ Register Src="~/Includes/AdministrationTree.ascx" TagPrefix="admin" TagName="Tree" %> +<%@ Register Src="~/Includes/RoleAssignments.ascx" TagPrefix="admin" TagName="Assignments" %> +<asp:Content ID="TreeContent" ContentPlaceHolderID="TreeContentPlaceHolder" runat="Server"> + <admin:Tree runat="server" ID="Tree" /> +</asp:Content> +<asp:Content ID="MainContent" ContentPlaceHolderID="MainContentPlaceHolder" runat="Server"> + <admin:Assignments ID="Assignments" runat="server" /> +</asp:Content> +<asp:Content ID="NotesContent" ContentPlaceHolderID="NotesContentPlaceHolder" runat="Server"> +</asp:Content> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <m_h...@us...> - 2006-08-08 20:56:54
|
Revision: 283 Author: m_hildebrand Date: 2006-08-08 13:56:12 -0700 (Tue, 08 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=283&view=rev Log Message: ----------- Made some changes to logging to allow user and host to be output on each line Moved everything into the TCDB, TCDB.Code, or TCDB.Plugins namespace Modified Paths: -------------- Website/AdminRole.aspx Website/App_Code/Assignments.cs Website/App_Code/Common.cs Website/App_Code/GlobalClass.cs Website/App_Code/InstallerClass.cs Website/App_Code/Notes.cs Website/App_Code/Products.cs Website/App_Code/Right.cs Website/App_Code/SiteMaster.cs Website/App_Code/SiteUserControl.cs Website/App_Code/Statuses.cs Website/App_Code/Users.cs Website/App_Code/Versions.cs Website/App_Themes/Python/Python.skin Website/Global.asax Website/Includes/ActionItems.ascx Website/Includes/ActionItems.ascx.cs Website/Includes/AdminConfig.ascx Website/Includes/AdminConfig.ascx.cs Website/Includes/Administration.ascx Website/Includes/Administration.ascx.cs Website/Includes/AdministrationTree.ascx Website/Includes/AdministrationTree.ascx.cs Website/Includes/Assignments.ascx Website/Includes/Assignments.ascx.cs Website/Includes/AssignmentsTree.ascx Website/Includes/AssignmentsTree.ascx.cs Website/Includes/Authenticate.ascx Website/Includes/Authenticate.ascx.cs Website/Includes/Builds.ascx Website/Includes/Execution.ascx Website/Includes/Features.ascx Website/Includes/FeaturesTree.ascx Website/Includes/FeaturesTree.ascx.cs Website/Includes/Footer.ascx Website/Includes/Footer.ascx.cs Website/Includes/Header.ascx Website/Includes/Header_CurrentInfo.ascx Website/Includes/Header_Menu.ascx Website/Includes/Header_User.ascx Website/Includes/Header_User.ascx.cs Website/Includes/Notes.ascx Website/Includes/Notes.ascx.cs Website/Includes/Objectives.ascx Website/Includes/Platforms.ascx Website/Includes/Products.ascx Website/Includes/Products.ascx.cs Website/Includes/Reports.ascx Website/Includes/Rights.ascx Website/Includes/Rights.ascx.cs Website/Includes/RoleAdmin.ascx Website/Includes/RoleAdmin.ascx.cs Website/Includes/Roles.ascx Website/Includes/Roles.ascx.cs Website/Includes/Tags.ascx Website/Includes/TestCases.ascx Website/Includes/UserConfig.ascx Website/Includes/UserConfig.ascx.cs Website/Includes/UserSettings.ascx Website/Includes/UserSettings.ascx.cs Website/Includes/Users.ascx Website/Includes/Versions.ascx Website/Includes/Versions.ascx.cs Website/Includes/WorkOrders.ascx Website/Plugins/VAS_Execution.ascx Website/Plugins/VAS_Execution.ascx.cs Website/PrivacyPolicy.aspx Website/TCDB.master Added Paths: ----------- Website/App_Code/Plugins/ Website/App_Code/Plugins/AD_Authentication.cs Removed Paths: ------------- Website/App_Code/AD_Authentication.cs Website/Includes/SqlDatabase.ascx Modified: Website/AdminRole.aspx =================================================================== --- Website/AdminRole.aspx 2006-08-08 19:11:55 UTC (rev 282) +++ Website/AdminRole.aspx 2006-08-08 20:56:12 UTC (rev 283) @@ -1,8 +1,7 @@ <%@ Page Language="C#" MasterPageFile="~/TCDB.master" AutoEventWireup="true" Title="TCDB: Administration" %> - -<%@ Import Namespace="TCDB.Common" %> <%@ Register Src="~/Includes/AdministrationTree.ascx" TagPrefix="admin" TagName="Tree" %> <%@ Register Src="~/Includes/RoleAdmin.ascx" TagPrefix="admin" TagName="Role" %> + <asp:Content ID="TreeContent" ContentPlaceHolderID="TreeContentPlaceHolder" runat="Server"> <admin:Tree runat="server" ID="Tree" /> </asp:Content> Deleted: Website/App_Code/AD_Authentication.cs =================================================================== --- Website/App_Code/AD_Authentication.cs 2006-08-08 19:11:55 UTC (rev 282) +++ Website/App_Code/AD_Authentication.cs 2006-08-08 20:56:12 UTC (rev 283) @@ -1,121 +0,0 @@ -using System; -using System.Data; -using System.DirectoryServices; -using System.Configuration; -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 TCDB.Users; -using TCDB.Common; -using log4net; - -namespace AD_Auth -{ - /// <summary> - /// Summary description for AD_Authentication - /// </summary> - public static class AD_Authentication - { - private static ILog m_logg = LogManager.GetLogger("AD_Auth.AD_Authentication"); - - public static bool AD_Authenticate(string strUserName, string strPassword) - { - bool result = false; - - // Get the domain name from the config table - string strDomain = ConfigDB.GetConfigString("ad_domain"); - - m_logg.Debug("Checking AD authentication for [" + strUserName + "] in domain [" + strDomain + "]"); - DirectoryEntry de = new DirectoryEntry("LDAP://" + strDomain, strUserName, strPassword); - DirectorySearcher ds = new DirectorySearcher(de); - ds.SearchScope = SearchScope.OneLevel; - try - { - SearchResult sr = ds.FindOne(); - m_logg.Info("User [" + strUserName + "] is authenticated in the domain [" + strDomain + "]"); - if (sr != null) result = true; - } - catch - { - m_logg.Warn("User [" + strUserName + "] could not authenticate to the domain [" + strDomain + "]"); - result = false; - } - - return result; - } - - public static User AD_GetUserInfo(string strUserName, string strPassword) - { - return AD_GetUserInfo(strUserName, strPassword, strUserName); - } - - public static User AD_GetUserInfo(string strUserName, string strPassword, string strFindUser) - { - User user = new User(); - - // Get the domain name from the config table - string strDomain = ConfigDB.GetConfigString("ad_domain"); - - m_logg.Debug("Getting AD information for [" + strUserName + "] in domain [" + strDomain + "]"); - //DirectoryEntry de = new DirectoryEntry("LDAP://" + strDomain); - //de.AuthenticationType = AuthenticationTypes.Anonymous; - - DirectoryEntry de = new DirectoryEntry("LDAP://" + strDomain, strUserName, strPassword); - DirectorySearcher ds = new DirectorySearcher(de); - ds.SearchScope = SearchScope.Subtree; - ds.Filter = "(&(objectClass=user)(sAMAccountName=" + strFindUser + "))"; - - user.ID = Constants.NEWUSER; - user.AUTOMATION = false; - user.ISAUTHENTICATED = true; - user.USERNAME = strFindUser; - try - { - SearchResult sr = ds.FindOne(); - if (sr != null) - { - ResultPropertyCollection rpc = sr.Properties; - ResultPropertyValueCollection property; - - property = rpc[ConfigDB.GetConfigString("uidnumber_attribute")]; - if (property.Count > 0) - user.ID = Convert.ToInt32(property[0]); - property = rpc[ConfigDB.GetConfigString("firstname_attribute")]; - if (property.Count > 0) - user.FIRSTNAME = property[0].ToString(); - property = rpc[ConfigDB.GetConfigString("lastname_attribute")]; - if (property.Count > 0) - user.LASTNAME = property[0].ToString(); - property = rpc[ConfigDB.GetConfigString("email_attribute")]; - if (property.Count > 0) - user.EMAIL = property[0].ToString(); - property = rpc[ConfigDB.GetConfigString("homephone_attribute")]; - if (property.Count > 0) - user.HOMEPHONE = property[0].ToString(); - property = rpc[ConfigDB.GetConfigString("officephone_attribute")]; - if (property.Count > 0) - user.OFFICEPHONE = property[0].ToString(); - property = rpc[ConfigDB.GetConfigString("cellphone_attribute")]; - if (property.Count > 0) - user.CELLPHONE = property[0].ToString(); - } - } - catch - { - m_logg.Debug("Unable to find any AD information for [" + strFindUser + "] in domain [" + strDomain + "]"); - - } - finally - { - ds.Dispose(); - de.Dispose(); - } - - return user; - } - - } -} Modified: Website/App_Code/Assignments.cs =================================================================== --- Website/App_Code/Assignments.cs 2006-08-08 19:11:55 UTC (rev 282) +++ Website/App_Code/Assignments.cs 2006-08-08 20:56:12 UTC (rev 283) @@ -8,16 +8,13 @@ using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; -using TCDB.Statuses; -using TCDB.Common; -using TCDB.Users; -using log4net; -namespace TCDB.Assignments + +namespace TCDB.Code { public class AssignmentDB { - private static ILog m_logg = LogManager.GetLogger("TCDB.Assignments.AssignmentDB"); + private static Logger m_logg = new Logger("TCDB.Code.AssignmentDB"); public static List<Assignment> GetAssignmentList(string aType, int finished, int assignedID, string highPriority, Nullable<int> creatorID, Nullable<bool> active) { @@ -86,7 +83,7 @@ public class ActionItemDB : Page { - private static ILog m_logg = LogManager.GetLogger("TCDB.Assignments.ActionItemDB"); + private static Logger m_logg = new Logger("TCDB.Assignments.ActionItemDB"); public static bool SendNewActionItemMail(int id) { @@ -254,7 +251,7 @@ public class WorkOrderDB : Page { - private static ILog m_logg = LogManager.GetLogger("TCDB.Assignments.WorkOrderDB"); + private static Logger m_logg = new Logger("TCDB.Assignments.WorkOrderDB"); public static WorkOrder TCDB_GetWorkOrder(int id) { @@ -287,7 +284,7 @@ public class Assignment { - private static ILog m_logg = LogManager.GetLogger("TCDB.Assignments.Assignment"); + private static Logger m_logg = new Logger("TCDB.Assignments.Assignment"); private int p_id; private string p_name; @@ -473,7 +470,7 @@ public class ActionItem { - private static ILog m_logg = LogManager.GetLogger("TCDB.Assignments.ActionItem"); + private static Logger m_logg = new Logger("TCDB.Assignments.ActionItem"); private int p_id; private string p_name; @@ -548,7 +545,7 @@ public class WorkOrder { - private static ILog m_logg = LogManager.GetLogger("TCDB.Assignments.WorkOrder"); + private static Logger m_logg = new Logger("TCDB.Assignments.WorkOrder"); private int p_id; private string p_name; Modified: Website/App_Code/Common.cs =================================================================== --- Website/App_Code/Common.cs 2006-08-08 19:11:55 UTC (rev 282) +++ Website/App_Code/Common.cs 2006-08-08 20:56:12 UTC (rev 283) @@ -9,15 +9,129 @@ using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Collections.Generic; -using TCDB.Users; using log4net; -namespace TCDB.Common +namespace TCDB.Code { + public class Logger : System.Web.HttpApplication + { + private ILog m_logg = null; + private static HttpRequest m_request = null; + private static User m_user = null; + public Logger(string instance) + { + m_logg = LogManager.GetLogger(instance); + } + + public static void CreateLoggerDetails(User user, HttpRequest request) + { + m_user = user; + m_request = request; + } + + public void Fatal(string message) + { + if (m_logg.IsFatalEnabled) + m_logg.Fatal(Prefix() + message); + } + + public void Fatal(string message, Exception ex) + { + if (m_logg.IsFatalEnabled) + m_logg.Fatal(Prefix() + message, ex); + } + + public void Error(string message) + { + if (m_logg.IsErrorEnabled) + m_logg.Error(Prefix() + message); + } + + public void Error(string message, Exception ex) + { + if (m_logg.IsErrorEnabled) + m_logg.Error(Prefix() + message, ex); + } + + public void Warn(string message) + { + if (m_logg.IsWarnEnabled) + m_logg.Warn(Prefix() + message); + } + + public void Warn(string message, Exception ex) + { + if (m_logg.IsWarnEnabled) + m_logg.Warn(Prefix() + message, ex); + } + + public void Info(string message) + { + if (m_logg.IsInfoEnabled) + m_logg.Info(Prefix() + message); + } + + public void Info(string message, Exception ex) + { + if (m_logg.IsInfoEnabled) + m_logg.Info(Prefix() + message, ex); + } + + public void Debug(string message) + { + if (m_logg.IsDebugEnabled) + m_logg.Debug(Prefix() + message); + } + + public void Debug(string message, Exception ex) + { + if (m_logg.IsDebugEnabled) + m_logg.Debug(Prefix() + message, ex); + } + + private string Prefix() + { + string result = ""; + bool u = false; + bool hn = false; + bool ha = false; + + try { + if (m_user != null) u = true; + } + catch {} + + try { + if (m_request.UserHostName != null) hn = true; + } + catch {} + + try { + if (m_request.UserHostAddress != null) + { + if (hn && m_request.UserHostName != m_request.UserHostAddress) + ha = true; + } + } + catch {} + + if (u || hn || ha) result = "["; + if (u) result = result + m_user.ToString(); + if (u && (hn || ha)) result = result + "@"; + if (hn) result = result + m_request.UserHostName; + if (u && hn && ha) result = result + " ("; + if (ha) result = result + m_request.UserHostAddress; + if (u && hn && ha) result = result + ")"; + if (u || hn || ha) result = result + "] "; + + return result; + } + } + public class ConfigDB { - private static ILog m_logg = LogManager.GetLogger("TCDB.Common.ConfigDB"); + private static Logger m_logg = new Logger("TCDB.Code.ConfigDB"); public static Dictionary<String, List<Config>> GetAdminSettings() { @@ -310,7 +424,7 @@ // add group settings.Add("auth", group); - + // ------------------------------------------------ // email group // ------------------------------------------------ @@ -328,7 +442,7 @@ "email", "tc...@yo...main", "Email address that messages sent by TCDB should come from")); - + // smtp_server values = new Dictionary<String, String>(); group.Add(new Config("smtp_server", @@ -453,7 +567,7 @@ "newuser", "true", "Allow new users to register with the site")); - + // newuser_ai_name values = new Dictionary<String, String>(); group.Add(new Config("newuser_ai_name", @@ -741,8 +855,8 @@ "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", @@ -1148,7 +1262,7 @@ private String p_key; private String p_name; private String p_type; - private Dictionary<String,String> p_values; + private Dictionary<String, String> p_values; private String p_validation; private bool p_userSetting; private int p_order; @@ -1161,7 +1275,7 @@ KEY = ""; NAME = ""; TYPE = ""; - VALUES = new Dictionary<String,String>(); + VALUES = new Dictionary<String, String>(); VALIDATION = ""; USER_SETTING = false; ORDER = 1; @@ -1170,7 +1284,7 @@ DESCRIPTION = ""; } - public Config(String key, String name, String type, Dictionary<String,String> values, String validation, bool userSetting, int order, String group, String defaultValue, String description) + public Config(String key, String name, String type, Dictionary<String, String> values, String validation, bool userSetting, int order, String group, String defaultValue, String description) { KEY = key; NAME = name; @@ -1268,7 +1382,7 @@ public static int ASSIGNMENT_NEW = 3; public static string TCDB_VERSION = "1.0.0 Alpha 3"; - public static bool IS_DEV_ENV = false; + public static bool IS_DEV_ENV = true; public static string RIGHTS_ASSIGNPERMISSION = "assignPermission"; public static string RIGHTS_SITEADMIN = "siteAdmin"; @@ -1278,7 +1392,7 @@ public static class Help { - private static ILog m_logg = LogManager.GetLogger("TCDB.Common.Help"); + private static Logger m_logg = new Logger("TCDB.Common.Help"); //protected void SendMail(int type, int id) public static bool SendMail(string subject, string body, bool html, User to) Modified: Website/App_Code/GlobalClass.cs =================================================================== --- Website/App_Code/GlobalClass.cs 2006-08-08 19:11:55 UTC (rev 282) +++ Website/App_Code/GlobalClass.cs 2006-08-08 20:56:12 UTC (rev 283) @@ -4,17 +4,15 @@ using System.Configuration; using log4net; using log4net.Config; -using TCDB.Common; -using TCDB.Users; -namespace TCDB +namespace TCDB.Code { /// <summary> /// Summary description for GlobalClass /// </summary> public class GlobalClass : System.Web.HttpApplication { - public static ILog m_logg = LogManager.GetLogger("TCDB 2006"); + private static Logger m_logg = new Logger("TCDB.GlobalClass"); void Application_Start(object sender, EventArgs e) { @@ -43,7 +41,7 @@ throw new NullReferenceException("log4net configuration could not be completed. \nDo you have your app.config set up properly?", nfe); } - m_logg = LogManager.GetLogger("TCDB"); + m_logg = new Logger("TCDB.GlobalClass"); m_logg.Info("TCDB 2006 started"); // Logging levels @@ -76,12 +74,8 @@ if (User.Identity.IsAuthenticated) { Session["m_user"] = UserDB.GetUserInfo(User.Identity.Name); + m_logg.Debug("Loading information for user [" + Session["m_user"].ToString() + "]"); } } - - void Application_PreRequestHandlerExecute(object sender, EventArgs e) - { - - } } } Modified: Website/App_Code/InstallerClass.cs =================================================================== --- Website/App_Code/InstallerClass.cs 2006-08-08 19:11:55 UTC (rev 282) +++ Website/App_Code/InstallerClass.cs 2006-08-08 20:56:12 UTC (rev 283) @@ -60,6 +60,8 @@ } } /* + // TODO: make sure this sets the path of the log file properly, it must be a folder + * that the webserver can write to if (node.Name == "log4net") foreach (XmlNode childNode in node.ChildNodes) { Modified: Website/App_Code/Notes.cs =================================================================== --- Website/App_Code/Notes.cs 2006-08-08 19:11:55 UTC (rev 282) +++ Website/App_Code/Notes.cs 2006-08-08 20:56:12 UTC (rev 283) @@ -7,24 +7,22 @@ using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; -using TCDB.Users; -using TCDB.Common; -namespace TCDB_Notes +namespace TCDB.Code { /// <summary> /// Summary description for TCDB_Notes /// </summary> - public class TCDB_NoteDB : Page + public class NoteDB : Page { - public static TCDB_Note TCDB_GetNote(int id) + public static Note GetNote(int id) { tcdbDataSet ds = new tcdbDataSet(); tcdbDataSetTableAdapters.db_notesTableAdapter ta = new tcdbDataSetTableAdapters.db_notesTableAdapter(); ta.GetData(null, id); ta.Fill(ds.db_notes, null, id); - TCDB_Note note = null; + Note note = null; DataTableReader dr = ds.CreateDataReader(); if (dr.HasRows && dr.Read()) @@ -34,7 +32,7 @@ string noteField = Help.DB_StringParse(dr["noteField"]); int noteAuthor = Help.DB_IntParse(dr["noteAuthor"]); - note = new TCDB_Note(noteid, dateCreated, noteField, noteAuthor); + note = new Note(noteid, dateCreated, noteField, noteAuthor); } return note; @@ -42,14 +40,14 @@ } - public class TCDB_Note + public class Note { private int p_id; private DateTime p_dateCreated; private string p_noteField; private User p_noteAuthor; - public TCDB_Note(int id, DateTime dateCreated, string noteField, User noteAuthor) + public Note(int id, DateTime dateCreated, string noteField, User noteAuthor) { p_id = id; p_dateCreated = dateCreated; @@ -57,7 +55,7 @@ p_noteAuthor = noteAuthor; } - public TCDB_Note(int id, DateTime dateCreated, string noteField, int noteAuthor) + public Note(int id, DateTime dateCreated, string noteField, int noteAuthor) { p_id = id; p_dateCreated = dateCreated; @@ -65,7 +63,7 @@ p_noteAuthor = UserDB.GetUserInfo(noteAuthor); } - public TCDB_Note() + public Note() { p_id = 0; p_dateCreated = new DateTime(1,1,1); Copied: Website/App_Code/Plugins/AD_Authentication.cs (from rev 280, Website/App_Code/AD_Authentication.cs) =================================================================== --- Website/App_Code/Plugins/AD_Authentication.cs (rev 0) +++ Website/App_Code/Plugins/AD_Authentication.cs 2006-08-08 20:56:12 UTC (rev 283) @@ -0,0 +1,115 @@ +using System; +using System.Data; +using System.DirectoryServices; +using System.Configuration; +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 TCDB.Code; + + +namespace TCDB.Plugins.AD +{ + /// <summary> + /// Summary description for AD_Auth + /// </summary> + public static class AD_Auth + { + private static Logger m_logg = new Logger("TCDB.Plugins.AD.AD_Auth"); + + public static bool Authenticate(string strUserName, string strPassword) + { + bool result = false; + + // Get the domain name from the config table + string strDomain = ConfigDB.GetConfigString("ad_domain"); + + try + { + m_logg.Debug("Checking AD authentication for [" + strUserName + "] in domain [" + strDomain + "]"); + DirectoryEntry de = new DirectoryEntry("LDAP://" + strDomain, strUserName, strPassword); + DirectorySearcher ds = new DirectorySearcher(de); + ds.SearchScope = SearchScope.OneLevel; + SearchResult sr = ds.FindOne(); + m_logg.Info("User [" + strUserName + "] is authenticated in the domain [" + strDomain + "]"); + if (sr != null) result = true; + } + catch + { + m_logg.Warn("User [" + strUserName + "] could not authenticate to the domain [" + strDomain + "]"); + result = false; + } + + return result; + } + + public static User GetUserInfo(string strUserName, string strPassword) + { + return GetUserInfo(strUserName, strPassword, strUserName); + } + + public static User GetUserInfo(string strUserName, string strPassword, string strFindUser) + { + User user = new User(); + user.ID = Constants.NEWUSER; + user.AUTOMATION = false; + user.ISAUTHENTICATED = true; + user.USERNAME = strFindUser; + + string strDomain = ConfigDB.GetConfigString("ad_domain"); + m_logg.Debug("Retreived domain name [" + strDomain + "] from the database"); + + try + { + m_logg.Debug("Getting AD information for [" + strUserName + "] in domain [" + strDomain + "]"); + DirectoryEntry de = new DirectoryEntry("LDAP://" + strDomain, strUserName, strPassword); + DirectorySearcher ds = new DirectorySearcher(de); + ds.SearchScope = SearchScope.Subtree; + ds.Filter = "(&(objectClass=user)(sAMAccountName=" + strFindUser + "))"; + + SearchResult sr = ds.FindOne(); + if (sr != null) + { + ResultPropertyCollection rpc = sr.Properties; + ResultPropertyValueCollection property; + + property = rpc[ConfigDB.GetConfigString("uidnumber_attribute")]; + if (property.Count > 0) + user.ID = Convert.ToInt32(property[0]); + property = rpc[ConfigDB.GetConfigString("firstname_attribute")]; + if (property.Count > 0) + user.FIRSTNAME = property[0].ToString(); + property = rpc[ConfigDB.GetConfigString("lastname_attribute")]; + if (property.Count > 0) + user.LASTNAME = property[0].ToString(); + property = rpc[ConfigDB.GetConfigString("email_attribute")]; + if (property.Count > 0) + user.EMAIL = property[0].ToString(); + property = rpc[ConfigDB.GetConfigString("homephone_attribute")]; + if (property.Count > 0) + user.HOMEPHONE = property[0].ToString(); + property = rpc[ConfigDB.GetConfigString("officephone_attribute")]; + if (property.Count > 0) + user.OFFICEPHONE = property[0].ToString(); + property = rpc[ConfigDB.GetConfigString("cellphone_attribute")]; + if (property.Count > 0) + user.CELLPHONE = property[0].ToString(); + + ds.Dispose(); + de.Dispose(); + } + } + catch + { + m_logg.Debug("Unable to find any AD information for [" + strFindUser + "] in domain [" + strDomain + "]"); + } + + m_logg.Debug("Returning user object for user [" + user.ToString() + "]"); + return user; + } + + } +} Modified: Website/App_Code/Products.cs =================================================================== --- Website/App_Code/Products.cs 2006-08-08 19:11:55 UTC (rev 282) +++ Website/App_Code/Products.cs 2006-08-08 20:56:12 UTC (rev 283) @@ -8,10 +8,8 @@ using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; -using TCDB.Users; -using TCDB.Common; -namespace TCDB.Products +namespace TCDB.Code { /// <summary> /// Summary description for TCDB.Products Modified: Website/App_Code/Right.cs =================================================================== --- Website/App_Code/Right.cs 2006-08-08 19:11:55 UTC (rev 282) +++ Website/App_Code/Right.cs 2006-08-08 20:56:12 UTC (rev 283) @@ -14,13 +14,11 @@ using System.Collections; using System.Collections.Generic; using System.Collections.Specialized; -using TCDB.Assignments; -using TCDB.Common; -using AD_Auth; +using TCDB.Plugins.AD; using System.Web.SessionState; -using log4net; -namespace TCDB.Rights + +namespace TCDB.Code { /// <summary> /// A class containing database interactions for users in the TCDB System @@ -28,7 +26,7 @@ /// </summary> public class RightDB : Page { - private static ILog m_logg = LogManager.GetLogger("TCDB.Rights.RightDB"); + private static Logger m_logg = new Logger("TCDB.Code.RightDB"); public static Right GetRightInfo(String code) { @@ -208,7 +206,7 @@ /// </summary> public class Right { - private static ILog m_logg = LogManager.GetLogger("TCDB.Rights.Right"); + private static Logger m_logg = new Logger("TCDB.Rights.Right"); private int p_id; private string p_name; @@ -289,7 +287,7 @@ /// </summary> public class Role { - private static ILog m_logg = LogManager.GetLogger("TCDB.Rights.Role"); + private static Logger m_logg = new Logger("TCDB.Rights.Role"); private int p_id; private string p_name; Modified: Website/App_Code/SiteMaster.cs =================================================================== --- Website/App_Code/SiteMaster.cs 2006-08-08 19:11:55 UTC (rev 282) +++ Website/App_Code/SiteMaster.cs 2006-08-08 20:56:12 UTC (rev 283) @@ -8,92 +8,98 @@ using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Web.Configuration; -using TCDB.Users; -using TCDB.Common; -using log4net; +using TCDB.Code; -/// <summary> -/// Summary description for SiteMaster -/// </summary> -public class SiteMaster : System.Web.UI.MasterPage +namespace TCDB { - protected User m_user; - protected DateTime m_startTime = new DateTime(); - protected static ILog m_logg = LogManager.GetLogger("TCDB.Master"); + /// <summary> + /// Summary description for SiteMaster + /// </summary> + public class SiteMaster : System.Web.UI.MasterPage + { + protected User m_user = null; + protected DateTime m_startTime = new DateTime(); + protected HttpRequest m_request = null; + protected static Logger m_logg = new Logger("TCDB.SiteMaster"); - protected override void OnInit(EventArgs e) - { - if (Page.User.Identity.IsAuthenticated) + protected override void OnInit(EventArgs e) { - m_user = LoadSessionUser(); - m_startTime = LoadStartTime(); + if (Page.User.Identity.IsAuthenticated) + { + m_logg.Debug("[" + Request.UserHostName + " (" + Request.UserHostAddress + ")] " + "Processing authenticated user startup"); + m_request = LoadRequest(); + m_user = LoadSessionUser(); + m_startTime = LoadStartTime(); + } + } - //TimeSpan d = DateTime.Now - m_startTime; - //d.Milliseconds; - }/* - else + public HttpRequest LoadRequest() { - PagesSection ps = (PagesSection)WebConfigurationManager.OpenWebConfiguration("").GetSection("system.web/pages"); - ps.ValidateRequest = false; - }*/ - } + m_logg.Debug("[" + Request.UserHostName + " (" + Request.UserHostAddress + ")] " + "Loading the request details"); + if (m_request != null) + { + m_logg.Debug("Returning an existing request details object"); + return m_request; + } - public DateTime LoadStartTime() - { - if (m_startTime != new DateTime()) - { - return m_startTime; + m_logg.Debug("[" + Request.UserHostName + " (" + Request.UserHostAddress + ")] " + "Returning the current request details"); + return Request; } - return DateTime.Now; - - } + public DateTime LoadStartTime() + { + m_logg.Debug("Loading the request start time"); + if (m_startTime != new DateTime()) + { + m_logg.Debug("Returning an existing time"); + return m_startTime; + } - public User LoadSessionUser() - { - if (m_user != null && m_user.ISAUTHENTICATED) - { - return m_user; + m_logg.Debug("Returning the current time"); + return DateTime.Now; } - m_logg.Debug("Entering the SiteUserControl LoadUser"); - - try + public User LoadSessionUser() { - m_logg.Debug("Pulling the userID from the session data"); - //id = (int)Session["m_user"]; - m_user = (User)Session["m_user"]; - //m_logg.Debug("Found userID [" + id.ToString() + "]"); - m_logg.Debug("Found user [" + m_user.ToString() + "]"); - } - catch - { - m_logg.Debug("Unable to find user object in session data, using the anonymous user instead"); - //id = Constants.ANONYMOUSUSERID; - m_user = UserDB.GetUserInfo(Constants.ANONYMOUSUSERID); - } + m_logg.Debug("Loading the session user"); + if (m_user != null && m_user.ISAUTHENTICATED) + { + m_logg.Debug("Returning an existing user [" + m_user.ToString() + "]"); + return m_user; + } - //m_logg.Debug("Setting up a user object based on userID [" + id.ToString() + "]"); - //m_user = UserDB.GetUserInfo(id); - m_logg.Debug("Got information for user [" + m_user.ToString() + "]"); + try + { + m_logg.Debug("Pulling the user from the session data"); + m_user = (User)Session["m_user"]; + } + catch + { + m_logg.Debug("Error finding user object in session data, using the anonymous user instead"); + m_user = UserDB.GetUserInfo(Constants.ANONYMOUSUSERID); + } - if (m_user.ID != Constants.ANONYMOUSUSERID) - { - m_logg.Debug("User [" + m_user.ToString() + "] is logged in and active, marking as authenticated"); - m_user.ISAUTHENTICATED = true; + if (m_user == null) + { + m_logg.Debug("Unable to find user object in session data, using the anonymous user instead"); + m_user = UserDB.GetUserInfo(Constants.ANONYMOUSUSERID); + } + + m_logg.Debug("Got information for user [" + m_user.ToString() + "]"); + + if (m_user.ID != Constants.ANONYMOUSUSERID) + { + m_logg.Debug("User [" + m_user.ToString() + "] is logged in and active, marking as authenticated"); + m_user.ISAUTHENTICATED = true; + } + else + { + m_logg.Debug("User [" + m_user.ToString() + "] is anonymous, marking as guest"); + m_user.ISAUTHENTICATED = false; + } + + return m_user; } - else - { - m_logg.Debug("User [" + m_user.ToString() + "] is anonymous, marking as guest"); - m_user.ISAUTHENTICATED = false; - } - /* try - { - User g_user; - g_user = (User)Session["g_user"]; - } - catch { }*/ - return m_user; } -} +} \ No newline at end of file Modified: Website/App_Code/SiteUserControl.cs =================================================================== --- Website/App_Code/SiteUserControl.cs 2006-08-08 19:11:55 UTC (rev 282) +++ Website/App_Code/SiteUserControl.cs 2006-08-08 20:56:12 UTC (rev 283) @@ -7,36 +7,62 @@ using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; -using TCDB.Users; -using TCDB.Common; -using log4net; +using TCDB.Code; -/// <summary> -/// Summary description for SiteUserControl -/// </summary> -public class SiteUserControl : System.Web.UI.UserControl + +namespace TCDB { - protected static Nullable<bool> active = true; - protected static User m_user = null; - protected static DateTime m_startTime = DateTime.Now; - private static ILog m_logg = LogManager.GetLogger("TCDB.Master"); - - protected override void OnInit(EventArgs e) + /// <summary> + /// Summary description for SiteUserControl + /// </summary> + public class SiteUserControl : System.Web.UI.UserControl { - base.OnInit(e); + protected static Nullable<bool> active = true; + protected static User m_user = null; + protected static DateTime m_startTime = DateTime.Now; + protected static HttpRequest m_request = null; + private static Logger m_logg = new Logger("TCDB.SiteUserControl"); - m_user = ((SiteMaster)(this.Page.Master)).LoadSessionUser(); - m_startTime = ((SiteMaster)(this.Page.Master)).LoadStartTime(); + protected override void OnInit(EventArgs e) + { + base.OnInit(e); - if (m_user.HasRight("dev_access")) - { - active = null; - Session["active"] = null; + Logger.CreateLoggerDetails(m_user, Request); + + try + { + m_logg.Debug("Loading Session user information"); + m_user = ((SiteMaster)(this.Page.Master)).LoadSessionUser(); + } + catch (Exception ex) + { + m_logg.Debug("Unable to load session user information", ex); + } + + Logger.CreateLoggerDetails(m_user, Request); + + try + { + m_logg.Debug("Loading request start time"); + m_startTime = ((SiteMaster)(this.Page.Master)).LoadStartTime(); + } + catch (Exception ex) + { + m_logg.Debug("Unable to load request start time", ex); + } + + if (m_user.HasRight("dev_access")) + { + m_logg.Debug("User has developer access right, setting 'active' to 'null'"); + active = null; + Session["active"] = null; + } + else + { + m_logg.Debug("User does not have developer access right, setting 'active' to 'true'"); + active = true; + Session["active"] = true; + } } - else - { - active = true; - Session["active"] = true; - } } -} +} \ No newline at end of file Modified: Website/App_Code/Statuses.cs =================================================================== --- Website/App_Code/Statuses.cs 2006-08-08 19:11:55 UTC (rev 282) +++ Website/App_Code/Statuses.cs 2006-08-08 20:56:12 UTC (rev 283) @@ -7,9 +7,8 @@ using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; -using TCDB.Common; -namespace TCDB.Statuses +namespace TCDB.Code { public class StatusDB : Page { Modified: Website/App_Code/Users.cs =================================================================== --- Website/App_Code/Users.cs 2006-08-08 19:11:55 UTC (rev 282) +++ Website/App_Code/Users.cs 2006-08-08 20:56:12 UTC (rev 283) @@ -14,15 +14,11 @@ 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; -using TCDB.Rights; -using TCDB.Products; +using TCDB.Plugins.AD; -namespace TCDB.Users + +namespace TCDB.Code { /// <summary> /// A class containing database interactions for users in the TCDB System @@ -30,7 +26,7 @@ /// </summary> public class UserDB : Page { - private static ILog m_logg = LogManager.GetLogger("TCDB.Users.UserDB"); + private static Logger m_logg = new Logger("TCDB.Code.UserDB"); /// <summary> /// Attemps to authenticate a user by checking for the user in the database. @@ -50,9 +46,9 @@ { // TODO: Add logic here to determine and use the appropriate // authentication method based on configuration data - + // Using AD authentication - if (!AD_Authentication.AD_Authenticate(strUserName, strPassword)) + if (!AD_Auth.Authenticate(strUserName, strPassword)) { // We can't authenticate, so return the guest user return new User(); @@ -68,7 +64,7 @@ } // Using AD authentication - user = AD_Authentication.AD_GetUserInfo(strUserName, strPassword); + user = AD_Auth.GetUserInfo(strUserName, strPassword); user.ISNEW = true; return user; } @@ -261,7 +257,7 @@ /// </summary> public class User { - private static ILog m_logg = LogManager.GetLogger("TCDB.Users.User"); + private static Logger m_logg = new Logger("TCDB.Users.User"); private int p_id; private string p_username; Modified: Website/App_Code/Versions.cs =================================================================== --- Website/App_Code/Versions.cs 2006-08-08 19:11:55 UTC (rev 282) +++ Website/App_Code/Versions.cs 2006-08-08 20:56:12 UTC (rev 283) @@ -8,11 +8,8 @@ using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; -using TCDB.Users; -using TCDB.Products; -using TCDB.Common; -namespace TCDB.Versions +namespace TCDB.Code { /// <summary> /// Summary description for TCDB.Versions Modified: Website/App_Themes/Python/Python.skin =================================================================== --- Website/App_Themes/Python/Python.skin 2006-08-08 19:11:55 UTC (rev 282) +++ Website/App_Themes/Python/Python.skin 2006-08-08 20:56:12 UTC (rev 283) @@ -23,6 +23,7 @@ <asp:GridView runat="server" SkinId="assignments" Width="100%" /> <asp:Image runat="server" SkinId="newUserImage" ImageUrl="Images/user_add_48.png" /> <asp:Image runat="server" SkinId="userRoleImage" ImageUrl="Images/user_role_48.png" /> +<asp:Image runat="server" SkinId="newProductImage" ImageUrl="Images/product_add_48.png" /> <asp:Image runat="server" SkinId="priority_high_small" ImageUrl="Images/priority_high_small.png" /> <asp:Image runat="server" SkinId="priority_high_large" ImageUrl="Images/priority_high_large.png" /> <asp:Image runat="server" SkinId="priority_normal_small" ImageUrl="" /> Modified: Website/Global.asax =================================================================== --- Website/Global.asax 2006-08-08 19:11:55 UTC (rev 282) +++ Website/Global.asax 2006-08-08 20:56:12 UTC (rev 283) @@ -1 +1 @@ -<%@ Application Language="C#" Inherits="TCDB.GlobalClass" %> \ No newline at end of file +<%@ Application Language="C#" Inherits="TCDB.Code.GlobalClass" %> \ No newline at end of file Modified: Website/Includes/ActionItems.ascx =================================================================== --- Website/Includes/ActionItems.ascx 2006-08-08 19:11:55 UTC (rev 282) +++ Website/Includes/ActionItems.ascx 2006-08-08 20:56:12 UTC (rev 283) @@ -1,4 +1,4 @@ -<%@ Control Language="C#" AutoEventWireup="true" CodeFile="ActionItems.ascx.cs" Inherits="ActionItems" %> +<%@ Control Language="C#" AutoEventWireup="true" CodeFile="ActionItems.ascx.cs" Inherits="TCDB.ActionItems" %> <%@ Register Assembly="eWorld.UI, Version=2.0.0.2148, Culture=neutral, PublicKeyToken=24d65337282035f2" Namespace="eWorld.UI" TagPrefix="ew" %> <%@ Register Assembly="FreeTextBox" Namespace="FreeTextBoxControls" TagPrefix="FTB" %> Modified: Website/Includes/ActionItems.ascx.cs =================================================================== --- Website/Includes/ActionItems.ascx.cs 2006-08-08 19:11:55 UTC (rev 282) +++ Website/Includes/ActionItems.ascx.cs 2006-08-08 20:56:12 UTC (rev 283) @@ -11,479 +11,480 @@ using System.Collections.Generic; using System.Data.SqlClient; using System.Net.Mail; -using TCDB.Assignments; -using TCDB.Common; -using TCDB.Users; -using TCDB.Products; +using TCDB.Code; using eWorld.UI; -using log4net; -public partial class ActionItems : SiteUserControl + +namespace TCDB { - private static ILog m_logg = LogManager.GetLogger("Page:ActionItems"); - private ActionItem ai; - private String item_id = HttpContext.Current.Request.QueryString[Constants.CODE_AI]; - private int productID = Convert.ToInt32(HttpContext.Current.Request.QueryString[Constants.CODE_PRODUCT]); - private String mode = HttpContext.Current.Request.QueryString["mode"]; - - protected void Page_Load(object sender, EventArgs e) + public partial class ActionItems : SiteUserControl { - if (productID == 0) - productID = Constants.PRODUCT_SITEID; + private static Logger m_logg = new Logger("TCDB.ActionItems"); + private ActionItem ai; + private String item_id = HttpContext.Current.Request.QueryString[Constants.CODE_AI]; + private int productID = Convert.ToInt32(HttpContext.Current.Request.QueryString[Constants.CODE_PRODUCT]); + private String mode = HttpContext.Current.Request.QueryString["mode"]; - m_logg.Debug("Loading page ActionItems"); - if (item_id == null) + protected void Page_Load(object sender, EventArgs e) { - m_logg.Debug("Unable to locate action item ID in query string"); - if (mode != "new") + if (productID == 0) + productID = Constants.PRODUCT_SITEID; + + m_logg.Debug("Loading page ActionItems"); + if (item_id == null) { - m_logg.Debug("Mode not set, redirecting to Assignments page"); - Response.Redirect("Assignments.aspx?" + Constants.CODE_USER + "=" + m_user.ID); + m_logg.Debug("Unable to locate action item ID in query string"); + if (mode != "new") + { + m_logg.Debug("Mode not set, redirecting to Assignments page"); + Response.Redirect("Assignments.aspx?" + Constants.CODE_USER + "=" + m_user.ID); + } } - } - else - { - ai = ActionItemDB.GetActionItem(Convert.ToInt32(item_id),active); + else + { + ai = ActionItemDB.GetActionItem(Convert.ToInt32(item_id), active); - 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)))) - Response.Redirect("~/Assignments.aspx?"+Constants.CODE_USER+"="+m_user.ID); - } + 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)))) + Response.Redirect("~/Assignments.aspx?" + Constants.CODE_USER + "=" + m_user.ID); + } - Session.Add("item_id", item_id); - Session.Add("productID", productID); - Session.Add("tableName", "tcdb_actionItem"); + Session.Add("item_id", item_id); + Session.Add("productID", productID); + Session.Add("tableName", "tcdb_actionItem"); - if (mode == "new" && (m_user.HasRight("create_my_ai") || m_user.HasRight("create_other_ai"))) - ActionItemsView.ChangeMode(FormViewMode.Insert); - } - - protected void updateStatus() - { - RadioButtonList percentList = (RadioButtonList)ActionItemsView.FindControl("percentList"); - DropDownList statusList = (DropDownList)ActionItemsView.FindControl("statusList"); - Object dateFinished = ActionItemsView.FindControl("dateFinished"); - Nullable<DateTime> date; - int id = Convert.ToInt32(item_id); - - if (ActionItemsView.CurrentMode == FormViewMode.ReadOnly) - { - String finished = ((Label)dateFinished).Text; - - if (finished == "") - date = null; - else - date = Convert.ToDateTime(finished); + if (mode == "new" && (m_user.HasRight("create_my_ai") || m_user.HasRight("create_other_ai"))) + ActionItemsView.ChangeMode(FormViewMode.Insert); } - else - { - date = ((CalendarPopup)dateFinished).SelectedValue; - } - // Update Database - tcdbDataSetTableAdapters.db_actionItemsTableAdapter aiAdapter = new tcdbDataSetTableAdapters.db_actionItemsTableAdapter(); - aiAdapter.upd_actionItemStatus(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(id, m_user); - else - ActionItemDB.SendCompletedActionItemMail(id, m_user); - Response.Redirect(Request.RawUrl); - - } - protected void dateFinished_DateChanged(object sender, EventArgs e) - { - if (ActionItemsView.CurrentMode != FormViewMode.Insert) + protected void updateStatus() { RadioButtonList percentList = (RadioButtonList)ActionItemsView.FindControl("percentList"); DropDownList statusList = (DropDownList)ActionItemsView.FindControl("statusList"); - CalendarPopup dateFinished = (CalendarPopup)sender; + Object dateFinished = ActionItemsView.FindControl("dateFinished"); + Nullable<DateTime> date; + int id = Convert.ToInt32(item_id); - if (dateFinished.SelectedValue != null) + if (ActionItemsView.CurrentMode == FormViewMode.ReadOnly) { - dateFinished.ClearDateText = "Clear Date"; - statusList.SelectedValue = statusList.Items.FindByText("Completed").Value; - percentList.SelectedValue = "100"; + String finished = ((Label)dateFinished).Text; + + if (finished == "") + date = null; + else + date = Convert.ToDateTime(finished); } else { - dateFinished.ClearDateText = ""; - if (statusList.SelectedItem.Text == "Completed") - statusList.SelectedValue = statusList.Items.FindByText("Active").Value; - if (percentList.SelectedValue == "100") - percentList.SelectedValue = "75"; + date = ((CalendarPopup)dateFinished).SelectedValue; } - if (ActionItemsView.CurrentMode == FormViewMode.ReadOnly) - updateStatus(); - } + // Update Database + tcdbDataSetTableAdapters.db_actionItemsTableAdapter aiAdapter = new tcdbDataSetTableAdapters.db_actionItemsTableAdapter(); + aiAdapter.upd_actionItemStatus(id, Convert.ToInt32(statusList.SelectedValue), Convert.ToInt32(percentList.SelectedValue), date); - // Check for bad state - if (ActionItemsView.CurrentMode == FormViewMode.Edit) - { - FreeTextBoxControls.FreeTextBox ftb = (FreeTextBoxControls.FreeTextBox)ActionItemsView.FindControl("descriptionBox"); - if (ftb.Text == "") - ActionItemsView.DataBind(); + m_logg.Debug("Action Item updated, preparing to send email"); + if (date == null) + ActionItemDB.SendUpdatedActionItemMail(id, m_user); + else + ActionItemDB.SendCompletedActionItemMail(id, m_user); + Response.Redirect(Request.RawUrl); + } - } - protected void percentChanged(object sender, EventArgs e) - { - if (ActionItemsView.CurrentMode != FormViewMode.Insert) + protected void dateFinished_DateChanged(object sender, EventArgs e) { - RadioButtonList percentList = (RadioButtonList)sender; - DropDownList statusList = (DropDownList)ActionItemsView.FindControl("statusList"); - - if (percentList.SelectedValue == "100") + if (ActionItemsView.CurrentMode != FormViewMode.Insert) { - statusList.SelectedValue = statusList.Items.FindByText("Completed").Value; + RadioButtonList percentList = (RadioButtonList)ActionItemsView.FindControl("percentList"); + DropDownList statusList = (DropDownList)ActionItemsView.FindControl("statusList"); + CalendarPopup dateFinished = (CalendarPopup)sender; - // Set finished Date - if (ActionItemsView.CurrentMode == FormViewMode.ReadOnly) + if (dateFinished.SelectedValue != null) { - Label dateFinished = (Label)ActionItemsView.FindControl("dateFinished"); - - if (dateFinished.Text == "") - dateFinished.Text = DateTime.Today.ToShortDateString(); + dateFinished.ClearDateText = "Clear Date"; + statusList.SelectedValue = statusList.Items.FindByText("Completed").Value; + percentList.SelectedValue = "100"; } else { - CalendarPopup dateFinished = (CalendarPopup)ActionItemsView.FindControl("dateFinished"); - - if (dateFinished.SelectedValue == null) - dateFinished.SelectedValue = DateTime.Today; - dateFinished.ClearDateText = "Clear Date"; + dateFinished.ClearDateText = ""; + if (statusList.SelectedItem.Text == "Completed") + statusList.SelectedValue = statusList.Items.FindByText("Active").Value; + if (percentList.SelectedValue == "100") + percentList.SelectedValue = "75"; } - } - else { - if (percentList.SelectedValue == "0") - statusList.SelectedValue = statusList.Items.FindByText("Not Started").Value; - else if (percentList.SelectedValue == "25" || percentList.SelectedValue == "75" || percentList.SelectedValue == "50") - statusList.SelectedValue = statusList.Items.FindByText("Active").Value; - // Unset finished Date if (ActionItemsView.CurrentMode == FormViewMode.ReadOnly) - { - Label dateFinished = (Label)ActionItemsView.FindControl("dateFinished"); - dateFinished.Text = ""; - } - else - { - CalendarPopup dateFinished = (CalendarPopup)ActionItemsView.FindControl("dateFinished"); - dateFinished.Clear(); - dateFinished.PostedDate = ""; - dateFinished.ClearDateText = ""; - } + updateStatus(); } - if (ActionItemsView.CurrentMode == FormViewMode.ReadOnly) - updateStatus(); - } - // Check for bad state - if (ActionItemsView.CurrentMode == FormViewMode.Edit) - { - FreeTextBoxControls.FreeTextBox ftb = (FreeTextBoxControls.FreeTextBox)ActionItemsView.FindControl("descriptionBox"); - if (ftb.Text == "") - ActionItemsView.DataBind(); + // Check for bad state + if (ActionItemsView.CurrentMode == FormViewMode.Edit) + { + FreeTextBoxControls.FreeTextBox ftb = (FreeTextBoxControls.FreeTextBox)ActionItemsView.FindControl("descriptionBox"); + if (ftb.Text == "") + ActionItemsView.DataBind(); + } } - } - protected void statusChanged(object sender, EventArgs e) - { - if (ActionItemsView.CurrentMode != FormViewMode.Insert) + protected void percentChanged(object sender, EventArgs e) { - RadioButtonList percentList = (RadioButtonList)ActionItemsView.FindControl("percentList"); - DropDownList statusList = (DropDownList)sender; - - if (statusList.SelectedItem.Text == "Completed") + if (ActionItemsView.CurrentMode != FormViewMode.Insert) { - percentList.SelectedValue = "100"; + RadioButtonList percentList = (RadioButtonList)sender; + DropDownList statusList = (DropDownList)ActionItemsView.FindControl("statusList"); - // Set finished Date - if (ActionItemsView.CurrentMode == FormViewMode.ReadOnly) + if (percentList.SelectedValue == "100") { - Label dateFinished = (Label)ActionItemsView.FindControl("dateFinished"); + statusList.SelectedValue = statusList.Items.FindByText("Completed").Value; - dateFinished.Text = DateTime.Today.ToShortDateString(); + // Set finished Date + if (ActionItemsView.CurrentMode == FormViewMode.ReadOnly) + { + Label dateFinished = (Label)ActionItemsView.FindControl("dateFinished"); + + if (dateFinished.Text == "") + dateFinished.Text = DateTime.Today.ToShortDateString(); + } + else + { + CalendarPopup dateFinished = (CalendarPopup)ActionItemsView.FindControl("dateFinished"); + + if (dateFinished.SelectedValue == null) + dateFinished.SelectedValue = DateTime.Today; + dateFinished.ClearDateText = "Clear Date"; + } } else { - CalendarPopup dateFinished = (CalendarPopup)ActionItemsView.FindControl("dateFinished"); + if (percentList.SelectedValue == "0") + statusList.SelectedValue = statusList.Items.FindByText("Not Started").Value; + else if (percentList.SelectedValue == "25" || percentList.SelectedValue == "75" || percentList.SelectedValue == "50") + statusList.SelectedValue = statusList.Items.FindByText("Active").Value; - dateFinished.SelectedValue = DateTime.Today; - dateFinished.ClearDateText = "Clear Date"; + // Unset finished Date + if (ActionItemsView.CurrentMode == FormViewMode.ReadOnly) + { + Label dateFinished = (Label)ActionItemsView.FindControl("dateFinished"); + dateFinished.Text = ""; + } + else + { + ... [truncated message content] |
From: <ro...@us...> - 2006-08-08 19:12:13
|
Revision: 282 Author: rouquin Date: 2006-08-08 12:11:55 -0700 (Tue, 08 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=282&view=rev Log Message: ----------- Fixed some more bugs. Remove delete button if active box is available. Product page schema update. Modified Paths: -------------- Website/Includes/ActionItems.ascx Website/Includes/ActionItems.ascx.cs Website/Includes/Products.ascx Website/Includes/Products.ascx.cs Website/Includes/Rights.ascx Website/Includes/Rights.ascx.cs Website/Includes/RoleAdmin.ascx.cs Website/Includes/Roles.ascx.cs Modified: Website/Includes/ActionItems.ascx =================================================================== --- Website/Includes/ActionItems.ascx 2006-08-08 18:39:41 UTC (rev 281) +++ Website/Includes/ActionItems.ascx 2006-08-08 19:11:55 UTC (rev 282) @@ -70,8 +70,8 @@ <asp:Label ID="nameLbl" runat="server" Text='<%# Eval("name") %>' ToolTip='<%# Eval("name") %>'></asp:Label></h2> </div> <div class="bottom"> - <asp:Label ID="tpLbl" runat="server" Visible="false">Test Pass:</asp:Label><asp:Label ID="testPassLbl" - runat="server" Text='<%# Eval("testPass") %>' Visible="false"></asp:Label> + <asp:Label ID="tpLbl" runat="server" Visible="false">Test Pass:</asp:Label><asp:Label + ID="testPassLbl" runat="server" Text='<%# Eval("testPass") %>' Visible="false"></asp:Label> </div> </div> <div class="right"> @@ -104,8 +104,9 @@ <div class="left"> <div class="bottom"> <asp:LinkButton ID="NewButton" runat="server" CausesValidation="False" CommandName="New" - Text="New" OnInit="NewButton_Init" /> | <asp:LinkButton ID="EditButton" - runat="server" CausesValidation="False" CommandName="Edit" Text="Edit" OnInit="EditButton_Init" /> | <asp:LinkButton + Text="New" OnInit="NewButton_Init" /><asp:Label ID="newLbl" runat="server"> | </asp:Label><asp:LinkButton + ID="EditButton" runat="server" CausesValidation="False" CommandName="Edit" Text="Edit" + OnInit="EditButton_Init" /><asp:Label ID="deleteLbl" runat="server"> | </asp:Label><asp:LinkButton ID="DeleteButton" runat="server" CausesValidation="False" CommandName="deleteItem" Text="Delete" OnCommand="deleteItem" OnInit="DeleteButton_Init" /> </div> @@ -255,7 +256,8 @@ <asp:Label ID="tpLbl" runat="server" Visible="false"> Test Pass:</asp:Label> <asp:DropDownList ID="testPassList" runat="server" AppendDataBoundItems="True" DataSourceID="TestPassDataSource" - DataTextField="name" DataValueField="testPassID" SelectedValue='<%# Bind("testPassID") %>' Visible="false"> + DataTextField="name" DataValueField="testPassID" SelectedValue='<%# Bind("testPassID") %>' + Visible="false"> <asp:ListItem Value="0" Selected="True"><none></asp:ListItem> </asp:DropDownList></div> </div> Modified: Website/Includes/ActionItems.ascx.cs =================================================================== --- Website/Includes/ActionItems.ascx.cs 2006-08-08 18:39:41 UTC (rev 281) +++ Website/Includes/ActionItems.ascx.cs 2006-08-08 19:11:55 UTC (rev 282) @@ -389,10 +389,14 @@ protected void NewButton_Init(object sender, EventArgs e) { LinkButton newBtn = (LinkButton)sender; + Label newLbl = (Label)ActionItemsView.FindControl("newLbl"); - if (ai != null && + if (ai != null && !m_user.HasRight("create_my_ai", Constants.PRODUCT_ANYID) && !m_user.HasRight("create_other_ai", Constants.PRODUCT_ANYID)) + { newBtn.Visible = false; + newLbl.Visible = false; + } } protected void EditButton_Init(object sender, EventArgs e) { @@ -407,12 +411,17 @@ protected void DeleteButton_Init(object sender, EventArgs e) { LinkButton deleteBtn = (LinkButton)sender; + Label deleteLbl = (Label)ActionItemsView.FindControl("deleteLbl"); + Label deletedLbl = (Label)ActionItemsView.FindControl("deletedLbl"); - if (ai != null && + if (deletedLbl.Visible || (ai != null && !m_user.HasRight("delete_other_ai", productID) && !(ai.ASSIGNED.ID == m_user.ID && m_user.HasRight("delete_my_ai", productID)) && - !(ai.CREATOR.ID == m_user.ID && m_user.HasRight("delete_created_ai", productID))) + !(ai.CREATOR.ID == m_user.ID && m_user.HasRight("delete_created_ai", productID)))) + { deleteBtn.Visible = false; + deleteLbl.Visible = false; + } } protected void assignedTo_Init(object sender, EventArgs e) { Modified: Website/Includes/Products.ascx =================================================================== --- Website/Includes/Products.ascx 2006-08-08 18:39:41 UTC (rev 281) +++ Website/Includes/Products.ascx 2006-08-08 19:11:55 UTC (rev 282) @@ -211,7 +211,7 @@ </FooterTemplate> </asp:FormView> <asp:ObjectDataSource ID="ProductData" runat="server" InsertMethod="Insert" SelectMethod="GetData" - TypeName="tcdbDataSetTableAdapters.db_productsTableAdapter" UpdateMethod="Update"> + TypeName="tcdbDataSetTableAdapters.db_productsTableAdapter" UpdateMethod="Update" OldValuesParameterFormatString="original_{0}"> <UpdateParameters> <asp:Parameter Name="productID" Type="Int32" /> <asp:Parameter Name="name" Type="String" /> @@ -227,6 +227,7 @@ <SelectParameters> <asp:SessionParameter DefaultValue="" Name="active" SessionField="active" Type="Boolean" /> <asp:SessionParameter Name="productID" SessionField="productID" Type="Int32" /> + <asp:Parameter Name="productName" Type="String" /> </SelectParameters> <InsertParameters> <asp:Parameter Name="name" Type="String" /> Modified: Website/Includes/Products.ascx.cs =================================================================== --- Website/Includes/Products.ascx.cs 2006-08-08 18:39:41 UTC (rev 281) +++ Website/Includes/Products.ascx.cs 2006-08-08 19:11:55 UTC (rev 282) @@ -182,8 +182,9 @@ { LinkButton deleteBtn = (LinkButton)sender; Label deleteLbl = (Label)ProductsView.FindControl("deleteLbl"); + Label activeLbl = (Label)ProductsView.FindControl("activeLbl"); - if (mode == "read" || (!m_user.HasRight("delete_product",productID))) + if (mode == "read" || activeLbl.Visible || (!m_user.HasRight("delete_product",productID))) { deleteBtn.Visible = false; deleteLbl.Visible = false; Modified: Website/Includes/Rights.ascx =================================================================== --- Website/Includes/Rights.ascx 2006-08-08 18:39:41 UTC (rev 281) +++ Website/Includes/Rights.ascx 2006-08-08 19:11:55 UTC (rev 282) @@ -59,9 +59,7 @@ <td align="left" colspan="6"> <asp:LinkButton ID="New" runat="server" CommandName="new" OnInit="New_Init">New</asp:LinkButton><asp:Label ID="newLbl" runat="server" Text="Label"> | </asp:Label><asp:LinkButton - ID="Edit" runat="server" CommandName="edit">Edit</asp:LinkButton><asp:Label ID="deleteLbl" - runat="server" Text="Label"> | </asp:Label><asp:LinkButton ID="Delete" - runat="server" CommandName="deleteCmd" OnCommand="deleteCmd">Delete</asp:LinkButton></td> + ID="Edit" runat="server" CommandName="edit">Edit</asp:LinkButton></td> </tr> </table> </div> @@ -105,22 +103,6 @@ </td> </tr> <tr> - <td align="left" colspan="2" valign="top" width="33%"> - <strong>Roles:<br /> - </strong> <asp:ListBox ID="roleList" runat="server" OnDataBound="roleList_DataBound" - DataSourceID="RolesDataSource" DataTextField="roleName" DataValueField="roleID" - SelectionMode="Multiple" Height="150px" Width="150px"></asp:ListBox> - </td> - <td align="left" colspan="2" valign="top" width="33%"> - </td> - <td align="left" colspan="2" valign="top" width="34%"> - </td> - </tr> - <tr> - <td class="hr" colspan="6"> - </td> - </tr> - <tr> <td align="left" colspan="6"> <asp:LinkButton ID="UpdateButton" runat="server" CausesValidation="True" CommandName="Update" Text="Update"> @@ -171,22 +153,6 @@ </td> </tr> <tr> - <td align="left" colspan="2" valign="top" width="33%"> - <strong>Roles:<br /> - </strong> <asp:ListBox ID="roleList" runat="server" OnDataBound="roleList_DataBound" - DataSourceID="RolesDataSource" DataTextField="roleName" DataValueField="roleID" - SelectionMode="Multiple"></asp:ListBox> - </td> - <td align="left" colspan="2" valign="top" width="33%"> - </td> - <td align="left" colspan="2" valign="top" width="34%"> - </td> - </tr> - <tr> - <td class="hr" colspan="6"> - </td> - </tr> - <tr> <td align="left" colspan="6"> <asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True" CommandName="Insert" Text="Insert"></asp:LinkButton> Modified: Website/Includes/Rights.ascx.cs =================================================================== --- Website/Includes/Rights.ascx.cs 2006-08-08 18:39:41 UTC (rev 281) +++ Website/Includes/Rights.ascx.cs 2006-08-08 19:11:55 UTC (rev 282) @@ -48,22 +48,6 @@ FormView1.ChangeMode(FormViewMode.Edit); } - protected void updateRoles() - { - ListBox roleList = (ListBox)FormView1.FindControl("roleList"); - - // there is a more efficient way of doing this, but no one wants it - tcdbDataSetTableAdapters.db_roleRightTableAdapter rrAdapter = new tcdbDataSetTableAdapters.db_roleRightTableAdapter(); - foreach (ListItem item in roleList.Items) - { - int roleID = Convert.ToInt32(item.Value); - - if (item.Selected) - rrAdapter.InsertRoleRights(roleID, rightsID); - else - rrAdapter.DeleteRoleRights(roleID, rightsID); - } - } protected void FormView1_ItemInserted(object sender, FormViewInsertedEventArgs e) { Right right = RightDB.GetRightInfo(null, e.Values["rightsName"].ToString(), e.Values["rightsCode"].ToString(), true); @@ -72,7 +56,6 @@ { rightsID = right.ID; - updateRoles(); Response.Redirect("~/Right.aspx?" + Constants.CODE_RIGHT + "=" + rightsID); } else @@ -81,16 +64,8 @@ Response.Redirect("~/Administration.aspx"); } } - protected void deleteCmd(object sender, CommandEventArgs e) - { - tcdbDataSetTableAdapters.db_rightsTableAdapter rAdapter = new tcdbDataSetTableAdapters.db_rightsTableAdapter(); - rAdapter.Update(rightsID, right.CODE, right.NAME, right.DESCRIPTION, false); - - Response.Redirect("~/Administration.aspx"); - } protected void FormView1_ItemUpdated(object sender, FormViewUpdatedEventArgs e) { - updateRoles(); Response.Redirect("~/Right.aspx?"+Constants.CODE_RIGHT+"="+rightsID); } protected void FormView1_ItemCommand(object sender, FormViewCommandEventArgs e) @@ -103,19 +78,14 @@ { LinkButton newBtn = (LinkButton)sender; LinkButton editBtn = (LinkButton)FormView1.FindControl("Edit"); - LinkButton deleteBtn = (LinkButton)FormView1.FindControl("Delete"); Label newLbl = (Label)FormView1.FindControl("newLbl"); - Label deleteLbl = (Label)FormView1.FindControl("deleteLbl"); if (!m_user.HasRight("dev_access")) { newBtn.Visible = false; - deleteBtn.Visible = false; newLbl.Visible = false; - deleteLbl.Visible = false; - } - if (!m_user.HasRight("edit_role",Constants.PRODUCT_ANYID)) editBtn.Visible = false; + } } protected void nameBox_Load(object sender, EventArgs e) { @@ -151,6 +121,7 @@ tcdbDataSetTableAdapters.db_rightsTableAdapter rAdapter = new tcdbDataSetTableAdapters.db_rightsTableAdapter(); rAdapter.Update(right.ID, right.CODE, right.NAME, right.DESCRIPTION, activeBox.Checked); } + protected void FormView1_DataBound(object sender, EventArgs e) { CheckBox activeBox = (CheckBox)FormView1.FindControl("activeBox"); @@ -177,28 +148,4 @@ roleList.Items.Add(item); } } - protected void roleList_DataBound(object sender, EventArgs e) - { - ListBox roleList = (ListBox)sender; - - if (FormView1.CurrentMode == FormViewMode.Edit) - { - tcdbDataSetTableAdapters.db_rightRoleTableAdapter rrAdapter = new tcdbDataSetTableAdapters.db_rightRoleTableAdapter(); - tcdbDataSet.db_rightRoleDataTable rrTable = rrAdapter.GetData(rightsID, active); - - foreach (tcdbDataSet.db_rightRoleRow row in rrTable) - { - ListItem item = roleList.Items.FindByValue(row.roleID.ToString()); - - item.Selected = true; - if (!row.active) - item.Attributes.CssStyle.Add("text_decoration", "line-through"); - } - } - else - { - if (role != null) - roleList.SelectedValue = role; - } - } } \ No newline at end of file Modified: Website/Includes/RoleAdmin.ascx.cs =================================================================== --- Website/Includes/RoleAdmin.ascx.cs 2006-08-08 18:39:41 UTC (rev 281) +++ Website/Includes/RoleAdmin.ascx.cs 2006-08-08 19:11:55 UTC (rev 282) @@ -86,7 +86,7 @@ return; } - if (!m_user.HasRight("edit_role",Constants.PRODUCT_ANYID) && !m_user.HasRight("dev_access")) + if (!m_user.HasRight("dev_access")) editRightsBtn.Visible = false; List<Right> rights = RightDB.TCDB_GetRightList(active); Modified: Website/Includes/Roles.ascx.cs =================================================================== --- Website/Includes/Roles.ascx.cs 2006-08-08 18:39:41 UTC (rev 281) +++ Website/Includes/Roles.ascx.cs 2006-08-08 19:11:55 UTC (rev 282) @@ -349,12 +349,13 @@ { LinkButton deleteBtn = (LinkButton)sender; Label deleteLbl = (Label)FormView1.FindControl("deleteLbl"); + Label activeLbl = (Label)FormView1.FindControl("activeLbl"); updateProductUsers(); Dictionary<String, ArrayList> ProductUsers = (Dictionary<String, ArrayList>)Session["ProductUsers"]; foreach (String productID in ProductUsers.Keys) { - if ( (ProductUsers[productID].Count > 0) && !m_user.HasRight("delete_role", Convert.ToInt32(productID))) + if ( activeLbl.Visible == true || ((ProductUsers[productID].Count > 0) && !m_user.HasRight("delete_role", Convert.ToInt32(productID)))) { deleteBtn.Visible = false; deleteLbl.Visible = false; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2006-08-08 18:40:01
|
Revision: 281 Author: rouquin Date: 2006-08-08 11:39:41 -0700 (Tue, 08 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=281&view=rev Log Message: ----------- Quite a bit of refactoring and a few bug fixes too. Modified Paths: -------------- Website/App_Code/Common.cs Website/App_Code/Products.cs Website/App_Code/Right.cs Website/App_Code/Versions.cs Website/App_Code/tcdbDataSet.xsd Website/App_Code/tcdbDataSet.xss Website/Includes/ActionItems.ascx Website/Includes/ActionItems.ascx.cs Website/Includes/AdministrationTree.ascx.cs Website/Includes/Assignments.ascx.cs Website/Includes/AssignmentsTree.ascx.cs Website/Includes/Authenticate.ascx.cs Website/Includes/FeaturesTree.ascx.cs Website/Includes/Notes.ascx Website/Includes/Products.ascx Website/Includes/Products.ascx.cs Website/Includes/Rights.ascx Website/Includes/Rights.ascx.cs Website/Includes/RoleAdmin.ascx.cs Website/Includes/Roles.ascx Website/Includes/Roles.ascx.cs Website/Includes/UserSettings.ascx.cs Modified: Website/App_Code/Common.cs =================================================================== --- Website/App_Code/Common.cs 2006-08-08 15:28:43 UTC (rev 280) +++ Website/App_Code/Common.cs 2006-08-08 18:39:41 UTC (rev 281) @@ -1125,7 +1125,7 @@ } else { - configAdapter.Insert(userID, name, value); + configAdapter.Insert(userID, name, value, "u"); } } } Modified: Website/App_Code/Products.cs =================================================================== --- Website/App_Code/Products.cs 2006-08-08 15:28:43 UTC (rev 280) +++ Website/App_Code/Products.cs 2006-08-08 18:39:41 UTC (rev 281) @@ -20,13 +20,18 @@ { public static Product GetProduct(int productID) { - return GetProduct(true, productID); + return GetProduct(true, productID, null); } - public static Product GetProduct(bool isActive, int productID) + public static Product GetProduct(String productname) { + return GetProduct(true, null, productname); + } + + public static Product GetProduct(Nullable<bool> isActive, Nullable<int> productID, String productName) + { tcdbDataSetTableAdapters.db_productsTableAdapter ta = new tcdbDataSetTableAdapters.db_productsTableAdapter(); - tcdbDataSet.db_productsDataTable pTable = ta.GetData(isActive, productID); + tcdbDataSet.db_productsDataTable pTable = ta.GetData(isActive, productID, productName); Product product = new Product(); if (pTable.Count > 0){ @@ -38,10 +43,10 @@ return product; } - public static List<Product> GetProductList(bool isActive) + public static List<Product> GetProductList(Nullable<bool> isActive) { tcdbDataSetTableAdapters.db_productsTableAdapter ta = new tcdbDataSetTableAdapters.db_productsTableAdapter(); - tcdbDataSet.db_productsDataTable pTable = ta.GetData(isActive, null); + tcdbDataSet.db_productsDataTable pTable = ta.GetData(isActive, null, null); List<Product> productList = new List<Product>(); foreach (tcdbDataSet.db_productsRow row in pTable) Modified: Website/App_Code/Right.cs =================================================================== --- Website/App_Code/Right.cs 2006-08-08 15:28:43 UTC (rev 280) +++ Website/App_Code/Right.cs 2006-08-08 18:39:41 UTC (rev 281) @@ -30,25 +30,20 @@ { private static ILog m_logg = LogManager.GetLogger("TCDB.Rights.RightDB"); - public static Right GetRightInfo(string name) + public static Right GetRightInfo(String code) { - tcdbDataSetTableAdapters.db_rightsTableAdapter rightsAdapter = new tcdbDataSetTableAdapters.db_rightsTableAdapter(); - tcdbDataSet.db_rightsDataTable rightsTable = rightsAdapter.GetData(null, name, null); - - if (rightsTable.Count > 0) - { - tcdbDataSet.db_rightsRow row = rightsTable[0]; - - return new Right(row.rightsID, row.rightsName, row.rightsDescription); - } - else - return new Right(); + return GetRightInfo(null, code, null, null); } public static Right GetRightInfo(int id) { + return GetRightInfo(id, null, null, null); + } + + public static Right GetRightInfo(Nullable<int> id, String name, String code, Nullable<bool> active) + { tcdbDataSetTableAdapters.db_rightsTableAdapter rightsAdapter = new tcdbDataSetTableAdapters.db_rightsTableAdapter(); - tcdbDataSet.db_rightsDataTable rightsTable = rightsAdapter.GetData(id, null, null); + tcdbDataSet.db_rightsDataTable rightsTable = rightsAdapter.GetData(id, code, name, active); if (rightsTable.Count > 0) { @@ -61,7 +56,7 @@ } catch { } - return new Right(row.rightsID, row.rightsName, description); + return new Right(row.rightsID, row.rightsName, row.rightsCode, description, row.active); } else return new Right(); @@ -107,12 +102,21 @@ public static List<Right> TCDB_GetRightList(Nullable<bool> active) { tcdbDataSetTableAdapters.db_rightsTableAdapter rightsAdapter = new tcdbDataSetTableAdapters.db_rightsTableAdapter(); - tcdbDataSet.db_rightsDataTable rightsTable = rightsAdapter.GetData(null, null, active); + tcdbDataSet.db_rightsDataTable rightsTable = rightsAdapter.GetData(null, null, null, active); List<Right> rightsList = new List<Right>(); foreach (tcdbDataSet.db_rightsRow row in rightsTable) - rightsList.Add(new Right(row.rightsID,row.rightsName,row.rightDescription)); + { + String description = ""; + try + { + description = row.rightsDescription; + } + catch { } + rightsList.Add(new Right(row.rightsID, row.rightsName, row.rightsCode, description, row.active)); + } + return rightsList; } @@ -137,7 +141,7 @@ { tcdbDataSet.db_userRightsRow row = userRightsTable[0]; - return new Right(row.rightsID, row.rightsName, row.rightDescription); + return GetRightInfo(row.rightsID); } else return null; @@ -171,7 +175,7 @@ tcdbDataSetTableAdapters.db_rightsTableAdapter rightsAdapter = new tcdbDataSetTableAdapters.db_rightsTableAdapter(); try { - rightsAdapter.Insert(right.NAME,right.DESCRIPTION); + rightsAdapter.Insert(right.CODE, right.NAME, right.DESCRIPTION); } catch (Exception e) { @@ -208,18 +212,22 @@ private int p_id; private string p_name; + private string p_code; private string p_description; + private bool p_active; public Right() { p_id = 0; p_name = ""; + p_code = ""; p_description = ""; + p_active = true; } - public Right(string name) + public Right(string code) { - BuildRight(RightDB.GetRightInfo(name)); + BuildRight(RightDB.GetRightInfo(code)); } public Right(int id) @@ -227,18 +235,22 @@ BuildRight(RightDB.GetRightInfo(id)); } - public Right(int id, string name, string description) + public Right(int id, string name, string code, string description, bool active) { p_id = id; p_name = name; + p_code = code; p_description = description; + p_active = active; } private void BuildRight(Right right) { p_id = right.ID; p_name = right.NAME; - p_description = right.DESCRIPTION; + p_code = right.CODE; + p_description = right.DESCRIPTION; + p_active = right.ACTIVE; } public int ID @@ -253,11 +265,23 @@ set { p_name = value.Trim(); } } + public string CODE + { + get { return p_code.Trim(); } + set { p_code = value.Trim(); } + } + public string DESCRIPTION { get { return p_description.Trim(); } set { p_description = value.Trim(); } } + + public bool ACTIVE + { + get { return p_active; } + set { p_active = value; } + } } /// <summary> Modified: Website/App_Code/Versions.cs =================================================================== --- Website/App_Code/Versions.cs 2006-08-08 15:28:43 UTC (rev 280) +++ Website/App_Code/Versions.cs 2006-08-08 18:39:41 UTC (rev 281) @@ -68,7 +68,7 @@ public Version(int versionID, int productID, string number, string code, bool active, DateTime dateCreated) { p_versionid = versionID; - p_product = ProductDB.GetProduct(true,productID); + p_product = ProductDB.GetProduct(true,productID,null); p_number = number; p_code = code; p_active = active; @@ -78,7 +78,7 @@ public Version(tcdbDataSet.db_versionRow row) { p_versionid = row.versionID; - p_product = ProductDB.GetProduct(true, row.productID); + p_product = ProductDB.GetProduct(true, row.productID, null); p_number = row.number; p_code = row.code; p_active = row.active; Modified: Website/App_Code/tcdbDataSet.xsd =================================================================== --- Website/App_Code/tcdbDataSet.xsd 2006-08-08 15:28:43 UTC (rev 280) +++ Website/App_Code/tcdbDataSet.xsd 2006-08-08 18:39:41 UTC (rev 281) @@ -48,6 +48,8 @@ </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="AnsiString" Direction="Input" ParameterName="@productName" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> </Parameters> </DbCommand> </SelectCommand> @@ -266,6 +268,7 @@ <Mapping SourceColumn="dateCreated" DataSetColumn="dateCreated" /> <Mapping SourceColumn="noteField" DataSetColumn="noteField" /> <Mapping SourceColumn="noteAuthor" DataSetColumn="noteAuthor" /> + <Mapping SourceColumn="noteAuthorName" DataSetColumn="noteAuthorName" /> </Mappings> <Sources> </Sources> @@ -358,77 +361,6 @@ <Sources> </Sources> </TableAdapter> - <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="db_configTableAdapter" GeneratorDataComponentClassName="db_configTableAdapter" Name="db_config" UserDataComponentName="db_configTableAdapter"> - <MainSource> - <DbSource ConnectionRef="tcdbConnectionString (Web.config)" DbObjectName="tcdb.dbo.sel_config" 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"> - <DeleteCommand> - <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> - <CommandText>dbo.del_config</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="@configID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumn="configID" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - </Parameters> - </DbCommand> - </DeleteCommand> - <InsertCommand> - <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> - <CommandText>dbo.ins_config</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" SourceColumn="userID" 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="name" 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> - </DbCommand> - </InsertCommand> - <SelectCommand> - <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> - <CommandText>dbo.sel_config</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="AnsiString" Direction="Input" ParameterName="@name" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - </Parameters> - </DbCommand> - </SelectCommand> - <UpdateCommand> - <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> - <CommandText>dbo.upd_config</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="@configID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumn="configID" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@userID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumn="userID" 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="name" 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> - </DbCommand> - </UpdateCommand> - </DbSource> - </MainSource> - <Mappings> - <Mapping SourceColumn="configID" DataSetColumn="configID" /> - <Mapping SourceColumn="userID" DataSetColumn="userID" /> - <Mapping SourceColumn="name" DataSetColumn="name" /> - <Mapping SourceColumn="value" DataSetColumn="value" /> - <Mapping SourceColumn="description" DataSetColumn="description" /> - </Mappings> - <Sources> - </Sources> - </TableAdapter> <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="db_versionTableAdapter" GeneratorDataComponentClassName="db_versionTableAdapter" Name="db_version" UserDataComponentName="db_versionTableAdapter"> <MainSource> <DbSource ConnectionRef="tcdbConnectionString (Web.config)" DbObjectName="tcdb.dbo.sel_version" 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"> @@ -501,6 +433,8 @@ <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="@rightsCode" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumn="rightsCode" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@rightsName" 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="@rightsDescription" Precision="0" ProviderType="Text" Scale="0" Size="2147483647" SourceColumn="rightsDescription" SourceColumnNullMapping="False" SourceVersion="Current"> @@ -516,6 +450,8 @@ </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="@rightsCode" Precision="0" ProviderType="VarChar" Scale="0" Size="255" 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"> @@ -531,6 +467,8 @@ </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="@rightsCode" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumn="rightsCode" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@rightsName" 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="@rightsDescription" Precision="0" ProviderType="Text" Scale="0" Size="2147483647" SourceColumn="rightsDescription" SourceColumnNullMapping="False" SourceVersion="Current"> @@ -548,6 +486,7 @@ <Mapping SourceColumn="rightDescription" DataSetColumn="rightDescription" /> <Mapping SourceColumn="active" DataSetColumn="active" /> <Mapping SourceColumn="rightsDescription" DataSetColumn="rightsDescription" /> + <Mapping SourceColumn="rightsCode" DataSetColumn="rightsCode" /> </Mappings> <Sources> </Sources> @@ -696,6 +635,7 @@ <Mapping SourceColumn="rightsID" DataSetColumn="rightsID" /> <Mapping SourceColumn="rightName" DataSetColumn="rightName" /> <Mapping SourceColumn="active" DataSetColumn="active" /> + <Mapping SourceColumn="rightCode" DataSetColumn="rightCode" /> </Mappings> <Sources> <DbSource ConnectionRef="tcdbConnectionString (Web.config)" DbObjectName="tcdb.dbo.del_roleRight" DbObjectType="StoredProcedure" GenerateShortCommands="True" GeneratorSourceName="DeleteRoleRights" Modifier="Public" Name="DeleteRoleRights" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="True" UserGetMethodName="GetDataBy" UserSourceName="DeleteRoleRights"> @@ -937,6 +877,79 @@ <Sources> </Sources> </TableAdapter> + <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="db_configTableAdapter" GeneratorDataComponentClassName="db_configTableAdapter" Name="db_config" UserDataComponentName="db_configTableAdapter"> + <MainSource> + <DbSource ConnectionRef="tcdbConnectionString (Web.config)" DbObjectName="tcdb.dbo.sel_config" 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"> + <DeleteCommand> + <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> + <CommandText>dbo.del_config</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="@configID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumn="configID" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + </Parameters> + </DbCommand> + </DeleteCommand> + <InsertCommand> + <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> + <CommandText>dbo.ins_config</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" SourceColumn="userID" 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="name" 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> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@configLevel" Precision="0" ProviderType="VarChar" Scale="0" Size="1" SourceColumn="configLevel" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + </Parameters> + </DbCommand> + </InsertCommand> + <SelectCommand> + <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> + <CommandText>dbo.sel_config</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="AnsiString" Direction="Input" ParameterName="@name" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + </Parameters> + </DbCommand> + </SelectCommand> + <UpdateCommand> + <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> + <CommandText>dbo.upd_config</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="@configID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumn="configID" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@userID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumn="userID" 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="name" 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> + </DbCommand> + </UpdateCommand> + </DbSource> + </MainSource> + <Mappings> + <Mapping SourceColumn="configID" DataSetColumn="configID" /> + <Mapping SourceColumn="userID" DataSetColumn="userID" /> + <Mapping SourceColumn="name" DataSetColumn="name" /> + <Mapping SourceColumn="value" DataSetColumn="value" /> + <Mapping SourceColumn="configLevel" DataSetColumn="configLevel" /> + </Mappings> + <Sources> + </Sources> + </TableAdapter> </Tables> <Sources> </Sources> @@ -1073,6 +1086,13 @@ </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="noteAuthorName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="noteAuthorName" msprop:Generator_ColumnVarNameInTable="columnnoteAuthorName" msprop:Generator_ColumnPropNameInRow="noteAuthorName" msprop:Generator_ColumnPropNameInTable="noteAuthorNameColumn" minOccurs="0"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:maxLength value="49" /> + </xs:restriction> + </xs:simpleType> + </xs:element> </xs:sequence> </xs:complexType> </xs:element> @@ -1153,35 +1173,6 @@ </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: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: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:simpleType> - <xs:restriction base="xs:string"> - <xs:maxLength value="2147483647" /> - </xs:restriction> - </xs:simpleType> - </xs:element> - </xs:sequence> - </xs:complexType> - </xs:element> <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> @@ -1232,6 +1223,13 @@ </xs:restriction> </xs:simpleType> </xs:element> + <xs:element name="rightsCode" msprop:Generator_UserColumnName="rightsCode" msprop:Generator_ColumnPropNameInRow="rightsCode" msprop:Generator_ColumnVarNameInTable="columnrightsCode" msprop:Generator_ColumnPropNameInTable="rightsCodeColumn" minOccurs="0"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:maxLength value="255" /> + </xs:restriction> + </xs:simpleType> + </xs:element> </xs:sequence> </xs:complexType> </xs:element> @@ -1302,6 +1300,13 @@ </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="rightCode" msprop:Generator_UserColumnName="rightCode" msprop:Generator_ColumnPropNameInRow="rightCode" msprop:Generator_ColumnVarNameInTable="columnrightCode" msprop:Generator_ColumnPropNameInTable="rightCodeColumn" minOccurs="0"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:maxLength value="255" /> + </xs:restriction> + </xs:simpleType> + </xs:element> </xs:sequence> </xs:complexType> </xs:element> @@ -1444,6 +1449,35 @@ </xs:sequence> </xs:complexType> </xs:element> + <xs:element name="db_config" msprop:Generator_UserTableName="db_config" msprop:Generator_RowDeletedName="db_configRowDeleted" msprop:Generator_TableClassName="db_configDataTable" 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_TablePropName="db_config" msprop:Generator_TableVarName="tabledb_config" msprop:Generator_RowDeletingName="db_configRowDeleting"> + <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: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:simpleType> + <xs:restriction base="xs:string"> + <xs:maxLength value="2147483647" /> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element name="configLevel" msprop:Generator_UserColumnName="configLevel" msprop:Generator_ColumnPropNameInRow="configLevel" msprop:Generator_ColumnVarNameInTable="columnconfigLevel" msprop:Generator_ColumnPropNameInTable="configLevelColumn" minOccurs="0"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:maxLength value="1" /> + </xs:restriction> + </xs:simpleType> + </xs:element> + </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-08-08 15:28:43 UTC (rev 280) +++ Website/App_Code/tcdbDataSet.xss 2006-08-08 18:39:41 UTC (rev 281) @@ -4,25 +4,25 @@ 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="23" ViewPortY="-10" 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="286" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout"> <Shapes> <Shape ID="DesignTable:db_products" ZOrder="17" X="28" Y="453" Height="241" Width="213" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="194" /> <Shape ID="DesignTable:db_actionItems" ZOrder="16" X="619" Y="9" Height="292" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="228" SplitterPosition="228" /> <Shape ID="DesignTable:db_status" ZOrder="15" X="272" Y="369" Height="122" Width="296" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="75" /> - <Shape ID="DesignTable:db_notes" ZOrder="14" X="309" Y="56" Height="139" Width="208" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="92" /> + <Shape ID="DesignTable:db_notes" ZOrder="14" X="309" Y="11" Height="156" Width="208" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="109" /> <Shape ID="DesignTable:db_assignments" ZOrder="13" X="636" Y="368" Height="275" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="228" /> <Shape ID="DesignTable:db_testPass" ZOrder="12" X="25" Y="317" Height="122" Width="211" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="75" /> - <Shape ID="DesignTable:db_config" ZOrder="11" X="382" Y="203" Height="156" Width="198" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="109" /> - <Shape ID="DesignTable:db_version" ZOrder="10" X="268" Y="539" Height="173" Width="216" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="126" /> - <Shape ID="DesignTable:db_rights" ZOrder="9" X="599" Y="657" Height="156" Width="260" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="109" /> - <Shape ID="DesignTable:db_roleProductUser" ZOrder="8" X="903" Y="671" Height="156" Width="255" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="109" /> - <Shape ID="DesignTable:db_roleProduct" ZOrder="7" X="904" Y="843" Height="105" Width="231" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="58" /> - <Shape ID="DesignTable:db_roleUserProduct" ZOrder="6" X="593" Y="838" Height="190" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="109" /> - <Shape ID="DesignTable:db_roleRight" ZOrder="5" X="61" Y="768" Height="173" Width="216" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="92" /> - <Shape ID="DesignTable:db_userRights" ZOrder="4" X="938" Y="13" Height="190" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="143" /> - <Shape ID="DesignTable:db_rightRole" ZOrder="3" X="272" Y="942" Height="139" Width="217" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="92" /> - <Shape ID="DesignTable:db_role" ZOrder="2" X="306" Y="769" Height="139" Width="242" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="92" /> - <Shape ID="DesignTable:db_users" ZOrder="1" X="54" Y="33" Height="241" Width="201" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="194" /> + <Shape ID="DesignTable:db_version" ZOrder="11" X="268" Y="539" Height="173" Width="216" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="126" /> + <Shape ID="DesignTable:db_rights" ZOrder="10" X="599" Y="657" Height="173" Width="260" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="126" /> + <Shape ID="DesignTable:db_roleProductUser" ZOrder="9" X="903" Y="671" Height="156" Width="255" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="109" /> + <Shape ID="DesignTable:db_roleProduct" ZOrder="8" X="904" Y="843" Height="105" Width="231" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="58" /> + <Shape ID="DesignTable:db_roleUserProduct" ZOrder="7" X="593" Y="838" Height="190" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="109" /> + <Shape ID="DesignTable:db_roleRight" ZOrder="6" X="38" Y="760" Height="190" Width="216" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="109" /> + <Shape ID="DesignTable:db_userRights" ZOrder="5" X="938" Y="13" Height="190" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="143" /> + <Shape ID="DesignTable:db_rightRole" ZOrder="4" X="272" Y="942" Height="139" Width="217" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="92" /> + <Shape ID="DesignTable:db_role" ZOrder="3" X="306" Y="769" Height="139" Width="242" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="92" /> + <Shape ID="DesignTable:db_users" ZOrder="2" X="54" Y="33" Height="241" Width="201" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="194" /> + <Shape ID="DesignTable:db_config" ZOrder="1" X="311" Y="178" Height="156" Width="200" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="109" /> </Shapes> <Connectors /> </DiagramLayout> \ No newline at end of file Modified: Website/Includes/ActionItems.ascx =================================================================== --- Website/Includes/ActionItems.ascx 2006-08-08 15:28:43 UTC (rev 280) +++ Website/Includes/ActionItems.ascx 2006-08-08 18:39:41 UTC (rev 281) @@ -171,7 +171,7 @@ 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"> + SelectedDate='<%# Bind("dateDue") %>' UpperBoundDate="12/31/9999 23:59:59"> </ew:CalendarPopup> </div> </div> Modified: Website/Includes/ActionItems.ascx.cs =================================================================== --- Website/Includes/ActionItems.ascx.cs 2006-08-08 15:28:43 UTC (rev 280) +++ Website/Includes/ActionItems.ascx.cs 2006-08-08 18:39:41 UTC (rev 281) @@ -14,6 +14,7 @@ using TCDB.Assignments; using TCDB.Common; using TCDB.Users; +using TCDB.Products; using eWorld.UI; using log4net; @@ -103,11 +104,13 @@ if (dateFinished.SelectedValue != null) { + dateFinished.ClearDateText = "Clear Date"; statusList.SelectedValue = statusList.Items.FindByText("Completed").Value; percentList.SelectedValue = "100"; } else { + dateFinished.ClearDateText = ""; if (statusList.SelectedItem.Text == "Completed") statusList.SelectedValue = statusList.Items.FindByText("Active").Value; if (percentList.SelectedValue == "100") @@ -151,6 +154,7 @@ if (dateFinished.SelectedValue == null) dateFinished.SelectedValue = DateTime.Today; + dateFinished.ClearDateText = "Clear Date"; } } else { @@ -170,6 +174,7 @@ CalendarPopup dateFinished = (CalendarPopup)ActionItemsView.FindControl("dateFinished"); dateFinished.Clear(); dateFinished.PostedDate = ""; + dateFinished.ClearDateText = ""; } } if (ActionItemsView.CurrentMode == FormViewMode.ReadOnly) @@ -207,6 +212,7 @@ CalendarPopup dateFinished = (CalendarPopup)ActionItemsView.FindControl("dateFinished"); dateFinished.SelectedValue = DateTime.Today; + dateFinished.ClearDateText = "Clear Date"; } } else @@ -227,6 +233,7 @@ CalendarPopup dateFinished = (CalendarPopup)ActionItemsView.FindControl("dateFinished"); dateFinished.Clear(); dateFinished.PostedDate = ""; + dateFinished.ClearDateText = ""; } } @@ -263,6 +270,7 @@ createdBy.ToolTip = m_user.ID.ToString(); dateAssigned.Text = DateTime.Today.ToShortDateString(); dateDue.SelectedDate = DateTime.Today; + dateDue.VisibleDate = dateDue.SelectedDate; assignedTo.SelectedValue = m_user.ID.ToString(); status.SelectedIndex = 0; percent.SelectedIndex = 0; @@ -278,17 +286,21 @@ Page.Title = "TCDB: " + data["name"].ToString(); if (ActionItemsView.CurrentMode == FormViewMode.Edit) { - CalendarPopup cal = (CalendarPopup)ActionItemsView.FindControl("dateFinished"); - String date = data["dateFinished"].ToString(); + CalendarPopup dateDue = (CalendarPopup)ActionItemsView.FindControl("dateDue"); + CalendarPopup dateFinished = (CalendarPopup)ActionItemsView.FindControl("dateFinished"); - if (date == "") + if (data["dateFinished"].ToString() == "") { - cal.SelectedValue = null; - cal.ClearDateText = " "; - cal.Clear(); + dateFinished.SelectedValue = null; + dateFinished.ClearDateText = " "; + dateFinished.Clear(); } else - cal.SelectedValue = (Nullable<DateTime>)data["dateFinished"]; + { + dateFinished.SelectedValue = (Nullable<DateTime>)data["dateFinished"]; + dateFinished.VisibleDate = dateFinished.SelectedDate; + } + dateDue.VisibleDate = dateDue.SelectedDate; } else { @@ -420,16 +432,15 @@ { assignedTo.Enabled = true; - tcdbDataSetTableAdapters.db_productsTableAdapter pAdapter = new tcdbDataSetTableAdapters.db_productsTableAdapter(); - tcdbDataSet.db_productsDataTable pTable = pAdapter.GetData(true, null); + List<Product> products = ProductDB.GetProductList(true); tcdbDataSetTableAdapters.db_roleProductUserTableAdapter rpuAdapter = new tcdbDataSetTableAdapters.db_roleProductUserTableAdapter(); - foreach (tcdbDataSet.db_productsRow pRow in pTable) + foreach (Product product in products) { - if ((ActionItemsView.CurrentMode == FormViewMode.Insert && m_user.HasRight("create_other_ai", pRow.productID)) || - (ActionItemsView.CurrentMode == FormViewMode.Edit && m_user.HasRight("reassign_other_ai", ai.CREATOR, pRow.productID))) + if ((ActionItemsView.CurrentMode == FormViewMode.Insert && m_user.HasRight("create_other_ai", product.ID)) || + (ActionItemsView.CurrentMode == FormViewMode.Edit && m_user.HasRight("reassign_other_ai", ai.CREATOR, product.ID))) { - tcdbDataSet.db_roleProductUserDataTable rpuTable = rpuAdapter.GetData(null, pRow.productID, true); + tcdbDataSet.db_roleProductUserDataTable rpuTable = rpuAdapter.GetData(null, product.ID, true); int lastID = -1; foreach (tcdbDataSet.db_roleProductUserRow rpuRow in rpuTable) Modified: Website/Includes/AdministrationTree.ascx.cs =================================================================== --- Website/Includes/AdministrationTree.ascx.cs 2006-08-08 15:28:43 UTC (rev 280) +++ Website/Includes/AdministrationTree.ascx.cs 2006-08-08 18:39:41 UTC (rev 281) @@ -11,6 +11,8 @@ using TCDB.Assignments; using TCDB.Common; using TCDB.Users; +using TCDB.Products; +using TCDB.Rights; using log4net; using System.Collections; @@ -49,35 +51,31 @@ protected void BuildProductList(TreeNode parent) { ArrayList nodes = (ArrayList)Session["AdminNodes"]; - tcdbDataSetTableAdapters.db_productsTableAdapter productAdapter = new tcdbDataSetTableAdapters.db_productsTableAdapter(); - tcdbDataSet.db_productsDataTable productTable = productAdapter.GetData(active, null); - - if (productTable.Count > 0) + List<Product> products = ProductDB.GetProductList(active); + + foreach (Product product in products) { - foreach (tcdbDataSet.db_productsRow row in productTable) + if (m_user.HasRight("view_product", product.ID)) { - if (m_user.HasRight("view_product", row.productID)) - { - // Create the new node. - TreeNode newNode = new TreeNode(); - newNode.Text = "<product>" + row.name + "</product>"; - newNode.Value = row.productID.ToString(); + // Create the new node. + TreeNode newNode = new TreeNode(); + newNode.Text = "<product>" + product.NAME + "</product>"; + newNode.Value = product.ID.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 = "~/Product.aspx?" + Constants.CODE_PRODUCT + "=" + newNode.Value; - if (!row.active) - newNode.Text = "<font class='deleted'>" + newNode.Text + "</font>"; + // Set additional properties for the node. + newNode.SelectAction = TreeNodeSelectAction.Expand; + newNode.NavigateUrl = "~/Product.aspx?" + Constants.CODE_PRODUCT + "=" + newNode.Value; + if (!product.ACTIVE) + newNode.Text = "<font class='deleted'>" + newNode.Text + "</font>"; - // Add the new node to the ChildNodes collection of the parent node. - parent.ChildNodes.Add(newNode); - if (nodes.Contains(newNode.ValuePath)) - newNode.Expand(); - } + // Add the new node to the ChildNodes collection of the parent node. + parent.ChildNodes.Add(newNode); + if (nodes.Contains(newNode.ValuePath)) + newNode.Expand(); } } } @@ -457,16 +455,15 @@ } protected void BuildAllRightsList(TreeNode parent) { - tcdbDataSetTableAdapters.db_rightsTableAdapter rAdapter = new tcdbDataSetTableAdapters.db_rightsTableAdapter(); - tcdbDataSet.db_rightsDataTable rTable = rAdapter.GetData(null, null, active); + List<Right> rights = RightDB.TCDB_GetRightList(active); - foreach (tcdbDataSet.db_rightsRow row in rTable) + foreach (Right right in rights) { TreeNode child = new TreeNode(); - child.Text = row.rightsName; - child.Value = row.rightsID.ToString(); + child.Text = right.NAME; + child.Value = right.ID.ToString(); child.NavigateUrl = "~/Right.aspx?" + Constants.CODE_RIGHT + "=" + child.Value; - if (!row.active) + if (!right.ACTIVE) child.Text = "<font class='deleted'>" + child.Text + "</font>"; parent.ChildNodes.Add(child); Modified: Website/Includes/Assignments.ascx.cs =================================================================== --- Website/Includes/Assignments.ascx.cs 2006-08-08 15:28:43 UTC (rev 280) +++ Website/Includes/Assignments.ascx.cs 2006-08-08 18:39:41 UTC (rev 281) @@ -43,7 +43,7 @@ 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)) { - Product product = ProductDB.GetProduct(true, Convert.ToInt32(productID)); + Product product = ProductDB.GetProduct(true, Convert.ToInt32(productID), null); if (product != null) { Modified: Website/Includes/AssignmentsTree.ascx.cs =============================================... [truncated message content] |
From: <ro...@us...> - 2006-08-08 15:28:55
|
Revision: 280 Author: rouquin Date: 2006-08-08 08:28:43 -0700 (Tue, 08 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=280&view=rev Log Message: ----------- Fixed a bug that Matt found with the TCDB user list. Also fixed a few other little things with assignments and ActionItems that I broke. Modified Paths: -------------- Website/App_Code/Assignments.cs Website/App_Code/tcdbDataSet.xsd Website/App_Code/tcdbDataSet.xss Website/Includes/ActionItems.ascx Website/Includes/ActionItems.ascx.cs Website/Includes/AdministrationTree.ascx.cs Website/Includes/Assignments.ascx Website/Includes/Assignments.ascx.cs Modified: Website/App_Code/Assignments.cs =================================================================== --- Website/App_Code/Assignments.cs 2006-08-07 20:35:11 UTC (rev 279) +++ Website/App_Code/Assignments.cs 2006-08-08 15:28:43 UTC (rev 280) @@ -25,9 +25,9 @@ tcdbDataSet.db_assignmentsDataTable aTable; if (finished == Constants.ASSIGNMENT_FINISHEDANDUNFINISHED) - aTable = ta.GetData(aType, null, assignedID, null, active); + aTable = ta.GetData(aType, null, assignedID, creatorID, null, active); else - aTable = ta.GetData(aType, finished, assignedID, null, active); + aTable = ta.GetData(aType, finished, assignedID, creatorID, null, active); List<Assignment> assignmentList = new List<Assignment>(); @@ -75,8 +75,6 @@ assignment.ASSIGNED = assignment.WORKORDER.ASSIGNED; assignment.CREATOR = assignment.WORKORDER.CREATOR; } - if (creatorID != null && assignment.CREATOR.ID != creatorID) - continue; assignmentList.Add(assignment); } Modified: Website/App_Code/tcdbDataSet.xsd =================================================================== --- Website/App_Code/tcdbDataSet.xsd 2006-08-07 20:35:11 UTC (rev 279) +++ Website/App_Code/tcdbDataSet.xsd 2006-08-08 15:28:43 UTC (rev 280) @@ -285,6 +285,8 @@ </Parameter> <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@assignedID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@creatorID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@highPriority" Precision="1" ProviderType="Bit" Scale="0" Size="1" 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"> @@ -312,6 +314,9 @@ <Mapping SourceColumn="WOFail" DataSetColumn="WOFail" /> <Mapping SourceColumn="WOError" DataSetColumn="WOError" /> <Mapping SourceColumn="active" DataSetColumn="active" /> + <Mapping SourceColumn="creatorID" DataSetColumn="creatorID" /> + <Mapping SourceColumn="numAI" DataSetColumn="numAI" /> + <Mapping SourceColumn="numWO" DataSetColumn="numWO" /> </Mappings> <Sources> </Sources> @@ -944,108 +949,108 @@ <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" /> @@ -1058,113 +1063,116 @@ <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: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="numAI" msdata:ReadOnly="true" msprop:Generator_UserColumnName="numAI" msprop:Generator_ColumnPropNameInRow="numAI" msprop:Generator_ColumnVarNameInTable="columnnumAI" msprop:Generator_ColumnPropNameInTable="numAIColumn" type="xs:int" minOccurs="0" /> + <xs:element name="numWO" msdata:ReadOnly="true" msprop:Generator_UserColumnName="numWO" msprop:Generator_ColumnPropNameInRow="numWO" msprop:Generator_ColumnVarNameInTable="columnnumWO" msprop:Generator_ColumnPropNameInTable="numWOColumn" type="xs:int" minOccurs="0" /> </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" /> @@ -1177,47 +1185,47 @@ <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" msprop:Generator_ColumnPropNameInRow="number" 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_ColumnPropNameInRow="code" msprop:Generator_ColumnVarNameInTable="columncode" msprop:Generator_ColumnPropNameInTable="codeColumn" minOccurs="0"> + <xs:element name="code" msprop:Generator_UserColumnName="code" msprop:Generator_ColumnVarNameInTable="columncode" msprop:Generator_ColumnPropNameInRow="code" 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_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: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: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_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: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: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_ColumnVarNameInTable="columnrightDescription" msprop:Generator_ColumnPropNameInRow="rightDescription" msprop:Generator_ColumnPropNameInTable="rightDescriptionColumn" minOccurs="0"> + <xs:element name="rightDescription" msprop:Generator_UserColumnName="rightDescription" msprop:Generator_ColumnPropNameInRow="rightDescription" msprop:Generator_ColumnVarNameInTable="columnrightDescription" msprop:Generator_ColumnPropNameInTable="rightDescriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </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="rightsDescription" msprop:Generator_UserColumnName="rightsDescription" msprop:Generator_ColumnVarNameInTable="columnrightsDescription" msprop:Generator_ColumnPropNameInRow="rightsDescription" msprop:Generator_ColumnPropNameInTable="rightsDescriptionColumn" 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="rightsDescription" msprop:Generator_UserColumnName="rightsDescription" msprop:Generator_ColumnPropNameInRow="rightsDescription" msprop:Generator_ColumnVarNameInTable="columnrightsDescription" msprop:Generator_ColumnPropNameInTable="rightsDescriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> @@ -1230,25 +1238,25 @@ <xs:element name="db_roleProductUser" msprop:Generator_UserTableName="db_roleProductUser" msprop:Generator_RowDeletedName="db_roleProductUserRowDeleted" msprop:Generator_RowChangedName="db_roleProductUserRowChanged" msprop:Generator_RowClassName="db_roleProductUserRow" msprop:Generator_RowChangingName="db_roleProductUserRowChanging" msprop:Generator_RowEvArgName="db_roleProductUserRowChangeEvent" msprop:Generator_RowEvHandlerName="db_roleProductUserRowChangeEventHandler" msprop:Generator_TableClassName="db_roleProductUserDataTable" msprop:Generator_TableVarName="tabledb_roleProductUser" msprop:Generator_RowDeletingName="db_roleProductUserRowDeleting" msprop:Generator_TablePropName="db_roleProductUser"> <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="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="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="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="roleID" msprop:Generator_UserColumnName="roleID" msprop:Generator_ColumnPropNameInRow="roleID" msprop:Generator_ColumnVarNameInTable="columnroleID" msprop:Generator_ColumnPropNameInTable="roleIDColumn" 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="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> + <xs:element name="roleID" msprop:Generator_UserColumnName="roleID" msprop:Generator_ColumnVarNameInTable="columnroleID" msprop:Generator_ColumnPropNameInRow="roleID" msprop:Generator_ColumnPropNameInTable="roleIDColumn" 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="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_roleProduct" msprop:Generator_UserTableName="db_roleProduct" msprop:Generator_RowDeletedName="db_roleProductRowDeleted" msprop:Generator_RowChangedName="db_roleProductRowChanged" msprop:Generator_RowClassName="db_roleProductRow" msprop:Generator_RowC... [truncated message content] |
From: <ro...@us...> - 2006-08-07 20:35:36
|
Revision: 279 Author: rouquin Date: 2006-08-07 13:35:11 -0700 (Mon, 07 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=279&view=rev Log Message: ----------- Fixed some bugs I created. Modified Paths: -------------- WebPrototype/App_Data/ASPNETDB.MDF WebPrototype/App_Data/Database.mdf WebPrototype/App_Data/Database_log.LDF WebPrototype/App_Data/aspnetdb_log.ldf WebPrototype/buildEdit.aspx.cs Website/Includes/ActionItems.ascx Website/Includes/ActionItems.ascx.cs Website/Includes/Products.ascx.cs Website/Includes/Rights.ascx Website/Includes/Rights.ascx.cs Website/Includes/Roles.ascx Website/Includes/Roles.ascx.cs Modified: WebPrototype/App_Data/ASPNETDB.MDF =================================================================== (Binary files differ) Modified: WebPrototype/App_Data/Database.mdf =================================================================== (Binary files differ) Modified: WebPrototype/App_Data/Database_log.LDF =================================================================== (Binary files differ) Modified: WebPrototype/App_Data/aspnetdb_log.ldf =================================================================== (Binary files differ) Modified: WebPrototype/buildEdit.aspx.cs =================================================================== --- WebPrototype/buildEdit.aspx.cs 2006-08-07 18:31:14 UTC (rev 278) +++ WebPrototype/buildEdit.aspx.cs 2006-08-07 20:35:11 UTC (rev 279) @@ -26,9 +26,7 @@ Session.Add("id", id); if (mode != null && mode == "new") - { FormView1.ChangeMode(FormViewMode.Insert); - } ObjectDataSource notes = (ObjectDataSource)Master.FindControl("NoteDataSource"); notes.SelectParameters["tableName"].DefaultValue = "testPass"; Modified: Website/Includes/ActionItems.ascx =================================================================== --- Website/Includes/ActionItems.ascx 2006-08-07 18:31:14 UTC (rev 278) +++ Website/Includes/ActionItems.ascx 2006-08-07 20:35:11 UTC (rev 279) @@ -48,8 +48,8 @@ <asp:ListItem>100</asp:ListItem> </asp:RadioButtonList></div> <asp:Label ID="deletedLbl" runat="server" Text="Deleted: "></asp:Label><strong></strong><asp:CheckBox - ID="activeBox" runat="server" AutoPostBack="True" Checked='<%# Eval("active") %>' - OnCheckedChanged="activeBox_CheckedChanged" OnInit="activeBox_Init" /></div> + ID="activeBox" runat="server" AutoPostBack="True" OnCheckedChanged="activeBox_CheckedChanged" + OnInit="activeBox_Init" /></div> <div class="end"> </div> </div> @@ -70,8 +70,8 @@ <asp:Label ID="nameLabel" runat="server" Text='<%# Eval("name") %>'></asp:Label></h2> </div> <div class="bottom"> - <label> - Test Pass:</label><asp:Label ID="testPassLbl" runat="server" Text='<%# Eval("testPass") %>'></asp:Label> + <asp:Label ID="tpLbl" runat="server" Visible="false">Test Pass:</asp:Label><asp:Label ID="testPassLbl" + runat="server" Text='<%# Eval("testPass") %>' Visible="false"></asp:Label> </div> </div> <div class="right"> @@ -152,10 +152,10 @@ Font-Bold="False" CssClass="checkbox" /> </div> <div class="item"> - <label> - Test Pass:</label><asp:DropDownList ID="DropDownList1" runat="server" AppendDataBoundItems="True" + <asp:Label ID="tpLbl" runat="server" Visible="false"> + Test Pass:</asp:Label><asp:DropDownList ID="DropDownList1" runat="server" AppendDataBoundItems="True" DataSourceID="TestPassDataSource" DataTextField="name" DataValueField="testPassID" - SelectedValue='<%# Bind("testPassID") %>'> + SelectedValue='<%# Bind("testPassID") %>' Visible="false"> <asp:ListItem Value="0" Selected="True"><none></asp:ListItem> </asp:DropDownList> </div> @@ -218,7 +218,8 @@ </div> <div class="item"> <label> - Assigned To:</label><asp:DropDownList ID="assignedTo" runat="server" SelectedValue='<%# Bind("assignedID") %>' OnInit="assignedTo_Init"> + Assigned To:</label><asp:DropDownList ID="assignedTo" runat="server" SelectedValue='<%# Bind("assignedID") %>' + OnInit="assignedTo_Init"> </asp:DropDownList> </div> </div> @@ -251,10 +252,10 @@ High Priority:</label><asp:CheckBox ID="priorityBox" runat="server" Checked='<%# Bind("highPriority") %>' Font-Bold="False" /></div> <div class="item"> - <label> - Test Pass:</label> + <asp:Label ID="tpLbl" runat="server" Visible="false"> + Test Pass:</asp:Label> <asp:DropDownList ID="testPassList" runat="server" AppendDataBoundItems="True" DataSourceID="TestPassDataSource" - DataTextField="name" DataValueField="testPassID" SelectedValue='<%# Bind("testPassID") %>'> + DataTextField="name" DataValueField="testPassID" SelectedValue='<%# Bind("testPassID") %>' Visible="false"> <asp:ListItem Value="0" Selected="True"><none></asp:ListItem> </asp:DropDownList></div> </div> @@ -302,8 +303,8 @@ ToolTip='<%# Bind("creatorID") %>'></asp:Label></div> <div class="item"> <label> - Assigned To:</label><asp:DropDownList ID="assignedTo" runat="server" - SelectedValue='<%# Bind("assignedID") %>' OnInit="assignedTo_Init"> + Assigned To:</label><asp:DropDownList ID="assignedTo" runat="server" SelectedValue='<%# Bind("assignedID") %>' + OnInit="assignedTo_Init"> </asp:DropDownList></div> </div> <div class="end"> Modified: Website/Includes/ActionItems.ascx.cs =================================================================== --- Website/Includes/ActionItems.ascx.cs 2006-08-07 18:31:14 UTC (rev 278) +++ Website/Includes/ActionItems.ascx.cs 2006-08-07 20:35:11 UTC (rev 279) @@ -93,7 +93,6 @@ Response.Redirect(Request.RawUrl); } - protected void dateFinished_DateChanged(object sender, EventArgs e) { if (ActionItemsView.CurrentMode != FormViewMode.Insert) @@ -127,7 +126,6 @@ ActionItemsView.DataBind(); } } - protected void percentChanged(object sender, EventArgs e) { if (ActionItemsView.CurrentMode != FormViewMode.Insert) @@ -186,7 +184,6 @@ ActionItemsView.DataBind(); } } - protected void statusChanged(object sender, EventArgs e) { if (ActionItemsView.CurrentMode != FormViewMode.Insert) @@ -253,6 +250,7 @@ if (ActionItemsView.CurrentMode == FormViewMode.Edit && data != null) { CalendarPopup cal = (CalendarPopup)ActionItemsView.FindControl("dateFinished"); + CheckBox activeBox = (CheckBox)ActionItemsView.FindControl("activeBox"); DataRowView row = (DataRowView)ActionItemsView.DataItem; String date = row["dateFinished"].ToString(); @@ -265,6 +263,8 @@ } else cal.SelectedValue = (Nullable<DateTime>)row["dateFinished"]; + + activeBox.Checked = Convert.ToBoolean(row["active"]); } if (ActionItemsView.CurrentMode == FormViewMode.Insert) @@ -300,20 +300,17 @@ else Response.Redirect("Assignments.aspx?" + Constants.CODE_USER + "=" + m_user.ID); } - protected void ActionItemsView_ItemCommand(object sender, FormViewCommandEventArgs e) { if (e.CommandName == "Cancel" && ActionItemsView.CurrentMode == FormViewMode.Insert) Response.Redirect("Assignments.aspx?" + Constants.CODE_USER + "=" + m_user.ID); } - protected void deleteItem(object sender, CommandEventArgs e) { tcdbDataSetTableAdapters.db_actionItemsTableAdapter aiAdapter = new tcdbDataSetTableAdapters.db_actionItemsTableAdapter(); aiAdapter.Delete(Convert.ToInt32(item_id), 0); Response.Redirect("Assignments.aspx?" + Constants.CODE_USER + "=" + m_user.ID); } - protected void ActionItemsView_ItemInserted(object sender, FormViewInsertedEventArgs e) { tcdbDataSetTableAdapters.db_assignmentsTableAdapter aiAdapter = new tcdbDataSetTableAdapters.db_assignmentsTableAdapter(); @@ -339,12 +336,12 @@ Response.Redirect("Assignments.aspx?" + Constants.CODE_USER + "=" + m_user.ID); } } - protected void ActionItemsView_ItemUpdated(object sender, FormViewUpdatedEventArgs e) { updateStatus(); Response.Redirect("ActionItem.aspx?" + Constants.CODE_AI + "=" + item_id.ToString()); } + protected void statusList_Init(object sender, EventArgs e) { DropDownList statusList = (DropDownList)sender; Modified: Website/Includes/Products.ascx.cs =================================================================== --- Website/Includes/Products.ascx.cs 2006-08-07 18:31:14 UTC (rev 278) +++ Website/Includes/Products.ascx.cs 2006-08-07 20:35:11 UTC (rev 279) @@ -371,6 +371,8 @@ tcdbDataSetTableAdapters.db_productsTableAdapter pAdapter = new tcdbDataSetTableAdapters.db_productsTableAdapter(); pAdapter.Update(product.ID, product.NAME, product.DESCRIPTION, null, null, null, null, null, product.CODENAME, activeBox.Checked); + + Response.Redirect(Request.RawUrl); } protected void ProductsView_DataBound(object sender, EventArgs e) { Modified: Website/Includes/Rights.ascx =================================================================== --- Website/Includes/Rights.ascx 2006-08-07 18:31:14 UTC (rev 278) +++ Website/Includes/Rights.ascx 2006-08-07 20:35:11 UTC (rev 279) @@ -38,15 +38,7 @@ <tr> <td align="left" colspan="2" valign="top" width="33%"> <strong>Roles:<br /> - </strong> <asp:ListBox ID="roleList" runat="server" DataSourceID="RightRolesDataSource" - DataTextField="roleName" DataValueField="roleID"></asp:ListBox><asp:ObjectDataSource - ID="RightRolesDataSource" runat="server" OldValuesParameterFormatString="original_{0}" - SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.db_rightRoleTableAdapter"> - <SelectParameters> - <asp:SessionParameter Name="rightID" SessionField="rightsID" Type="Int32" /> - <asp:Parameter DefaultValue="true" Name="active" Type="Boolean" /> - </SelectParameters> - </asp:ObjectDataSource> + </strong> <asp:ListBox ID="roleList" runat="server" OnInit="roleList_Init" Height="150px" Width="150px"></asp:ListBox> </td> <td align="left" colspan="2" valign="top" width="33%"> </td> @@ -106,7 +98,7 @@ <strong>Roles:<br /> </strong> <asp:ListBox ID="roleList" runat="server" OnDataBound="roleList_DataBound" DataSourceID="RolesDataSource" DataTextField="roleName" DataValueField="roleID" - SelectionMode="Multiple"></asp:ListBox> + SelectionMode="Multiple" Height="150px" Width="150px"></asp:ListBox> </td> <td align="left" colspan="2" valign="top" width="33%"> </td> Modified: Website/Includes/Rights.ascx.cs =================================================================== --- Website/Includes/Rights.ascx.cs 2006-08-07 18:31:14 UTC (rev 278) +++ Website/Includes/Rights.ascx.cs 2006-08-07 20:35:11 UTC (rev 279) @@ -114,24 +114,6 @@ Response.Redirect("Administration.aspx"); } - protected void roleList_DataBound(object sender, EventArgs e) - { - ListBox roleList = (ListBox)sender; - - if (FormView1.CurrentMode == FormViewMode.Edit) - { - tcdbDataSetTableAdapters.db_rightRoleTableAdapter rrAdapter = new tcdbDataSetTableAdapters.db_rightRoleTableAdapter(); - tcdbDataSet.db_rightRoleDataTable rrTable = rrAdapter.GetData(rightsID, active); - - foreach (tcdbDataSet.db_rightRoleRow row in rrTable) - roleList.Items.FindByValue(row.roleID.ToString()).Selected = true; - } - else - { - if (role != null) - roleList.SelectedValue = role; - } - } protected void New_Init(object sender, EventArgs e) { LinkButton newBtn = (LinkButton)sender; @@ -195,4 +177,43 @@ } else activeBox.Enabled = false; } + protected void roleList_Init(object sender, EventArgs e) + { + ListBox roleList = (ListBox)sender; + tcdbDataSetTableAdapters.db_rightRoleTableAdapter rrAdapter = new tcdbDataSetTableAdapters.db_rightRoleTableAdapter(); + tcdbDataSet.db_rightRoleDataTable rrTable = rrAdapter.GetData(rightsID, active); + + foreach (tcdbDataSet.db_rightRoleRow row in rrTable) + { + ListItem item = new ListItem(row.roleName, row.roleID.ToString()); + if (!row.active) + item.Attributes.CssStyle.Add("text-decoration", "line-through"); + + roleList.Items.Add(item); + } + } + protected void roleList_DataBound(object sender, EventArgs e) + { + ListBox roleList = (ListBox)sender; + + if (FormView1.CurrentMode == FormViewMode.Edit) + { + tcdbDataSetTableAdapters.db_rightRoleTableAdapter rrAdapter = new tcdbDataSetTableAdapters.db_rightRoleTableAdapter(); + tcdbDataSet.db_rightRoleDataTable rrTable = rrAdapter.GetData(rightsID, active); + + foreach (tcdbDataSet.db_rightRoleRow row in rrTable) + { + ListItem item = roleList.Items.FindByValue(row.roleID.ToString()); + + item.Selected = true; + if (!row.active) + item.Attributes.CssStyle.Add("text_decoration", "line-through"); + } + } + else + { + if (role != null) + roleList.SelectedValue = role; + } + } } \ No newline at end of file Modified: Website/Includes/Roles.ascx =================================================================== --- Website/Includes/Roles.ascx 2006-08-07 18:31:14 UTC (rev 278) +++ Website/Includes/Roles.ascx 2006-08-07 20:35:11 UTC (rev 279) @@ -43,15 +43,8 @@ </td> <td colspan="2" align="left" valign="top" width="34%" style="height: 132px"> <strong>Rights:</strong><br /> - <asp:ListBox ID="rightsList" runat="server" DataSourceID="RoleRightsDataSource" - DataTextField="rightName" DataValueField="rightsID" Height="150px" Width="150px"> - </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> + <asp:ListBox ID="rightsList" runat="server" Height="150px" Width="150px" OnInit="rightsList_Init1"> + </asp:ListBox> </td> </tr> <tr> Modified: Website/Includes/Roles.ascx.cs =================================================================== --- Website/Includes/Roles.ascx.cs 2006-08-07 18:31:14 UTC (rev 278) +++ Website/Includes/Roles.ascx.cs 2006-08-07 20:35:11 UTC (rev 279) @@ -103,6 +103,7 @@ protected void updateRoleRights() { ListBox rightsList = (ListBox)FormView1.FindControl("rightsList"); + /* // Clear roles tcdbDataSetTableAdapters.db_roleRightTableAdapter rrAdapter = new tcdbDataSetTableAdapters.db_roleRightTableAdapter(); @@ -127,6 +128,7 @@ else rrAdapter.DeleteRoleRights(roleID, rightsID); } + } protected void FormView1_ItemInserted(object sender, FormViewInsertedEventArgs e) { @@ -200,7 +202,12 @@ tcdbDataSet.db_roleRightDataTable roleRightTable = roleRightAdapter.GetData(roleID, true); foreach (tcdbDataSet.db_roleRightRow row in roleRightTable) - rightsList.Items.FindByValue(row.rightsID.ToString()).Selected = true; + { + ListItem item = rightsList.Items.FindByValue(row.rightsID.ToString()); + item.Selected = true; + if (!row.active) + item.Attributes.CssStyle.Add("text-decoration", "line-through"); + } } protected void addUsers(object sender, CommandEventArgs e) @@ -468,4 +475,19 @@ else activeBox.Enabled = false; } + protected void rightsList_Init1(object sender, EventArgs e) + { + ListBox rightsList = (ListBox)sender; + tcdbDataSetTableAdapters.db_roleRightTableAdapter rrAdapter = new tcdbDataSetTableAdapters.db_roleRightTableAdapter(); + tcdbDataSet.db_roleRightDataTable rrTable = rrAdapter.GetData(roleID, active); + + foreach (tcdbDataSet.db_roleRightRow row in rrTable) + { + ListItem item = new ListItem(row.rightName, row.rightsID.ToString()); + if (!row.active) + item.Attributes.CssStyle.Add("text-decoration", "line-through"); + + rightsList.Items.Add(item); + } + } } \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2006-08-07 18:31:30
|
Revision: 278 Author: rouquin Date: 2006-08-07 11:31:14 -0700 (Mon, 07 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=278&view=rev Log Message: ----------- The Product page is fully functional (pending bug #9825). Also fixed a few bugs elsewhere. Modified Paths: -------------- Website/App_Code/Products.cs Website/App_Code/tcdbDataSet.xsd Website/App_Code/tcdbDataSet.xss Website/Includes/Administration.ascx.cs Website/Includes/Assignments.ascx Website/Includes/Assignments.ascx.cs Website/Includes/FeaturesTree.ascx.cs Website/Includes/Header_Menu.ascx Website/Includes/Products.ascx Website/Includes/Products.ascx.cs Website/Includes/Rights.ascx Website/Includes/Rights.ascx.cs Website/Includes/Roles.ascx Website/Includes/Roles.ascx.cs Website/Product.aspx Modified: Website/App_Code/Products.cs =================================================================== --- Website/App_Code/Products.cs 2006-08-07 15:45:20 UTC (rev 277) +++ Website/App_Code/Products.cs 2006-08-07 18:31:14 UTC (rev 278) @@ -25,23 +25,14 @@ public static Product GetProduct(bool isActive, int productID) { - tcdbDataSet ds = new tcdbDataSet(); tcdbDataSetTableAdapters.db_productsTableAdapter ta = new tcdbDataSetTableAdapters.db_productsTableAdapter(); - ta.GetData(isActive, productID); - ta.Fill(ds.db_products, isActive, productID); - + tcdbDataSet.db_productsDataTable pTable = ta.GetData(isActive, productID); Product product = new Product(); - DataTableReader dr = ds.db_products.CreateDataReader(); - if (dr.HasRows && dr.Read()) - { - int id = Help.DB_IntParse(dr["productID"]); - string name = Help.DB_StringParse(dr["name"]); - string description = Help.DB_StringParse(dr["description"]); - string codeName = Help.DB_StringParse(dr["codeName"]); - bool active = Help.DB_BoolParse(dr["active"]); + if (pTable.Count > 0){ + tcdbDataSet.db_productsRow row = pTable[0]; - product = new Product(id, name, description, codeName, active); + product = new Product(row.productID, row.name, row.description, row.codeName, row.active); } return product; @@ -49,36 +40,13 @@ public static List<Product> GetProductList(bool isActive) { - tcdbDataSet ds = new tcdbDataSet(); tcdbDataSetTableAdapters.db_productsTableAdapter ta = new tcdbDataSetTableAdapters.db_productsTableAdapter(); - ta.GetData(isActive, null); - ta.Fill(ds.db_products, isActive, null); - + tcdbDataSet.db_productsDataTable pTable = ta.GetData(isActive, null); List<Product> productList = new List<Product>(); - DataTableReader dr = ds.db_products.CreateDataReader(); - if (dr.HasRows) - { - int id; - string name; - string description; - string codeName; - bool active; + foreach (tcdbDataSet.db_productsRow row in pTable) + productList.Add(new Product(row.productID, row.name, row.description, row.codeName, row.active)); - while (dr.Read()) { - Product product = new Product(); - - id = Help.DB_IntParse(dr["productID"]); - name = Help.DB_StringParse(dr["name"]); - description = Help.DB_StringParse(dr["description"]); - codeName = Help.DB_StringParse(dr["codeName"]); - active = Help.DB_BoolParse(dr["active"]); - - product = new Product(id, name, description, codeName, active); - productList.Add(product); - } - } - return productList; } } Modified: Website/App_Code/tcdbDataSet.xsd =================================================================== --- Website/App_Code/tcdbDataSet.xsd 2006-08-07 15:45:20 UTC (rev 277) +++ Website/App_Code/tcdbDataSet.xsd 2006-08-07 18:31:14 UTC (rev 278) @@ -944,108 +944,108 @@ <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" /> @@ -1058,113 +1058,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" /> @@ -1177,47 +1177,47 @@ <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:Generator_ColumnVarNameInTable="columnrightDescription" msprop:Generator_ColumnPropNameInRow="rightDescription" msprop:Generator_ColumnPropNameInTable="rightDescriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </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="rightsDescription" msprop:Generator_UserColumnName="rightsDescription" msprop:Generator_ColumnPropNameInRow="rightsDescription" msprop:Generator_ColumnVarNameInTable="columnrightsDescription" msprop:Generator_ColumnPropNameInTable="rightsDescriptionColumn" 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="rightsDescription" msprop:Generator_UserColumnName="rightsDescription" msprop:Generator_ColumnVarNameInTable="columnrightsDescription" msprop:Generator_ColumnPropNameInRow="rightsDescription" msprop:Generator_ColumnPropNameInTable="rightsDescriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> @@ -1230,25 +1230,25 @@ <xs:element name="db_roleProductUser" msprop:Generator_UserTableName="db_roleProductUser" msprop:Generator_RowDeletedName="db_roleProductUserRowDeleted" msprop:Generator_RowChangedName="db_roleProductUserRowChanged" msprop:Generator_RowClassName="db_roleProductUserRow" msprop:Generator_RowChangingName="db_roleProductUserRowChanging" msprop:Generator_RowEvArgName="db_roleProductUserRowChangeEvent" msprop:Generator_RowEvHandlerName="db_roleProductUserRowChangeEventHandler" msprop:Generator_TableClassName="db_roleProductUserDataTable" msprop:Generator_TableVarName="tabledb_roleProductUser" msprop:Generator_RowDeletingName="db_roleProductUserRowDeleting" msprop:Generator_TablePropName="db_roleProductUser"> <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="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="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="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="roleID" msprop:Generator_UserColumnName="roleID" msprop:Generator_ColumnVarNameInTable="columnroleID" msprop:Generator_ColumnPropNameInRow="roleID" msprop:Generator_ColumnPropNameInTable="roleIDColumn" 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="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> + <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="productID" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" /> + <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_roleProduct" msprop:Generator_UserTableName="db_roleProduct" msprop:Generator_RowDeletedName="db_roleProductRowDeleted" msprop:Generator_RowChangedName="db_roleProductRowChanged" msprop:Generator_RowClassName="db_roleProductRow" msprop:Generator_RowChangingName="db_roleProductRowChanging" msprop:Generator_RowEvArgName="db_roleProductRowChangeEvent" msprop:Generator_RowEvHandlerName="db_roleProductRowChangeEventHandler" msprop:Generator_TableClassName="db_roleProductDataTable" msprop:Generator_TableVarName="tabledb_roleProduct" msprop:Generator_RowDeletingName="db_roleProductRowDeleting" msprop:Generator_TablePropName="db_roleProduct"> <xs:complexType> ... [truncated message content] |
From: <ro...@us...> - 2006-08-07 15:45:34
|
Revision: 277 Author: rouquin Date: 2006-08-07 08:45:20 -0700 (Mon, 07 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=277&view=rev Log Message: ----------- I gave TCDB developers rights to view and edit deleted things. Modified Paths: -------------- Website/App_Code/Assignments.cs Website/App_Code/Right.cs Website/App_Code/Users.cs Website/App_Themes/Python/python.css Website/Includes/ActionItems.ascx Website/Includes/ActionItems.ascx.cs Website/Includes/AdministrationTree.ascx.cs Website/Includes/Assignments.ascx Website/Includes/Assignments.ascx.cs Website/Includes/AssignmentsTree.ascx.cs Website/Includes/Rights.ascx Website/Includes/Rights.ascx.cs Website/Includes/RoleAdmin.ascx.cs Website/Includes/Roles.ascx Website/Includes/Roles.ascx.cs Modified: Website/App_Code/Assignments.cs =================================================================== --- Website/App_Code/Assignments.cs 2006-08-07 14:01:13 UTC (rev 276) +++ Website/App_Code/Assignments.cs 2006-08-07 15:45:20 UTC (rev 277) @@ -19,21 +19,22 @@ { private static ILog m_logg = LogManager.GetLogger("TCDB.Assignments.AssignmentDB"); - public static List<Assignment> GetAssignmentList(string aType, int finished, int assignedID, string highPriority, Nullable<int> creatorID) + public static List<Assignment> GetAssignmentList(string aType, int finished, int assignedID, string highPriority, Nullable<int> creatorID, Nullable<bool> active) { tcdbDataSetTableAdapters.db_assignmentsTableAdapter ta = new tcdbDataSetTableAdapters.db_assignmentsTableAdapter(); tcdbDataSet.db_assignmentsDataTable aTable; if (finished == Constants.ASSIGNMENT_FINISHEDANDUNFINISHED) - aTable = ta.GetData(aType, null, assignedID, null, true); + aTable = ta.GetData(aType, null, assignedID, null, active); else - aTable = ta.GetData(aType, finished, assignedID, null, true); + aTable = ta.GetData(aType, finished, assignedID, null, active); List<Assignment> assignmentList = new List<Assignment>(); foreach (tcdbDataSet.db_assignmentsRow row in aTable) { Assignment assignment = new Assignment(); + assignment.DELETED = !row.active; assignment.NAME = row.aName; assignment.DATEASSIGNED = row.dateAssigned; try @@ -52,7 +53,7 @@ string type = row.aType; if (type == Constants.CODE_AI) { - assignment.ACTIONITEM = ActionItemDB.GetActionItem(row.childID); + assignment.ACTIONITEM = ActionItemDB.GetActionItem(row.childID, active); assignment.WOTOTALTEST = 0; assignment.WOPASSRATE = 0; assignment.WOPASS = 0; @@ -94,7 +95,7 @@ try { m_logg.Debug("Getting Action Item information for id [" + id.ToString() + "]"); - ActionItem ai = ActionItemDB.GetActionItem(id); + ActionItem ai = ActionItemDB.GetActionItem(id, null); return SendNewActionItemMail(ai); } catch { @@ -126,7 +127,7 @@ { try { - ActionItem ai = ActionItemDB.GetActionItem(id); + ActionItem ai = ActionItemDB.GetActionItem(id, null); return SendUpdatedActionItemMail(ai, updatingUser); } catch { return false; } @@ -170,7 +171,7 @@ { try { - ActionItem ai = ActionItemDB.GetActionItem(id); + ActionItem ai = ActionItemDB.GetActionItem(id, null); return SendCompletedActionItemMail(ai, updatingUser); } catch { return false; } @@ -212,24 +213,22 @@ return result; } - public static ActionItem GetActionItem(int id) + public static ActionItem GetActionItem(int id, Nullable<bool> active) { - tcdbDataSet ds = new tcdbDataSet(); tcdbDataSetTableAdapters.db_actionItemsTableAdapter ta = new tcdbDataSetTableAdapters.db_actionItemsTableAdapter(); - ta.GetData(id, true); - ta.Fill(ds.db_actionItems, id, true); - + tcdbDataSet.db_actionItemsDataTable aiTable = ta.GetData(id, active); ActionItem ai = new ActionItem(); - DataTableReader dr = ds.db_actionItems.CreateDataReader(); - if (dr.HasRows && dr.Read()) + if (aiTable.Count > 0) { - ai.ID = Help.DB_IntParse(dr["actionItemID"], 0); - ai.NAME = Help.DB_StringParse(dr["name"], ""); - ai.DESCRIPTION = Help.DB_StringParse(dr["description"], ""); - ai.CREATOR = new User(Help.DB_IntParse(dr["creatorID"], Constants.ANONYMOUSUSERID)); - ai.ASSIGNED = new User(Help.DB_IntParse(dr["assignedID"], Constants.ANONYMOUSUSERID)); - ai.PERCENTCOMPLETE = Help.DB_IntParse(dr["percentComplete"], 0); + tcdbDataSet.db_actionItemsRow row = aiTable[0]; + + ai.ID = row.actionItemID; + ai.NAME = row.name; + ai.DESCRIPTION = row.description; + ai.CREATOR = new User(row.creatorID); + ai.ASSIGNED = new User(row.assignedID); + ai.PERCENTCOMPLETE = row.percentComplete; } return ai; @@ -308,6 +307,7 @@ private int p_woPass; private int p_woFail; private int p_woError; + private bool p_deleted; public Assignment() { @@ -327,6 +327,7 @@ p_woPass = 0; p_woFail = 0; p_woError = 0; + p_deleted = false; } public int ID @@ -428,6 +429,18 @@ } } + public bool DELETED + { + get + { + return p_deleted; + } + set + { + p_deleted = value; + } + } + public int WOTOTALTEST { get { return p_woTotalTest; } Modified: Website/App_Code/Right.cs =================================================================== --- Website/App_Code/Right.cs 2006-08-07 14:01:13 UTC (rev 276) +++ Website/App_Code/Right.cs 2006-08-07 15:45:20 UTC (rev 277) @@ -33,7 +33,7 @@ public static Right GetRightInfo(string name) { tcdbDataSetTableAdapters.db_rightsTableAdapter rightsAdapter = new tcdbDataSetTableAdapters.db_rightsTableAdapter(); - tcdbDataSet.db_rightsDataTable rightsTable = rightsAdapter.GetData(null, name, true); + tcdbDataSet.db_rightsDataTable rightsTable = rightsAdapter.GetData(null, name, null); if (rightsTable.Count > 0) { @@ -48,7 +48,7 @@ public static Right GetRightInfo(int id) { tcdbDataSetTableAdapters.db_rightsTableAdapter rightsAdapter = new tcdbDataSetTableAdapters.db_rightsTableAdapter(); - tcdbDataSet.db_rightsDataTable rightsTable = rightsAdapter.GetData(id, null, true); + tcdbDataSet.db_rightsDataTable rightsTable = rightsAdapter.GetData(id, null, null); if (rightsTable.Count > 0) { @@ -70,7 +70,7 @@ public static Role GetRoleInfo(string name) { tcdbDataSetTableAdapters.db_roleTableAdapter roleAdapter = new tcdbDataSetTableAdapters.db_roleTableAdapter(); - tcdbDataSet.db_roleDataTable roleTable = roleAdapter.GetData(null,name,true); + tcdbDataSet.db_roleDataTable roleTable = roleAdapter.GetData(null,name,null); if (roleTable.Count > 0) { @@ -92,7 +92,7 @@ public static Role GetRoleInfo(int id) { tcdbDataSetTableAdapters.db_roleTableAdapter roleAdapter = new tcdbDataSetTableAdapters.db_roleTableAdapter(); - tcdbDataSet.db_roleDataTable roleTable = roleAdapter.GetData(id,null,true); + tcdbDataSet.db_roleDataTable roleTable = roleAdapter.GetData(id,null,null); if (roleTable.Count > 0) { @@ -104,10 +104,10 @@ return new Role(); } - public static List<Right> TCDB_GetRightList() + public static List<Right> TCDB_GetRightList(Nullable<bool> active) { tcdbDataSetTableAdapters.db_rightsTableAdapter rightsAdapter = new tcdbDataSetTableAdapters.db_rightsTableAdapter(); - tcdbDataSet.db_rightsDataTable rightsTable = rightsAdapter.GetData(null, null, true); + tcdbDataSet.db_rightsDataTable rightsTable = rightsAdapter.GetData(null, null, active); List<Right> rightsList = new List<Right>(); foreach (tcdbDataSet.db_rightsRow row in rightsTable) @@ -116,10 +116,10 @@ return rightsList; } - public static List<String> TCDB_GetUserRights(int productID, int userID) + public static List<String> TCDB_GetUserRights(int productID, int userID, Nullable<bool> active) { tcdbDataSetTableAdapters.db_userRightsTableAdapter userRightsAdapter = new tcdbDataSetTableAdapters.db_userRightsTableAdapter(); - tcdbDataSet.db_userRightsDataTable userRightsTable = userRightsAdapter.GetData(userID,productID,null,null,true); + tcdbDataSet.db_userRightsDataTable userRightsTable = userRightsAdapter.GetData(userID,productID,null,null,active); List<String> rightsList = new List<String>(); foreach (tcdbDataSet.db_userRightsRow row in userRightsTable) @@ -128,10 +128,10 @@ return rightsList; } - public static Right TCDB_GetUserRight(int productID, int userID, String rightsName) + public static Right TCDB_GetUserRight(int productID, int userID, String rightsName, Nullable<bool> active) { tcdbDataSetTableAdapters.db_userRightsTableAdapter userRightsAdapter = new tcdbDataSetTableAdapters.db_userRightsTableAdapter(); - tcdbDataSet.db_userRightsDataTable userRightsTable = userRightsAdapter.GetData(userID, productID, null, rightsName, true); + tcdbDataSet.db_userRightsDataTable userRightsTable = userRightsAdapter.GetData(userID, productID, null, rightsName, active); if (userRightsTable.Count > 0) { @@ -143,10 +143,10 @@ return null; } - public static List<String> TCDB_GetUserRoles(int productID, int userID) + public static List<String> TCDB_GetUserRoles(int productID, int userID, Nullable<bool> active) { tcdbDataSetTableAdapters.db_roleUserProductTableAdapter userRoleAdapter = new tcdbDataSetTableAdapters.db_roleUserProductTableAdapter(); - tcdbDataSet.db_roleUserProductDataTable userRoleTable = userRoleAdapter.GetData(userID, productID, true); + tcdbDataSet.db_roleUserProductDataTable userRoleTable = userRoleAdapter.GetData(userID, productID, active); List<String> roleList = new List<String>(); foreach (tcdbDataSet.db_roleUserProductRow row in userRoleTable) @@ -154,10 +154,10 @@ return roleList; } - public static Role TCDB_GetUserRoles(int productID, int userID, String roleName) + public static Role TCDB_GetUserRoles(int productID, int userID, String roleName, Nullable<bool> active) { tcdbDataSetTableAdapters.db_roleUserProductTableAdapter userRoleAdapter = new tcdbDataSetTableAdapters.db_roleUserProductTableAdapter(); - tcdbDataSet.db_roleUserProductDataTable userRoleTable = userRoleAdapter.GetData(userID, productID, true); + tcdbDataSet.db_roleUserProductDataTable userRoleTable = userRoleAdapter.GetData(userID, productID, active); foreach (tcdbDataSet.db_roleUserProductRow row in userRoleTable) if (row.roleName == roleName) Modified: Website/App_Code/Users.cs =================================================================== --- Website/App_Code/Users.cs 2006-08-07 14:01:13 UTC (rev 276) +++ Website/App_Code/Users.cs 2006-08-07 15:45:20 UTC (rev 277) @@ -340,12 +340,12 @@ // Problem: I think that it was caused because creating an anon user calls this, // which in turn creates an anon user. // Solution: Only calling this if we're not dealing with the anon user. - if (user.ID != Constants.ANONYMOUSUSERID) - { + //if (user.ID != Constants.ANONYMOUSUSERID) + //{ // Anything that we have to Get based on userID should happen // in this block so that we avoid an infinate loop //p_assignments = user.GetAssignments(false, Constants.ASSIGNMENT_FINISHEDANDUNFINISHED); - } + //} p_assignments = null; p_rights = new Dictionary<int, List<String>>(); p_roles = new Dictionary<int, List<String>>(); @@ -459,7 +459,7 @@ // Specified product if (!p_rights.ContainsKey(productID)) - p_rights[productID] = RightDB.TCDB_GetUserRights(productID,p_id); + p_rights[productID] = RightDB.TCDB_GetUserRights(productID,p_id, true); if (p_rights[productID].Contains(right)) return true; @@ -467,7 +467,7 @@ 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); + p_rights[Constants.PRODUCT_SITEID] = RightDB.TCDB_GetUserRights(Constants.PRODUCT_SITEID, p_id, true); if (p_rights[Constants.PRODUCT_SITEID].Contains(right)) return true; } @@ -490,7 +490,7 @@ // Specified product if (!p_rights.ContainsKey(productID)) - p_rights[productID] = RightDB.TCDB_GetUserRights(productID, p_id); + p_rights[productID] = RightDB.TCDB_GetUserRights(productID, p_id, true); if (user.HasRights(productID) && p_rights[productID].Contains(right)) return true; @@ -498,7 +498,7 @@ 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); + p_rights[Constants.PRODUCT_SITEID] = RightDB.TCDB_GetUserRights(Constants.PRODUCT_SITEID, p_id, true); if (user.HasRights(Constants.PRODUCT_SITEID) && p_rights[Constants.PRODUCT_SITEID].Contains(right)) return true; } @@ -507,7 +507,7 @@ } public static bool HasRight(int userID, string right, int productID) { - return (RightDB.TCDB_GetUserRight(productID, userID, right) != null); + return (RightDB.TCDB_GetUserRight(productID, userID, right, true) != null); } public bool HasRights(int productID) { @@ -524,7 +524,7 @@ } if (!p_rights.ContainsKey(productID)) - p_rights[productID] = RightDB.TCDB_GetUserRights(productID, p_id); + p_rights[productID] = RightDB.TCDB_GetUserRights(productID, p_id, true); if (p_rights[productID].Count > 0) return true; @@ -533,7 +533,7 @@ } public static bool HasRights(int userID, int productID) { - return (RightDB.TCDB_GetUserRights(productID, userID).Count > 0); + return (RightDB.TCDB_GetUserRights(productID, userID, true).Count > 0); } public void AddRole(String role, int productID) @@ -566,7 +566,7 @@ // Specified product if (!p_roles.ContainsKey(productID)) - p_roles[productID] = RightDB.TCDB_GetUserRoles(productID, p_id); + p_roles[productID] = RightDB.TCDB_GetUserRoles(productID, p_id, true); if (p_roles[productID].Contains(role)) return true; @@ -574,7 +574,7 @@ if (productID != Constants.PRODUCT_SITEID) { if (!p_roles.ContainsKey(Constants.PRODUCT_SITEID)) - p_roles[Constants.PRODUCT_SITEID] = RightDB.TCDB_GetUserRoles(Constants.PRODUCT_SITEID, p_id); + p_roles[Constants.PRODUCT_SITEID] = RightDB.TCDB_GetUserRoles(Constants.PRODUCT_SITEID, p_id, true); if (p_roles[Constants.PRODUCT_SITEID].Contains(role)) return true; } @@ -583,7 +583,7 @@ } public static bool HasRole(int userID, string role, int productID) { - return (RightDB.TCDB_GetUserRoles(productID, userID, role) != null); + return (RightDB.TCDB_GetUserRoles(productID, userID, role, true) != null); } public bool HasRoles(int productID) { @@ -600,7 +600,7 @@ } if (!p_roles.ContainsKey(productID)) - p_roles[productID] = RightDB.TCDB_GetUserRoles(productID, p_id); + p_roles[productID] = RightDB.TCDB_GetUserRoles(productID, p_id, true); if (p_roles[productID].Count > 0) return true; @@ -609,15 +609,15 @@ } public static bool HasRoles(int userID, int productID) { - return (RightDB.TCDB_GetUserRoles(productID, userID).Count > 0); + return (RightDB.TCDB_GetUserRoles(productID, userID, true).Count > 0); } - public List<Assignment> GetAssignments(bool reload, int statusFilter) + public List<Assignment> GetAssignments(bool reload, int statusFilter, Nullable<bool> active) { // TODO: This list needs to be able to reflect filters! if (p_assignments == null || reload) { - p_assignments = AssignmentDB.GetAssignmentList(null, statusFilter, ID, null, null); + p_assignments = AssignmentDB.GetAssignmentList(null, statusFilter, ID, null, null, active); } return p_assignments; Modified: Website/App_Themes/Python/python.css =================================================================== --- Website/App_Themes/Python/python.css 2006-08-07 14:01:13 UTC (rev 276) +++ Website/App_Themes/Python/python.css 2006-08-07 15:45:20 UTC (rev 277) @@ -92,6 +92,14 @@ color: Gray; } +.deleted +{ + color: black; + font-style: italic; + text-decoration: line-through; + font-family: 'Arial Narrow'; +} + .item .checkbox INPUT { margin: 0; Modified: Website/Includes/ActionItems.ascx =================================================================== --- Website/Includes/ActionItems.ascx 2006-08-07 14:01:13 UTC (rev 276) +++ Website/Includes/ActionItems.ascx 2006-08-07 15:45:20 UTC (rev 277) @@ -47,7 +47,9 @@ <asp:ListItem>75</asp:ListItem> <asp:ListItem>100</asp:ListItem> </asp:RadioButtonList></div> - </div> + <asp:Label ID="deletedLbl" runat="server" Text="Deleted: "></asp:Label><strong></strong><asp:CheckBox + ID="activeBox" runat="server" AutoPostBack="True" Checked='<%# Eval("active") %>' + OnCheckedChanged="activeBox_CheckedChanged" OnInit="activeBox_Init" /></div> <div class="end"> </div> </div> @@ -317,10 +319,10 @@ </div> <asp:ObjectDataSource ID="ActionItemDataSource" runat="server" SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.db_actionItemsTableAdapter" InsertMethod="Insert" - UpdateMethod="Update" DeleteMethod="Delete"> + UpdateMethod="Update" DeleteMethod="Delete" OldValuesParameterFormatString="original_{0}"> <SelectParameters> <asp:SessionParameter Name="actionItemID" SessionField="item_id" Type="Int32" /> - <asp:Parameter DefaultValue="true" Name="active" Type="Boolean" /> + <asp:SessionParameter DefaultValue="" Name="active" SessionField="active" Type="Boolean" /> </SelectParameters> <InsertParameters> <asp:Parameter Name="name" Type="String" /> Modified: Website/Includes/ActionItems.ascx.cs =================================================================== --- Website/Includes/ActionItems.ascx.cs 2006-08-07 14:01:13 UTC (rev 276) +++ Website/Includes/ActionItems.ascx.cs 2006-08-07 15:45:20 UTC (rev 277) @@ -42,7 +42,7 @@ } else { - ai = ActionItemDB.GetActionItem(Convert.ToInt32(item_id)); + ai = ActionItemDB.GetActionItem(Convert.ToInt32(item_id),active); if (ai != null && (!m_user.HasRight("view_other_ai", productID) && @@ -277,6 +277,7 @@ DropDownList status = (DropDownList)ActionItemsView.FindControl("statusList"); RadioButtonList percent = (RadioButtonList)ActionItemsView.FindControl("percentList"); CalendarPopup dateDue = (CalendarPopup)ActionItemsView.FindControl("dateDue"); + CheckBox activeBox = (CheckBox)ActionItemsView.FindControl("activeBox"); createdBy.Text = m_user.FULLNAME; createdBy.ToolTip = m_user.ID.ToString(); @@ -287,9 +288,15 @@ percent.SelectedIndex = 0; status.Enabled = false; percent.Enabled = false; + activeBox.Enabled = false; } else if (data != null) + { + CheckBox activeBox = (CheckBox)ActionItemsView.FindControl("activeBox"); + Page.Title = "TCDB: " + data["name"].ToString(); + activeBox.Checked = !activeBox.Checked; + } else Response.Redirect("Assignments.aspx?" + Constants.CODE_USER + "=" + m_user.ID); } @@ -399,7 +406,7 @@ protected void assignedTo_Init(object sender, EventArgs e) { DropDownList assignedTo = (DropDownList)sender; - if (ai == null) ai = ActionItemDB.GetActionItem(Convert.ToInt32(item_id)); + if (ai == null) ai = ActionItemDB.GetActionItem(Convert.ToInt32(item_id),active); if (!(ActionItemsView.CurrentMode == FormViewMode.Insert && m_user.HasRight("create_other_ai", Constants.PRODUCT_ANYID)) && !(ActionItemsView.CurrentMode == FormViewMode.Edit && m_user.HasRight("reassign_other_ai", ai.CREATOR, Constants.PRODUCT_ANYID))) @@ -439,4 +446,25 @@ } } + protected void activeBox_Init(object sender, EventArgs e) + { + CheckBox activeBox = (CheckBox)sender; + Label deletedLbl = (Label)ActionItemsView.FindControl("deletedLbl"); + + if (!m_user.HasRight("dev_access")) + { + activeBox.Visible = false; + deletedLbl.Visible = false; + } + } + protected void activeBox_CheckedChanged(object sender, EventArgs e) + { + CheckBox activeBox = (CheckBox)sender; + int deleted = (activeBox.Checked) ? 0:1; + + tcdbDataSetTableAdapters.db_actionItemsTableAdapter aiAdapter = new tcdbDataSetTableAdapters.db_actionItemsTableAdapter(); + aiAdapter.Delete(Convert.ToInt32(item_id), deleted); + + Response.Redirect(Request.RawUrl); + } } Modified: Website/Includes/AdministrationTree.ascx.cs =================================================================== --- Website/Includes/AdministrationTree.ascx.cs 2006-08-07 14:01:13 UTC (rev 276) +++ Website/Includes/AdministrationTree.ascx.cs 2006-08-07 15:45:20 UTC (rev 277) @@ -50,7 +50,7 @@ { ArrayList nodes = (ArrayList)Session["AdminNodes"]; tcdbDataSetTableAdapters.db_productsTableAdapter productAdapter = new tcdbDataSetTableAdapters.db_productsTableAdapter(); - tcdbDataSet.db_productsDataTable productTable = productAdapter.GetData(true, null); + tcdbDataSet.db_productsDataTable productTable = productAdapter.GetData(active, null); if (productTable.Count > 0) { @@ -70,6 +70,8 @@ // Set additional properties for the node. newNode.SelectAction = TreeNodeSelectAction.Expand; newNode.NavigateUrl = "~/Product.aspx?" + Constants.CODE_PRODUCT + "=" + newNode.Value; + if (!row.active) + newNode.Text = "<font class='deleted'>" + newNode.Text + "</font>"; // Add the new node to the ChildNodes collection of the parent node. parent.ChildNodes.Add(newNode); @@ -439,7 +441,7 @@ protected void BuildAllRolesList(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, active); foreach (tcdbDataSet.db_roleRow row in rTable) { @@ -447,6 +449,8 @@ child.Text = row.roleName; child.Value = row.roleID.ToString(); child.NavigateUrl = "~/Role.aspx?" + Constants.CODE_ROLE + "=" + child.Value; + if (!row.active) + child.Text = "<font class='deleted'>" + child.Text + "</font>"; parent.ChildNodes.Add(child); } @@ -454,7 +458,7 @@ protected void BuildAllRightsList(TreeNode parent) { tcdbDataSetTableAdapters.db_rightsTableAdapter rAdapter = new tcdbDataSetTableAdapters.db_rightsTableAdapter(); - tcdbDataSet.db_rightsDataTable rTable = rAdapter.GetData(null, null, true); + tcdbDataSet.db_rightsDataTable rTable = rAdapter.GetData(null, null, active); foreach (tcdbDataSet.db_rightsRow row in rTable) { @@ -462,6 +466,8 @@ child.Text = row.rightsName; child.Value = row.rightsID.ToString(); child.NavigateUrl = "~/Right.aspx?" + Constants.CODE_RIGHT + "=" + child.Value; + if (!row.active) + child.Text = "<font class='deleted'>" + child.Text + "</font>"; parent.ChildNodes.Add(child); } Modified: Website/Includes/Assignments.ascx =================================================================== --- Website/Includes/Assignments.ascx 2006-08-07 14:01:13 UTC (rev 276) +++ Website/Includes/Assignments.ascx 2006-08-07 15:45:20 UTC (rev 277) @@ -10,7 +10,7 @@ <asp:Parameter Name="finished" Type="Int32" /> <asp:SessionParameter Name="assignedID" SessionField="uid" Type="Int32" /> <asp:Parameter Name="highPriority" Type="Boolean" /> - <asp:Parameter DefaultValue="true" Name="active" Type="Boolean" /> + <asp:SessionParameter DefaultValue="" Name="active" SessionField="active" Type="Boolean" /> </SelectParameters> </asp:ObjectDataSource> <div id="Assignments"> Modified: Website/Includes/Assignments.ascx.cs =================================================================== --- Website/Includes/Assignments.ascx.cs 2006-08-07 14:01:13 UTC (rev 276) +++ Website/Includes/Assignments.ascx.cs 2006-08-07 15:45:20 UTC (rev 277) @@ -119,10 +119,10 @@ gRow.Cells[1].ToolTip = name; if (type == Constants.CODE_AI) { - ActionItem ai = ActionItemDB.GetActionItem(cid); + ActionItem ai = ActionItemDB.GetActionItem(cid,active); // action item exists - if (ai != null && + if (ai.ID != 0 && // It's not mine, the assignee doesn't belong to this product group, or I don't have rights to see other users' Action Items !(ai.ASSIGNED.ID != m_user.ID && m_user.HasRight("view_other_ai",ai.ASSIGNED,productID)) && @@ -146,7 +146,7 @@ WorkOrder wo = WorkOrderDB.TCDB_GetWorkOrder(cid); // work order exists - if (wo != null && + if (wo.ID != 0 && // It's not mine, the assignee doesn't belong to this product group, or I don't have rights to see other users' work orders !(wo.ASSIGNED.ID != m_user.ID && m_user.HasRight("view_other_wo", wo.ASSIGNED, productID)) && @@ -253,6 +253,10 @@ if ((dateFinished < from) || (dateFinished > to)) return false; } + if (Convert.ToBoolean(data["active"]) == false) + { + gRow.Cells[1].Font.Strikeout = true; + } return true; } Modified: Website/Includes/AssignmentsTree.ascx.cs =================================================================== --- Website/Includes/AssignmentsTree.ascx.cs 2006-08-07 14:01:13 UTC (rev 276) +++ Website/Includes/AssignmentsTree.ascx.cs 2006-08-07 15:45:20 UTC (rev 277) @@ -157,7 +157,7 @@ { ArrayList nodes = (ArrayList)Session["AssignmentNodes"]; tcdbDataSetTableAdapters.db_productsTableAdapter pAdapter = new tcdbDataSetTableAdapters.db_productsTableAdapter(); - tcdbDataSet.db_productsDataTable pTable = pAdapter.GetData(true, null); + tcdbDataSet.db_productsDataTable pTable = pAdapter.GetData(active, null); foreach (tcdbDataSet.db_productsRow row in pTable) { @@ -169,6 +169,9 @@ child.Value = row.productID.ToString(); child.PopulateOnDemand = true; child.SelectAction = TreeNodeSelectAction.Select; + if (!row.active) + child.Text = "<font class='deleted'>" + child.Text + "</font>"; + parent.ChildNodes.Add(child); if (nodes.Contains(child.ValuePath)) child.Expand(); @@ -224,7 +227,7 @@ foreach (tcdbDataSet.db_usersRow row in uTable) { - if (AssignmentDB.GetAssignmentList(null, status, row.userID, null, m_user.ID).Count == 0) + if (AssignmentDB.GetAssignmentList(null, status, row.userID, null, m_user.ID,active).Count == 0) continue; // User name @@ -260,7 +263,7 @@ continue; else lastID = row.userID; - if (AssignmentDB.GetAssignmentList(null, status, row.userID, null, null).Count == 0) + if (AssignmentDB.GetAssignmentList(null, status, row.userID, null, null,active).Count == 0) continue; // Create the new child node. @@ -298,7 +301,7 @@ // Set status and get assignment list if (statusComplete.Checked) status = Constants.ASSIGNMENT_FINISHEDANDUNFINISHED; - List<Assignment> assignmentList = UserDB.GetUserInfo(Convert.ToInt32(parent.Value)).GetAssignments(false, status); + List<Assignment> assignmentList = UserDB.GetUserInfo(Convert.ToInt32(parent.Value)).GetAssignments(false, status,active); m_logg.Debug("There are currently [" + assignmentList.Count.ToString() + "] assignments"); if (assignmentList.Count > 0) @@ -340,6 +343,10 @@ } else continue; } + if (a.DELETED) + { + child.Text = "<font class='deleted'>" + child.Text + "</font>"; + } // Add the new child node to the ChildNodes collection of the parent node. parent.ChildNodes.Add(child); Modified: Website/Includes/Rights.ascx =================================================================== --- Website/Includes/Rights.ascx 2006-08-07 14:01:13 UTC (rev 276) +++ Website/Includes/Rights.ascx 2006-08-07 15:45:20 UTC (rev 277) @@ -7,7 +7,9 @@ <div align="left"> <h2> User Rights</h2> - </div> + </div><div align="right"> + <asp:Label ID="activeLbl" runat="server" Text="Active"></asp:Label> + <asp:CheckBox ID="activeBox" runat="server" AutoPostBack="True" Checked='<%# Eval("active") %>' OnCheckedChanged="activeBox_CheckedChanged" OnInit="activeBox_Init" /></div> </HeaderTemplate> <ItemTemplate> <div class="xsnazzy"> Modified: Website/Includes/Rights.ascx.cs =================================================================== --- Website/Includes/Rights.ascx.cs 2006-08-07 14:01:13 UTC (rev 276) +++ Website/Includes/Rights.ascx.cs 2006-08-07 15:45:20 UTC (rev 277) @@ -165,4 +165,23 @@ descriptionLbl.Visible = true; } } + + protected void activeBox_Init(object sender, EventArgs e) + { + CheckBox activeBox = (CheckBox)sender; + Label activeLbl = (Label)FormView1.FindControl("activeLbl"); + + if (!m_user.HasRight("dev_access")) + { + activeBox.Visible = false; + activeLbl.Visible = false; + } + } + protected void activeBox_CheckedChanged(object sender, EventArgs e) + { + CheckBox activeBox = (CheckBox)sender; + + tcdbDataSetTableAdapters.db_rightsTableAdapter rAdapter = new tcdbDataSetTableAdapters.db_rightsTableAdapter(); + rAdapter.Update(right.ID, right.NAME, right.DESCRIPTION, activeBox.Checked); + } } \ No newline at end of file Modified: Website/Includes/RoleAdmin.ascx.cs =================================================================== --- Website/Includes/RoleAdmin.ascx.cs 2006-08-07 14:01:13 UTC (rev 276) +++ Website/Includes/RoleAdmin.ascx.cs 2006-08-07 15:45:20 UTC (rev 277) @@ -67,7 +67,13 @@ tcdbDataSet.db_roleDataTable rTable = rAdapter.GetData(null, null, active); foreach (tcdbDataSet.db_roleRow row in rTable) - roleList.Items.Add(new ListItem(row.roleName, row.roleID.ToString())); + { + ListItem item = new ListItem(row.roleName, row.roleID.ToString()); + if (!row.active) + item.Attributes.CssStyle.Add("text-decoration", "line-through"); + + roleList.Items.Add(item); + } } protected void rightsList_Init(object sender, EventArgs e) { @@ -86,7 +92,13 @@ tcdbDataSet.db_rightsDataTable rTable = rAdapter.GetData(null, null, active); foreach (tcdbDataSet.db_rightsRow row in rTable) - rightsList.Items.Add(new ListItem(row.rightsName, row.rightsID.ToString())); + { + ListItem item = new ListItem(row.rightsName, row.rightsID.ToString()); + if (!row.active) + item.Attributes.CssStyle.Add("text-decoration", "line-through"); + + rightsList.Items.Add(item); + } } protected void addRoleBtn_Load(object sender, EventArgs e) Modified: Website/Includes/Roles.ascx =================================================================== --- Website/Includes/Roles.ascx 2006-08-07 14:01:13 UTC (rev 276) +++ Website/Includes/Roles.ascx 2006-08-07 15:45:20 UTC (rev 277) @@ -7,7 +7,9 @@ <div align="left"> <h2> User Role</h2> - </div> + </div><div align="right"> + <asp:Label ID="activeLbl" runat="server" Text="Active"></asp:Label> + <asp:CheckBox ID="activeBox" runat="server" AutoPostBack="True" Checked='<%# Eval("active") %>' OnCheckedChanged="activeBox_CheckedChanged" OnInit="activeBox_Init" /></div> </HeaderTemplate> <ItemTemplate> <div class="xsnazzy"> Modified: Website/Includes/Roles.ascx.cs =================================================================== --- Website/Includes/Roles.ascx.cs 2006-08-07 14:01:13 UTC (rev 276) +++ Website/Includes/Roles.ascx.cs 2006-08-07 15:45:20 UTC (rev 277) @@ -158,6 +158,8 @@ protected void deleteCmd(object sender, CommandEventArgs e) { tcdbDataSetTableAdapters.db_roleTableAdapter rAdapter = new tcdbDataSetTableAdapters.db_roleTableAdapter(); + if (role == null) role = RightDB.GetRoleInfo(roleID); + rAdapter.Update(roleID, role.NAME, role.DESCRIPTION, false); Session.Remove("tableName"); Response.Redirect("~/Administration.aspx"); @@ -431,4 +433,22 @@ descriptionLbl.Visible = true; } } + protected void activeBox_Init(object sender, EventArgs e) + { + CheckBox activeBox = (CheckBox) sender; + Label activeLbl = (Label) FormView1.FindControl("activeLbl"); + + if (!m_user.HasRight("dev_access")) + { + activeBox.Visible = false; + activeLbl.Visible = false; + } + } + protected void activeBox_CheckedChanged(object sender, EventArgs e) + { + CheckBox activeBox = (CheckBox)sender; + + tcdbDataSetTableAdapters.db_roleTableAdapter rAdapter = new tcdbDataSetTableAdapters.db_roleTableAdapter(); + rAdapter.Update(role.ID, role.NAME, role.DESCRIPTION, activeBox.Checked); + } } \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2006-08-07 14:01:22
|
Revision: 276 Author: rouquin Date: 2006-08-07 07:01:13 -0700 (Mon, 07 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=276&view=rev Log Message: ----------- Added rights enforcement to rights page and tweaked the roles & roleAdmin. Modified Paths: -------------- Website/Includes/Rights.ascx Website/Includes/Rights.ascx.cs Website/Includes/RoleAdmin.ascx.cs Website/Includes/Roles.ascx Website/Includes/Roles.ascx.cs Modified: Website/Includes/Rights.ascx =================================================================== --- Website/Includes/Rights.ascx 2006-08-05 19:00:23 UTC (rev 275) +++ Website/Includes/Rights.ascx 2006-08-07 14:01:13 UTC (rev 276) @@ -3,8 +3,13 @@ <asp:FormView ID="FormView1" runat="server" DataKeyNames="rightsID" DataSourceID="RightsDataSource" OnItemCommand="FormView1_ItemCommand" OnItemInserted="FormView1_ItemInserted" OnItemUpdated="FormView1_ItemUpdated"> - <EditItemTemplate> - <asp:RequiredFieldValidator ID="nameValidator" runat="server" ErrorMessage="You must enter a right name." ControlToValidate="nameBox"></asp:RequiredFieldValidator> + <HeaderTemplate> + <div align="left"> + <h2> + User Rights</h2> + </div> + </HeaderTemplate> + <ItemTemplate> <div class="xsnazzy"> <b class="xtop"><b class="xb1"></b><b class="xb2"></b><b class="xb3"></b><b class="xb4"> </b></b> @@ -13,7 +18,7 @@ <tr> <td align="left" colspan="6"> <strong>Name:</strong> - <asp:TextBox ID="nameBox" runat="server" Text='<%# Bind("rightsName") %>' Width="70%"></asp:TextBox></td> + <asp:Label ID="nameLabel" runat="server" Text='<%# Eval("rightsName") %>'></asp:Label></td> </tr> <tr> <td class="hr" colspan="6"> @@ -22,22 +27,25 @@ <tr> <td align="left" colspan="6" valign="top"> <strong>Description:</strong><br /> - <FTB:FreeTextBox ID="FreeTextBox1" runat="server" Height="200px" SupportFolder="~/aspnet_client/FreeTextBox/" - Text='<%# Bind("rightsDescription") %>' Width="100%" EnableHtmlMode="True"> - </FTB:FreeTextBox> - </td> + <asp:Label ID="descriptionLbl" runat="server" Text='<%# Eval("rightsDescription") %>'></asp:Label></td> </tr> <tr> - <td class="hr" colspan="6"> + <td class="hr" colspan="6" style="height: 1px"> </td> </tr> <tr> <td align="left" colspan="2" valign="top" width="33%"> <strong>Roles:<br /> - </strong> <asp:ListBox ID="roleList" runat="server" OnDataBound="roleList_DataBound" - DataSourceID="RolesDataSource" DataTextField="roleName" DataValueField="roleID" - SelectionMode="Multiple"></asp:ListBox> - </td> + </strong> <asp:ListBox ID="roleList" runat="server" DataSourceID="RightRolesDataSource" + DataTextField="roleName" DataValueField="roleID"></asp:ListBox><asp:ObjectDataSource + ID="RightRolesDataSource" runat="server" OldValuesParameterFormatString="original_{0}" + SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.db_rightRoleTableAdapter"> + <SelectParameters> + <asp:SessionParameter Name="rightID" SessionField="rightsID" Type="Int32" /> + <asp:Parameter DefaultValue="true" Name="active" Type="Boolean" /> + </SelectParameters> + </asp:ObjectDataSource> + </td> <td align="left" colspan="2" valign="top" width="33%"> </td> <td align="left" colspan="2" valign="top" width="34%"> @@ -49,22 +57,21 @@ </tr> <tr> <td align="left" colspan="6"> - <asp:LinkButton ID="UpdateButton" runat="server" CausesValidation="True" CommandName="Update" - Text="Update"> - </asp:LinkButton> - | - <asp:LinkButton ID="UpdateCancelButton" runat="server" CausesValidation="False" CommandName="Cancel" - Text="Cancel"> - </asp:LinkButton></td> + <asp:LinkButton ID="New" runat="server" CommandName="new" OnInit="New_Init">New</asp:LinkButton><asp:Label + ID="newLbl" runat="server" Text="Label"> | </asp:Label><asp:LinkButton + ID="Edit" runat="server" CommandName="edit">Edit</asp:LinkButton><asp:Label ID="deleteLbl" + runat="server" Text="Label"> | </asp:Label><asp:LinkButton ID="Delete" + runat="server" CommandName="deleteCmd" OnCommand="deleteCmd">Delete</asp:LinkButton></td> </tr> </table> </div> <b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b><b class="xb1"> </b></b> </div> - </EditItemTemplate> - <InsertItemTemplate> - <asp:RequiredFieldValidator ID="nameValidator" runat="server" ErrorMessage="You must enter a right name." ControlToValidate="nameBox"></asp:RequiredFieldValidator> + </ItemTemplate> + <EditItemTemplate> + <asp:RequiredFieldValidator ID="nameValidator" runat="server" ErrorMessage="You must enter a right name." + ControlToValidate="nameBox"></asp:RequiredFieldValidator> <div class="xsnazzy"> <b class="xtop"><b class="xb1"></b><b class="xb2"></b><b class="xb3"></b><b class="xb4"> </b></b> @@ -73,7 +80,8 @@ <tr> <td align="left" colspan="6"> <strong>Name:</strong> - <asp:TextBox ID="nameBox" runat="server" Text='<%# Bind("rightsName") %>' Width="70%"></asp:TextBox></td> + <asp:TextBox ID="nameBox" runat="server" Text='<%# Bind("rightsName") %>' Width="70%" OnLoad="nameBox_Load"></asp:TextBox> + <asp:Label ID="nameLbl" runat="server" Text='<%# Eval("rightsName") %>' Visible="False"></asp:Label></td> </tr> <tr> <td class="hr" colspan="6"> @@ -82,10 +90,10 @@ <tr> <td align="left" colspan="6" valign="top"> <strong>Description:</strong><br /> - <FTB:FreeTextBox ID="FreeTextBox1" runat="server" Height="200px" SupportFolder="~/aspnet_client/FreeTextBox/" + <FTB:FreeTextBox ID="descriptionBox" runat="server" Height="200px" SupportFolder="~/aspnet_client/FreeTextBox/" Text='<%# Bind("rightsDescription") %>' Width="100%" EnableHtmlMode="True"> </FTB:FreeTextBox> - </td> + <asp:Label ID="descriptionLbl" runat="server" Text='<%# Eval("rightsDescription") %>' Visible="false"></asp:Label></td> </tr> <tr> <td class="hr" colspan="6"> @@ -109,8 +117,9 @@ </tr> <tr> <td align="left" colspan="6"> - <asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True" CommandName="Insert" - Text="Insert"></asp:LinkButton> + <asp:LinkButton ID="UpdateButton" runat="server" CausesValidation="True" CommandName="Update" + Text="Update"> + </asp:LinkButton> | <asp:LinkButton ID="UpdateCancelButton" runat="server" CausesValidation="False" CommandName="Cancel" Text="Cancel"> @@ -121,8 +130,10 @@ <b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b><b class="xb1"> </b></b> </div> - </InsertItemTemplate> - <ItemTemplate> + </EditItemTemplate> + <InsertItemTemplate> + <asp:RequiredFieldValidator ID="nameValidator" runat="server" ErrorMessage="You must enter a right name." + ControlToValidate="nameBox"></asp:RequiredFieldValidator> <div class="xsnazzy"> <b class="xtop"><b class="xb1"></b><b class="xb2"></b><b class="xb3"></b><b class="xb4"> </b></b> @@ -131,7 +142,7 @@ <tr> <td align="left" colspan="6"> <strong>Name:</strong> - <asp:Label ID="nameLabel" runat="server" Text='<%# Eval("rightsName") %>'></asp:Label></td> + <asp:TextBox ID="nameBox" runat="server" Text='<%# Bind("rightsName") %>' Width="70%"></asp:TextBox></td> </tr> <tr> <td class="hr" colspan="6"> @@ -140,25 +151,22 @@ <tr> <td align="left" colspan="6" valign="top"> <strong>Description:</strong><br /> - <asp:Label ID="descriptionLbl" runat="server" Text='<%# Eval("rightsDescription") %>'></asp:Label></td> + <FTB:FreeTextBox ID="FreeTextBox1" runat="server" Height="200px" SupportFolder="~/aspnet_client/FreeTextBox/" + Text='<%# Bind("rightsDescription") %>' Width="100%" EnableHtmlMode="True"> + </FTB:FreeTextBox> + </td> </tr> <tr> - <td class="hr" colspan="6" style="height: 1px"> + <td class="hr" colspan="6"> </td> </tr> <tr> <td align="left" colspan="2" valign="top" width="33%"> <strong>Roles:<br /> - </strong> <asp:ListBox ID="roleList" runat="server" DataSourceID="RightRolesDataSource" - DataTextField="roleName" DataValueField="roleID"></asp:ListBox><asp:ObjectDataSource - ID="RightRolesDataSource" runat="server" OldValuesParameterFormatString="original_{0}" - SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.db_rightRoleTableAdapter"> - <SelectParameters> - <asp:SessionParameter Name="rightID" SessionField="rightsID" Type="Int32" /> - <asp:Parameter DefaultValue="true" Name="active" Type="Boolean" /> - </SelectParameters> - </asp:ObjectDataSource> - </td> + </strong> <asp:ListBox ID="roleList" runat="server" OnDataBound="roleList_DataBound" + DataSourceID="RolesDataSource" DataTextField="roleName" DataValueField="roleID" + SelectionMode="Multiple"></asp:ListBox> + </td> <td align="left" colspan="2" valign="top" width="33%"> </td> <td align="left" colspan="2" valign="top" width="34%"> @@ -170,28 +178,23 @@ </tr> <tr> <td align="left" colspan="6"> - <asp:LinkButton ID="New" runat="server" CommandName="new">New</asp:LinkButton> + <asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True" CommandName="Insert" + Text="Insert"></asp:LinkButton> | - <asp:LinkButton ID="Edit" runat="server" CommandName="edit">Edit</asp:LinkButton> - | - <asp:LinkButton ID="Delete" runat="server" CommandName="deleteCmd" OnCommand="deleteCmd">Delete</asp:LinkButton></td> + <asp:LinkButton ID="UpdateCancelButton" runat="server" CausesValidation="False" CommandName="Cancel" + Text="Cancel"> + </asp:LinkButton></td> </tr> </table> </div> <b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b><b class="xb1"> </b></b> </div> - </ItemTemplate> - <HeaderTemplate> - <div align="left"> - <h2> - User Rights</h2> - </div> - </HeaderTemplate> + </InsertItemTemplate> </asp:FormView> -<asp:ObjectDataSource ID="RightsDataSource" runat="server" - SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.db_rightsTableAdapter" - InsertMethod="Insert" UpdateMethod="Update" OldValuesParameterFormatString="original_{0}"> +<asp:ObjectDataSource ID="RightsDataSource" runat="server" SelectMethod="GetData" + TypeName="tcdbDataSetTableAdapters.db_rightsTableAdapter" InsertMethod="Insert" + UpdateMethod="Update" OldValuesParameterFormatString="original_{0}"> <SelectParameters> <asp:SessionParameter Name="rightsID" SessionField="rightsID" Type="Int32" /> <asp:Parameter Name="rightsName" Type="String" /> @@ -209,7 +212,8 @@ </InsertParameters> </asp:ObjectDataSource> <asp:ObjectDataSource ID="RolesDataSource" runat="server" OldValuesParameterFormatString="original_{0}" - SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.db_roleTableAdapter" InsertMethod="Insert" UpdateMethod="Update"> + SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.db_roleTableAdapter" + InsertMethod="Insert" UpdateMethod="Update"> <SelectParameters> <asp:Parameter Name="roleID" Type="Int32" /> <asp:Parameter Name="roleName" Type="String" /> Modified: Website/Includes/Rights.ascx.cs =================================================================== --- Website/Includes/Rights.ascx.cs 2006-08-05 19:00:23 UTC (rev 275) +++ Website/Includes/Rights.ascx.cs 2006-08-07 14:01:13 UTC (rev 276) @@ -35,14 +35,16 @@ Response.Redirect("~/Administration.aspx"); } } + if (!m_user.HasRight("view_rights", Constants.PRODUCT_ANYID)) + Response.Redirect("~/Administration.aspx"); Session.Add("rightsID", rightsID); right = RightDB.GetRightInfo(rightsID); Session.Add("tableName", "tcdb_rights"); - if (mode == "new") + if (mode == "new" && m_user.HasRight("dev_access")) FormView1.ChangeMode(FormViewMode.Insert); - else if (mode == "edit") + else if (mode == "edit" && (m_user.HasRight("dev_access") || m_user.HasRight("edit_role",Constants.PRODUCT_ANYID))) FormView1.ChangeMode(FormViewMode.Edit); } @@ -130,4 +132,37 @@ roleList.SelectedValue = role; } } + protected void New_Init(object sender, EventArgs e) + { + LinkButton newBtn = (LinkButton)sender; + LinkButton editBtn = (LinkButton)FormView1.FindControl("Edit"); + LinkButton deleteBtn = (LinkButton)FormView1.FindControl("Delete"); + Label newLbl = (Label)FormView1.FindControl("newLbl"); + Label deleteLbl = (Label)FormView1.FindControl("deleteLbl"); + + if (!m_user.HasRight("dev_access")) + { + newBtn.Visible = false; + deleteBtn.Visible = false; + newLbl.Visible = false; + deleteLbl.Visible = false; + } + if (!m_user.HasRight("edit_role",Constants.PRODUCT_ANYID)) + editBtn.Visible = false; + } + protected void nameBox_Load(object sender, EventArgs e) + { + TextBox nameBox = (TextBox)FormView1.FindControl("nameBox"); + FreeTextBoxControls.FreeTextBox descriptionBox = (FreeTextBoxControls.FreeTextBox)FormView1.FindControl("descriptionBox"); + Label nameLbl = (Label)FormView1.FindControl("nameLbl"); + Label descriptionLbl = (Label)FormView1.FindControl("descriptionLbl"); + + if (!m_user.HasRight("dev_access")) + { + nameBox.Visible = false; + descriptionBox.Visible = false; + nameLbl.Visible = true; + descriptionLbl.Visible = true; + } + } } \ No newline at end of file Modified: Website/Includes/RoleAdmin.ascx.cs =================================================================== --- Website/Includes/RoleAdmin.ascx.cs 2006-08-05 19:00:23 UTC (rev 275) +++ Website/Includes/RoleAdmin.ascx.cs 2006-08-07 14:01:13 UTC (rev 276) @@ -69,6 +69,26 @@ foreach (tcdbDataSet.db_roleRow row in rTable) roleList.Items.Add(new ListItem(row.roleName, row.roleID.ToString())); } + protected void rightsList_Init(object sender, EventArgs e) + { + if (!m_user.HasRight("view_rights",Constants.PRODUCT_ANYID)) + { + rightsList.Visible = false; + viewRightBtn.Visible = false; + editRightsBtn.Visible = false; + + return; + } + if (!m_user.HasRight("edit_role",Constants.PRODUCT_ANYID) && !m_user.HasRight("dev_access")) + editRightsBtn.Visible = false; + + tcdbDataSetTableAdapters.db_rightsTableAdapter rAdapter = new tcdbDataSetTableAdapters.db_rightsTableAdapter(); + tcdbDataSet.db_rightsDataTable rTable = rAdapter.GetData(null, null, active); + + foreach (tcdbDataSet.db_rightsRow row in rTable) + rightsList.Items.Add(new ListItem(row.rightsName, row.rightsID.ToString())); + } + protected void addRoleBtn_Load(object sender, EventArgs e) { String role = roleList.SelectedItem.Text; @@ -85,21 +105,4 @@ viewRoleBtn.Visible = false; } - protected void rightsList_Init(object sender, EventArgs e) - { - if (!m_user.HasRight("dev_access")) - { - rightsList.Visible = false; - viewRightBtn.Visible = false; - editRightsBtn.Visible = false; - - return; - } - - tcdbDataSetTableAdapters.db_rightsTableAdapter rAdapter = new tcdbDataSetTableAdapters.db_rightsTableAdapter(); - tcdbDataSet.db_rightsDataTable rTable = rAdapter.GetData(null, null, active); - - foreach (tcdbDataSet.db_rightsRow row in rTable) - rightsList.Items.Add(new ListItem(row.rightsName, row.rightsID.ToString())); - } } Modified: Website/Includes/Roles.ascx =================================================================== --- Website/Includes/Roles.ascx 2006-08-05 19:00:23 UTC (rev 275) +++ Website/Includes/Roles.ascx 2006-08-07 14:01:13 UTC (rev 276) @@ -81,7 +81,8 @@ <tr> <td align="left" colspan="6"> <strong>Name:</strong> - <asp:TextBox ID="nameBox" runat="server" Text='<%# Bind("roleName") %>' Width="70%" OnInit="nameBox_Init"></asp:TextBox></td> + <asp:TextBox ID="nameBox" runat="server" Text='<%# Bind("roleName") %>' Width="70%" OnLoad="nameBox_Load"></asp:TextBox> + <asp:Label ID="nameLbl" runat="server" Text='<%# Eval("roleName") %>' Visible="False"></asp:Label></td> </tr> <tr> <td class="hr" colspan="6"> @@ -92,9 +93,10 @@ <strong>Description:</strong><br /> <FTB:FreeTextBox ID="descriptionBox" runat="server" SupportFolder="~/aspnet_client/FreeTextBox/" Width="100%" Text='<%# Bind("roleDescription") %>' Height="200px" EnableHtmlMode="true" - DisableIEBackButton="False" OnInit="descriptionBox_Init"> + DisableIEBackButton="False"> </FTB:FreeTextBox> - </td> + <asp:Label ID="descriptionLbl" runat="server" Text='<%# Eval("roleDescription") %>' + Visible="False"></asp:Label></td> </tr> <tr> <td class="hr" colspan="6"> Modified: Website/Includes/Roles.ascx.cs =================================================================== --- Website/Includes/Roles.ascx.cs 2006-08-05 19:00:23 UTC (rev 275) +++ Website/Includes/Roles.ascx.cs 2006-08-07 14:01:13 UTC (rev 276) @@ -354,20 +354,6 @@ } } } - protected void nameBox_Init(object sender, EventArgs e) - { - TextBox nameBox = (TextBox)sender; - - if (!m_user.HasRight("edit_role", Constants.PRODUCT_ANYID)) - nameBox.Enabled = false; - } - protected void descriptionBox_Init(object sender, EventArgs e) - { - FreeTextBoxControls.FreeTextBox descriptionBox = (FreeTextBoxControls.FreeTextBox)sender; - - if (!m_user.HasRight("edit_role", Constants.PRODUCT_ANYID)) - descriptionBox.Visible = false; - } protected void rightsList_Init(object sender, EventArgs e) { ListBox rightsList = (ListBox)sender; @@ -430,4 +416,19 @@ userList_populate(); } + protected void nameBox_Load(object sender, EventArgs e) + { + TextBox nameBox = (TextBox)FormView1.FindControl("nameBox"); + FreeTextBoxControls.FreeTextBox descriptionBox = (FreeTextBoxControls.FreeTextBox)FormView1.FindControl("descriptionBox"); + Label nameLbl = (Label)FormView1.FindControl("nameLbl"); + Label descriptionLbl = (Label)FormView1.FindControl("descriptionLbl"); + + if (!m_user.HasRight("edit_role",Constants.PRODUCT_ANYID)) + { + nameBox.Visible = false; + descriptionBox.Visible = false; + nameLbl.Visible = true; + descriptionLbl.Visible = true; + } + } } \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2006-08-05 19:00:42
|
Revision: 275 Author: rouquin Date: 2006-08-05 12:00:23 -0700 (Sat, 05 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=275&view=rev Log Message: ----------- Fixed some bugs with assignments & action items that I came across. Added rights enforcement to roleAdmin and Roles. Added for functionality into dev_access right. Modified Paths: -------------- Website/Administration.aspx Website/App_Code/Common.cs Website/App_Code/Right.cs Website/App_Code/SiteUserControl.cs Website/App_Code/Users.cs Website/Includes/ActionItems.ascx.cs Website/Includes/Assignments.ascx.cs Website/Includes/AssignmentsTree.ascx Website/Includes/AssignmentsTree.ascx.cs Website/Includes/Rights.ascx Website/Includes/Rights.ascx.cs Website/Includes/RoleAdmin.ascx Website/Includes/RoleAdmin.ascx.cs Website/Includes/Roles.ascx Website/Includes/Roles.ascx.cs Website/Includes/UserSettings.ascx.cs Added Paths: ----------- Website/Includes/Administration.ascx Website/Includes/Administration.ascx.cs Modified: Website/Administration.aspx =================================================================== --- Website/Administration.aspx 2006-08-04 22:44:29 UTC (rev 274) +++ Website/Administration.aspx 2006-08-05 19:00:23 UTC (rev 275) @@ -2,7 +2,6 @@ <%@ Register Src="~/Includes/AdministrationTree.ascx" TagPrefix="admin" TagName="Tree" %> <%@ Register Src="~/Includes/Administration.ascx" TagPrefix="admin" TagName="Nav" %> - <asp:Content ID="TreeContent" ContentPlaceHolderID="TreeContentPlaceHolder" runat="Server"> <admin:Tree runat="server" ID="Tree" /> </asp:Content> Modified: Website/App_Code/Common.cs =================================================================== --- Website/App_Code/Common.cs 2006-08-04 22:44:29 UTC (rev 274) +++ Website/App_Code/Common.cs 2006-08-05 19:00:23 UTC (rev 275) @@ -1247,8 +1247,7 @@ public static int ANONYMOUSUSERID = 1; public static int PRODUCT_SITEID = 1; public static int PRODUCT_ANYID = -1; - public static int PRODUCT_MINE = -2; - public static int PRODUCT_CREATED = -3; + public static int PRODUCT_CREATED = -2; public static string CODE_USER = "u"; Modified: Website/App_Code/Right.cs =================================================================== --- Website/App_Code/Right.cs 2006-08-04 22:44:29 UTC (rev 274) +++ Website/App_Code/Right.cs 2006-08-05 19:00:23 UTC (rev 275) @@ -143,6 +143,29 @@ return null; } + public static List<String> TCDB_GetUserRoles(int productID, int userID) + { + tcdbDataSetTableAdapters.db_roleUserProductTableAdapter userRoleAdapter = new tcdbDataSetTableAdapters.db_roleUserProductTableAdapter(); + tcdbDataSet.db_roleUserProductDataTable userRoleTable = userRoleAdapter.GetData(userID, productID, true); + List<String> roleList = new List<String>(); + + foreach (tcdbDataSet.db_roleUserProductRow row in userRoleTable) + roleList.Add(row.roleName); + + return roleList; + } + public static Role TCDB_GetUserRoles(int productID, int userID, String roleName) + { + tcdbDataSetTableAdapters.db_roleUserProductTableAdapter userRoleAdapter = new tcdbDataSetTableAdapters.db_roleUserProductTableAdapter(); + tcdbDataSet.db_roleUserProductDataTable userRoleTable = userRoleAdapter.GetData(userID, productID, true); + + foreach (tcdbDataSet.db_roleUserProductRow row in userRoleTable) + if (row.roleName == roleName) + return GetRoleInfo(row.roleID); + + return null; + } + public static bool TCDB_SaveRight(Right right) { tcdbDataSetTableAdapters.db_rightsTableAdapter rightsAdapter = new tcdbDataSetTableAdapters.db_rightsTableAdapter(); @@ -158,6 +181,22 @@ return true; } + + public static bool TCDB_SaveRole(Role role) + { + tcdbDataSetTableAdapters.db_roleTableAdapter roleAdapter = new tcdbDataSetTableAdapters.db_roleTableAdapter(); + try + { + roleAdapter.Insert(role.NAME, role.DESCRIPTION); + } + catch (Exception e) + { + m_logg.Error(e.Message); + return false; + } + + return true; + } } /// <summary> Modified: Website/App_Code/SiteUserControl.cs =================================================================== --- Website/App_Code/SiteUserControl.cs 2006-08-04 22:44:29 UTC (rev 274) +++ Website/App_Code/SiteUserControl.cs 2006-08-05 19:00:23 UTC (rev 275) @@ -16,6 +16,7 @@ /// </summary> public class SiteUserControl : System.Web.UI.UserControl { + protected static Nullable<bool> active = true; protected static User m_user = null; protected static DateTime m_startTime = DateTime.Now; private static ILog m_logg = LogManager.GetLogger("TCDB.Master"); @@ -26,5 +27,16 @@ m_user = ((SiteMaster)(this.Page.Master)).LoadSessionUser(); m_startTime = ((SiteMaster)(this.Page.Master)).LoadStartTime(); + + if (m_user.HasRight("dev_access")) + { + active = null; + Session["active"] = null; + } + else + { + active = true; + Session["active"] = true; + } } } Modified: Website/App_Code/Users.cs =================================================================== --- Website/App_Code/Users.cs 2006-08-04 22:44:29 UTC (rev 274) +++ Website/App_Code/Users.cs 2006-08-05 19:00:23 UTC (rev 275) @@ -276,7 +276,8 @@ private bool p_isNew; private string p_password; private List<Assignment> p_assignments; - private Dictionary<int,List<String> > p_rights; + private Dictionary<int, List<String> > p_rights; + private Dictionary<int, List<String> > p_roles; /* TODO: Implement these as the time is right private List<Feature> p_features; private List<Assignment> p_assignmentsCreated; @@ -318,6 +319,7 @@ p_assignments = null; p_password = ""; p_rights = new Dictionary<int, List<String> >(); + p_roles = new Dictionary<int, List<String>>(); } private void BuildUser(User user) @@ -345,7 +347,8 @@ //p_assignments = user.GetAssignments(false, Constants.ASSIGNMENT_FINISHEDANDUNFINISHED); } p_assignments = null; - p_rights = new Dictionary<int, List<String>>(); + p_rights = new Dictionary<int, List<String>>(); + p_roles = new Dictionary<int, List<String>>(); } public int ID @@ -429,12 +432,17 @@ { return p_username.Trim(); } + + public void ClearRights() + { + p_rights = new Dictionary<int, List<String>>(); + p_roles = new Dictionary<int, List<String>>(); + } public bool HasRight(string right) { return HasRight(right, Constants.PRODUCT_SITEID); } - public bool HasRight(string right, int productID) { // Any product @@ -466,12 +474,41 @@ return false; } + public bool HasRight(string right, User user, int productID) + { + // Any product + if (productID == Constants.PRODUCT_ANYID) + { + List<Product> products = ProductDB.GetProductList(true); + foreach (Product product in products) + { + if (user.HasRights(product.ID) && 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 (user.HasRights(productID) && p_rights[productID].Contains(right)) + return true; + + // Site rights? + 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 (user.HasRights(Constants.PRODUCT_SITEID) && p_rights[Constants.PRODUCT_SITEID].Contains(right)) + return true; + } + + return false; + } public static bool HasRight(int userID, string right, int productID) { return (RightDB.TCDB_GetUserRight(productID, userID, right) != null); } - public bool HasRights(int productID) { // Any product @@ -494,7 +531,6 @@ return false; } - public static bool HasRights(int userID, int productID) { return (RightDB.TCDB_GetUserRights(productID, userID).Count > 0); @@ -510,7 +546,72 @@ if (rTable.Count > 0) rupAdapter.ins_userRoleProduct(p_id, rTable[0].roleID, productID); } + public bool HasRole(string role) + { + return HasRole(role, Constants.PRODUCT_SITEID); + } + public bool HasRole(string role, int productID) + { + // Any product + if (productID == Constants.PRODUCT_ANYID) + { + List<Product> products = ProductDB.GetProductList(true); + foreach (Product product in products) + { + if (HasRole(role, product.ID)) + return true; + } + return false; + } + // Specified product + if (!p_roles.ContainsKey(productID)) + p_roles[productID] = RightDB.TCDB_GetUserRoles(productID, p_id); + if (p_roles[productID].Contains(role)) + return true; + + // Site rights? + if (productID != Constants.PRODUCT_SITEID) + { + if (!p_roles.ContainsKey(Constants.PRODUCT_SITEID)) + p_roles[Constants.PRODUCT_SITEID] = RightDB.TCDB_GetUserRoles(Constants.PRODUCT_SITEID, p_id); + if (p_roles[Constants.PRODUCT_SITEID].Contains(role)) + return true; + } + + return false; + } + public static bool HasRole(int userID, string role, int productID) + { + return (RightDB.TCDB_GetUserRoles(productID, userID, role) != null); + } + public bool HasRoles(int productID) + { + // Any product + if (productID == Constants.PRODUCT_ANYID) + { + List<Product> products = ProductDB.GetProductList(true); + foreach (Product product in products) + { + if (HasRoles(product.ID)) + return true; + } + return false; + } + + if (!p_roles.ContainsKey(productID)) + p_roles[productID] = RightDB.TCDB_GetUserRoles(productID, p_id); + + if (p_roles[productID].Count > 0) + return true; + + return false; + } + public static bool HasRoles(int userID, int productID) + { + return (RightDB.TCDB_GetUserRoles(productID, userID).Count > 0); + } + public List<Assignment> GetAssignments(bool reload, int statusFilter) { // TODO: This list needs to be able to reflect filters! Modified: Website/Includes/ActionItems.ascx.cs =================================================================== --- Website/Includes/ActionItems.ascx.cs 2006-08-04 22:44:29 UTC (rev 274) +++ Website/Includes/ActionItems.ascx.cs 2006-08-05 19:00:23 UTC (rev 275) @@ -399,11 +399,16 @@ protected void assignedTo_Init(object sender, EventArgs e) { DropDownList assignedTo = (DropDownList)sender; + if (ai == null) ai = ActionItemDB.GetActionItem(Convert.ToInt32(item_id)); - if (!m_user.HasRight("create_other_ai", Constants.PRODUCT_ANYID)) + if (!(ActionItemsView.CurrentMode == FormViewMode.Insert && m_user.HasRight("create_other_ai", Constants.PRODUCT_ANYID)) && + !(ActionItemsView.CurrentMode == FormViewMode.Edit && m_user.HasRight("reassign_other_ai", ai.CREATOR, Constants.PRODUCT_ANYID))) { assignedTo.Enabled = false; - assignedTo.Items.Add(new ListItem(m_user.FULLNAME, m_user.ID.ToString())); + if (ActionItemsView.CurrentMode == FormViewMode.Edit) + assignedTo.Items.Add(new ListItem(ai.ASSIGNED.FULLNAME, ai.ASSIGNED.ID.ToString())); + else + assignedTo.Items.Add(new ListItem(m_user.FULLNAME, m_user.ID.ToString())); } else { @@ -415,7 +420,8 @@ foreach (tcdbDataSet.db_productsRow pRow in pTable) { - if (m_user.HasRight("create_other_ai",pRow.productID)) + if ((ActionItemsView.CurrentMode == FormViewMode.Insert && m_user.HasRight("create_other_ai", pRow.productID)) || + (ActionItemsView.CurrentMode == FormViewMode.Edit && m_user.HasRight("reassign_other_ai", ai.CREATOR, pRow.productID))) { tcdbDataSet.db_roleProductUserDataTable rpuTable = rpuAdapter.GetData(null, pRow.productID, true); @@ -425,7 +431,7 @@ if (lastID == rpuRow.userID) continue; lastID = rpuRow.userID; - + assignedTo.Items.Add(new ListItem(rpuRow.fullName, rpuRow.userID.ToString())); } } Added: Website/Includes/Administration.ascx =================================================================== --- Website/Includes/Administration.ascx (rev 0) +++ Website/Includes/Administration.ascx 2006-08-05 19:00:23 UTC (rev 275) @@ -0,0 +1,13 @@ +<%@ Control Language="C#" AutoEventWireup="true" CodeFile="Administration.ascx.cs" Inherits="Administration" %> + +<div class="pictureMenu"> + <asp:LinkButton ID="newProduct" runat="server" PostBackUrl="~/Product.aspx?mode=new" OnInit="newProduct_Init">New Product</asp:LinkButton> + <div class="button"> + <asp:LinkButton ID="newUser" runat="server" PostBackUrl="~/UserSettings.aspx?mode=new" OnInit="newUser_Init" > + <asp:Image ID="newUserIcon" runat="server" SkinID="newUserImage" AlternateText="New User" />New + User</asp:LinkButton></div> + <div class="button"> + <asp:LinkButton ID="userRole" runat="server" PostBackUrl="~/AdminRole.aspx" OnInit="userRole_Init"> + <asp:Image ID="userRoleIcon" runat="server" SkinID="userRoleImage" AlternateText="User Roles" />User + Roles</asp:LinkButton></div> + </div> Added: Website/Includes/Administration.ascx.cs =================================================================== --- Website/Includes/Administration.ascx.cs (rev 0) +++ Website/Includes/Administration.ascx.cs 2006-08-05 19:00:23 UTC (rev 275) @@ -0,0 +1,46 @@ +using System; +using System.Data; +using System.Configuration; +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 TCDB.Assignments; +using TCDB.Common; +using TCDB.Products; +using TCDB.Users; +using log4net; + +public partial class Administration : SiteUserControl +{ + private static ILog m_logg = LogManager.GetLogger("Page:Authenticate"); + + void Page_Load(Object sender, EventArgs e) + { + m_logg.Debug("Loading Administration page"); + } + protected void newUser_Init(object sender, EventArgs e) + { + LinkButton newUser = (LinkButton) sender; + + if (!m_user.HasRight("create_user", Constants.PRODUCT_ANYID)) + newUser.Visible = false; + } + protected void userRole_Init(object sender, EventArgs e) + { + LinkButton seeRoles = (LinkButton)sender; + + if (!m_user.HasRight("view_my_roles", Constants.PRODUCT_ANYID) && !m_user.HasRight("view_other_roles",Constants.PRODUCT_ANYID)) + seeRoles.Visible = false; + } + protected void newProduct_Init(object sender, EventArgs e) + { + LinkButton newProduct = (LinkButton)sender; + + if (!m_user.HasRight("create_product", Constants.PRODUCT_ANYID)) + newProduct.Visible = false; + } +} Modified: Website/Includes/Assignments.ascx.cs =================================================================== --- Website/Includes/Assignments.ascx.cs 2006-08-04 22:44:29 UTC (rev 274) +++ Website/Includes/Assignments.ascx.cs 2006-08-05 19:00:23 UTC (rev 275) @@ -125,13 +125,13 @@ if (ai != null && // It's not mine, the assignee doesn't belong to this product group, or I don't have rights to see other users' Action Items - !(ai.ASSIGNED.ID != m_user.ID && ai.ASSIGNED.HasRights(productID) && m_user.HasRight("view_other_ai",productID)) && + !(ai.ASSIGNED.ID != m_user.ID && m_user.HasRight("view_other_ai",ai.ASSIGNED,productID)) && // It's not mine, I don't have any product rights, or I can't view my own !(ai.ASSIGNED.ID == m_user.ID && m_user.HasRights(productID) && m_user.HasRight("view_my_ai", productID)) && // It's mine, the assignee doesn't belong to this product group, I didn't create it, or I don't have rights to look at it - !(ai.ASSIGNED.ID != m_user.ID && ai.ASSIGNED.HasRights(productID) && ai.CREATOR.ID == m_user.ID && m_user.HasRight("view_created_ai",productID)) + !(ai.ASSIGNED.ID != m_user.ID && ai.CREATOR.ID == m_user.ID && m_user.HasRight("view_created_ai",ai.ASSIGNED,productID)) ) return false; @@ -149,13 +149,13 @@ if (wo != null && // It's not mine, the assignee doesn't belong to this product group, or I don't have rights to see other users' work orders - !(wo.ASSIGNED.ID != m_user.ID && wo.ASSIGNED.HasRights(productID) && m_user.HasRight("view_other_wo", productID)) && + !(wo.ASSIGNED.ID != m_user.ID && m_user.HasRight("view_other_wo", wo.ASSIGNED, productID)) && // It's not mine, I don't have any product rights, or I can't view my own - !(wo.ASSIGNED.ID == m_user.ID && m_user.HasRights(productID) && m_user.HasRight("view_my_wo", productID)) && + !(wo.ASSIGNED.ID == m_user.ID && m_user.HasRight("view_my_wo", m_user, productID)) && // It's mine, the assignee doesn't belong to this product group, I didn't create it, or I don't have rights to look at it - !(wo.ASSIGNED.ID != m_user.ID && wo.ASSIGNED.HasRights(productID) && wo.CREATOR.ID == m_user.ID && m_user.HasRight("view_created_wo", productID)) + !(wo.ASSIGNED.ID != m_user.ID && wo.CREATOR.ID == m_user.ID && m_user.HasRight("view_created_wo", wo.ASSIGNED, productID)) ) return false; @@ -354,10 +354,10 @@ // update Session Session["showCompleted"] = cboShowCompleted.Checked; Session["showAICompleted"] = aiStatusList.Items.FindByText("Completed").Selected; - Session["showWOCompleted"] = woStatusList.Items.FindByText("Completed").Selected = true; + Session["showWOCompleted"] = woStatusList.Items.FindByText("Completed").Selected; Session.Add("refresh", true); - AssignmentsGridView.DataBind(); + Response.Redirect(Request.RawUrl); } protected void cboStatusFilter_CheckedChanged(object sender, EventArgs e) { @@ -391,7 +391,7 @@ Session["showCompleted"] = cboShowCompleted.Checked; Session.Add("refresh", true); - AssignmentsGridView.DataBind(); + Response.Redirect(Request.RawUrl); } protected void woStatusList_SelectedIndexChanged(object sender, EventArgs e) { Modified: Website/Includes/AssignmentsTree.ascx =================================================================== --- Website/Includes/AssignmentsTree.ascx 2006-08-04 22:44:29 UTC (rev 274) +++ Website/Includes/AssignmentsTree.ascx 2006-08-05 19:00:23 UTC (rev 275) @@ -1,6 +1,6 @@ <%@ Control Language="C#" AutoEventWireup="true" CodeFile="AssignmentsTree.ascx.cs" Inherits="AssignmentsTree" %> -<asp:CheckBox ID="statusComplete" runat="server" Text="Show Completed" AutoPostBack="True" OnCheckedChanged="statusComplete_CheckedChanged" OnInit="statusComplete_Init"/> +<asp:CheckBox ID="statusComplete" runat="server" Text="Show Completed" AutoPostBack="True" OnCheckedChanged="statusComplete_CheckedChanged" OnLoad="statusComplete_Load" Visible="false"/> <asp:TreeView ID="AssignmentTree" runat="server" SelectedNodeStyle-CssClass="selectednode" OnTreeNodePopulate="AssignmentTree_TreeNodePopulate" OnTreeNodeCollapsed="AssignmentTree_TreeNodeCollapsed" Modified: Website/Includes/AssignmentsTree.ascx.cs =================================================================== --- Website/Includes/AssignmentsTree.ascx.cs 2006-08-04 22:44:29 UTC (rev 274) +++ Website/Includes/AssignmentsTree.ascx.cs 2006-08-05 19:00:23 UTC (rev 275) @@ -142,7 +142,7 @@ if (e.Node.NavigateUrl.Contains("mode=created")) BuildCreatedUserList(e.Node); else if (e.Node.NavigateUrl.Contains("mode=mine")) - BuildMyUserList(e.Node); + BuildAssignmentList(e.Node); else BuildUserList(e.Node); break; @@ -183,7 +183,7 @@ { TreeNode mine = new TreeNode(); mine.Text = "My Assignments"; - mine.Value = Constants.PRODUCT_MINE.ToString(); + mine.Value = m_user.ID.ToString(); mine.SelectAction = TreeNodeSelectAction.Select; mine.PopulateOnDemand = true; mine.NavigateUrl = "~/Assignments.aspx?mode=mine&" + Constants.CODE_USER + "=" + m_user.ID; @@ -210,22 +210,6 @@ created.Expand(); } } - private void BuildMyUserList(TreeNode parent) - { - m_logg.Debug("Building my user list"); - ArrayList nodes = (ArrayList)Session["AssignmentNodes"]; - - // User name - TreeNode user = new TreeNode(); - user.Text = m_user.FULLNAME; - user.Value = m_user.ID.ToString(); - user.PopulateOnDemand = true; - user.SelectAction = TreeNodeSelectAction.Select; - user.NavigateUrl = "~/Assignments.aspx?" + Constants.CODE_USER + "=" + m_user.ID; - parent.ChildNodes.Add(user); - if (nodes.Contains(user.ValuePath)) - user.Expand(); - } private void BuildCreatedUserList(TreeNode parent) { m_logg.Debug("Building my user list"); @@ -301,9 +285,17 @@ m_logg.Debug("Building created 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); + int productID = Constants.PRODUCT_ANYID; + // try and get the product id (should only fail if in "My Assignments" + try + { + productID = Convert.ToInt32(parent.Parent.Value); + } + catch { } + + // Set status and get assignment list if (statusComplete.Checked) status = Constants.ASSIGNMENT_FINISHEDANDUNFINISHED; List<Assignment> assignmentList = UserDB.GetUserInfo(Convert.ToInt32(parent.Value)).GetAssignments(false, status); @@ -372,12 +364,20 @@ AssignmentTree_TreeNodePopulate(AssignmentTree, new TreeNodeEventArgs(node)); } } - Session["completeTree"] = statusComplete.Checked; + Session["showCompleted"] = statusComplete.Checked; + Session["showAICompleted"] = statusComplete.Checked; + Session["showAICompleted"] = statusComplete.Checked; } - protected void statusComplete_Init(object sender, EventArgs e) + protected void statusComplete_Load(object sender, EventArgs e) { - if (Session["completeTree"] == null) - Session.Add("completeTree", false); - statusComplete.Checked = Convert.ToBoolean(Session["completeTree"]); + if (Session["showCompleted"] == null) + Session["showCompleted"] = (m_user.GetConfigBool("filter_show_ai_completed") && m_user.GetConfigBool("filter_show_wo_completed")); + bool show = Convert.ToBoolean(Session["showCompleted"]); + + if (statusComplete.Checked != show) + { + statusComplete.Checked = show; + //statusComplete_CheckedChanged(sender, e); + } } } Modified: Website/Includes/Rights.ascx =================================================================== --- Website/Includes/Rights.ascx 2006-08-04 22:44:29 UTC (rev 274) +++ Website/Includes/Rights.ascx 2006-08-05 19:00:23 UTC (rev 275) @@ -191,11 +191,11 @@ </asp:FormView> <asp:ObjectDataSource ID="RightsDataSource" runat="server" SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.db_rightsTableAdapter" - InsertMethod="Insert" UpdateMethod="Update"> + InsertMethod="Insert" UpdateMethod="Update" OldValuesParameterFormatString="original_{0}"> <SelectParameters> <asp:SessionParameter Name="rightsID" SessionField="rightsID" Type="Int32" /> <asp:Parameter Name="rightsName" Type="String" /> - <asp:Parameter Name="active" Type="Boolean" DefaultValue="true" /> + <asp:SessionParameter DefaultValue="" Name="active" SessionField="active" Type="Boolean" /> </SelectParameters> <UpdateParameters> <asp:Parameter Name="rightsID" Type="Int32" /> @@ -209,10 +209,20 @@ </InsertParameters> </asp:ObjectDataSource> <asp:ObjectDataSource ID="RolesDataSource" runat="server" OldValuesParameterFormatString="original_{0}" - SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.db_roleTableAdapter"> + SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.db_roleTableAdapter" InsertMethod="Insert" UpdateMethod="Update"> <SelectParameters> <asp:Parameter Name="roleID" Type="Int32" /> <asp:Parameter Name="roleName" Type="String" /> - <asp:Parameter Name="active" Type="Boolean" DefaultValue="true" /> + <asp:SessionParameter DefaultValue="" Name="active" SessionField="active" Type="Boolean" /> </SelectParameters> + <UpdateParameters> + <asp:Parameter Name="roleID" Type="Int32" /> + <asp:Parameter Name="roleName" Type="String" /> + <asp:Parameter Name="roleDescription" Type="String" /> + <asp:Parameter Name="active" Type="Boolean" /> + </UpdateParameters> + <InsertParameters> + <asp:Parameter Name="roleName" Type="String" /> + <asp:Parameter Name="roleDescription" Type="String" /> + </InsertParameters> </asp:ObjectDataSource> Modified: Website/Includes/Rights.ascx.cs =================================================================== --- Website/Includes/Rights.ascx.cs 2006-08-04 22:44:29 UTC (rev 274) +++ Website/Includes/Rights.ascx.cs 2006-08-05 19:00:23 UTC (rev 275) @@ -25,8 +25,6 @@ protected void Page_Load(object sender, EventArgs e) { - if (!m_user.ISAUTHENTICATED) { return; } - m_logg.Debug("Loading page Rights"); if (rightsID == 0) { @@ -44,32 +42,10 @@ if (mode == "new") FormView1.ChangeMode(FormViewMode.Insert); + else if (mode == "edit") + FormView1.ChangeMode(FormViewMode.Edit); } - protected void FormView1_ItemInserted(object sender, FormViewInsertedEventArgs e) - { - tcdbDataSetTableAdapters.db_rightsTableAdapter rightsAdapter = new tcdbDataSetTableAdapters.db_rightsTableAdapter(); - tcdbDataSet.db_rightsDataTable rightsTable = rightsAdapter.GetData(null, e.Values["rightsName"].ToString(), true); - if (rightsTable.Count > 0) - { - rightsID = rightsTable[rightsTable.Count - 1].rightsID; - - updateRoles(); - Response.Redirect("~/Right.aspx?" + Constants.CODE_RIGHT + "=" + rightsID); - } - else - { - m_logg.Error("Could not insert right: " + e.Values["rightsName"]); - Response.Redirect("~/Administration.aspx"); - } - } - protected void deleteCmd(object sender, CommandEventArgs e) - { - tcdbDataSetTableAdapters.db_rightsTableAdapter rAdapter = new tcdbDataSetTableAdapters.db_rightsTableAdapter(); - rAdapter.Update(rightsID, right.NAME, right.DESCRIPTION, false); - - Response.Redirect("~/Administration.aspx"); - } protected void updateRoles() { ListBox roleList = (ListBox)FormView1.FindControl("roleList"); @@ -100,6 +76,31 @@ rrAdapter.DeleteRoleRights(roleID, rightsID); } } + protected void FormView1_ItemInserted(object sender, FormViewInsertedEventArgs e) + { + tcdbDataSetTableAdapters.db_rightsTableAdapter rightsAdapter = new tcdbDataSetTableAdapters.db_rightsTableAdapter(); + tcdbDataSet.db_rightsDataTable rightsTable = rightsAdapter.GetData(null, e.Values["rightsName"].ToString(), true); + + if (rightsTable.Count > 0) + { + rightsID = rightsTable[rightsTable.Count - 1].rightsID; + + updateRoles(); + Response.Redirect("~/Right.aspx?" + Constants.CODE_RIGHT + "=" + rightsID); + } + else + { + m_logg.Error("Could not insert right: " + e.Values["rightsName"]); + Response.Redirect("~/Administration.aspx"); + } + } + protected void deleteCmd(object sender, CommandEventArgs e) + { + tcdbDataSetTableAdapters.db_rightsTableAdapter rAdapter = new tcdbDataSetTableAdapters.db_rightsTableAdapter(); + rAdapter.Update(rightsID, right.NAME, right.DESCRIPTION, false); + + Response.Redirect("~/Administration.aspx"); + } protected void FormView1_ItemUpdated(object sender, FormViewUpdatedEventArgs e) { updateRoles(); @@ -110,6 +111,7 @@ if (FormView1.CurrentMode == FormViewMode.Insert && e.CommandName == "Cancel") Response.Redirect("Administration.aspx"); } + protected void roleList_DataBound(object sender, EventArgs e) { ListBox roleList = (ListBox)sender; @@ -117,7 +119,7 @@ if (FormView1.CurrentMode == FormViewMode.Edit) { tcdbDataSetTableAdapters.db_rightRoleTableAdapter rrAdapter = new tcdbDataSetTableAdapters.db_rightRoleTableAdapter(); - tcdbDataSet.db_rightRoleDataTable rrTable = rrAdapter.GetData(rightsID, true); + tcdbDataSet.db_rightRoleDataTable rrTable = rrAdapter.GetData(rightsID, active); foreach (tcdbDataSet.db_rightRoleRow row in rrTable) roleList.Items.FindByValue(row.roleID.ToString()).Selected = true; Modified: Website/Includes/RoleAdmin.ascx =================================================================== --- Website/Includes/RoleAdmin.ascx 2006-08-04 22:44:29 UTC (rev 274) +++ Website/Includes/RoleAdmin.ascx 2006-08-05 19:00:23 UTC (rev 275) @@ -1,34 +1,27 @@ -<%@ Control Language="C#" AutoEventWireup="true" CodeFile="RoleAdmin.ascx.cs" - Inherits="RoleAdmin" %> - +<%@ Control Language="C#" AutoEventWireup="true" CodeFile="RoleAdmin.ascx.cs" Inherits="RoleAdmin" %> <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_roleTableAdapter" InsertMethod="Insert" UpdateMethod="Update"> - <SelectParameters> - <asp:Parameter Name="roleID" Type="Int32" /> - <asp:Parameter Name="roleName" Type="String" /> - <asp:Parameter DefaultValue="true" Name="active" Type="Boolean" /> - </SelectParameters> - <UpdateParameters> - <asp:Parameter Name="roleID" Type="Int32" /> - <asp:Parameter Name="roleName" Type="String" /> - <asp:Parameter Name="roleDescription" Type="String" /> - <asp:Parameter Name="active" Type="Boolean" /> - </UpdateParameters> - <InsertParameters> - <asp:Parameter Name="roleName" Type="String" /> - <asp:Parameter Name="roleDescription" Type="String" /> - </InsertParameters> - </asp:ObjectDataSource> - <asp:LinkButton ID="addRoleBtn" runat="server" CommandName="addRole" OnCommand="addRole">Add User To Role</asp:LinkButton> - - <asp:LinkButton ID="newRoleBtn" runat="server" CommandName="newRole" OnCommand="newRole" OnInit="newRole_Init">New User Role</asp:LinkButton> - - <asp:LinkButton ID="newRightBtn" runat="server" CommandName="newRight" OnCommand="newRight" OnInit="newRight_Init">New User Right</asp:LinkButton><br /> - </td> - </tr> - </table> + <tr> + <td align="center" valign="middle" style="height: 101px"> + <asp:DropDownList ID="roleList" runat="server" OnInit="roleList_Init" AutoPostBack="True"> + </asp:DropDownList> + <asp:LinkButton ID="viewRoleBtn" runat="server" CommandName="viewRole" OnCommand="viewRole" + OnLoad="viewRoleBtn_Load">View Role</asp:LinkButton> + + <asp:LinkButton ID="addRoleBtn" runat="server" CommandName="addRole" OnCommand="addRole" + OnLoad="addRoleBtn_Load">Add User To Role</asp:LinkButton> + <br /> + <br /><asp:DropDownList ID="rightsList" runat="server" OnInit="rightsList_Init" AutoPostBack="True"> + </asp:DropDownList> + <asp:LinkButton ID="viewRightBtn" runat="server" CommandName="viewRight" OnCommand="viewRight">View Right</asp:LinkButton> + + <asp:LinkButton ID="editRightsBtn" runat="server" CommandName="editRight" OnCommand="addRight">Edit Right</asp:LinkButton> + <br /> + <br /> + <asp:LinkButton ID="newRoleBtn" runat="server" CommandName="newRole" OnCommand="newRole" + OnInit="newRole_Init">New User Role</asp:LinkButton> + + <asp:LinkButton ID="newRightBtn" runat="server" CommandName="newRight" OnCommand="newRight" + OnInit="newRight_Init">New User Right</asp:LinkButton><br /> + </td> + </tr> +</table> Modified: Website/Includes/RoleAdmin.ascx.cs =================================================================== --- Website/Includes/RoleAdmin.ascx.cs 2006-08-04 22:44:29 UTC (rev 274) +++ Website/Includes/RoleAdmin.ascx.cs 2006-08-05 19:00:23 UTC (rev 275) @@ -17,39 +17,89 @@ public partial class RoleAdmin : SiteUserControl { private static ILog m_logg = LogManager.GetLogger("Page:Authenticate"); - int product = Convert.ToInt32(HttpContext.Current.Request.QueryString[Constants.CODE_PRODUCT]); + int productID = Convert.ToInt32(HttpContext.Current.Request.QueryString[Constants.CODE_PRODUCT]); protected void Page_Load(object sender, EventArgs e) { + if (productID == 0) + productID = Constants.PRODUCT_ANYID; } + + protected void viewRole(object sender, CommandEventArgs e) + { + Response.Redirect("Role.aspx?" + Constants.CODE_PRODUCT + "=" + productID + "&" + Constants.CODE_ROLE + "=" + roleList.SelectedValue); + } protected void addRole(object sender, CommandEventArgs e) { - Response.Redirect("Role.aspx?mode=edit&" + Constants.CODE_PRODUCT + "=" + product + "&" + Constants.CODE_ROLE + "=" + roleList.SelectedValue); + Response.Redirect("Role.aspx?mode=edit&" + Constants.CODE_PRODUCT + "=" + productID + "&" + Constants.CODE_ROLE + "=" + roleList.SelectedValue); } - protected void newRole(object sender, CommandEventArgs e) { - Response.Redirect("Role.aspx?mode=new&" + Constants.CODE_PRODUCT + "=" + product); + Response.Redirect("Role.aspx?mode=new&" + Constants.CODE_PRODUCT + "=" + productID); } - protected void newRight(object sender, CommandEventArgs e) { - Response.Redirect("Right.aspx?mode=new&" + Constants.CODE_PRODUCT + "=" + product); + Response.Redirect("Right.aspx?mode=new&" + Constants.CODE_PRODUCT + "=" + productID); } + protected void addRight(object sender, CommandEventArgs e) + { + Response.Redirect("Right.aspx?mode=edit&" + Constants.CODE_PRODUCT + "=" + productID + "&" + Constants.CODE_RIGHT + "=" + rightsList.SelectedValue); + } + protected void viewRight(object sender, CommandEventArgs e) + { + Response.Redirect("Right.aspx?" + Constants.CODE_PRODUCT + "=" + productID + "&" + Constants.CODE_RIGHT + "=" + rightsList.SelectedValue); + } protected void newRole_Init(object sender, EventArgs e) { - LinkButton newRole = (LinkButton)sender; - if (!m_user.HasRight("create_role", Constants.PRODUCT_ANYID)) - newRole.Visible = false; + newRoleBtn.Visible = false; } - protected void newRight_Init(object sender, EventArgs e) { - LinkButton newRight = (LinkButton) sender; + if (!m_user.HasRight("dev_access")) + newRightBtn.Visible = false; + } - if (!m_user.HasRight("dev_access", Constants.PRODUCT_ANYID)) - newRight.Visible = false; + protected void roleList_Init(object sender, EventArgs e) + { + tcdbDataSetTableAdapters.db_roleTableAdapter rAdapter = new tcdbDataSetTableAdapters.db_roleTableAdapter(); + tcdbDataSet.db_roleDataTable rTable = rAdapter.GetData(null, null, active); + + foreach (tcdbDataSet.db_roleRow row in rTable) + roleList.Items.Add(new ListItem(row.roleName, row.roleID.ToString())); } + protected void addRoleBtn_Load(object sender, EventArgs e) + { + String role = roleList.SelectedItem.Text; + + if (!m_user.HasRight("edit_role_users", productID)) + addRoleBtn.Visible = false; + } + protected void viewRoleBtn_Load(object sender, EventArgs e) + { + String role = roleList.SelectedItem.Text; + + if (!(m_user.HasRole(role,productID) && m_user.HasRight("view_my_roles", productID)) && + !m_user.HasRight("view_other_roles", productID)) + viewRoleBtn.Visible = false; + } + + protected void rightsList_Init(object sender, EventArgs e) + { + if (!m_user.HasRight("dev_access")) + { + rightsList.Visible = false; + viewRightBtn.Visible = false; + editRightsBtn.Visible = false; + + return; + } + + tcdbDataSetTableAdapters.db_rightsTableAdapter rAdapter = new tcdbDataSetTableAdapters.db_rightsTableAdapter(); + tcdbDataSet.db_rightsDataTable rTable = rAdapter.GetData(null, null, active); + + foreach (tcdbDataSet.db_rightsRow row in rTable) + rightsList.Items.Add(new ListItem(row.rightsName, row.rightsID.ToString())); + } } Modified: Website/Includes/Roles.ascx =================================================================== --- Website/Includes/Roles.ascx 2006-08-04 22:44:29 UTC (rev 274) +++ Website/Includes/Roles.ascx 2006-08-05 19:00:23 UTC (rev 275) @@ -42,14 +42,14 @@ <td colspan="2" align="left" valign="top" width="34%" style="height: 132px"> <strong>Rights:</strong><br /> <asp:ListBox ID="rightsList" runat="server" DataSourceID="RoleRightsDataSource" - DataTextField="rightName" DataValueField="rightsID" Height="150px" Width="150px"></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> + DataTextField="rightName" DataValueField="rightsID" Height="150px" Width="150px"> + </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> @@ -58,11 +58,11 @@ </tr> <tr> <td align="left" colspan="6"> - <asp:LinkButton ID="New" runat="server" CommandName="new">New</asp:LinkButton> - | - <asp:LinkButton ID="Edit" runat="server" CommandName="edit">Edit</asp:LinkButton> - | - <asp:LinkButton ID="Delete" runat="server" CommandName="deleteCmd" OnCommand="deleteCmd">Delete</asp:LinkButton></td> + <asp:LinkButton ID="New" runat="server" CommandName="new" OnInit="New_Init">New</asp:LinkButton><asp:Label + ID="newLbl" runat="server" Text=" | "></asp:Label><asp:LinkButton + ID="Edit" runat="server" CommandName="edit" OnInit="Edit_Init">Edit</asp:LinkButton><asp:Label ID="deleteLbl" + runat="server" Text=" | "></asp:Label><asp:LinkButton ID="Delete" + runat="server" CommandName="deleteCmd" OnCommand="deleteCmd" OnLoad="Delete_Load">Delete</asp:LinkButton></td> </tr> </table> </div> @@ -71,7 +71,8 @@ </div> </ItemTemplate> <EditItemTemplate> - <asp:RequiredFieldValidator ID="nameValidator" runat="server" ErrorMessage="You must enter a role name." ControlToValidate="nameBox"></asp:RequiredFieldValidator> + <asp:RequiredFieldValidator ID="nameValidator" runat="server" ErrorMessage="You must enter a role name." + ControlToValidate="nameBox"></asp:RequiredFieldValidator> <div class="xsnazzy"> <b class="xtop"><b class="xb1"></b><b class="xb2"></b><b class="xb3"></b><b class="xb4"> </b></b> @@ -80,7 +81,7 @@ <tr> <td align="left" colspan="6"> <strong>Name:</strong> - <asp:TextBox ID="nameBox" runat="server" Text='<%# Bind("roleName") %>' Width="70%"></asp:TextBox></td> + <asp:TextBox ID="nameBox" runat="server" Text='<%# Bind("roleName") %>' Width="70%" OnInit="nameBox_Init"></asp:TextBox></td> </tr> <tr> <td class="hr" colspan="6"> @@ -90,7 +91,8 @@ <td align="left" colspan="6" valign="top"> <strong>Description:</strong><br /> <FTB:FreeTextBox ID="descriptionBox" runat="server" SupportFolder="~/aspnet_client/FreeTextBox/" - Width="100%" Text='<%# Bind("roleDescription") %>' Height="200px" EnableHtmlMode="true" DisableIEBackButton="False"> + Width="100%" Text='<%# Bind("roleDescription") %>' Height="200px" EnableHtmlMode="true" + DisableIEBackButton="False" OnInit="descriptionBox_Init"> </FTB:FreeTextBox> </td> </tr> @@ -100,22 +102,21 @@ </tr> <tr> <td colspan="2" align="left" valign="top" width="33%"> - <strong>Products: <asp:DropDownList ID="productList" runat="server" DataSourceID="ProductDataSource" - DataTextField="name" DataValueField="productID" AutoPostBack="True" OnDataBound="productListEdit_DataBound" - OnSelectedIndexChanged="productList_SelectedIndexChanged"> + <strong>Products: <asp:DropDownList ID="productList" runat="server" AutoPostBack="True" + OnSelectedIndexChanged="productList_SelectedIndexChanged" OnInit="productList_Init"> </asp:DropDownList></strong> </td> <td colspan="2" align="left" valign="top" width="33%"> <strong>Users:<br /> </strong> - <asp:ListBox ID="userList" runat="server" DataSourceID="UserDataSource" DataTextField="fullName" - DataValueField="userID" SelectionMode="Multiple" OnDataBound="userList_DataBound" Height="150px" - Width="150px"></asp:ListBox></td> + <asp:ListBox ID="userList" runat="server" SelectionMode="Multiple" + Height="150px" Width="150px" OnInit="userList_Init"></asp:ListBox></td> <td colspan="2" align="left" valign="top" width="34%"> <strong>Rights:<br /> - <asp:LinkButton ID="newRight" runat="server" CommandName="newRight" OnCommand="newRight" OnInit="newRight_Init">New Right</asp:LinkButton><br /> + <asp:LinkButton ID="newRight" runat="server" CommandName="newRight" OnCommand="newRight" + OnInit="newRight_Init">New Right</asp:LinkButton><br /> </strong> <asp:ListBox ID="rightsList" runat="server" DataSourceID="RightsDataSource" DataTextField="rightsName" DataValueField="rightsID" SelectionMode="Multiple" - Height="150px" OnDataBound="rightsList_DataBound" Width="150px"></asp:ListBox> + Height="150px" OnDataBound="rightsList_DataBound" Width="150px" OnInit="rightsList_Init"></asp:ListBox> </td> </tr> <tr> @@ -139,7 +140,8 @@ </div> </EditItemTemplate> <InsertItemTemplate> - <asp:RequiredFieldValidator ID="nameValidator" runat="server" ErrorMessage="You must enter a role name." ControlToValidate="nameBox"></asp:RequiredFieldValidator> + <asp:RequiredFieldValidator ID="nameValidator" runat="server" ErrorMessage="You must enter a role name." + ControlToValidate="nameBox"></asp:RequiredFieldValidator> <div class="xsnazzy"> <b class="xtop"><b class="xb1"></b><b class="xb2"></b><b class="xb3"></b><b class="xb4"> </b></b> @@ -169,21 +171,20 @@ <tr> <td colspan="2" align="left" valign="top" width="33%"> <strong>Products: </strong><asp:DropDownList ID="productList" runat="server" - DataSourceID="ProductDataSource" DataTextField="name" DataValueField="productID" - AutoPostBack="True" OnDataBound="productListInsert_DataBound" OnSelectedIndexChanged="productList_SelectedIndexChanged"> + AutoPostBack="True" OnSelectedIndexChanged="productList_SelectedIndexChanged" OnInit="productList_Init"> </asp:DropDownList> </td> <td colspan="2" align="left" valign="top" width="33%"> <strong>Users:<br /> </strong> - <asp:ListBox ID="userList" runat="server" DataSourceID="UserDataSource" DataTextField="fullName" - DataValueField="userID" SelectionMode="Multiple" OnDataBound="userList_DataBound" Height="150px" - Width="150px"></asp:ListBox></td> + <asp:ListBox ID="userList" runat="server" SelectionMode="Multiple" + Height="150px" Width="150px"></asp:ListBox></td> <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" Height="150px" Width="150px"></asp:ListBox> + DataTextField="rightsName" DataValueField="rightsID" SelectionMode="Multiple" + Height="150px" Width="150px"></asp:ListBox> </td> </tr> <tr> @@ -206,9 +207,9 @@ </div> </InsertItemTemplate> </asp:FormView> -<asp:ObjectDataSource ID="RoleDataSource" runat="server" InsertMethod="Insert" - SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.db_roleTableAdapter" - UpdateMethod="Update"> +<asp:ObjectDataSource ID="RoleDataSource" runat="server" InsertMethod="Insert" SelectMethod="GetData" + TypeName="tcdbDataSetTableAdapters.db_roleTableAdapter" UpdateMethod="Update" + OldValuesParameterFormatString="original_{0}"> <UpdateParameters> <asp:Parameter Name="roleID" Type="Int32" /> <asp:Parameter Name="roleName" Type="String" /> @@ -218,32 +219,29 @@ <SelectParameters> <asp:SessionParameter Name="roleID" SessionField="roleID" Type="Int32" /> <asp:Parameter Name="roleName" Type="String" /> - <asp:Parameter Name="active" Type="Boolean" DefaultValue="true" /> + <asp:SessionParameter DefaultValue="" Name="active" SessionField="active" Type="Boolean" /> </SelectParameters> <InsertParameters> <asp:Parameter Name="roleName" Type="String" /> <asp:Parameter Name="roleDescription" Type="String" /> </InsertParameters> </asp:ObjectDataSource> -<asp:ObjectDataSource ID="ProductDataSource" runat="server" OldValuesParameterFormatString="original_{0}" - SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.db_productsTableAdapter"> - <SelectParameters> - <asp:Parameter Name="active" Type="Boolean" DefaultValue="true" /> - <asp:Parameter Name="productID" Type="Int32" /> - </SelectParameters> -</asp:ObjectDataSource> -<asp:ObjectDataSource ID="UserDataSource" runat="server" OldValuesParameterFormatString="original_{0}" - SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.db_usersTableAdapter"> - <SelectParameters> - <asp:Parameter Name="username" Type="String" /> - <asp:Parameter Name="userID" Type="Int32" /> - </SelectParameters> -</asp:ObjectDataSource> <asp:ObjectDataSource ID="RightsDataSource" runat="server" OldValuesParameterFormatString="original_{0}" - SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.db_rightsTableAdapter"> + SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.db_rightsTableAdapter" + InsertMethod="Insert" UpdateMethod="Update"> <SelectParameters> <asp:Parameter Name="rightsID" Type="Int32" /> <asp:Parameter Name="rightsName" Type="String" /> - <asp:Parameter Name="active" Type="Boolean" DefaultValue="true" /> + <asp:SessionParameter DefaultValue="" Name="active" SessionField="active" Type="Boolean" /> </SelectParameters> + <UpdateParameters> + <asp:Parameter Name="rightsID" Type="Int32" /> + <asp:Parameter Name="rightsName" Type="String" /> + <asp:Parameter Name="rightsDescription" Type="String" /> + <asp:Parameter Name="active" Type="Boolean" /> + </UpdateParameters> + <InsertParameters> + <asp:Parameter Name="rightsName" Type="String" /> + <asp:Parameter Name="rightsDescription" Type="String" /> + </InsertParameters> </asp:ObjectDataSource> Modified: Website/Includes/Roles.ascx.cs =================================================================== --- Website/Includes/Roles.ascx.cs 2006-08-04 22:44:29 UTC (rev 274) +++ Website/Includes/Roles.ascx.cs 2006-08-05 19:00:23 UTC (rev 275) @@ -27,8 +27,6 @@ protected void Page_Load(object sender, EventArgs e) { - if (!m_user.ISAUTHENTICATED) { return; } - m_logg.Debug("Loading page Roles"); if (roleID == 0) { @@ -40,13 +38,21 @@ } } + // Get Role info + role = RightDB.GetRoleInfo(roleID); Session.Add("roleID", roleID); - role = RightDB.GetRoleInfo(roleID); + + // Check rights + if (!(m_user.HasRole(role.NAME) && m_user.HasRight("view_my_roles",Constants.PRODUCT_ANYID)) && + !m_user.HasRight("view_other_roles",Constants.PRODUCT_ANYID)) + Response.Redirect("~/Administration.aspx"); + + // Setup notes //Session.Add("tableName", "tcdb_role"); - if (mode == "new") + if (mode == "new" && m_user.HasRight("create_role",Constants.PRODUCT_ANYID)) FormView1.ChangeMode(FormViewMode.Insert); - else if (mode == "edit") + else if (mode == "edit" && (m_user.HasRight("edit_role",Constants.PRODUCT_ANYID) || m_user.HasRight("edit_role_users",Constants.PRODUCT_ANYID))) FormView1.ChangeMode(FormViewMode.Edit); } protected void updateUserRoleProducts() @@ -164,6 +170,7 @@ Response.Redirect("~/Administration.aspx"); } } + protected void userList_DataBound(object sender, EventArgs e) { Dictionary<String, ArrayList> ProductUsers = (Dictionary<String, ArrayList>)Session["ProductUsers"]; @@ -192,6 +199,7 @@ foreach (tcdbDataSet.db_roleRightRow row in roleRightTable) rightsList.Items.FindByValue(row.rightsID.ToString()).Selected = true; } + protected void addUsers(object sender, CommandEventArgs e) { updateUserRoleProducts(); @@ -200,6 +208,7 @@ { Response.Redirect("Right.aspx?mode=new&"+Constants.CODE_ROLE+"=" + roleID); } + protected void productList_SelectedIndexChanged(object sender, EventArgs e) { ListBox userList = (ListBox)FormView1.FindControl("userList"); @@ -215,7 +224,7 @@ // Get Product Users if (Session["ProductUsers"] == null) - updateProductUsers(productList, userList); + updateProductUsers(); Dictionary<String, ArrayList> ProductUsers = (Dictionary<String, ArrayList>)Session["ProductUsers"]; // update selected product @@ -235,20 +244,26 @@ Session["product"] = productList.SelectedValue; // Update userlist - userList.DataBind(); + userList_populate(); } - protected void updateProductUsers(DropDownList productList, ListBox userList) + protected void updateProductUsers() { // Init ProductUsers if (Session["ProductUsers"] == null) Session.Add("ProductUsers", new Dictionary<String, ArrayList>()); Dictionary<String, ArrayList> ProductUsers = (Dictionary<String, ArrayList>)Session["ProductUsers"]; + ProductUsers.Clear(); - ProductUsers.Clear(); - foreach (ListItem productItem in productList.Items) + if (FormView1.CurrentMode == FormViewMode.Insert) + return; + + tcdbDataSetTableAdapters.db_productsTableAdapter pAdapter = new tcdbDataSetTableAdapters.db_productsTableAdapter(); + tcdbDataSet.db_productsDataTable pTable = pAdapter.GetData(active, null); + + foreach (tcdbDataSet.db_productsRow pRow in pTable) { ArrayList users = new ArrayList(); - String productID = productItem.Value; + String productID = pRow.productID.ToString(); tcdbDataSetTableAdapters.db_roleProductUserTableAdapter roleProductUserAdapter = new tcdbDataSetTableAdapters.db_roleProductUserTableAdapter(); tcdbDataSet.db_roleProductUserDataTable roleProductUserTable = roleProductUserAdapter.GetData(roleID, Convert.ToInt32(productID), true); @@ -262,25 +277,7 @@ ProductUsers.Add(productID, users); } } - protected void productListEdit_DataBound(object sender, EventArgs e) - { - DropDownList productList = (DropDownList)sender; - ListBox userList = (ListBox)FormView1.FindControl("userList"); - updateProductUsers(productList, userList); - Session["product"] = productList.SelectedValue; - userList.DataBind(); - } - protected void productListInsert_DataBound(object sender, EventArgs e) - { - DropDownList productList = (DropDownList)sender; - ListBox userList = (ListBox)FormView1.FindControl("userList"); - - updateProductUsers(productList, userList); - if (productID_in != null) - productList.SelectedValue = productID_in; - Session["product"] = productList.SelectedValue; - } protected void ProductUserPanel_Init(object sender, EventArgs e) { Panel puPanel = (Panel)sender; @@ -324,4 +321,113 @@ if (!m_user.HasRight("dev_access")) btn.Visible = false; } + protected void New_Init(object sender, EventArgs e) + { + LinkButton newBtn = (LinkButton)sender; + Label newLbl = (Label)FormView1.FindControl("newLbl"); + + if (!m_user.HasRight("create_role",Constants.PRODUCT_ANYID)){ + newBtn.Visible = false; + newLbl.Visible = false; + } + } + protected void Edit_Init(object sender, EventArgs e) + { + LinkButton editBtn = (LinkButton)sender; + + if (!m_user.HasRight("edit_role",Constants.PRODUCT_ANYID) && !m_user.HasRight("edit_role_users",Constants.PRODUCT_ANYID)) + editBtn.Visible = false; + } + protected void Delete_Load(object sender, EventArgs e) + { + LinkButton deleteBtn = (LinkButton)sender; + Label deleteLbl = (Label)FormView1.FindControl("deleteLbl"); + updateProductUsers(); + Dictionary<String, ArrayList> Produ... [truncated message content] |
From: <m_h...@us...> - 2006-08-04 22:44:35
|
Revision: 274 Author: m_hildebrand Date: 2006-08-04 15:44:29 -0700 (Fri, 04 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=274&view=rev Log Message: ----------- Updated code version Modified Paths: -------------- Website/App_Code/Common.cs Modified: Website/App_Code/Common.cs =================================================================== --- Website/App_Code/Common.cs 2006-08-04 21:21:34 UTC (rev 273) +++ Website/App_Code/Common.cs 2006-08-04 22:44:29 UTC (rev 274) @@ -1268,7 +1268,7 @@ public static int ASSIGNMENT_UNFINISHED = 0; public static int ASSIGNMENT_NEW = 3; - public static string TCDB_VERSION = "1.0.0 Alpha 2b"; + public static string TCDB_VERSION = "1.0.0 Alpha 3"; public static bool IS_DEV_ENV = false; public static string RIGHTS_ASSIGNPERMISSION = "assignPermission"; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2006-08-04 21:21:43
|
Revision: 273 Author: rouquin Date: 2006-08-04 14:21:34 -0700 (Fri, 04 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=273&view=rev Log Message: ----------- Did a bunch of rights work on the administration branch. Tested as a VAS Administrator. Modified Paths: -------------- Website/Administration.aspx Website/Includes/ActionItems.ascx Website/Includes/ActionItems.ascx.cs Website/Includes/AdministrationTree.ascx.cs Website/Includes/UserSettings.ascx Website/Includes/UserSettings.ascx.cs Modified: Website/Administration.aspx =================================================================== --- Website/Administration.aspx 2006-08-04 19:31:36 UTC (rev 272) +++ Website/Administration.aspx 2006-08-04 21:21:34 UTC (rev 273) @@ -1,23 +1,13 @@ <%@ Page Language="C#" MasterPageFile="~/TCDB.master" AutoEventWireup="true" Title="TCDB: Administration" %> <%@ Register Src="~/Includes/AdministrationTree.ascx" TagPrefix="admin" TagName="Tree" %> +<%@ Register Src="~/Includes/Administration.ascx" TagPrefix="admin" TagName="Nav" %> + <asp:Content ID="TreeContent" ContentPlaceHolderID="TreeContentPlaceHolder" runat="Server"> <admin:Tree runat="server" ID="Tree" /> </asp:Content> <asp:Content ID="MainContent" ContentPlaceHolderID="MainContentPlaceHolder" runat="Server"> - <div class="pictureMenu"> - <% if (TCDB.Common.Constants.IS_DEV_ENV) - { %> - <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"> - <asp:Image ID="newUserIcon" runat="server" SkinID="newUserImage" AlternateText="New User" />New - User</asp:LinkButton></div> - <div class="button"> - <asp:LinkButton ID="userRole" runat="server" PostBackUrl="~/AdminRole.aspx"> - <asp:Image ID="userRoleIcon" runat="server" SkinID="userRoleImage" AlternateText="User Roles" />User - Roles</asp:LinkButton></div> - </div> + <admin:Nav runat="server" ID="Nav" /> </asp:Content> <asp:Content ID="NotesContent" ContentPlaceHolderID="NotesContentPlaceHolder" runat="Server"> </asp:Content> Modified: Website/Includes/ActionItems.ascx =================================================================== --- Website/Includes/ActionItems.ascx 2006-08-04 19:31:36 UTC (rev 272) +++ Website/Includes/ActionItems.ascx 2006-08-04 21:21:34 UTC (rev 273) @@ -216,9 +216,7 @@ </div> <div class="item"> <label> - Assigned To:</label><asp:DropDownList ID="assignedTo" runat="server" DataSourceID="UserDataSource" - DataTextField="fullName" DataValueField="userID" SelectedValue='<%# Bind("assignedID") %>' - OnDataBound="assignedTo_DataBound"> + Assigned To:</label><asp:DropDownList ID="assignedTo" runat="server" SelectedValue='<%# Bind("assignedID") %>' OnInit="assignedTo_Init"> </asp:DropDownList> </div> </div> @@ -302,9 +300,8 @@ 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") %>' OnDataBound="assignedTo_DataBound"> + Assigned To:</label><asp:DropDownList ID="assignedTo" runat="server" + SelectedValue='<%# Bind("assignedID") %>' OnInit="assignedTo_Init"> </asp:DropDownList></div> </div> <div class="end"> Modified: Website/Includes/ActionItems.ascx.cs =================================================================== --- Website/Includes/ActionItems.ascx.cs 2006-08-04 19:31:36 UTC (rev 272) +++ Website/Includes/ActionItems.ascx.cs 2006-08-04 21:21:34 UTC (rev 273) @@ -368,13 +368,6 @@ !(ai.CREATOR.ID == m_user.ID && m_user.HasRight("status_created_ai", productID)))) dateFinished.Enabled = false; } - protected void assignedTo_DataBound(object sender, EventArgs e) - { - DropDownList assignedTo = (DropDownList)ActionItemsView.FindControl("assignedTo"); - - if (!m_user.HasRight("create_other_ai", Constants.PRODUCT_ANYID)) - assignedTo.Enabled = false; - } protected void NewButton_Init(object sender, EventArgs e) { LinkButton newBtn = (LinkButton)sender; @@ -403,4 +396,41 @@ !(ai.CREATOR.ID == m_user.ID && m_user.HasRight("delete_created_ai", productID))) deleteBtn.Visible = false; } + protected void assignedTo_Init(object sender, EventArgs e) + { + DropDownList assignedTo = (DropDownList)sender; + + if (!m_user.HasRight("create_other_ai", Constants.PRODUCT_ANYID)) + { + assignedTo.Enabled = false; + assignedTo.Items.Add(new ListItem(m_user.FULLNAME, m_user.ID.ToString())); + } + else + { + assignedTo.Enabled = true; + + tcdbDataSetTableAdapters.db_productsTableAdapter pAdapter = new tcdbDataSetTableAdapters.db_productsTableAdapter(); + tcdbDataSet.db_productsDataTable pTable = pAdapter.GetData(true, null); + tcdbDataSetTableAdapters.db_roleProductUserTableAdapter rpuAdapter = new tcdbDataSetTableAdapters.db_roleProductUserTableAdapter(); + + foreach (tcdbDataSet.db_productsRow pRow in pTable) + { + if (m_user.HasRight("create_other_ai",pRow.productID)) + { + tcdbDataSet.db_roleProductUserDataTable rpuTable = rpuAdapter.GetData(null, pRow.productID, true); + + int lastID = -1; + foreach (tcdbDataSet.db_roleProductUserRow rpuRow in rpuTable) + { + if (lastID == rpuRow.userID) + continue; + lastID = rpuRow.userID; + + assignedTo.Items.Add(new ListItem(rpuRow.fullName, rpuRow.userID.ToString())); + } + } + } + + } + } } Modified: Website/Includes/AdministrationTree.ascx.cs =================================================================== --- Website/Includes/AdministrationTree.ascx.cs 2006-08-04 19:31:36 UTC (rev 272) +++ Website/Includes/AdministrationTree.ascx.cs 2006-08-04 21:21:34 UTC (rev 273) @@ -21,7 +21,7 @@ protected void Page_Load(object sender, EventArgs e) { if (!m_user.ISAUTHENTICATED) { return; } - if (!m_user.HasRight("view_admin", Constants.PRODUCT_ANYID)) + if (this.Visible && !m_user.HasRight("view_admin", Constants.PRODUCT_ANYID)) Response.Redirect("~/Assignments.aspx?" + Constants.CODE_USER + "=" + m_user.ID); } @@ -56,23 +56,26 @@ { foreach (tcdbDataSet.db_productsRow row in productTable) { - // Create the new node. - TreeNode newNode = new TreeNode(); - newNode.Text = "<product>" + row.name + "</product>"; - newNode.Value = row.productID.ToString(); + if (m_user.HasRight("view_product", row.productID)) + { + // Create the new node. + TreeNode newNode = new TreeNode(); + newNode.Text = "<product>" + row.name + "</product>"; + newNode.Value = row.productID.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 = "~/Product.aspx?" + Constants.CODE_PRODUCT + "=" + newNode.Value; + // Set additional properties for the node. + newNode.SelectAction = TreeNodeSelectAction.Expand; + newNode.NavigateUrl = "~/Product.aspx?" + Constants.CODE_PRODUCT + "=" + newNode.Value; - // Add the new node to the ChildNodes collection of the parent node. - parent.ChildNodes.Add(newNode); - if (nodes.Contains(newNode.ValuePath)) - newNode.Expand(); + // Add the new node to the ChildNodes collection of the parent node. + parent.ChildNodes.Add(newNode); + if (nodes.Contains(newNode.ValuePath)) + newNode.Expand(); + } } } } @@ -361,6 +364,7 @@ tcdbDataSetTableAdapters.db_roleProductUserTableAdapter userAdapter = new tcdbDataSetTableAdapters.db_roleProductUserTableAdapter(); tcdbDataSet.db_roleProductUserDataTable userTable = userAdapter.GetData(null, Convert.ToInt32(parent.Parent.Value), true); int lastID = -1; + int productID = Convert.ToInt32(parent.Parent.Value); foreach (tcdbDataSet.db_roleProductUserRow row in userTable) { @@ -369,15 +373,18 @@ else lastID = row.userID; - // Create the new node. - TreeNode newNode = new TreeNode(); - newNode.Text = row.fullName; - newNode.Value = row.userID.ToString(); ; - newNode.PopulateOnDemand = true; - newNode.SelectAction = TreeNodeSelectAction.Expand; - newNode.NavigateUrl = "~/UserSettings.aspx?"+Constants.CODE_USER+"=" + newNode.Value; - parent.ChildNodes.Add(newNode); - newNode.Expand(); + if (m_user.HasRight("view_other_settings", productID)) + { + // Create the new node. + TreeNode newNode = new TreeNode(); + newNode.Text = row.fullName; + newNode.Value = row.userID.ToString(); ; + newNode.PopulateOnDemand = true; + newNode.SelectAction = TreeNodeSelectAction.Expand; + newNode.NavigateUrl = "~/UserSettings.aspx?" + Constants.CODE_PRODUCT + "=" + productID + "&" + Constants.CODE_USER + "=" + newNode.Value; + parent.ChildNodes.Add(newNode); + newNode.Expand(); + } } } protected void BuildAllUserList(TreeNode parent) Modified: Website/Includes/UserSettings.ascx =================================================================== --- Website/Includes/UserSettings.ascx 2006-08-04 19:31:36 UTC (rev 272) +++ Website/Includes/UserSettings.ascx 2006-08-04 21:21:34 UTC (rev 273) @@ -92,11 +92,8 @@ runat="server" ID="newLabel" OnLoad="newLabel_Load"> | </asp:Label> <asp:LinkButton ID="Edit" runat="server" CommandName="Edit" OnInit="Edit_Init">Edit User</asp:LinkButton><asp:Label runat="server" ID="editLabel" OnLoad="editLabel_Load"> | </asp:Label> - <% if (TCDB.Common.Constants.IS_DEV_ENV) - { %> <asp:LinkButton ID="editConfig" runat="server" CommandName="editConfig" OnCommand="editConfig" OnInit="editConfig_Init">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> @@ -309,9 +306,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> Modified: Website/Includes/UserSettings.ascx.cs =================================================================== --- Website/Includes/UserSettings.ascx.cs 2006-08-04 19:31:36 UTC (rev 272) +++ Website/Includes/UserSettings.ascx.cs 2006-08-04 21:21:34 UTC (rev 273) @@ -20,21 +20,31 @@ { private static ILog m_logg = LogManager.GetLogger("Page:UserSettings"); int userID = Convert.ToInt32(HttpContext.Current.Request.QueryString[Constants.CODE_USER]); + User user; String mode = HttpContext.Current.Request.QueryString["mode"]; - String product = HttpContext.Current.Request.QueryString[Constants.CODE_PRODUCT]; + int productID = Convert.ToInt32(HttpContext.Current.Request.QueryString[Constants.CODE_PRODUCT]); protected void Page_Load(object sender, EventArgs e) { + // input check if (!m_user.ISAUTHENTICATED) { return; } - if (!m_user.HasRight("view_my_settings", Constants.PRODUCT_ANYID)) - Response.Redirect("~/Assignments.aspx?" + Constants.CODE_USER + "=" + m_user.ID); - - m_logg.Debug("Loading page UserSettings"); if (userID == 0) { m_logg.Debug("Unable to locate user ID in query string. Default to current user"); userID = m_user.ID; } + + // Get user + user = UserDB.GetUserInfo(userID); + + // Rights check + if (userID == m_user.ID && !m_user.HasRight("view_my_settings", productID)) + Response.Redirect("~/Assignments.aspx?" + Constants.CODE_USER + "=" + m_user.ID); + if (userID != m_user.ID && !(user.HasRights(productID) && m_user.HasRight("view_other_settings", productID))) + Response.Redirect("~/UserSettings.aspx?" + Constants.CODE_USER + "=" + m_user.ID); + + // Settings init + m_logg.Debug("Loading page UserSettings"); Session.Add("userID", userID); Session.Add("tableName", "tcdb_user"); @@ -44,61 +54,67 @@ protected void deleteButton_Load(object sender, EventArgs e) { - if (mode == "read" || !m_user.HasRight("delete_user", Constants.PRODUCT_ANYID) || userID == m_user.ID) - { - LinkButton deleteButton = (LinkButton)UserSettingsView.FindControl("New"); + LinkButton deleteButton = (LinkButton)sender; + if (user == null) user = UserDB.GetUserInfo(userID); + + if ( mode == "read" || !(user.HasRights(productID) && m_user.HasRight("delete_user", productID)) || userID == m_user.ID) deleteButton.Visible = false; - } } protected void newButton_Load(object sender, EventArgs e) { - if (mode == "read" || !m_user.HasRight("create_user", Constants.PRODUCT_ANYID)) - { - LinkButton deleteButton = (LinkButton)UserSettingsView.FindControl("Delete"); - deleteButton.Visible = false; - } + LinkButton newButton = (LinkButton)sender; + if (user == null) user = UserDB.GetUserInfo(userID); + + if (mode == "read" || !(user.HasRights(productID) && m_user.HasRight("create_user", Constants.PRODUCT_ANYID))) + newButton.Visible = false; } protected void Edit_Init(object sender, EventArgs e) { LinkButton editBtn = (LinkButton)sender; + if (user == null) user = UserDB.GetUserInfo(userID); + if ( (userID == m_user.ID && !m_user.HasRight("edit_my_settings", Constants.PRODUCT_ANYID)) && - (mode != "read" && !m_user.HasRight("edit_other_settings", Constants.PRODUCT_ANYID))) + (mode != "read" && !(user.HasRights(productID) && m_user.HasRight("edit_other_settings", productID)))) editBtn.Visible = false; } protected void editConfig_Init(object sender, EventArgs e) { LinkButton editConfigBtn = (LinkButton)sender; + if (user == null) user = UserDB.GetUserInfo(userID); - if (!m_user.HasRight("view_my_preferences", Constants.PRODUCT_ANYID)) + if ((userID == m_user.ID && !m_user.HasRight("edit_my_settings", Constants.PRODUCT_ANYID)) && + (mode != "read" && !(user.HasRights(productID) && m_user.HasRight("edit_other_settings", productID)))) editConfigBtn.Visible = false; } protected void deleteLabel_Load(object sender, EventArgs e) { - if (mode == "read" || !m_user.HasRight("delete_user", Constants.PRODUCT_ANYID) || userID == m_user.ID) - { - Label deleteLabel = (Label)UserSettingsView.FindControl("deleteLabel"); + Label deleteLabel = (Label)sender; + if (user == null) user = UserDB.GetUserInfo(userID); + + if (mode == "read" || !(user.HasRights(productID) && m_user.HasRight("delete_user", productID)) || userID == m_user.ID) deleteLabel.Visible = false; - } } protected void newLabel_Load(object sender, EventArgs e) { - if (mode == "read" || !m_user.HasRight("create_user",Constants.PRODUCT_ANYID)) - { - Label newLabel = (Label)UserSettingsView.FindControl("newLabel"); + Label newLabel = (Label)sender; + if (user == null) user = UserDB.GetUserInfo(userID); + + if (mode == "read" || !(user.HasRights(productID) && m_user.HasRight("create_user", Constants.PRODUCT_ANYID))) newLabel.Visible = false; - } } protected void editLabel_Load(object sender, EventArgs e) { - Label editLabel = (Label)UserSettingsView.FindControl("editLabel"); + Label editLabel = (Label)sender; + if (user == null) user = UserDB.GetUserInfo(userID); - if (!m_user.HasRight("delete_user",Constants.PRODUCT_ANYID)) + if ((userID == m_user.ID && !m_user.HasRight("view_my_preferences", Constants.PRODUCT_ANYID)) || + (userID != m_user.ID && !(user.HasRights(productID) && m_user.HasRight("view_other_preferences", productID)))) editLabel.Visible = false; } @@ -141,7 +157,7 @@ tcdbDataSetTableAdapters.db_roleUserProductTableAdapter rupAdapter = new tcdbDataSetTableAdapters.db_roleUserProductTableAdapter(); Dictionary<String, ArrayList> ProductRoles = (Dictionary<String, ArrayList>)Session["ProductRoles"]; - /* + // Clear roles rupAdapter.upd_userRoleProduct(userID, null, null, false); @@ -157,8 +173,8 @@ rupAdapter.ins_userRoleProduct(userID, roleID, productID); } } - */ - + + /* tcdbDataSetTableAdapters.db_productsTableAdapter pAdapter = new tcdbDataSetTableAdapters.db_productsTableAdapter(); tcdbDataSet.db_productsDataTable pTable = pAdapter.GetData(true, null); tcdbDataSetTableAdapters.db_roleTableAdapter rAdapter = new tcdbDataSetTableAdapters.db_roleTableAdapter(); @@ -179,6 +195,7 @@ } } + * */ } protected void SyncWithAD(object sender, CommandEventArgs e) @@ -268,7 +285,8 @@ { Literal roleTree = (Literal)sender; - if (m_user.HasRight("view_my_roles", Constants.PRODUCT_ANYID)) + if ( (userID == m_user.ID && m_user.HasRight("view_my_roles", Constants.PRODUCT_ANYID)) || + (userID != m_user.ID && m_user.HasRight("view_other_roles", Constants.PRODUCT_ANYID))) { roleTree.Visible = true; roleTree.ID = "roleTree"; @@ -286,21 +304,25 @@ 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(); + if ((userID == m_user.ID && m_user.HasRight("view_my_roles", pRow.productID)) || + (userID != m_user.ID && m_user.HasRight("view_other_roles", pRow.productID))) + { + // 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.roleName); + foreach (tcdbDataSet.db_roleUserProductRow rupRow in rupTable) + roles.Add(rupRow.roleName); - if (roles.Count > 0) - ProductRoles[pRow.name] = roles; + 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"; @@ -361,14 +383,17 @@ foreach (tcdbDataSet.db_productsRow row in pTable) { - TreeNode child = new TreeNode(); - child.Text = "<label>" + row.name + "</label>"; - child.Value = row.productID.ToString(); - child.SelectAction = TreeNodeSelectAction.Select; - child.PopulateOnDemand = true; - child.ShowCheckBox = false; + if (m_user.HasRight("edit_role_users", row.productID)) + { + TreeNode child = new TreeNode(); + child.Text = "<label>" + row.name + "</label>"; + child.Value = row.productID.ToString(); + child.SelectAction = TreeNodeSelectAction.Select; + child.PopulateOnDemand = true; + child.ShowCheckBox = false; - parent.ChildNodes.Add(child); + parent.ChildNodes.Add(child); + } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2006-08-04 19:31:44
|
Revision: 272 Author: rouquin Date: 2006-08-04 12:31:36 -0700 (Fri, 04 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=272&view=rev Log Message: ----------- Fixed some tree permissions and filter remembering code. Added permissions to trees so that we don't need to add the authentication/permissions check to every page. Modified Paths: -------------- Website/Includes/ActionItems.ascx.cs Website/Includes/AdministrationTree.ascx.cs Website/Includes/Assignments.ascx.cs Website/Includes/AssignmentsTree.ascx.cs Modified: Website/Includes/ActionItems.ascx.cs =================================================================== --- Website/Includes/ActionItems.ascx.cs 2006-08-04 18:54:57 UTC (rev 271) +++ Website/Includes/ActionItems.ascx.cs 2006-08-04 19:31:36 UTC (rev 272) @@ -27,7 +27,6 @@ protected void Page_Load(object sender, EventArgs e) { - if (!m_user.ISAUTHENTICATED) { return; } if (productID == 0) productID = Constants.PRODUCT_SITEID; Modified: Website/Includes/AdministrationTree.ascx.cs =================================================================== --- Website/Includes/AdministrationTree.ascx.cs 2006-08-04 18:54:57 UTC (rev 271) +++ Website/Includes/AdministrationTree.ascx.cs 2006-08-04 19:31:36 UTC (rev 272) @@ -18,6 +18,13 @@ { private static ILog m_logg = LogManager.GetLogger("Page:AdministrationTree"); + protected void Page_Load(object sender, EventArgs e) + { + if (!m_user.ISAUTHENTICATED) { return; } + if (!m_user.HasRight("view_admin", Constants.PRODUCT_ANYID)) + Response.Redirect("~/Assignments.aspx?" + Constants.CODE_USER + "=" + m_user.ID); + } + protected void AdminTree_Init(object sender, EventArgs args) { m_logg.Debug("Initializing admin tree"); @@ -821,4 +828,5 @@ break; } } + } Modified: Website/Includes/Assignments.ascx.cs =================================================================== --- Website/Includes/Assignments.ascx.cs 2006-08-04 18:54:57 UTC (rev 271) +++ Website/Includes/Assignments.ascx.cs 2006-08-04 19:31:36 UTC (rev 272) @@ -138,7 +138,7 @@ if (mode == "created" && ai.CREATOR.ID != m_user.ID) return false; - if (!cboShowActionItems.Checked) + if (cboTypeFilter.Checked && !cboShowActionItems.Checked) return false; } else if (type == Constants.CODE_WO) @@ -162,7 +162,7 @@ if (mode == "created" && wo.CREATOR.ID != m_user.ID) return false; - if (!cboShowWorkOrders.Checked) + if (cboTypeFilter.Checked && !cboShowWorkOrders.Checked) return false; } else @@ -549,7 +549,7 @@ Session["showAICompleted"] = aiStatusList.Items.FindByText("Completed").Selected; } else - aiStatusList.Items.FindByText("Completed").Selected = Convert.ToBoolean(Session["showAIComplete"]); + aiStatusList.Items.FindByText("Completed").Selected = Convert.ToBoolean(Session["showAICompleted"]); if (Session["showAINotStarted"] == null) { aiStatusList.Items.FindByText("Not Started").Selected = m_user.GetConfigBool("filter_show_ai_not_started"); @@ -584,11 +584,11 @@ woStatusList.Items.FindByText("Inactive").Selected = Convert.ToBoolean(Session["showWOInactive"]); if (Session["showWOCompleted"] == null) { - woStatusList.Items.FindByText("Completed").Selected = m_user.GetConfigBool("filter_show_wo_complete"); + woStatusList.Items.FindByText("Completed").Selected = m_user.GetConfigBool("filter_show_wo_completed"); Session["showWOCompleted"] = woStatusList.Items.FindByText("Completed").Selected; } else - woStatusList.Items.FindByText("Completed").Selected = Convert.ToBoolean(Session["showWOComplete"]); + woStatusList.Items.FindByText("Completed").Selected = Convert.ToBoolean(Session["showWOCompleted"]); if (Session["showWONotStarted"] == null) { woStatusList.Items.FindByText("Not Started").Selected = m_user.GetConfigBool("filter_show_wo_not_started"); @@ -606,63 +606,81 @@ protected void toDate_Init(object sender, EventArgs e) { - if (Session["toDate"] == null) + if (!IsPostBack) { - toDate.SelectedDate = m_user.GetConfigDate("filter_show_to_assigned_date"); - Session["toDate"] = toDate.SelectedDate; + if (Session["toDate"] == null) + { + toDate.SelectedDate = m_user.GetConfigDate("filter_show_to_assigned_date"); + Session["toDate"] = toDate.SelectedDate; + } + else + toDate.SelectedDate = Convert.ToDateTime(Session["toDate"]); } - else - toDate.SelectedDate = Convert.ToDateTime(Session["toDate"]); } protected void toDueDate_Init(object sender, EventArgs e) { - if (Session["toDueDate"] == null) + if (!IsPostBack) { - toDueDate.SelectedDate = m_user.GetConfigDate("filter_show_to_due_date"); - Session["toDueDate"] = toDueDate.SelectedDate; + if (Session["toDueDate"] == null) + { + toDueDate.SelectedDate = m_user.GetConfigDate("filter_show_to_due_date"); + Session["toDueDate"] = toDueDate.SelectedDate; + } + else + toDueDate.SelectedDate = Convert.ToDateTime(Session["toDueDate"]); } - else - toDueDate.SelectedDate = Convert.ToDateTime(Session["toDueDate"]); } protected void toFinishedDate_Init(object sender, EventArgs e) { - if (Session["toFinishedDate"] == null) + if (!IsPostBack) { - toFinishedDate.SelectedDate = m_user.GetConfigDate("filter_show_to_finished_dates"); - Session["toFinishedDate"] = toFinishedDate.SelectedDate; + if (Session["toFinishedDate"] == null) + { + toFinishedDate.SelectedDate = m_user.GetConfigDate("filter_show_to_finished_dates"); + Session["toFinishedDate"] = toFinishedDate.SelectedDate; + } + else + toFinishedDate.SelectedDate = Convert.ToDateTime(Session["toFinishedDate"]); } - else - toFinishedDate.SelectedDate = Convert.ToDateTime(Session["toFinishedDate"]); } protected void fromDate_Init(object sender, EventArgs e) { - if (Session["fromDate"] == null) + if (!IsPostBack) { - fromDate.SelectedDate = m_user.GetConfigDate("filter_show_from_assigned_date"); - Session["fromDate"] = fromDate.SelectedDate; + if (Session["fromDate"] == null) + { + fromDate.SelectedDate = m_user.GetConfigDate("filter_show_from_assigned_date"); + Session["fromDate"] = fromDate.SelectedDate; + } + else + fromDate.SelectedDate = Convert.ToDateTime(Session["fromDate"]); } - else - fromDate.SelectedDate = Convert.ToDateTime(Session["fromDate"]); } protected void fromDueDate_Init(object sender, EventArgs e) { - if (Session["fromDueDate"] == null) + if (!IsPostBack) { - fromDueDate.SelectedDate = m_user.GetConfigDate("filter_show_from_due_date"); - Session["fromDueDate"] = fromDueDate.SelectedDate; + if (Session["fromDueDate"] == null) + { + fromDueDate.SelectedDate = m_user.GetConfigDate("filter_show_from_due_date"); + Session["fromDueDate"] = fromDueDate.SelectedDate; + } + else + fromDueDate.SelectedDate = Convert.ToDateTime(Session["fromDueDate"]); } - else - fromDueDate.SelectedDate = Convert.ToDateTime(Session["fromDueDate"]); } protected void fromFinishedDate_Init(object sender, EventArgs e) { - if (Session["fromFinishedDate"] == null) + if (!IsPostBack) { - fromFinishedDate.SelectedDate = m_user.GetConfigDate("filter_show_from_finished_date"); - Session["fromFinishedDate"] = fromFinishedDate.SelectedDate; + if (Session["fromFinishedDate"] == null) + { + fromFinishedDate.SelectedDate = m_user.GetConfigDate("filter_show_from_finished_date"); + Session["fromFinishedDate"] = fromFinishedDate.SelectedDate; + } + else + fromFinishedDate.SelectedDate = Convert.ToDateTime(Session["fromFinishedDate"]); } - else - fromFinishedDate.SelectedDate = Convert.ToDateTime(Session["fromFinishedDate"]); } protected void cboShowActionItems_Init(object sender, EventArgs e) { Modified: Website/Includes/AssignmentsTree.ascx.cs =================================================================== --- Website/Includes/AssignmentsTree.ascx.cs 2006-08-04 18:54:57 UTC (rev 271) +++ Website/Includes/AssignmentsTree.ascx.cs 2006-08-04 19:31:36 UTC (rev 272) @@ -175,16 +175,12 @@ else AssignmentTree_TreeNodePopulate(AssignmentTree, new TreeNodeEventArgs(child)); } - /* TODO: Do we really want to hide the tree? - // If there are no children - if (parent.ChildNodes.Count == 0) - AssignmentTree.Visible = false; - else + + // *************************** + // My assignments node + // *************************** + if (m_user.HasRight("view_my_ai", Constants.PRODUCT_ANYID) || m_user.HasRight("view_my_wo", Constants.PRODUCT_ANYID)) { - */ - // *************************** - // My assignments node - // *************************** TreeNode mine = new TreeNode(); mine.Text = "My Assignments"; mine.Value = Constants.PRODUCT_MINE.ToString(); @@ -195,11 +191,13 @@ parent.ChildNodes.Add(mine); if (nodes.Contains(mine.ValuePath)) mine.Expand(); - + } - // *************************** - // My Created assignments node - // *************************** + // *************************** + // My Created assignments node + // *************************** + if (m_user.HasRight("view_created_ai", Constants.PRODUCT_ANYID) || m_user.HasRight("view_created_wo", Constants.PRODUCT_ANYID)) + { TreeNode created = new TreeNode(); created.Text = "My Created Assignments"; created.Value = Constants.PRODUCT_CREATED.ToString(); @@ -210,21 +208,7 @@ parent.ChildNodes.Add(created); if (nodes.Contains(created.ValuePath)) created.Expand(); - - /* TODO: Do we really want to remove the root node? - } - - // if there's only one - if (parent.ChildNodes.Count == 1) - { - TreeNode root = parent.ChildNodes[0]; - - root.NavigateUrl = "~/Assignments.aspx?" + Constants.CODE_PRODUCT + "=" + root.Value; - AssignmentTree.Nodes[0].Text = ""; - AssignmentTree.ShowExpandCollapse = false; - root.Expand(); - } - */ + } } private void BuildMyUserList(TreeNode parent) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2006-08-04 18:55:10
|
Revision: 271 Author: rouquin Date: 2006-08-04 11:54:57 -0700 (Fri, 04 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=271&view=rev Log Message: ----------- Fixed some bugs I came across. 1) Add user role to product (product default set) 2) New user - roles updated Modified Paths: -------------- Website/App_Code/Assignments.cs Website/Includes/AdministrationTree.ascx.cs Website/Includes/Roles.ascx.cs Website/Includes/UserSettings.ascx Website/web.config Modified: Website/App_Code/Assignments.cs =================================================================== --- Website/App_Code/Assignments.cs 2006-08-04 18:06:33 UTC (rev 270) +++ Website/App_Code/Assignments.cs 2006-08-04 18:54:57 UTC (rev 271) @@ -66,7 +66,7 @@ { assignment.WORKORDER = WorkOrderDB.TCDB_GetWorkOrder(row.childID); assignment.WOTOTALTEST = row.WOTotalTest; - assignment.WOPASSRATE = Convert.ToInt32(row.WOPassRate); + //assignment.WOPASSRATE = Convert.ToInt32(row.WOPassRate); assignment.WOPASS = row.WOPass; assignment.WOFAIL = row.WOFail; assignment.WOERROR = row.WOError; @@ -512,7 +512,8 @@ public User CREATOR { - get { return p_creator; } + get + { return p_creator; } set { p_creator = value; } } Modified: Website/Includes/AdministrationTree.ascx.cs =================================================================== --- Website/Includes/AdministrationTree.ascx.cs 2006-08-04 18:06:33 UTC (rev 270) +++ Website/Includes/AdministrationTree.ascx.cs 2006-08-04 18:54:57 UTC (rev 271) @@ -352,7 +352,7 @@ protected void BuildUserList(TreeNode parent) { tcdbDataSetTableAdapters.db_roleProductUserTableAdapter userAdapter = new tcdbDataSetTableAdapters.db_roleProductUserTableAdapter(); - tcdbDataSet.db_roleProductUserDataTable userTable = userAdapter.GetData(null, Convert.ToInt32(parent.Parent.Value), null); + tcdbDataSet.db_roleProductUserDataTable userTable = userAdapter.GetData(null, Convert.ToInt32(parent.Parent.Value), true); int lastID = -1; foreach (tcdbDataSet.db_roleProductUserRow row in userTable) Modified: Website/Includes/Roles.ascx.cs =================================================================== --- Website/Includes/Roles.ascx.cs 2006-08-04 18:06:33 UTC (rev 270) +++ Website/Includes/Roles.ascx.cs 2006-08-04 18:54:57 UTC (rev 271) @@ -23,6 +23,7 @@ int roleID = Convert.ToInt32(HttpContext.Current.Request.QueryString[Constants.CODE_ROLE]); Role role; String mode = HttpContext.Current.Request.QueryString["mode"]; + String productID_in = HttpContext.Current.Request.QueryString[Constants.CODE_PRODUCT]; protected void Page_Load(object sender, EventArgs e) { @@ -276,6 +277,8 @@ ListBox userList = (ListBox)FormView1.FindControl("userList"); updateProductUsers(productList, userList); + if (productID_in != null) + productList.SelectedValue = productID_in; Session["product"] = productList.SelectedValue; } protected void ProductUserPanel_Init(object sender, EventArgs e) Modified: Website/Includes/UserSettings.ascx =================================================================== --- Website/Includes/UserSettings.ascx 2006-08-04 18:06:33 UTC (rev 270) +++ Website/Includes/UserSettings.ascx 2006-08-04 18:54:57 UTC (rev 271) @@ -111,10 +111,14 @@ </div> </ItemTemplate> <EditItemTemplate> - <asp:RequiredFieldValidator ID="usernameValidator" runat="server" ErrorMessage="You must have a username." ControlToValidate="usernameBox"></asp:RequiredFieldValidator> - <asp:RequiredFieldValidator ID="firstnameValidator" runat="server" ErrorMessage="You must enter a first name." ControlToValidate="firstnameBox"></asp:RequiredFieldValidator> - <asp:RequiredFieldValidator ID="lastnameValidator" runat="server" ErrorMessage="You must enter a last name." ControlToValidate="lastnameBox"></asp:RequiredFieldValidator> - <asp:RequiredFieldValidator ID="emailValidator" runat="server" ErrorMessage="You must enter an email address." ControlToValidate="emailBox"></asp:RequiredFieldValidator> + <asp:RequiredFieldValidator ID="usernameValidator" runat="server" ErrorMessage="You must have a username." + ControlToValidate="usernameBox"></asp:RequiredFieldValidator> + <asp:RequiredFieldValidator ID="firstnameValidator" runat="server" ErrorMessage="You must enter a first name." + ControlToValidate="firstnameBox"></asp:RequiredFieldValidator> + <asp:RequiredFieldValidator ID="lastnameValidator" runat="server" ErrorMessage="You must enter a last name." + ControlToValidate="lastnameBox"></asp:RequiredFieldValidator> + <asp:RequiredFieldValidator ID="emailValidator" runat="server" ErrorMessage="You must enter an email address." + ControlToValidate="emailBox"></asp:RequiredFieldValidator> <div class="xsnazzy"> <b class="xtop"><b class="xb1"></b><b class="xb2"></b><b class="xb3"></b><b class="xb4"> </b></b> @@ -284,7 +288,8 @@ 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"> + ShowCheckBoxes="All" OnSelectedNodeChanged="roleTree_SelectedNodeChanged" ShowExpandCollapse="false" + OnTreeNodeCheckChanged="roleTree_TreeNodeCheckChanged"> <Nodes> <asp:TreeNode Text="" Value="Roles" PopulateOnDemand="True" Selected="false" ShowCheckBox="false" /> </Nodes> Modified: Website/web.config =================================================================== --- Website/web.config 2006-08-04 18:06:33 UTC (rev 270) +++ Website/web.config 2006-08-04 18:54:57 UTC (rev 271) @@ -128,9 +128,11 @@ </microsoft.web> <appSettings/> <connectionStrings> - <add name="tcdbConnectionString" connectionString="Data Source=dad.vintela.com\sqlserver2005;Initial Catalog=tcdb;Persist Security Info=True;User ID=tcdb;Password=tcdbpw;Connect Timeout=60" - providerName="System.Data.SqlClient" /> - </connectionStrings> + <!-- + <add name="tcdbConnectionString" connectionString="Data Source=tcdb.vintela.com\sqlserver2005;Initial Catalog=tcdb;Persist Security Info=True;User ID=tcdb;Password=tcdbpw;Connect Timeout=60" providerName="System.Data.SqlClient" /> + --> + <add name="tcdbConnectionString" connectionString="Data Source=dad.vintela.com\sqlserver2005;Initial Catalog=tcdb;Persist Security Info=True;User ID=tcdb;Password=tcdbpw;Connect Timeout=60" providerName="System.Data.SqlClient" /> +</connectionStrings> <system.web> <sessionState mode="InProc" cookieless="false" timeout="20"/> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <m_h...@us...> - 2006-08-04 18:06:37
|
Revision: 270 Author: m_hildebrand Date: 2006-08-04 11:06:33 -0700 (Fri, 04 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=270&view=rev Log Message: ----------- Fixed bug 9812 where images on Administration.ascx weren't showing in firefox. z-index problem. Modified Paths: -------------- Website/App_Themes/Python/python.css Modified: Website/App_Themes/Python/python.css =================================================================== --- Website/App_Themes/Python/python.css 2006-08-04 17:59:01 UTC (rev 269) +++ Website/App_Themes/Python/python.css 2006-08-04 18:06:33 UTC (rev 270) @@ -121,6 +121,7 @@ position: relative; top: 15px; left: -20px; + z-index: 50; } .button LABEL @@ -171,6 +172,7 @@ .pictureMenu { text-align: center; + z-index: 100; } /********** END Global Classes **********/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <m_h...@us...> - 2006-08-04 17:59:12
|
Revision: 269 Author: m_hildebrand Date: 2006-08-04 10:59:01 -0700 (Fri, 04 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=269&view=rev Log Message: ----------- Links no longer use default colors :) Modified Paths: -------------- Website/App_Themes/Python/python.css Website/Includes/AssignmentsTree.ascx.cs Modified: Website/App_Themes/Python/python.css =================================================================== --- Website/App_Themes/Python/python.css 2006-08-04 17:03:21 UTC (rev 268) +++ Website/App_Themes/Python/python.css 2006-08-04 17:59:01 UTC (rev 269) @@ -14,6 +14,11 @@ position: relative; } +A:hover, A:active, A:link, A:visited +{ + color: #0000EE; +} + .hidden { display: none; Modified: Website/Includes/AssignmentsTree.ascx.cs =================================================================== --- Website/Includes/AssignmentsTree.ascx.cs 2006-08-04 17:03:21 UTC (rev 268) +++ Website/Includes/AssignmentsTree.ascx.cs 2006-08-04 17:59:01 UTC (rev 269) @@ -375,7 +375,6 @@ } } - protected void statusComplete_CheckedChanged(object sender, EventArgs e) { ArrayList nodes = (ArrayList)Session["AssignmentNodes"]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |