You can subscribe to this list here.
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(5) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
(4) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(16) |
Jun
(41) |
Jul
(101) |
Aug
(71) |
Sep
|
Oct
|
Nov
|
Dec
|
From: <ro...@us...> - 2006-08-04 17:03:29
|
Revision: 268 Author: rouquin Date: 2006-08-04 10:03:21 -0700 (Fri, 04 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=268&view=rev Log Message: ----------- Added required field validators Modified Paths: -------------- Website/App_Code/Users.cs Website/Includes/ActionItems.ascx Website/Includes/Rights.ascx Website/Includes/Roles.ascx Website/Includes/UserSettings.ascx Website/web.config Modified: Website/App_Code/Users.cs =================================================================== --- Website/App_Code/Users.cs 2006-08-04 16:35:43 UTC (rev 267) +++ Website/App_Code/Users.cs 2006-08-04 17:03:21 UTC (rev 268) @@ -26,7 +26,7 @@ { /// <summary> /// A class containing database interactions for users in the TCDB System - /// TCDB.Users holds all the moethods that interact with the User DB + /// TCDB.Users holds all the methods that interact with the User DB /// </summary> public class UserDB : Page { Modified: Website/Includes/ActionItems.ascx =================================================================== --- Website/Includes/ActionItems.ascx 2006-08-04 16:35:43 UTC (rev 267) +++ Website/Includes/ActionItems.ascx 2006-08-04 17:03:21 UTC (rev 268) @@ -131,6 +131,8 @@ </ItemTemplate> <EditItemTemplate> <div id="aiContent"> + <asp:RequiredFieldValidator ID="nameValidator" runat="server" ErrorMessage="You must enter a name for the action item." + 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> @@ -139,7 +141,7 @@ <div class="left"> <div class="item"> <label> - Name:</label><asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("name") %>' + Name:</label><asp:TextBox ID="nameBox" runat="server" Text='<%# Bind("name") %>' Width="500px" /> </div> <div class="item"> @@ -231,6 +233,8 @@ </EditItemTemplate> <InsertItemTemplate> <div id="aiContent"> + <asp:RequiredFieldValidator ID="nameValidator" runat="server" ErrorMessage="You must enter a name for the action item." + 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> @@ -239,7 +243,7 @@ <div class="left"> <div class="item"> <label> - Name:</label><asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("name") %>' + Name:</label><asp:TextBox ID="nameBox" runat="server" Text='<%# Bind("name") %>' Width="500px" /> </div> <div class="item"> Modified: Website/Includes/Rights.ascx =================================================================== --- Website/Includes/Rights.ascx 2006-08-04 16:35:43 UTC (rev 267) +++ Website/Includes/Rights.ascx 2006-08-04 17:03:21 UTC (rev 268) @@ -4,6 +4,7 @@ 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> <div class="xsnazzy"> <b class="xtop"><b class="xb1"></b><b class="xb2"></b><b class="xb3"></b><b class="xb4"> </b></b> @@ -12,7 +13,7 @@ <tr> <td align="left" colspan="6"> <strong>Name:</strong> - <asp:TextBox ID="nameLabel" runat="server" Text='<%# Bind("rightsName") %>' Width="70%"></asp:TextBox></td> + <asp:TextBox ID="nameBox" runat="server" Text='<%# Bind("rightsName") %>' Width="70%"></asp:TextBox></td> </tr> <tr> <td class="hr" colspan="6"> @@ -63,6 +64,7 @@ </div> </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> @@ -71,7 +73,7 @@ <tr> <td align="left" colspan="6"> <strong>Name:</strong> - <asp:TextBox ID="nameLabel" runat="server" Text='<%# Bind("rightsName") %>' Width="70%"></asp:TextBox></td> + <asp:TextBox ID="nameBox" runat="server" Text='<%# Bind("rightsName") %>' Width="70%"></asp:TextBox></td> </tr> <tr> <td class="hr" colspan="6"> Modified: Website/Includes/Roles.ascx =================================================================== --- Website/Includes/Roles.ascx 2006-08-04 16:35:43 UTC (rev 267) +++ Website/Includes/Roles.ascx 2006-08-04 17:03:21 UTC (rev 268) @@ -71,6 +71,7 @@ </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> @@ -79,7 +80,7 @@ <tr> <td align="left" colspan="6"> <strong>Name:</strong> - <asp:TextBox ID="nameLabel" runat="server" Text='<%# Bind("roleName") %>' Width="70%"></asp:TextBox></td> + <asp:TextBox ID="nameBox" runat="server" Text='<%# Bind("roleName") %>' Width="70%"></asp:TextBox></td> </tr> <tr> <td class="hr" colspan="6"> @@ -138,6 +139,7 @@ </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> @@ -146,7 +148,7 @@ <tr> <td align="left" colspan="6"> <strong>Name:</strong> - <asp:TextBox ID="nameLabel" runat="server" Text='<%# Bind("roleName") %>' Width="70%"></asp:TextBox></td> + <asp:TextBox ID="nameBox" runat="server" Text='<%# Bind("roleName") %>' Width="70%"></asp:TextBox></td> </tr> <tr> <td class="hr" colspan="6"> Modified: Website/Includes/UserSettings.ascx =================================================================== --- Website/Includes/UserSettings.ascx 2006-08-04 16:35:43 UTC (rev 267) +++ Website/Includes/UserSettings.ascx 2006-08-04 17:03:21 UTC (rev 268) @@ -111,6 +111,10 @@ </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> <div class="xsnazzy"> <b class="xtop"><b class="xb1"></b><b class="xb2"></b><b class="xb3"></b><b class="xb4"> </b></b> Modified: Website/web.config =================================================================== --- Website/web.config 2006-08-04 16:35:43 UTC (rev 267) +++ Website/web.config 2006-08-04 17:03:21 UTC (rev 268) @@ -128,7 +128,7 @@ </microsoft.web> <appSettings/> <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" + <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> 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 16:35:53
|
Revision: 267 Author: m_hildebrand Date: 2006-08-04 09:35:43 -0700 (Fri, 04 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=267&view=rev Log Message: ----------- Commented out code for sticky footer... it is now about 8 lines below the bottom object. Un-comment the code to get it sticky again, but be aware that it will need some TLC to make it right :( Modified Paths: -------------- Website/App_Themes/Python/python.css Website/App_Themes/Python/style-ie.css Website/TCDB.master Modified: Website/App_Themes/Python/python.css =================================================================== --- Website/App_Themes/Python/python.css 2006-08-04 16:12:13 UTC (rev 266) +++ Website/App_Themes/Python/python.css 2006-08-04 16:35:43 UTC (rev 267) @@ -1,12 +1,12 @@ /********** BEGIN Global Classes **********/ HTML { - height: 100%; + /*height: 100%;*/ } BODY { - height: 100%; + /*height: 100%;*/ margin: 0; padding: 0; font-family: Verdana, Sans-Serif; @@ -269,9 +269,9 @@ #NonFooter { - position: relative; - min-height: 100%; - overflow: auto; + position: relative; + min-height: 100%; + overflow: visible; } #FooterContent @@ -281,8 +281,8 @@ padding: 6px 0 6px 0; vertical-align: middle; text-align: center; - position: relative; - margin: -2.35em auto 0 auto; + /*position: relative;*/ + /*margin: -2.35em auto 0 auto;*/ } /********** END Footer Content **********/ Modified: Website/App_Themes/Python/style-ie.css =================================================================== --- Website/App_Themes/Python/style-ie.css 2006-08-04 16:12:13 UTC (rev 266) +++ Website/App_Themes/Python/style-ie.css 2006-08-04 16:35:43 UTC (rev 267) @@ -1,4 +1,8 @@ - +.body +{ + background: red; +} + .bottom { position: static; @@ -20,11 +24,13 @@ /* A CSS hack that only applies to IE -- specifies a different height for the footer and set the position to static so the background displays */ /* TODO: Figure out a way to keep the footer in IE from overlaping page content */ +/* #FooterContent { position: static; margin-top: -2.3em; } +*/ .form .checkbox INPUT { Modified: Website/TCDB.master =================================================================== --- Website/TCDB.master 2006-08-04 16:12:13 UTC (rev 266) +++ Website/TCDB.master 2006-08-04 16:35:43 UTC (rev 267) @@ -16,11 +16,11 @@ <head runat="server"> <title>TCDB: Test Case DataBase 2006</title> </head> -<!--[it lt IE 8]> +<!--[if IE]> <link href="App_Themes/<%= Page.StyleSheetTheme %>/style-ie.css" type="text/css" rel="stylesheet" /> <![endif]--> <body> - <div id="NonFooter"> + <!--<div id="NonFooter" style="border: solid thin red;">--> <% if (ConfigDB.GetConfigString("tcdb_version").Equals(Constants.TCDB_VERSION)) { %> @@ -109,8 +109,8 @@ <div class="motd"><span>Unable to load TCDB. Code version [<%= Constants.TCDB_VERSION %>] does not equal schema version [<%= ConfigDB.GetConfigString("tcdb_version") %>].</span></div> <% } %> - <br /><br /> - </div> + <br /><br /><br /><br /><br /><br /><br /><br /> + <!--</div>--> <div id="FooterContent"> <TCDB:Footer runat="server" ID="Footer" /> </div> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2006-08-04 16:12:21
|
Revision: 266 Author: rouquin Date: 2006-08-04 09:12:13 -0700 (Fri, 04 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=266&view=rev Log Message: ----------- Fixed a few bugs on the assignments tree. Modified Paths: -------------- Website/App_Code/Assignments.cs Website/App_Code/Common.cs Website/App_Code/Users.cs Website/Includes/Assignments.ascx.cs Website/Includes/AssignmentsTree.ascx.cs Modified: Website/App_Code/Assignments.cs =================================================================== --- Website/App_Code/Assignments.cs 2006-08-02 21:42:32 UTC (rev 265) +++ Website/App_Code/Assignments.cs 2006-08-04 16:12:13 UTC (rev 266) @@ -19,62 +19,65 @@ { private static ILog m_logg = LogManager.GetLogger("TCDB.Assignments.AssignmentDB"); - public static List<Assignment> GetAssignmentList(string aType, int finished, int assignedID, string highPriority) + public static List<Assignment> GetAssignmentList(string aType, int finished, int assignedID, string highPriority, Nullable<int> creatorID) { - tcdbDataSet ds = new tcdbDataSet(); tcdbDataSetTableAdapters.db_assignmentsTableAdapter ta = new tcdbDataSetTableAdapters.db_assignmentsTableAdapter(); - // TODO: figure out the high priority stuff! + tcdbDataSet.db_assignmentsDataTable aTable; + if (finished == Constants.ASSIGNMENT_FINISHEDANDUNFINISHED) - { - ta.GetData(aType, null, assignedID, null, true); - ta.Fill(ds.db_assignments, aType, null, assignedID, null, true); - } + aTable = ta.GetData(aType, null, assignedID, null, true); else - { - ta.GetData(aType, finished, assignedID, null, true); - ta.Fill(ds.db_assignments, aType, finished, assignedID, null, true); - } + aTable = ta.GetData(aType, finished, assignedID, null, true); List<Assignment> assignmentList = new List<Assignment>(); - DataTableReader dr = ds.db_assignments.CreateDataReader(); - if (dr.HasRows) + foreach (tcdbDataSet.db_assignmentsRow row in aTable) { - while (dr.Read()) + Assignment assignment = new Assignment(); + assignment.NAME = row.aName; + assignment.DATEASSIGNED = row.dateAssigned; + try { - Assignment assignment = new Assignment(); + assignment.DATEDUE = row.dateDue; + } + catch { } + assignment.HIGHPRIORITY = row.highPriority; + assignment.STATUSNAME = row.statusName; + try + { + assignment.DATEFINISHED = row.dateFinished; + } + catch {} - string type = Help.DB_StringParse(dr["aType"]); - if (type == Constants.CODE_AI) - { - assignment.ACTIONITEM = ActionItemDB.GetActionItem(Help.DB_IntParse(dr["childID"])); - assignment.WOTOTALTEST = 0; - assignment.WOPASSRATE = 0; - assignment.WOPASS = 0; - assignment.WOFAIL = 0; - assignment.WOERROR = 0; - } - else if (type == Constants.CODE_WO) - { - assignment.WORKORDER = WorkOrderDB.TCDB_GetWorkOrder(Help.DB_IntParse(dr["childID"])); - assignment.WOTOTALTEST = Help.DB_IntParse(dr["WOTotalTest"], 0); - assignment.WOPASSRATE = Help.DB_IntParse(dr["WOPassRate"], 0); - assignment.WOPASS = Help.DB_IntParse(dr["WOPass"], 0); - assignment.WOFAIL = Help.DB_IntParse(dr["WOFail"], 0); - assignment.WOERROR = Help.DB_IntParse(dr["WOError"], 0); - } - assignment.NAME = Help.DB_StringParse(dr["aName"], ""); - assignment.NAME = Help.DB_StringParse(dr["aName"], ""); - assignment.CREATOR = Help.DB_StringParse(dr["creator"], ""); - assignment.ASSIGNED = Help.DB_StringParse(dr["assigned"], ""); - assignment.DATEASSIGNED = Help.DB_DateTimeParse(dr["dateAssigned"]); - assignment.DATEDUE = Help.DB_DateTimeParse(dr["dateDue"]); - assignment.DATEFINISHED = Help.DB_DateTimeParse(dr["dateFinished"]); - assignment.HIGHPRIORITY = Help.DB_BoolParse(dr["highPriority"]); - assignment.STATUSNAME = Help.DB_StringParse(dr["statusName"], ""); + string type = row.aType; + if (type == Constants.CODE_AI) + { + assignment.ACTIONITEM = ActionItemDB.GetActionItem(row.childID); + assignment.WOTOTALTEST = 0; + assignment.WOPASSRATE = 0; + assignment.WOPASS = 0; + assignment.WOFAIL = 0; + assignment.WOERROR = 0; - assignmentList.Add(assignment); + 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; + } + if (creatorID != null && assignment.CREATOR.ID != creatorID) + continue; + + assignmentList.Add(assignment); } return assignmentList; @@ -291,8 +294,8 @@ private int p_id; private string p_name; - private string p_creator; - private string p_assigned; + private User p_creator; + private User p_assigned; private DateTime p_dateAssigned; private DateTime p_dateFinished; private DateTime p_dateDue; @@ -310,8 +313,8 @@ { p_id = 0; p_name = ""; - p_creator = ""; - p_assigned = ""; + p_creator = new User(); + p_assigned = new User(); p_dateAssigned = new DateTime(1, 1, 1); p_dateFinished = new DateTime(1, 1, 1); p_dateDue = new DateTime(1, 1, 1); @@ -338,13 +341,13 @@ set { p_name = value; } } - public string CREATOR + public User CREATOR { get { return p_creator; } set { p_creator = value; } } - public string ASSIGNED + public User ASSIGNED { get { return p_assigned; } set { p_assigned = value; } Modified: Website/App_Code/Common.cs =================================================================== --- Website/App_Code/Common.cs 2006-08-02 21:42:32 UTC (rev 265) +++ Website/App_Code/Common.cs 2006-08-04 16:12:13 UTC (rev 266) @@ -1247,6 +1247,8 @@ 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 string CODE_USER = "u"; Modified: Website/App_Code/Users.cs =================================================================== --- Website/App_Code/Users.cs 2006-08-02 21:42:32 UTC (rev 265) +++ Website/App_Code/Users.cs 2006-08-04 16:12:13 UTC (rev 266) @@ -516,7 +516,7 @@ // TODO: This list needs to be able to reflect filters! if (p_assignments == null || reload) { - p_assignments = AssignmentDB.GetAssignmentList(null, statusFilter, ID, null); + p_assignments = AssignmentDB.GetAssignmentList(null, statusFilter, ID, null, null); } return p_assignments; Modified: Website/Includes/Assignments.ascx.cs =================================================================== --- Website/Includes/Assignments.ascx.cs 2006-08-02 21:42:32 UTC (rev 265) +++ Website/Includes/Assignments.ascx.cs 2006-08-04 16:12:13 UTC (rev 266) @@ -23,6 +23,7 @@ { private static ILog m_logg = LogManager.GetLogger("Page: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 const int MAX_NAME_LENGTH = 30; @@ -133,6 +134,9 @@ !(ai.ASSIGNED.ID != m_user.ID && ai.ASSIGNED.HasRights(productID) && ai.CREATOR.ID == m_user.ID && m_user.HasRight("view_created_ai",productID)) ) return false; + + if (mode == "created" && ai.CREATOR.ID != m_user.ID) + return false; if (!cboShowActionItems.Checked) return false; @@ -155,6 +159,9 @@ ) return false; + if (mode == "created" && wo.CREATOR.ID != m_user.ID) + return false; + if (!cboShowWorkOrders.Checked) return false; } @@ -162,7 +169,7 @@ { m_logg.Debug("Couldn't determine what type [" + type + "] is"); } - + if (cboPriorityFilter.Checked) { switch (priority) Modified: Website/Includes/AssignmentsTree.ascx.cs =================================================================== --- Website/Includes/AssignmentsTree.ascx.cs 2006-08-02 21:42:32 UTC (rev 265) +++ Website/Includes/AssignmentsTree.ascx.cs 2006-08-04 16:12:13 UTC (rev 266) @@ -139,7 +139,12 @@ BuildProductList(e.Node); break; case 1: - BuildUserList(e.Node); + if (e.Node.NavigateUrl.Contains("mode=created")) + BuildCreatedUserList(e.Node); + else if (e.Node.NavigateUrl.Contains("mode=mine")) + BuildMyUserList(e.Node); + else + BuildUserList(e.Node); break; case 2: BuildAssignmentList(e.Node); @@ -170,44 +175,101 @@ 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 + // *************************** TreeNode mine = new TreeNode(); mine.Text = "My Assignments"; - mine.Value = "0"; + mine.Value = Constants.PRODUCT_MINE.ToString(); mine.SelectAction = TreeNodeSelectAction.Select; - mine.NavigateUrl = "~/Assignments.aspx?" + Constants.CODE_USER + "=" + m_user.ID; + 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(); + + + // *************************** + // My Created assignments node + // *************************** + TreeNode created = new TreeNode(); + created.Text = "My Created Assignments"; + 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(); + + /* 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) + { + 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"); + ArrayList nodes = (ArrayList)Session["AssignmentNodes"]; + tcdbDataSetTableAdapters.db_usersTableAdapter uAdapter = new tcdbDataSetTableAdapters.db_usersTableAdapter(); + tcdbDataSet.db_usersDataTable uTable = uAdapter.GetData(null,null); + + // Assignment status + int status = Constants.ASSIGNMENT_UNFINISHED; + if (statusComplete.Checked) + status = Constants.ASSIGNMENT_FINISHEDANDUNFINISHED; + + foreach (tcdbDataSet.db_usersRow row in uTable) + { + if (AssignmentDB.GetAssignmentList(null, status, row.userID, null, m_user.ID).Count == 0) + continue; + // User name TreeNode user = new TreeNode(); - user.Text = m_user.FULLNAME; - user.Value = m_user.ID.ToString(); + user.Text = row.fullName; + user.Value = row.userID.ToString(); user.PopulateOnDemand = true; user.SelectAction = TreeNodeSelectAction.Select; - user.NavigateUrl = "~/Assignments.aspx?" + Constants.CODE_USER + "=" + m_user.ID; - mine.ChildNodes.Add(user); - - parent.ChildNodes.Add(mine); - if (nodes.Contains(mine.ValuePath)) - mine.Expand(); + user.NavigateUrl = "~/Assignments.aspx?mode=created&" + Constants.CODE_USER + "=" + user.Value; + parent.ChildNodes.Add(user); if (nodes.Contains(user.ValuePath)) user.Expand(); } - - // 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 BuildUserList(TreeNode parent) { @@ -225,19 +287,18 @@ int lastID = -1; foreach (tcdbDataSet.db_roleProductUserRow row in rpuTable) { + // duplicate check if (row.userID == lastID) continue; else lastID = row.userID; - User u = UserDB.GetUserInfo(row.userID); - if (u.GetAssignments(true, status).Count == 0) - continue; + if (AssignmentDB.GetAssignmentList(null, status, row.userID, null, null).Count == 0) + continue; // Create the new child node. TreeNode child = new TreeNode(); - child.Text = u.FULLNAME; - child.Value = u.ID.ToString(); - child.ImageUrl = "~/App_Themes/Images/user_add_48.png"; + child.Text = row.fullName; + child.Value = row.userID.ToString(); child.PopulateOnDemand = true; child.SelectAction = TreeNodeSelectAction.Select; parent.ChildNodes.Add(child); @@ -253,7 +314,7 @@ } private void BuildAssignmentList(TreeNode parent) { - m_logg.Debug("Building assignment list"); + 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); @@ -261,24 +322,29 @@ 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); m_logg.Debug("There are currently [" + assignmentList.Count.ToString() + "] assignments"); if (assignmentList.Count > 0) { foreach (Assignment a in assignmentList) { + // created list + if (parent.NavigateUrl.Contains("mode=created") && a.CREATOR.ID != m_user.ID) + continue; + // Create the new child node. TreeNode child = new TreeNode(); child.ToolTip = a.NAME; if (a.NAME.Length > MAX_NAME_LENGTH) { child.Text = a.NAME.Substring(0, MAX_NAME_LENGTH) + "..."; - } else + } + else child.Text = a.NAME; if (a.ISACTIONITEM) { - if ((m_user.HasRight("view_other_ai",productID)) || + 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))) { @@ -294,7 +360,7 @@ ((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; + child.NavigateUrl = "~/WorkOrder.aspx?" + Constants.CODE_PRODUCT + "=" + productID + "&" + Constants.CODE_WO + "=" + child.Value; } else continue; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2006-08-02 21:42:37
|
Revision: 265 Author: rouquin Date: 2006-08-02 14:42:32 -0700 (Wed, 02 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=265&view=rev Log Message: ----------- Fixed Assignments page viewing rights. Also made it remember settings a little better. There is still some issues on remembering though. Modified Paths: -------------- Website/Includes/ActionItems.ascx.cs Website/Includes/Assignments.ascx Website/Includes/Assignments.ascx.cs Modified: Website/Includes/ActionItems.ascx.cs =================================================================== --- Website/Includes/ActionItems.ascx.cs 2006-08-02 20:51:06 UTC (rev 264) +++ Website/Includes/ActionItems.ascx.cs 2006-08-02 21:42:32 UTC (rev 265) @@ -91,6 +91,7 @@ ActionItemDB.SendUpdatedActionItemMail(id, m_user); else ActionItemDB.SendCompletedActionItemMail(id, m_user); + Response.Redirect(Request.RawUrl); } Modified: Website/Includes/Assignments.ascx =================================================================== --- Website/Includes/Assignments.ascx 2006-08-02 20:51:06 UTC (rev 264) +++ Website/Includes/Assignments.ascx 2006-08-02 21:42:32 UTC (rev 265) @@ -29,7 +29,7 @@ </div> <div class="quickFilter"> <asp:CheckBox ID="cboShowCompleted" runat="server" Text="Show Completed" TextAlign="Left" - AutoPostBack="true" OnCheckedChanged="cboShowCompleted_CheckedChanged" /> + AutoPostBack="true" OnCheckedChanged="cboShowCompleted_CheckedChanged" OnInit="cboShowCompleted_Init" /> </div> </div> <div class="end"> @@ -287,10 +287,10 @@ <div class="alignmiddle"> <div class="item"> <asp:CheckBox ID="cboShowActionItems" runat="server" Checked="true" AutoPostBack="True" - OnCheckedChanged="update" OnInit="cboShowActionItems_Init" />Action Items</div> + OnCheckedChanged="cboShowActionItems_CheckedChanged" OnInit="cboShowActionItems_Init" />Action Items</div> <div class="item"> <asp:CheckBox ID="cboShowWorkOrders" runat="server" Checked="true" AutoPostBack="True" - OnCheckedChanged="update" OnInit="cboShowWorkOrders_Init" />Work Orders</div> + OnCheckedChanged="cboShowWorkOrders_CheckedChanged" OnInit="cboShowWorkOrders_Init" />Work Orders</div> </div> </div> </div> @@ -317,10 +317,10 @@ <div class="cm"> <div class="alignmiddle"> <div class="item"> - <asp:CheckBox ID="cboHighPriority" runat="server" Checked="True" OnCheckedChanged="update" + <asp:CheckBox ID="cboHighPriority" runat="server" Checked="True" OnCheckedChanged="cboHighPriority_CheckedChanged" AutoPostBack="True" OnInit="cboHighPriority_Init" />High</div> <div class="item"> - <asp:CheckBox ID="cboLowPriority" runat="server" Checked="true" OnCheckedChanged="update" + <asp:CheckBox ID="cboLowPriority" runat="server" Checked="true" OnCheckedChanged="cboLowPriority_CheckedChanged" AutoPostBack="True" OnInit="cboLowPriority_Init" />Low</div> </div> </div> Modified: Website/Includes/Assignments.ascx.cs =================================================================== --- Website/Includes/Assignments.ascx.cs 2006-08-02 20:51:06 UTC (rev 264) +++ Website/Includes/Assignments.ascx.cs 2006-08-02 21:42:32 UTC (rev 265) @@ -13,6 +13,7 @@ using TCDB.Common; using TCDB.Users; using TCDB.Products; +using eWorld.UI; using log4net; /// <summary> @@ -122,14 +123,15 @@ // action item exists if (ai != null && - // I don't have rights to see other users' Action Items - (!m_user.HasRight("view_other_ai",productID) && + // 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)) && - // 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 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 mine, I didn't create it, or I don't have rights to look at it - !(ai.ASSIGNED.ID != m_user.ID && ai.CREATOR.ID == m_user.ID && m_user.HasRight("view_created_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)) + ) return false; if (!cboShowActionItems.Checked) @@ -138,11 +140,19 @@ else if (type == Constants.CODE_WO) { WorkOrder wo = WorkOrderDB.TCDB_GetWorkOrder(cid); - - if (wo != null && - (!m_user.HasRight("view_other_wo",productID) && - !(wo.ASSIGNED.ID == m_user.ID && m_user.HasRight("view_my_wo", productID)) && - !(wo.CREATOR.ID == m_user.ID && m_user.HasRight("view_created_wo",productID)))) + + // work order exists + 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)) && + + // 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)) && + + // 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)) + ) return false; if (!cboShowWorkOrders.Checked) @@ -241,7 +251,23 @@ } protected void update(object sender, EventArgs e) { - Session.Add("refresh", true); + CalendarPopup date = (CalendarPopup)sender; + + // update Session + if (date.ID == "toDate") + Session["toDate"] = date.SelectedDate; + else if (date.ID == "fromDate") + Session["fromDate"] = date.SelectedDate; + else if (date.ID == "toDueDate") + Session["toDueDate"] = date.SelectedDate; + else if (date.ID == "fromDueDate") + Session["fromDueDate"] = date.SelectedDate; + else if (date.ID == "toFinishedDate") + Session["toFinishedDate"] = date.SelectedDate; + else if (date.ID == "fromFinishedDate") + Session["fromFinishedDate"] = date.SelectedDate; + + Session.Add("refresh", true); AssignmentsGridView.DataBind(); } protected String getURL(int cid, String type, String name) @@ -318,6 +344,11 @@ aiStatusList.Items.FindByText("Completed").Selected = false; woStatusList.Items.FindByText("Completed").Selected = false; } + // update Session + Session["showCompleted"] = cboShowCompleted.Checked; + Session["showAICompleted"] = aiStatusList.Items.FindByText("Completed").Selected; + Session["showWOCompleted"] = woStatusList.Items.FindByText("Completed").Selected = true; + Session.Add("refresh", true); AssignmentsGridView.DataBind(); } @@ -333,6 +364,8 @@ aiStatusList.Enabled = false; woStatusList.Enabled = false; } + Session["filterStatus"] = cboStatusFilter.Checked; + Session.Add("refresh", true); AssignmentsGridView.DataBind(); } @@ -342,6 +375,14 @@ cboShowCompleted.Checked = true; else cboShowCompleted.Checked = false; + + // update Session + Session["showAIActive"] = aiStatusList.Items.FindByText("Active").Selected; + Session["showAIInactive"] = aiStatusList.Items.FindByText("Inactive").Selected; + Session["showAINotStarted"] = aiStatusList.Items.FindByText("Not Started").Selected; + Session["showAICompleted"] = aiStatusList.Items.FindByText("Completed").Selected; + Session["showCompleted"] = cboShowCompleted.Checked; + Session.Add("refresh", true); AssignmentsGridView.DataBind(); } @@ -351,6 +392,13 @@ cboShowCompleted.Checked = true; else cboShowCompleted.Checked = false; + // update Session + Session["showWOActive"] = woStatusList.Items.FindByText("Active").Selected; + Session["showWOInactive"] = woStatusList.Items.FindByText("Inactive").Selected; + Session["showWONotStarted"] = woStatusList.Items.FindByText("Not Started").Selected; + Session["showWOCompleted"] = woStatusList.Items.FindByText("Completed").Selected; + Session["showCompleted"] = cboShowCompleted.Checked; + Session.Add("refresh", true); AssignmentsGridView.DataBind(); } @@ -366,16 +414,24 @@ cboShowActionItems.Enabled = false; cboShowWorkOrders.Enabled = false; } + Session["filterType"] = cboTypeFilter.Checked; + Session["showActionItems"] = cboShowActionItems.Checked; + Session["showWorkOrders"] = cboShowWorkOrders.Checked; + Session.Add("refresh", true); AssignmentsGridView.DataBind(); } protected void cboShowActionItems_CheckedChanged(object sender, EventArgs e) { + Session["showActionItems"] = cboShowActionItems.Checked; + Session.Add("refresh", true); AssignmentsGridView.DataBind(); } protected void cboShowWorkOrders_CheckedChanged(object sender, EventArgs e) { + Session["showWorkOrders"] = cboShowWorkOrders.Checked; + Session.Add("refresh", true); AssignmentsGridView.DataBind(); } @@ -391,6 +447,8 @@ toDate.Enabled = false; fromDate.Enabled = false; } + Session["filterAssignedDate"] = cboDateFilter.Checked; + Session.Add("refresh", true); AssignmentsGridView.DataBind(); } @@ -406,6 +464,8 @@ toDueDate.Enabled = false; fromDueDate.Enabled = false; } + Session["filterDueDate"] = cboDueFilter.Checked; + Session.Add("refresh", true); AssignmentsGridView.DataBind(); } @@ -421,6 +481,8 @@ toFinishedDate.Enabled = false; fromFinishedDate.Enabled = false; } + Session["filterFinishedDate"] = cboFinishedFilter.Checked; + Session.Add("refresh", true); AssignmentsGridView.DataBind(); } @@ -436,16 +498,22 @@ cboHighPriority.Enabled = false; cboLowPriority.Enabled = false; } + Session["filterPriority"] = cboPriorityFilter.Checked; + Session.Add("refresh", true); AssignmentsGridView.DataBind(); } protected void cboHighPriority_CheckedChanged(object sender, EventArgs e) { + Session["showHighPriority"] = cboPriorityFilter.Checked; + Session.Add("refresh", true); AssignmentsGridView.DataBind(); } protected void cboLowPriority_CheckedChanged(object sender, EventArgs e) { + Session["showLowPriority"] = cboPriorityFilter.Checked; + Session.Add("refresh", true); AssignmentsGridView.DataBind(); } @@ -454,14 +522,34 @@ { if (!IsPostBack) { - if (m_user.GetConfigBool("filter_show_ai_active")) - aiStatusList.Items.FindByText("Active").Selected = true; - if (m_user.GetConfigBool("filter_show_ai_inactive")) - aiStatusList.Items.FindByText("Inactive").Selected = true; - if (m_user.GetConfigBool("filter_show_ai_complete")) - aiStatusList.Items.FindByText("Completed").Selected = true; - if (m_user.GetConfigBool("filter_show_ai_not_started")) - aiStatusList.Items.FindByText("Not Started").Selected = true; + if (Session["showAIActive"] == null) + { + aiStatusList.Items.FindByText("Active").Selected = m_user.GetConfigBool("filter_show_ai_active"); + Session["showAIActive"] = aiStatusList.Items.FindByText("Active").Selected; + } + else + aiStatusList.Items.FindByText("Active").Selected = Convert.ToBoolean(Session["showAIActive"]); + if (Session["showAIInactive"] == null) + { + aiStatusList.Items.FindByText("Inactive").Selected = m_user.GetConfigBool("filter_show_ai_inactive"); + Session["showAIInactive"] = aiStatusList.Items.FindByText("Inactive").Selected; + } + else + aiStatusList.Items.FindByText("Inactive").Selected = Convert.ToBoolean(Session["showAIInactive"]); + if (Session["showAICompleted"] == null) + { + aiStatusList.Items.FindByText("Completed").Selected = m_user.GetConfigBool("filter_show_ai_complete"); + Session["showAICompleted"] = aiStatusList.Items.FindByText("Completed").Selected; + } + else + aiStatusList.Items.FindByText("Completed").Selected = Convert.ToBoolean(Session["showAIComplete"]); + if (Session["showAINotStarted"] == null) + { + aiStatusList.Items.FindByText("Not Started").Selected = m_user.GetConfigBool("filter_show_ai_not_started"); + Session["showAINotStarted"] = aiStatusList.Items.FindByText("Not Started").Selected; + } + else + aiStatusList.Items.FindByText("Not Started").Selected = Convert.ToBoolean(Session["showAINotStarted"]); if (Session["refresh"] != null) AssignmentsGridView.DataBind(); @@ -473,14 +561,34 @@ { if (!IsPostBack) { - if (m_user.GetConfigBool("filter_show_wo_active")) - woStatusList.Items.FindByText("Active").Selected = true; - if (m_user.GetConfigBool("filter_show_wo_inactive")) - woStatusList.Items.FindByText("Inactive").Selected = true; - if (m_user.GetConfigBool("filter_show_wo_complete")) - woStatusList.Items.FindByText("Completed").Selected = true; - if (m_user.GetConfigBool("filter_show_wo_not_started")) - woStatusList.Items.FindByText("Not Started").Selected = true; + if (Session["showWOActive"] == null) + { + woStatusList.Items.FindByText("Active").Selected = m_user.GetConfigBool("filter_show_wo_active"); + Session["showWOActive"] = woStatusList.Items.FindByText("Active").Selected; + } + else + woStatusList.Items.FindByText("Active").Selected = Convert.ToBoolean(Session["showWOActive"]); + if (Session["showWOInactive"] == null) + { + woStatusList.Items.FindByText("Inactive").Selected = m_user.GetConfigBool("filter_show_wo_inactive"); + Session["showWOInactive"] = woStatusList.Items.FindByText("Inactive").Selected; + } + else + 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"); + Session["showWOCompleted"] = woStatusList.Items.FindByText("Completed").Selected; + } + else + woStatusList.Items.FindByText("Completed").Selected = Convert.ToBoolean(Session["showWOComplete"]); + if (Session["showWONotStarted"] == null) + { + woStatusList.Items.FindByText("Not Started").Selected = m_user.GetConfigBool("filter_show_wo_not_started"); + Session["showWONotStarted"] = woStatusList.Items.FindByText("Not Started").Selected; + } + else + woStatusList.Items.FindByText("Not Started").Selected = Convert.ToBoolean(Session["showWONotStarted"]); if (Session["refresh"] != null) AssignmentsGridView.DataBind(); @@ -491,84 +599,176 @@ protected void toDate_Init(object sender, EventArgs e) { - if (!IsPostBack) + 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"]); } protected void toDueDate_Init(object sender, EventArgs e) { - if (!IsPostBack) + 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"]); } protected void toFinishedDate_Init(object sender, EventArgs e) { - if (!IsPostBack) + 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"]); } protected void fromDate_Init(object sender, EventArgs e) { - if (!IsPostBack) + 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"]); } protected void fromDueDate_Init(object sender, EventArgs e) { - if (!IsPostBack) + 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"]); } protected void fromFinishedDate_Init(object sender, EventArgs e) { - if (!IsPostBack) + 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"]); } protected void cboShowActionItems_Init(object sender, EventArgs e) { - if (!IsPostBack) + if (Session["showActionItems"] == null) + { cboShowActionItems.Checked = m_user.GetConfigBool("filter_show_action_items"); + Session["showActionItems"] = cboShowActionItems.Checked; + } + else + cboShowActionItems.Checked = Convert.ToBoolean(Session["showActionItems"]); } protected void cboShowWorkOrders_Init(object sender, EventArgs e) { - if (!IsPostBack) + if (Session["showWorkOrders"] == null) + { cboShowWorkOrders.Checked = m_user.GetConfigBool("filter_show_work_orders"); + Session["showWorkOrders"] = cboShowWorkOrders.Checked; + } + else + cboShowWorkOrders.Checked = Convert.ToBoolean(Session["showWorkOrders"]); } protected void cboHighPriority_Init(object sender, EventArgs e) { - if (!IsPostBack) + if (Session["showHighPriority"] == null) + { cboHighPriority.Checked = m_user.GetConfigBool("filter_show_high_priority"); + Session["showHightPriority"] = cboHighPriority.Checked; + } + else + cboHighPriority.Checked = Convert.ToBoolean(Session["showHighPriority"]); } protected void cboLowPriority_Init(object sender, EventArgs e) { - if (!IsPostBack) + if (Session["showLowPriority"] == null) + { cboLowPriority.Checked = m_user.GetConfigBool("filter_show_low_priority"); + Session["showLowPriority"] = cboLowPriority.Checked; + } + else + cboLowPriority.Checked = Convert.ToBoolean(Session["showLowPriority"]); } protected void cboStatusFilter_Init(object sender, EventArgs e) { - if (!IsPostBack) + if (Session["filterStatus"] == null) + { cboStatusFilter.Checked = m_user.GetConfigBool("filter_enable_status_filter"); + Session["filterStatus"] = cboStatusFilter.Checked; + } + else + cboStatusFilter.Checked = Convert.ToBoolean(Session["filterStatus"]); } protected void cboDateFilter_Init(object sender, EventArgs e) { - if (!IsPostBack) + if (Session["filterAssignedDate"] == null) + { cboDateFilter.Checked = m_user.GetConfigBool("filter_enable_assigned_date_filter"); + Session["filterAssignedDate"] = cboDateFilter.Checked; + } + else + cboDateFilter.Checked = Convert.ToBoolean(Session["filterAssignedDate"]); } protected void cboDueFilter_Init(object sender, EventArgs e) { - if (!IsPostBack) + if (Session["filterDueDate"] == null) + { cboDueFilter.Checked = m_user.GetConfigBool("filter_enable_due_date_filter"); + Session["filterDueDate"] = cboDueFilter.Checked; + } + else + cboDueFilter.Checked = Convert.ToBoolean(Session["filterDueDate"]); } protected void cboFinishedFilter_Init(object sender, EventArgs e) { - if (!IsPostBack) + if (Session["filterFinishedDate"] == null) + { cboFinishedFilter.Checked = m_user.GetConfigBool("filter_enable_finished_date_filter"); + Session["filterFinishedDate"] = cboFinishedFilter.Checked; + } + else + cboFinishedFilter.Checked = Convert.ToBoolean(Session["filterFinishedDate"]); } protected void cboTypeFilter_Init(object sender, EventArgs e) { - if (!IsPostBack) + if (Session["filterType"] == null) + { cboTypeFilter.Checked = m_user.GetConfigBool("filter_enable_type_filter"); + Session["filterType"] = cboTypeFilter.Checked; + } + else + cboTypeFilter.Checked = Convert.ToBoolean(Session["filterType"]); } protected void cboPriorityFilter_Init(object sender, EventArgs e) { - if (!IsPostBack) + if (Session["filterPriority"] == null) + { cboPriorityFilter.Checked = m_user.GetConfigBool("filter_enable_priority_filter"); + Session["filterPriority"] = cboPriorityFilter.Checked; + } + else + cboPriorityFilter.Checked = Convert.ToBoolean(Session["filterPriority"]); } + protected void cboShowCompleted_Init(object sender, EventArgs e) + { + if (Session["showCompleted"] == null) + { + cboShowCompleted.Checked = (m_user.GetConfigBool("filter_show_ai_completed") && m_user.GetConfigBool("filter_show_wo_completed")); + Session["showCompleted"] = cboShowCompleted.Checked; + Session["showAICompleted"] = cboShowCompleted.Checked; + Session["showWOCompleted"] = cboShowCompleted.Checked; + } + else + cboShowCompleted.Checked = Convert.ToBoolean(Session["showCompleted"]); + } protected void newActionItem_Init(object sender, EventArgs e) { LinkButton newAI = (LinkButton)sender; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jon...@us...> - 2006-08-02 20:51:11
|
Revision: 264 Author: jon_r_johnson Date: 2006-08-02 13:51:06 -0700 (Wed, 02 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=264&view=rev Log Message: ----------- Updated table tcdb_user to allow for longer phone numbers (international compatibility in mind). Updated stored procedures ins_user, and upd_user as a result. Added table tcdb_configSchema. Modified Paths: -------------- Schema/SQLServer2005/DatabaseStoredProcedures.sql Schema/SQLServer2005/DatabaseTablesCreate.sql Modified: Schema/SQLServer2005/DatabaseStoredProcedures.sql =================================================================== (Binary files differ) Modified: Schema/SQLServer2005/DatabaseTablesCreate.sql =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <m_h...@us...> - 2006-08-02 20:47:37
|
Revision: 263 Author: m_hildebrand Date: 2006-08-02 13:47:22 -0700 (Wed, 02 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=263&view=rev Log Message: ----------- Split CSS into non-ie and ie Fixed an infinite loop when loading assignments tree Modified Paths: -------------- Deploy/TCDB_Setup/TCDB_Setup.vdproj Website/App_Code/Common.cs Website/App_Code/Users.cs Website/App_Themes/Python/python.css Website/Includes/ActionItems.ascx Website/TCDB.master Website/web.config Added Paths: ----------- Website/App_Themes/Python/style-ie.css Property Changed: ---------------- Deploy/ Property changes on: Deploy ___________________________________________________________________ Name: svn:ignore - *.suo TCDB_2006.msi setup.exe TCDB_2006 1.0.0 Alpha 2.msi + *.suo TCDB_2006.msi setup.exe TCDB_2006 1.0.0 Alpha 2.msi TCDB_2006 1.0.0 Alpha 2b.msi Modified: Deploy/TCDB_Setup/TCDB_Setup.vdproj =================================================================== --- Deploy/TCDB_Setup/TCDB_Setup.vdproj 2006-08-02 19:34:53 UTC (rev 262) +++ Deploy/TCDB_Setup/TCDB_Setup.vdproj 2006-08-02 20:47:22 UTC (rev 263) @@ -15,6 +15,12 @@ { "Entry" { + "MsmKey" = "8:_0FCE56EE20B73158098A3151A021A74C" + "OwnerKey" = "8:_E626D31751034819989DCB478ACFFA92" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { "MsmKey" = "8:_1BF98782D91A87389FFA1ABF5936867C" "OwnerKey" = "8:_E626D31751034819989DCB478ACFFA92" "MsmSig" = "8:_UNDEFINED" @@ -40,13 +46,13 @@ "Entry" { "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_1BF98782D91A87389FFA1ABF5936867C" + "OwnerKey" = "8:_E626D31751034819989DCB478ACFFA92" "MsmSig" = "8:_UNDEFINED" } "Entry" { "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_E626D31751034819989DCB478ACFFA92" + "OwnerKey" = "8:_0FCE56EE20B73158098A3151A021A74C" "MsmSig" = "8:_UNDEFINED" } "Entry" @@ -55,6 +61,12 @@ "OwnerKey" = "8:_5CDC7F185F72143DAE7DD65D0A7F7B6F" "MsmSig" = "8:_UNDEFINED" } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_1BF98782D91A87389FFA1ABF5936867C" + "MsmSig" = "8:_UNDEFINED" + } } "Configurations" { @@ -159,6 +171,37 @@ } "File" { + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_0FCE56EE20B73158098A3151A021A74C" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:FALSE" + "AssemblyAsmDisplayName" = "8:FreeTextBox, Version=3.1.6.34851, Culture=neutral, PublicKeyToken=5962a4e684a48b87, processorArchitecture=MSIL" + "ScatterAssemblies" + { + "_0FCE56EE20B73158098A3151A021A74C" + { + "Name" = "8:FreeTextBox.DLL" + "Attributes" = "3:512" + } + } + "SourcePath" = "8:FreeTextBox.DLL" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_115F2933414A473086CFB664233245A8" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_1BF98782D91A87389FFA1ABF5936867C" { "AssemblyRegister" = "3:1" @@ -352,14 +395,14 @@ { "Name" = "8:Microsoft Visual Studio" "ProductName" = "8:TestCase Database 2006 (TCDB)" - "ProductCode" = "8:{FE2928BD-E347-4480-9E37-291076A6026B}" - "PackageCode" = "8:{B59BEFA1-13F2-468F-B59B-FC638C68C6FC}" + "ProductCode" = "8:{0930EAAB-C6DB-48B5-8BD8-E07095607859}" + "PackageCode" = "8:{65EAF903-713C-40F0-82B5-6205D9898B64}" "UpgradeCode" = "8:{0409CEE2-45EA-431A-802D-EFA205FB1A48}" "RestartWWWService" = "11:FALSE" "RemovePreviousVersions" = "11:TRUE" "DetectNewerInstalledVersion" = "11:TRUE" "InstallAllUsers" = "11:FALSE" - "ProductVersion" = "8:0.1.1" + "ProductVersion" = "8:1.0.0" "Manufacturer" = "8:Quest Software" "ARPHELPTELEPHONE" = "8:" "ARPHELPLINK" = "8:" @@ -368,7 +411,7 @@ "ARPCONTACT" = "8:Quest Software" "Keywords" = "8:" "ARPCOMMENTS" = "8:" - "ARPURLINFOABOUT" = "8:http://tcdb.sf.net" + "ARPURLINFOABOUT" = "8:http://opentcdb.org" "ARPPRODUCTICON" = "8:" "ARPIconIndex" = "3:0" "SearchPath" = "8:" Modified: Website/App_Code/Common.cs =================================================================== --- Website/App_Code/Common.cs 2006-08-02 19:34:53 UTC (rev 262) +++ Website/App_Code/Common.cs 2006-08-02 20:47:22 UTC (rev 263) @@ -1266,7 +1266,7 @@ public static int ASSIGNMENT_UNFINISHED = 0; public static int ASSIGNMENT_NEW = 3; - public static string TCDB_VERSION = "1.0.0 Alpha 2"; + public static string TCDB_VERSION = "1.0.0 Alpha 2b"; public static bool IS_DEV_ENV = false; public static string RIGHTS_ASSIGNPERMISSION = "assignPermission"; Modified: Website/App_Code/Users.cs =================================================================== --- Website/App_Code/Users.cs 2006-08-02 19:34:53 UTC (rev 262) +++ Website/App_Code/Users.cs 2006-08-02 20:47:22 UTC (rev 263) @@ -338,12 +338,13 @@ // 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 = user.GetAssignments(false, Constants.ASSIGNMENT_FINISHEDANDUNFINISHED); } + p_assignments = null; p_rights = new Dictionary<int, List<String>>(); } @@ -515,8 +516,9 @@ // TODO: This list needs to be able to reflect filters! if (p_assignments == null || reload) { - p_assignments = AssignmentDB.GetAssignmentList(null,statusFilter, ID, null); + p_assignments = AssignmentDB.GetAssignmentList(null, statusFilter, ID, null); } + return p_assignments; } Modified: Website/App_Themes/Python/python.css =================================================================== --- Website/App_Themes/Python/python.css 2006-08-02 19:34:53 UTC (rev 262) +++ Website/App_Themes/Python/python.css 2006-08-02 20:47:22 UTC (rev 263) @@ -72,12 +72,6 @@ left: 0; } -* HTML .bottom -{ - position: static; - padding-top: 8px; -} - .hover:hover, TR.overdue:hover, TR.finished:hover { background-color: #eee; @@ -102,11 +96,6 @@ top: 1px; } -* html .item .checkbox INPUT -{ - position: static; -} - .item UL { margin: 0; @@ -285,13 +274,6 @@ overflow: auto; } -/* A CSS hack that only applied to IE -- forces the height of NonFooter - to be 100%, something that causes problems in Mozilla */ -* HTML #NonFooter -{ - height: 100%; -} - #FooterContent { background-color: #022e66; @@ -303,14 +285,6 @@ margin: -2.35em auto 0 auto; } -/* A CSS hack that only applies to IE -- specifies a different height for the footer - and set the position to static so the background displays */ -/* TODO: Figure out a way to keep the footer in IE from overlaping page content */ -* HTML #FooterContent -{ - position: static; - margin-top: -2.3em; -} /********** END Footer Content **********/ /********** BEGIN Form Content **********/ @@ -360,11 +334,6 @@ left: -3px; } -* HTML .form .checkbox INPUT -{ - width: 15px; -} - .form BR { clear: left; @@ -382,11 +351,6 @@ width: 100px; } -* html #fullname input -{ - width: 100px; -} - #email input { width: 200px; @@ -513,8 +477,10 @@ .ch .buttons { display: inline; - padding: auto 10px auto 50px; - margin: auto 10px auto 50px; + padding-left: 10px; + padding-right: 50px; + margin-left: 10px; + margin-right: 50px; } .ch .quickFilter @@ -538,22 +504,11 @@ position: relative; } -* html .cb -{ - position: static; -} - .ct .bottom { bottom: 5px; } -* html .cb .bottom -{ - position: relative; - top: 5px; -} - .ct H2 { display: block; @@ -562,11 +517,6 @@ padding: 0px; font-size: 16px; } - -* html .ct H2 -{ - font-size: 16px; -} /********* END Content Top ************/ /********** BEGIN Assignments Content **********/ Added: Website/App_Themes/Python/style-ie.css =================================================================== --- Website/App_Themes/Python/style-ie.css (rev 0) +++ Website/App_Themes/Python/style-ie.css 2006-08-02 20:47:22 UTC (rev 263) @@ -0,0 +1,53 @@ + +.bottom +{ + position: static; + padding-top: 8px; +} + +.item .checkbox INPUT +{ + position: static; +} + +/* A CSS hack that only applied to IE -- forces the height of NonFooter + to be 100%, something that causes problems in Mozilla */ +#NonFooter +{ + height: 100%; +} + +/* A CSS hack that only applies to IE -- specifies a different height for the footer + and set the position to static so the background displays */ +/* TODO: Figure out a way to keep the footer in IE from overlaping page content */ +#FooterContent +{ + position: static; + margin-top: -2.3em; +} + +.form .checkbox INPUT +{ + width: 15px; +} + +#fullname input +{ + width: 100px; +} + +.cb +{ + position: static; +} + +.cb .bottom +{ + position: relative; + top: 5px; +} + +.ct H2 +{ + font-size: 16px; +} \ No newline at end of file Modified: Website/Includes/ActionItems.ascx =================================================================== --- Website/Includes/ActionItems.ascx 2006-08-02 19:34:53 UTC (rev 262) +++ Website/Includes/ActionItems.ascx 2006-08-02 20:47:22 UTC (rev 263) @@ -7,9 +7,10 @@ <%@ Import Namespace="System.Data.SqlClient" %> <%@ Import Namespace="eWorld" %> <div id="ActionItem"> - <asp:FormView ID="ActionItemsView" runat="server" DataSourceID="ActionItemDataSource" DataKeyNames="actionItemID" - CellPadding="4" ForeColor="#333333" OnDataBound="ActionItemsView_DataBound" OnItemCommand="ActionItemsView_ItemCommand" - Width="100%" OnItemInserted="ActionItemsView_ItemInserted" OnItemUpdated="ActionItemsView_ItemUpdated"> + <asp:FormView ID="ActionItemsView" runat="server" DataSourceID="ActionItemDataSource" + DataKeyNames="actionItemID" CellPadding="4" ForeColor="#333333" OnDataBound="ActionItemsView_DataBound" + OnItemCommand="ActionItemsView_ItemCommand" Width="100%" OnItemInserted="ActionItemsView_ItemInserted" + OnItemUpdated="ActionItemsView_ItemUpdated"> <HeaderTemplate> <asp:ObjectDataSource ID="StatusDataSource" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.db_statusTableAdapter"> @@ -31,7 +32,8 @@ <label> Status:</label><asp:DropDownList ID="statusList" runat="server" AutoPostBack="True" OnSelectedIndexChanged="statusChanged" DataSourceID="StatusDataSource" DataTextField="statusName" - DataValueField="statusID" AppendDataBoundItems="True" SelectedValue='<%# Bind("statusID") %>' OnInit="statusList_Init"> + DataValueField="statusID" AppendDataBoundItems="True" SelectedValue='<%# Bind("statusID") %>' + OnInit="statusList_Init"> </asp:DropDownList> </div> <div class="buttons"> @@ -62,7 +64,7 @@ <div class="top"> <h2> <asp:Literal ID="priority_high" runat="server" Visible='<%# Eval("highPriority") %>' - Text='<div class="priority_high_large"> </div>'></asp:Literal> + Text='<span class="priority_high_large"> </span>'></asp:Literal> <asp:Label ID="nameLabel" runat="server" Text='<%# Eval("name") %>'></asp:Label></h2> </div> <div class="bottom"> @@ -100,9 +102,10 @@ <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 ID="DeleteButton" runat="server" - CausesValidation="False" CommandName="deleteItem" Text="Delete" OnCommand="deleteItem" OnInit="DeleteButton_Init" /> + Text="New" OnInit="NewButton_Init" /> | <asp:LinkButton ID="EditButton" + runat="server" CausesValidation="False" CommandName="Edit" Text="Edit" OnInit="EditButton_Init" /> | <asp:LinkButton + ID="DeleteButton" runat="server" CausesValidation="False" CommandName="deleteItem" + Text="Delete" OnCommand="deleteItem" OnInit="DeleteButton_Init" /> </div> </div> <div class="right"> @@ -124,6 +127,7 @@ <b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b><b class="xb1"> </b></b> </div> + </div> </ItemTemplate> <EditItemTemplate> <div id="aiContent"> @@ -160,18 +164,23 @@ </div> <div class="item"> <label> - Due:</label><div class="calendar"><ew:CalendarPopup ID="dateDue" runat="server" PopupLocation="Left" ShowGoToToday="True" - ControlDisplay="LabelImage" ImageUrl="../App_Themes/Python/Images/calendar.gif" - SelectedDate='<%# Bind("dateDue") %>' UpperBoundDate="12/31/9999 23:59:59" VisibleDate="2006-07-21"> - </ew:CalendarPopup></div> + Due:</label><div class="calendar"> + <ew:CalendarPopup ID="dateDue" runat="server" PopupLocation="Left" ShowGoToToday="True" + ControlDisplay="LabelImage" ImageUrl="../App_Themes/Python/Images/calendar.gif" + SelectedDate='<%# Bind("dateDue") %>' UpperBoundDate="12/31/9999 23:59:59" VisibleDate="2006-07-21"> + </ew:CalendarPopup> + </div> </div> <div class="item"> <label> - Finished:</label><div class="calendar"><ew:CalendarPopup ID="dateFinished" runat="server" PopupLocation="Left" - ShowClearDate="true" ShowGoToToday="True" NullableLabelText="Select a date" ControlDisplay="LabelImage" - ImageUrl="../App_Themes/Python/Images/calendar.gif" Nullable="True" OnDateChanged="dateFinished_DateChanged" - SelectedDate="" UpperBoundDate="12/31/9999 23:59:59" VisibleDate="" AutoPostBack="True" OnInit="dateFinished_Init"> - </ew:CalendarPopup></div> + Finished:</label><div class="calendar"> + <ew:CalendarPopup ID="dateFinished" runat="server" PopupLocation="Left" ShowClearDate="true" + ShowGoToToday="True" NullableLabelText="Select a date" ControlDisplay="LabelImage" + ImageUrl="../App_Themes/Python/Images/calendar.gif" Nullable="True" OnDateChanged="dateFinished_DateChanged" + SelectedDate="" UpperBoundDate="12/31/9999 23:59:59" VisibleDate="" AutoPostBack="True" + OnInit="dateFinished_Init"> + </ew:CalendarPopup> + </div> </div> </div> <div class="end"> @@ -206,7 +215,8 @@ <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"> + DataTextField="fullName" DataValueField="userID" SelectedValue='<%# Bind("assignedID") %>' + OnDataBound="assignedTo_DataBound"> </asp:DropDownList> </div> </div> @@ -252,10 +262,12 @@ </div> <div class="item"> <label> - Due:</label><div class="calendar"><ew:CalendarPopup ID="dateDue" runat="server" PopupLocation="Left" ShowGoToToday="True" - ControlDisplay="LabelImage" ImageUrl="../App_Themes/Python/Images/calendar.gif" - SelectedDate='<%# Bind("dateDue") %>' UpperBoundDate="12/31/9999 23:59:59" VisibleDate="2006-07-21"> - </ew:CalendarPopup></div> + Due:</label><div class="calendar"> + <ew:CalendarPopup ID="dateDue" runat="server" PopupLocation="Left" ShowGoToToday="True" + ControlDisplay="LabelImage" ImageUrl="../App_Themes/Python/Images/calendar.gif" + SelectedDate='<%# Bind("dateDue") %>' UpperBoundDate="12/31/9999 23:59:59" VisibleDate="2006-07-21"> + </ew:CalendarPopup> + </div> </div> </div> <div class="end"> @@ -344,4 +356,4 @@ <SelectParameters> <asp:Parameter Name="testPassID" Type="Int32" /> </SelectParameters> -</asp:ObjectDataSource> \ No newline at end of file +</asp:ObjectDataSource> Modified: Website/TCDB.master =================================================================== --- Website/TCDB.master 2006-08-02 19:34:53 UTC (rev 262) +++ Website/TCDB.master 2006-08-02 20:47:22 UTC (rev 263) @@ -16,6 +16,9 @@ <head runat="server"> <title>TCDB: Test Case DataBase 2006</title> </head> +<!--[it lt IE 8]> + <link href="App_Themes/<%= Page.StyleSheetTheme %>/style-ie.css" type="text/css" rel="stylesheet" /> +<![endif]--> <body> <div id="NonFooter"> <% if (ConfigDB.GetConfigString("tcdb_version").Equals(Constants.TCDB_VERSION)) Modified: Website/web.config =================================================================== --- Website/web.config 2006-08-02 19:34:53 UTC (rev 262) +++ Website/web.config 2006-08-02 20:47:22 UTC (rev 263) @@ -128,7 +128,7 @@ </microsoft.web> <appSettings/> <connectionStrings> - <add name="tcdbConnectionString" connectionString="Data Source=dad\sqlserver2005;Initial Catalog=tcdb;Persist Security Info=True;User ID=tcdb;Password=tcdbpw;Connect Timeout=60" + <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" /> </connectionStrings> <system.web> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2006-08-02 19:35:00
|
Revision: 262 Author: rouquin Date: 2006-08-02 12:34:53 -0700 (Wed, 02 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=262&view=rev Log Message: ----------- Bug fixes and updates to stop the phone number truncation problem. Modified Paths: -------------- Website/App_Code/Users.cs Website/App_Code/tcdbDataSet.xsd Website/App_Code/tcdbDataSet.xss Website/Includes/Assignments.ascx.cs Website/Includes/AssignmentsTree.ascx.cs Modified: Website/App_Code/Users.cs =================================================================== --- Website/App_Code/Users.cs 2006-08-02 17:55:03 UTC (rev 261) +++ Website/App_Code/Users.cs 2006-08-02 19:34:53 UTC (rev 262) @@ -90,26 +90,58 @@ public static User GetUserInfo(string strUserName) { - // TODO: Check against the DB for user information - tcdbDataSet ds = new tcdbDataSet(); tcdbDataSetTableAdapters.db_usersTableAdapter ta = new tcdbDataSetTableAdapters.db_usersTableAdapter(); - ta.GetData(strUserName, null); - ta.Fill(ds.db_users, strUserName, null); + tcdbDataSet.db_usersDataTable uTable = ta.GetData(strUserName, null); User user = new User(); - - DataTableReader dr = ds.CreateDataReader(); - if (dr.HasRows && dr.Read()) + if (uTable.Count > 0) { - user.ID = Help.DB_IntParse(dr["userID"], Constants.ANONYMOUSUSERID); - user.USERNAME = Help.DB_StringParse(dr["username"]); - user.FIRSTNAME = Help.DB_StringParse(dr["firstName"]); - user.LASTNAME = Help.DB_StringParse(dr["lastName"]); - user.EMAIL = Help.DB_StringParse(dr["email"]); - user.OFFICEPHONE = Help.DB_StringParse(dr["officePhone"]); - user.HOMEPHONE = Help.DB_StringParse(dr["homePhone"]); - user.CELLPHONE = Help.DB_StringParse(dr["cellPhone"]); - user.AUTOMATION = Help.DB_BoolParse(dr["automation"]); + tcdbDataSet.db_usersRow row = uTable[0]; + try + { + user.ID = row.userID; + } + catch { } + try + { + user.USERNAME = row.username; + } + catch { } + try + { + user.FIRSTNAME = row.firstName; + } + catch { } + try + { + user.LASTNAME = row.lastName; + } + catch { } + try + { + user.EMAIL = row.email; + } + catch { } + try + { + user.OFFICEPHONE = row.officePhone; + } + catch { } + try + { + user.HOMEPHONE = row.homePhone; + } + catch { } + try + { + user.CELLPHONE = row.cellPhone; + } + catch { } + try + { + user.AUTOMATION = row.automation; + } + catch { } } return user; @@ -441,6 +473,18 @@ public bool HasRights(int productID) { + // Any product + if (productID == Constants.PRODUCT_ANYID) + { + List<Product> products = ProductDB.GetProductList(true); + foreach (Product product in products) + { + if (HasRights(product.ID)) + return true; + } + return false; + } + if (!p_rights.ContainsKey(productID)) p_rights[productID] = RightDB.TCDB_GetUserRights(productID, p_id); Modified: Website/App_Code/tcdbDataSet.xsd =================================================================== --- Website/App_Code/tcdbDataSet.xsd 2006-08-02 17:55:03 UTC (rev 261) +++ Website/App_Code/tcdbDataSet.xsd 2006-08-02 19:34:53 UTC (rev 262) @@ -8,91 +8,6 @@ </Connection> </Connections> <Tables> - <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="db_usersTableAdapter" GeneratorDataComponentClassName="db_usersTableAdapter" Name="db_users" UserDataComponentName="db_usersTableAdapter"> - <MainSource> - <DbSource ConnectionRef="tcdbConnectionString (Web.config)" DbObjectName="tcdb.dbo.sel_users" 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_user</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="@username" Precision="0" ProviderType="VarChar" Scale="0" Size="50" SourceColumn="username" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@firstName" Precision="0" ProviderType="VarChar" Scale="0" Size="24" SourceColumn="firstName" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@lastName" Precision="0" ProviderType="VarChar" Scale="0" Size="24" SourceColumn="lastName" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@email" Precision="0" ProviderType="VarChar" Scale="0" Size="50" SourceColumn="email" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@officePhone" Precision="0" ProviderType="VarChar" Scale="0" Size="14" SourceColumn="officePhone" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@homePhone" Precision="0" ProviderType="VarChar" Scale="0" Size="14" SourceColumn="homePhone" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@cellPhone" Precision="0" ProviderType="VarChar" Scale="0" Size="14" SourceColumn="cellPhone" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@automation" Precision="1" ProviderType="Bit" Scale="0" Size="1" SourceColumn="automation" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - </Parameters> - </DbCommand> - </InsertCommand> - <SelectCommand> - <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> - <CommandText>dbo.sel_users</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="@username" Precision="0" ProviderType="VarChar" Scale="0" Size="50" 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> - </Parameters> - </DbCommand> - </SelectCommand> - <UpdateCommand> - <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> - <CommandText>dbo.upd_users</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="@username" Precision="0" ProviderType="VarChar" Scale="0" Size="50" SourceColumn="username" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@email" Precision="0" ProviderType="VarChar" Scale="0" Size="50" SourceColumn="email" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@officePhone" Precision="0" ProviderType="VarChar" Scale="0" Size="14" SourceColumn="officePhone" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@homePhone" Precision="0" ProviderType="VarChar" Scale="0" Size="14" SourceColumn="homePhone" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@cellPhone" Precision="0" ProviderType="VarChar" Scale="0" Size="14" SourceColumn="cellPhone" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@firstName" Precision="0" ProviderType="VarChar" Scale="0" Size="24" SourceColumn="firstName" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@lastName" Precision="0" ProviderType="VarChar" Scale="0" Size="24" SourceColumn="lastName" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@automation" Precision="1" ProviderType="Bit" Scale="0" Size="1" SourceColumn="automation" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - </Parameters> - </DbCommand> - </UpdateCommand> - </DbSource> - </MainSource> - <Mappings> - <Mapping SourceColumn="userID" DataSetColumn="userID" /> - <Mapping SourceColumn="username" DataSetColumn="username" /> - <Mapping SourceColumn="email" DataSetColumn="email" /> - <Mapping SourceColumn="officePhone" DataSetColumn="officePhone" /> - <Mapping SourceColumn="homePhone" DataSetColumn="homePhone" /> - <Mapping SourceColumn="cellPhone" DataSetColumn="cellPhone" /> - <Mapping SourceColumn="firstName" DataSetColumn="firstName" /> - <Mapping SourceColumn="lastName" DataSetColumn="lastName" /> - <Mapping SourceColumn="fullName" DataSetColumn="fullName" /> - <Mapping SourceColumn="automation" DataSetColumn="automation" /> - </Mappings> - <Sources> - </Sources> - </TableAdapter> <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="db_productsTableAdapter" GeneratorDataComponentClassName="db_productsTableAdapter" Name="db_products" UserDataComponentName="db_productsTableAdapter"> <MainSource> <DbSource ConnectionRef="tcdbConnectionString (Web.config)" DbObjectName="tcdb.dbo.sel_products" 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"> @@ -932,6 +847,91 @@ <Sources> </Sources> </TableAdapter> + <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="db_usersTableAdapter" GeneratorDataComponentClassName="db_usersTableAdapter" Name="db_users" UserDataComponentName="db_usersTableAdapter"> + <MainSource> + <DbSource ConnectionRef="tcdbConnectionString (Web.config)" DbObjectName="tcdb.dbo.sel_users" 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_user</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="@username" Precision="0" ProviderType="VarChar" Scale="0" Size="50" SourceColumn="username" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@firstName" Precision="0" ProviderType="VarChar" Scale="0" Size="24" SourceColumn="firstName" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@lastName" Precision="0" ProviderType="VarChar" Scale="0" Size="24" SourceColumn="lastName" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@email" Precision="0" ProviderType="VarChar" Scale="0" Size="50" SourceColumn="email" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@officePhone" Precision="0" ProviderType="VarChar" Scale="0" Size="32" SourceColumn="officePhone" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@homePhone" Precision="0" ProviderType="VarChar" Scale="0" Size="32" SourceColumn="homePhone" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@cellPhone" Precision="0" ProviderType="VarChar" Scale="0" Size="32" SourceColumn="cellPhone" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@automation" Precision="1" ProviderType="Bit" Scale="0" Size="1" SourceColumn="automation" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + </Parameters> + </DbCommand> + </InsertCommand> + <SelectCommand> + <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> + <CommandText>dbo.sel_users</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="@username" Precision="0" ProviderType="VarChar" Scale="0" Size="50" 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> + </Parameters> + </DbCommand> + </SelectCommand> + <UpdateCommand> + <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> + <CommandText>dbo.upd_users</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="@username" Precision="0" ProviderType="VarChar" Scale="0" Size="50" SourceColumn="username" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@email" Precision="0" ProviderType="VarChar" Scale="0" Size="50" SourceColumn="email" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@officePhone" Precision="0" ProviderType="VarChar" Scale="0" Size="32" SourceColumn="officePhone" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@homePhone" Precision="0" ProviderType="VarChar" Scale="0" Size="32" SourceColumn="homePhone" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@cellPhone" Precision="0" ProviderType="VarChar" Scale="0" Size="32" SourceColumn="cellPhone" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@firstName" Precision="0" ProviderType="VarChar" Scale="0" Size="24" SourceColumn="firstName" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@lastName" Precision="0" ProviderType="VarChar" Scale="0" Size="24" SourceColumn="lastName" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@automation" Precision="1" ProviderType="Bit" Scale="0" Size="1" SourceColumn="automation" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + </Parameters> + </DbCommand> + </UpdateCommand> + </DbSource> + </MainSource> + <Mappings> + <Mapping SourceColumn="userID" DataSetColumn="userID" /> + <Mapping SourceColumn="username" DataSetColumn="username" /> + <Mapping SourceColumn="email" DataSetColumn="email" /> + <Mapping SourceColumn="officePhone" DataSetColumn="officePhone" /> + <Mapping SourceColumn="homePhone" DataSetColumn="homePhone" /> + <Mapping SourceColumn="cellPhone" DataSetColumn="cellPhone" /> + <Mapping SourceColumn="firstName" DataSetColumn="firstName" /> + <Mapping SourceColumn="lastName" DataSetColumn="lastName" /> + <Mapping SourceColumn="fullName" DataSetColumn="fullName" /> + <Mapping SourceColumn="automation" DataSetColumn="automation" /> + </Mappings> + <Sources> + </Sources> + </TableAdapter> </Tables> <Sources> </Sources> @@ -941,175 +941,111 @@ <xs:element name="tcdbDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true" msprop:Generator_UserDSName="tcdbDataSet" msprop:Generator_DataSetName="tcdbDataSet"> <xs:complexType> <xs:choice minOccurs="0" maxOccurs="unbounded"> - <xs:element name="db_users" msprop:Generator_UserTableName="db_users" msprop:Generator_RowDeletedName="db_usersRowDeleted" msprop:Generator_RowChangedName="db_usersRowChanged" msprop:Generator_RowClassName="db_usersRow" msprop:Generator_RowChangingName="db_usersRowChanging" msprop:Generator_RowEvArgName="db_usersRowChangeEvent" msprop:Generator_RowEvHandlerName="db_usersRowChangeEventHandler" msprop:Generator_TableClassName="db_usersDataTable" msprop:Generator_TableVarName="tabledb_users" msprop:Generator_RowDeletingName="db_usersRowDeleting" msprop:Generator_TablePropName="db_users"> - <xs:complexType> - <xs:sequence> - <xs:element name="userID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="userID" msprop:Generator_ColumnVarNameInTable="columnuserID" msprop:Generator_ColumnPropNameInRow="userID" msprop:Generator_ColumnPropNameInTable="userIDColumn" type="xs:int" /> - <xs:element name="username" msprop:Generator_UserColumnName="username" msprop:Generator_ColumnVarNameInTable="columnusername" msprop:Generator_ColumnPropNameInRow="username" msprop:Generator_ColumnPropNameInTable="usernameColumn"> - <xs:simpleType> - <xs:restriction base="xs:string"> - <xs:maxLength value="50" /> - </xs:restriction> - </xs:simpleType> - </xs:element> - <xs:element name="email" msprop:Generator_UserColumnName="email" msprop:Generator_ColumnVarNameInTable="columnemail" msprop:Generator_ColumnPropNameInRow="email" msprop:Generator_ColumnPropNameInTable="emailColumn"> - <xs:simpleType> - <xs:restriction base="xs:string"> - <xs:maxLength value="50" /> - </xs:restriction> - </xs:simpleType> - </xs:element> - <xs:element name="officePhone" msprop:Generator_UserColumnName="officePhone" msprop:Generator_ColumnVarNameInTable="columnofficePhone" msprop:Generator_ColumnPropNameInRow="officePhone" msprop:Generator_ColumnPropNameInTable="officePhoneColumn" minOccurs="0"> - <xs:simpleType> - <xs:restriction base="xs:string"> - <xs:maxLength value="14" /> - </xs:restriction> - </xs:simpleType> - </xs:element> - <xs:element name="homePhone" msprop:Generator_UserColumnName="homePhone" msprop:Generator_ColumnVarNameInTable="columnhomePhone" msprop:Generator_ColumnPropNameInRow="homePhone" msprop:Generator_ColumnPropNameInTable="homePhoneColumn" minOccurs="0"> - <xs:simpleType> - <xs:restriction base="xs:string"> - <xs:maxLength value="14" /> - </xs:restriction> - </xs:simpleType> - </xs:element> - <xs:element name="cellPhone" msprop:Generator_UserColumnName="cellPhone" msprop:Generator_ColumnVarNameInTable="columncellPhone" msprop:Generator_ColumnPropNameInRow="cellPhone" msprop:Generator_ColumnPropNameInTable="cellPhoneColumn" minOccurs="0"> - <xs:simpleType> - <xs:restriction base="xs:string"> - <xs:maxLength value="14" /> - </xs:restriction> - </xs:simpleType> - </xs:element> - <xs:element name="firstName" msprop:Generator_UserColumnName="firstName" msprop:Generator_ColumnVarNameInTable="columnfirstName" msprop:Generator_ColumnPropNameInRow="firstName" msprop:Generator_ColumnPropNameInTable="firstNameColumn"> - <xs:simpleType> - <xs:restriction base="xs:string"> - <xs:maxLength value="24" /> - </xs:restriction> - </xs:simpleType> - </xs:element> - <xs:element name="lastName" msprop:Generator_UserColumnName="lastName" msprop:Generator_ColumnVarNameInTable="columnlastName" msprop:Generator_ColumnPropNameInRow="lastName" msprop:Generator_ColumnPropNameInTable="lastNameColumn"> - <xs:simpleType> - <xs:restriction base="xs:string"> - <xs:maxLength value="24" /> - </xs:restriction> - </xs:simpleType> - </xs:element> - <xs:element name="fullName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="fullName" msprop:Generator_ColumnVarNameInTable="columnfullName" msprop:Generator_ColumnPropNameInRow="fullName" msprop:Generator_ColumnPropNameInTable="fullNameColumn" minOccurs="0"> - <xs:simpleType> - <xs:restriction base="xs:string"> - <xs:maxLength value="49" /> - </xs:restriction> - </xs:simpleType> - </xs:element> - <xs:element name="automation" msprop:Generator_UserColumnName="automation" msprop:Generator_ColumnVarNameInTable="columnautomation" msprop:Generator_ColumnPropNameInRow="automation" msprop:Generator_ColumnPropNameInTable="automationColumn" type="xs:boolean" /> - </xs:sequence> - </xs:complexType> - </xs:element> <xs:element name="db_products" msprop:Generator_UserTableName="db_products" msprop:Generator_RowDeletedName="db_productsRowDeleted" msprop:Generator_RowChangedName="db_productsRowChanged" msprop:Generator_RowClassName="db_productsRow" msprop:Generator_RowChangingName="db_productsRowChanging" msprop:Generator_RowEvArgName="db_productsRowChangeEvent" msprop:Generator_RowEvHandlerName="db_productsRowChangeEventHandler" msprop:Generator_TableClassName="db_productsDataTable" msprop:Generator_TableVarName="tabledb_products" msprop:Generator_RowDeletingName="db_productsRowDeleting" msprop:Generator_TablePropName="db_products"> <xs:complexType> <xs:sequence> - <xs:element name="productID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" /> - <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> + <xs:element name="productID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" /> + <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> + <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="devManager" msprop:Generator_UserColumnName="devManager" msprop:Generator_ColumnVarNameInTable="columndevManager" msprop:Generator_ColumnPropNameInRow="devManager" msprop:Generator_ColumnPropNameInTable="devManagerColumn" type="xs:int" minOccurs="0" /> - <xs:element name="qaManager" msprop:Generator_UserColumnName="qaManager" msprop:Generator_ColumnVarNameInTable="columnqaManager" msprop:Generator_ColumnPropNameInRow="qaManager" msprop:Generator_ColumnPropNameInTable="qaManagerColumn" type="xs:int" minOccurs="0" /> - <xs:element name="devLead" msprop:Generator_UserColumnName="devLead" msprop:Generator_ColumnVarNameInTable="columndevLead" msprop:Generator_ColumnPropNameInRow="devLead" msprop:Generator_ColumnPropNameInTable="devLeadColumn" type="xs:int" minOccurs="0" /> - <xs:element name="qaLead" msprop:Generator_UserColumnName="qaLead" msprop:Generator_ColumnVarNameInTable="columnqaLead" msprop:Generator_ColumnPropNameInRow="qaLead" msprop:Generator_ColumnPropNameInTable="qaLeadColumn" type="xs:int" minOccurs="0" /> - <xs:element name="pm" msprop:Generator_UserColumnName="pm" msprop:Generator_ColumnVarNameInTable="columnpm" msprop:Generator_ColumnPropNameInRow="pm" msprop:Generator_ColumnPropNameInTable="pmColumn" type="xs:int" minOccurs="0" /> - <xs:element name="codeName" msprop:Generator_UserColumnName="codeName" msprop:Generator_ColumnVarNameInTable="columncodeName" msprop:Generator_ColumnPropNameInRow="codeName" msprop:Generator_ColumnPropNameInTable="codeNameColumn" minOccurs="0"> + <xs:element name="devManager" msprop:Generator_UserColumnName="devManager" msprop:Generator_ColumnPropNameInRow="devManager" msprop:Generator_ColumnVarNameInTable="columndevManager" msprop:Generator_ColumnPropNameInTable="devManagerColumn" type="xs:int" minOccurs="0" /> + <xs:element name="qaManager" msprop:Generator_UserColumnName="qaManager" msprop:Generator_ColumnPropNameInRow="qaManager" msprop:Generator_ColumnVarNameInTable="columnqaManager" msprop:Generator_ColumnPropNameInTable="qaManagerColumn" type="xs:int" minOccurs="0" /> + <xs:element name="devLead" msprop:Generator_UserColumnName="devLead" msprop:Generator_ColumnPropNameInRow="devLead" msprop:Generator_ColumnVarNameInTable="columndevLead" msprop:Generator_ColumnPropNameInTable="devLeadColumn" type="xs:int" minOccurs="0" /> + <xs:element name="qaLead" msprop:Generator_UserColumnName="qaLead" msprop:Generator_ColumnPropNameInRow="qaLead" msprop:Generator_ColumnVarNameInTable="columnqaLead" msprop:Generator_ColumnPropNameInTable="qaLeadColumn" type="xs:int" minOccurs="0" /> + <xs:element name="pm" msprop:Generator_UserColumnName="pm" msprop:Generator_ColumnPropNameInRow="pm" msprop:Generator_ColumnVarNameInTable="columnpm" msprop:Generator_ColumnPropNameInTable="pmColumn" type="xs:int" minOccurs="0" /> + <xs:element name="codeName" msprop:Generator_UserColumnName="codeName" msprop:Generator_ColumnPropNameInRow="codeName" msprop:Generator_ColumnVarNameInTable="columncodeName" msprop:Generator_ColumnPropNameInTable="codeNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="10" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> + <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_actionItems" msprop:Generator_UserTableName="db_actionItems" msprop:Generator_RowDeletedName="db_actionItemsRowDeleted" msprop:Generator_RowChangedName="db_actionItemsRowChanged" msprop:Generator_RowClassName="db_actionItemsRow" msprop:Generator_RowChangingName="db_actionItemsRowChanging" msprop:Generator_RowEvArgName="db_actionItemsRowChangeEvent" msprop:Generator_RowEvHandlerName="db_actionItemsRowChangeEventHandler" msprop:Generator_TableClassName="db_actionItemsDataTable" msprop:Generator_TableVarName="tabledb_actionItems" msprop:Generator_RowDeletingName="db_actionItemsRowDeleting" msprop:Generator_TablePropName="db_actionItems"> <xs:complexType> <xs:sequence> - <xs:element name="actionItemID" msprop:Generator_UserColumnName="actionItemID" msprop:Generator_ColumnPropNameInRow="actionItemID" msprop:Generator_ColumnVarNameInTable="columnactionItemID" msprop:Generator_ColumnPropNameInTable="actionItemIDColumn" type="xs:int" /> - <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> + <xs:element name="actionItemID" msprop:Generator_UserColumnName="actionItemID" msprop:Generator_ColumnVarNameInTable="columnactionItemID" msprop:Generator_ColumnPropNameInRow="actionItemID" msprop:Generator_ColumnPropNameInTable="actionItemIDColumn" type="xs:int" /> + <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> + <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="dateAssigned" msprop:Generator_UserColumnName="dateAssigned" msprop:Generator_ColumnPropNameInRow="dateAssigned" msprop:Generator_ColumnVarNameInTable="columndateAssigned" msprop:Generator_ColumnPropNameInTable="dateAssignedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="dateDue" msprop:Generator_UserColumnName="dateDue" msprop:Generator_ColumnPropNameInRow="dateDue" msprop:Generator_ColumnVarNameInTable="columndateDue" msprop:Generator_ColumnPropNameInTable="dateDueColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="percentComplete" msprop:Generator_UserColumnName="percentComplete" msprop:Generator_ColumnPropNameInRow="percentComplete" msprop:Generator_ColumnVarNameInTable="columnpercentComplete" msprop:Generator_ColumnPropNameInTable="percentCompleteColumn" type="xs:int" minOccurs="0" /> - <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> + <xs:element name="dateAssigned" msprop:Generator_UserColumnName="dateAssigned" msprop:Generator_ColumnVarNameInTable="columndateAssigned" msprop:Generator_ColumnPropNameInRow="dateAssigned" msprop:Generator_ColumnPropNameInTable="dateAssignedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="dateDue" msprop:Generator_UserColumnName="dateDue" msprop:Generator_ColumnVarNameInTable="columndateDue" msprop:Generator_ColumnPropNameInRow="dateDue" msprop:Generator_ColumnPropNameInTable="dateDueColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="percentComplete" msprop:Generator_UserColumnName="percentComplete" msprop:Generator_ColumnVarNameInTable="columnpercentComplete" msprop:Generator_ColumnPropNameInRow="percentComplete" msprop:Generator_ColumnPropNameInTable="percentCompleteColumn" type="xs:int" minOccurs="0" /> + <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="createdBy" msdata:ReadOnly="true" msprop:Generator_UserColumnName="createdBy" msprop:Generator_ColumnPropNameInRow="createdBy" msprop:Generator_ColumnVarNameInTable="columncreatedBy" msprop:Generator_ColumnPropNameInTable="createdByColumn" minOccurs="0"> + <xs:element name="createdBy" msdata:ReadOnly="true" msprop:Generator_UserColumnName="createdBy" msprop:Generator_ColumnVarNameInTable="columncreatedBy" msprop:Generator_ColumnPropNameInRow="createdBy" msprop:Generator_ColumnPropNameInTable="createdByColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="highPriority" msprop:Generator_UserColumnName="highPriority" msprop:Generator_ColumnPropNameInRow="highPriority" msprop:Generator_ColumnVarNameInTable="columnhighPriority" msprop:Generator_ColumnPropNameInTable="highPriorityColumn" type="xs:boolean" minOccurs="0" /> - <xs:element name="testPass" msprop:Generator_UserColumnName="testPass" msprop:Generator_ColumnVarNameInTable="columntestPass" msprop:Generator_ColumnPropNameInRow="testPass" msprop:Generator_ColumnPropNameInTable="testPassColumn" minOccurs="0"> + <xs:element name="highPriority" msprop:Generator_UserColumnName="highPriority" msprop:Generator_ColumnVarNameInTable="columnhighPriority" msprop:Generator_ColumnPropNameInRow="highPriority" msprop:Generator_ColumnPropNameInTable="highPriorityColumn" type="xs:boolean" minOccurs="0" /> + <xs:element name="testPass" msprop:Generator_UserColumnName="testPass" msprop:Generator_ColumnPropNameInRow="testPass" msprop:Generator_ColumnVarNameInTable="columntestPass" msprop:Generator_ColumnPropNameInTable="testPassColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="dateFinished" msprop:Generator_UserColumnName="dateFinished" msprop:Generator_ColumnVarNameInTable="columndateFinished" msprop:Generator_ColumnPropNameInRow="dateFinished" msprop:Generator_ColumnPropNameInTable="dateFinishedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="assignedID" msprop:Generator_UserColumnName="assignedID" msprop:Generator_ColumnVarNameInTable="columnassignedID" msprop:Generator_ColumnPropNameInRow="assignedID" msprop:Generator_ColumnPropNameInTable="assignedIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="assigned" msdata:ReadOnly="true" msprop:Generator_UserColumnName="assigned" msprop:Generator_ColumnVarNameInTable="columnassigned" msprop:Generator_ColumnPropNameInRow="assigned" msprop:Generator_ColumnPropNameInTable="assignedColumn" minOccurs="0"> + <xs:element name="dateFinished" msprop:Generator_UserColumnName="dateFinished" msprop:Generator_ColumnPropNameInRow="dateFinished" msprop:Generator_ColumnVarNameInTable="columndateFinished" msprop:Generator_ColumnPropNameInTable="dateFinishedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="assignedID" msprop:Generator_UserColumnName="assignedID" msprop:Generator_ColumnPropNameInRow="assignedID" msprop:Generator_ColumnVarNameInTable="columnassignedID" msprop:Generator_ColumnPropNameInTable="assignedIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="assigned" msdata:ReadOnly="true" msprop:Generator_UserColumnName="assigned" msprop:Generator_ColumnPropNameInRow="assigned" msprop:Generator_ColumnVarNameInTable="columnassigned" msprop:Generator_ColumnPropNameInTable="assignedColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="statusID" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="testPassID" msprop:Generator_UserColumnName="testPassID" msprop:Generator_ColumnPropNameInRow="testPassID" msprop:Generator_ColumnVarNameInTable="columntestPassID" msprop:Generator_ColumnPropNameInTable="testPassIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> - <xs:element name="creatorID" msprop:Generator_UserColumnName="creatorID" msprop:Generator_ColumnPropNameInRow="creatorID" msprop:Generator_ColumnVarNameInTable="columncreatorID" msprop:Generator_ColumnPropNameInTable="creatorIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="statusID" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="testPassID" msprop:Generator_UserColumnName="testPassID" msprop:Generator_ColumnVarNameInTable="columntestPassID" msprop:Generator_ColumnPropNameInRow="testPassID" msprop:Generator_ColumnPropNameInTable="testPassIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> + <xs:element name="creatorID" msprop:Generator_UserColumnName="creatorID" msprop:Generator_ColumnVarNameInTable="columncreatorID" msprop:Generator_ColumnPropNameInRow="creatorID" msprop:Generator_ColumnPropNameInTable="creatorIDColumn" type="xs:int" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_status" msprop:Generator_UserTableName="db_status" msprop:Generator_RowDeletedName="db_statusRowDeleted" msprop:Generator_RowChangedName="db_statusRowChanged" msprop:Generator_RowClassName="db_statusRow" msprop:Generator_RowChangingName="db_statusRowChanging" msprop:Generator_RowEvArgName="db_statusRowChangeEvent" msprop:Generator_RowEvHandlerName="db_statusRowChangeEventHandler" msprop:Generator_TableClassName="db_statusDataTable" msprop:Generator_TableVarName="tabledb_status" msprop:Generator_RowDeletingName="db_statusRowDeleting" msprop:Generator_TablePropName="db_status"> <xs:complexType> <xs:sequence> - <xs:element name="statusID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" /> - <xs:element name="Description" msprop:Generator_UserColumnName="Description" msprop:Generator_ColumnVarNameInTable="columnDescription" msprop:Generator_ColumnPropNameInRow="Description" msprop:Generator_ColumnPropNameInTable="DescriptionColumn" minOccurs="0"> + <xs:element name="statusID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" /> + <xs:element name="Description" msprop:Generator_UserColumnName="Description" msprop:Generator_ColumnPropNameInRow="Description" msprop:Generator_ColumnVarNameInTable="columnDescription" msprop:Generator_ColumnPropNameInTable="DescriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> + <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> @@ -1122,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_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_ColumnPro... [truncated message content] |
From: <ro...@us...> - 2006-08-02 17:55:12
|
Revision: 261 Author: rouquin Date: 2006-08-02 10:55:03 -0700 (Wed, 02 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=261&view=rev Log Message: ----------- Fixed the disappearing description bug - for roles and ActionItems. Modified Paths: -------------- Website/App_Code/Right.cs 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/Roles.ascx Website/Includes/Roles.ascx.cs Modified: Website/App_Code/Right.cs =================================================================== --- Website/App_Code/Right.cs 2006-08-02 01:37:18 UTC (rev 260) +++ Website/App_Code/Right.cs 2006-08-02 17:55:03 UTC (rev 261) @@ -53,8 +53,15 @@ if (rightsTable.Count > 0) { tcdbDataSet.db_rightsRow row = rightsTable[0]; + String description = ""; - return new Right(row.rightsID, row.rightsName, row.rightsDescription); + try + { + description = row.rightsDescription; + } + catch { } + + return new Right(row.rightsID, row.rightsName, description); } else return new Right(); @@ -68,8 +75,15 @@ if (roleTable.Count > 0) { tcdbDataSet.db_roleRow row = roleTable[0]; + String description = ""; - return new Role(row.roleID, row.roleName, row.roleDescription); + try + { + description = row.roleDescription; + } + catch { } + + return new Role(row.roleID, row.roleName, description); } else return new Role(); Modified: Website/Includes/ActionItems.ascx =================================================================== --- Website/Includes/ActionItems.ascx 2006-08-02 01:37:18 UTC (rev 260) +++ Website/Includes/ActionItems.ascx 2006-08-02 17:55:03 UTC (rev 261) @@ -182,7 +182,7 @@ <div class="cm"> <label> Description:</label><br /> - <FTB:FreeTextBox ID="FreeTextBox1" runat="server" SupportFolder="~" Text='<%# Bind("description") %>' + <FTB:FreeTextBox ID="descriptionBox" runat="server" SupportFolder="~" Text='<%# Bind("description") %>' Height="300" Width="100%" /> <div class="hr"> </div> @@ -266,7 +266,7 @@ <div class="cm"> <label> Description:</label><br /> - <FTB:FreeTextBox ID="FreeTextBox1" runat="server" SupportFolder="~" Text='<%# Bind("description") %>' + <FTB:FreeTextBox ID="descriptionBox" runat="server" SupportFolder="~" Text='<%# Bind("description") %>' Height="300" Width="100%" /> <div class="hr"> </div> Modified: Website/Includes/ActionItems.ascx.cs =================================================================== --- Website/Includes/ActionItems.ascx.cs 2006-08-02 01:37:18 UTC (rev 260) +++ Website/Includes/ActionItems.ascx.cs 2006-08-02 17:55:03 UTC (rev 261) @@ -118,6 +118,14 @@ 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(); + } } protected void percentChanged(object sender, EventArgs e) @@ -169,6 +177,14 @@ 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(); + } } protected void statusChanged(object sender, EventArgs e) @@ -220,6 +236,14 @@ 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(); + } } protected void ActionItemsView_DataBound(object sender, EventArgs e) Modified: Website/Includes/AdministrationTree.ascx.cs =================================================================== --- Website/Includes/AdministrationTree.ascx.cs 2006-08-02 01:37:18 UTC (rev 260) +++ Website/Includes/AdministrationTree.ascx.cs 2006-08-02 17:55:03 UTC (rev 261) @@ -767,7 +767,7 @@ BuildProductList(e.Node); break; case 1: - if (e.Node.Text.Contains(TCDB.Products.ProductDB.GetProduct(Constants.PRODUCT_SITEID).ToString())) + if (e.Node.Value == Constants.PRODUCT_SITEID.ToString()) BuildAdminList(e.Node); else BuildCategoryList(e.Node); Modified: Website/Includes/Assignments.ascx =================================================================== --- Website/Includes/Assignments.ascx 2006-08-02 01:37:18 UTC (rev 260) +++ Website/Includes/Assignments.ascx 2006-08-02 17:55:03 UTC (rev 261) @@ -22,7 +22,8 @@ </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" PostBackUrl="~/ActionItem.aspx?mode=new" + OnInit="newActionItem_Init">New Action Item</asp:LinkButton> <!-- <asp:LinkButton ID="newWorkOrder" runat="server" PostBackUrl="~/WorkOrder.aspx?mode=new">New Work Order</asp:LinkButton> --> </div> @@ -44,13 +45,20 @@ <asp:Label runat="server" ID="NoAssignments" Text="*" Visible="false" CssClass="errorMessage"></asp:Label> <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"> + EnableTheming="True" SkinID="assignments" RowStyle-CssClass="hover" HeaderStyle-CssClass="header" + OnDataBinding="AssignmentsGridView_DataBinding" OnDataBound="AssignmentsGridView_DataBound" OnSorted="AssignmentsGridView_Sorted"> <Columns> - <asp:ImageField DataImageUrlField="highPriority" ShowHeader="False" HeaderText="(!)" - SortExpression="highPriority" /> - <asp:HyperLinkField DataNavigateUrlFields="childID" DataNavigateUrlFormatString="default.aspx?id={0}" - DataTextField="aName" HeaderText="Assignment" SortExpression="aName" DataTextFormatString="{0}" - ItemStyle-CssClass="colAssignment" /> + <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: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" @@ -66,6 +74,8 @@ <asp:BoundField DataField="WOFail" HeaderText="# Fail" ReadOnly="True" SortExpression="WOFail" /> <asp:BoundField DataField="WOError" HeaderText="# Error" ReadOnly="True" SortExpression="WOError" /> </Columns> + <RowStyle CssClass="hover" /> + <HeaderStyle CssClass="header" /> </asp:GridView> </div> <b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b><b class="xb1"> @@ -165,7 +175,7 @@ To:</label><div class="calendar"> <ew:CalendarPopup ID="toDate" runat="server" PopupLocation="Bottom" ShowGoToToday="True" ControlDisplay="LabelImage" SkinID="calendar" SelectedDate="1/1/3000 12:00:00 AM" - AutoPostBack="true" OnDateChanged="update" OnInit="toDate_Init" > + AutoPostBack="true" OnDateChanged="update" OnInit="toDate_Init"> </ew:CalendarPopup> </div> </div> Modified: Website/Includes/Assignments.ascx.cs =================================================================== --- Website/Includes/Assignments.ascx.cs 2006-08-02 01:37:18 UTC (rev 260) +++ Website/Includes/Assignments.ascx.cs 2006-08-02 17:55:03 UTC (rev 261) @@ -91,7 +91,9 @@ } } Session.Add("uid", uid); - m_logg.Debug("Databinding the AssignmentsGridView"); + m_logg.Debug("Databinding the AssignmentsGridView"); + if (Session["refresh"] != null) + AssignmentsGridView.DataBind(); } private bool filter(GridViewRow gRow) @@ -104,15 +106,16 @@ DataRowView data = (DataRowView)gRow.DataItem; if (data == null) return false; - + // Set priority image bool priority = Convert.ToBoolean(data["highPriority"].ToString()); + /* if (priority) gRow.Cells[0].Text = "<div class=\"priority_high_small\"></div>"; else gRow.Cells[0].Text = "<div class=\"priority_normal_small\"></div>"; - + */ // Set Hyperlink URL int cid = Convert.ToInt32(data["childID"]); String type = data["aType"].ToString(); @@ -134,7 +137,7 @@ !(ai.CREATOR.ID == m_user.ID && m_user.HasRight("view_created_ai",productID)))) return false; - gRow.Cells[1].Text = "<a href=\"ActionItem.aspx?"+Constants.CODE_PRODUCT+"="+productID+"&" + Constants.CODE_AI + "=" + cid + "\">" + displayName + "</a>"; + //gRow.Cells[1].Text = "<a href=\"ActionItem.aspx?"+Constants.CODE_PRODUCT+"="+productID+"&" + Constants.CODE_AI + "=" + cid + "\">" + displayName + "</a>"; if (!cboShowActionItems.Checked) return false; } @@ -148,7 +151,7 @@ !(wo.CREATOR.ID == m_user.ID && m_user.HasRight("view_created_wo",productID)))) return false; - gRow.Cells[1].Text = "<a href=\"WorkOrder.aspx?" + Constants.CODE_PRODUCT + "=" + productID + "&" + Constants.CODE_WO + "=" + cid + "\">" + name + "</a>"; + //gRow.Cells[1].Text = "<a href=\"WorkOrder.aspx?" + Constants.CODE_PRODUCT + "=" + productID + "&" + Constants.CODE_WO + "=" + cid + "\">" + name + "</a>"; if (!cboShowWorkOrders.Checked) return false; } @@ -557,4 +560,22 @@ if (!m_user.HasRight("create_my_ai", Constants.PRODUCT_ANYID) && !m_user.HasRight("create_other_ai", Constants.PRODUCT_ANYID)) newAI.Visible = false; } + protected String getURL(int cid, String type, String displayName) + { + 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) + return "<a href=\"WorkOrder.aspx?" + Constants.CODE_PRODUCT + "=" + productID + "&" + Constants.CODE_WO + "=" + cid + "\">" + displayName + "</a>"; + else + { + m_logg.Error("Bad Assignment type. Can't display URL"); + return ""; + } + + } + protected void AssignmentsGridView_Sorted(object sender, EventArgs e) + { + foreach (GridViewRow row in AssignmentsGridView.Rows) + filter(row); + } } Modified: Website/Includes/AssignmentsTree.ascx.cs =================================================================== --- Website/Includes/AssignmentsTree.ascx.cs 2006-08-02 01:37:18 UTC (rev 260) +++ Website/Includes/AssignmentsTree.ascx.cs 2006-08-02 17:55:03 UTC (rev 261) @@ -101,29 +101,29 @@ TreeNode node = AssignmentTree.SelectedNode; node.Selected = false; - /*if (AssignmentTree.ShowExpandCollapse == false) + if (AssignmentTree.ShowExpandCollapse == false) { if (node.Expanded == true) node.Collapse(); else node.Expand(); - } + }/* else {*/ - switch (node.Depth) - { - case 0: - Response.Redirect("~/Assignments.aspx"); - break; - case 1: - Response.Redirect("~/Assignments.aspx?" + Constants.CODE_PRODUCT + "=" + node.Value); - break; - case 2: - Response.Redirect("~/Assignments.aspx?" + Constants.CODE_PRODUCT + "=" + node.Parent.Value + "&" + Constants.CODE_USER + "=" + node.Value); - break; - default: - break; - } + switch (node.Depth) + { + case 0: + Response.Redirect("~/Assignments.aspx"); + break; + case 1: + Response.Redirect("~/Assignments.aspx?" + Constants.CODE_PRODUCT + "=" + node.Value); + break; + case 2: + Response.Redirect("~/Assignments.aspx?" + Constants.CODE_PRODUCT + "=" + node.Parent.Value + "&" + Constants.CODE_USER + "=" + node.Value); + break; + default: + break; + } // } } protected void AssignmentTree_TreeNodePopulate(object sender, TreeNodeEventArgs e) @@ -213,6 +213,7 @@ TreeNode child = new TreeNode(); child.Text = u.FULLNAME; child.Value = u.ID.ToString(); + child.ImageUrl = "~/App_Themes/Images/user_add_48.png"; child.PopulateOnDemand = true; child.SelectAction = TreeNodeSelectAction.Select; parent.ChildNodes.Add(child); @@ -222,8 +223,8 @@ AssignmentTree_TreeNodePopulate(AssignmentTree,new TreeNodeEventArgs(child)); } - // if there are no assignments - if (parent.ChildNodes.Count == 0) + // 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())) parent.Parent.ChildNodes.Remove(parent); } private void BuildAssignmentList(TreeNode parent) @@ -277,6 +278,8 @@ // 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); } @@ -287,6 +290,7 @@ { ArrayList nodes = (ArrayList)Session["AssignmentNodes"]; + AssignmentTree.Visible = true; foreach (TreeNode node in AssignmentTree.Nodes) { if (nodes.Contains(node.ValuePath)) Modified: Website/Includes/Roles.ascx =================================================================== --- Website/Includes/Roles.ascx 2006-08-02 01:37:18 UTC (rev 260) +++ Website/Includes/Roles.ascx 2006-08-02 17:55:03 UTC (rev 261) @@ -88,8 +88,8 @@ <tr> <td align="left" colspan="6" valign="top"> <strong>Description:</strong><br /> - <FTB:FreeTextBox ID="FreeTextBox1" runat="server" SupportFolder="~/aspnet_client/FreeTextBox/" - Width="100%" Text='<%# Bind("roleDescription") %>' Height="200px" EnableHtmlMode="true"> + <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> @@ -111,7 +111,7 @@ Width="150px"></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">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> @@ -155,7 +155,7 @@ <tr> <td align="left" colspan="6" valign="top"> <strong>Description:</strong><br /> - <FTB:FreeTextBox ID="FreeTextBox1" runat="server" SupportFolder="~/aspnet_client/FreeTextBox/" + <FTB:FreeTextBox ID="descriptionBox" runat="server" SupportFolder="~/aspnet_client/FreeTextBox/" Width="100%" Text='<%# Bind("roleDescription") %>' Height="200px" EnableHtmlMode="true"> </FTB:FreeTextBox> </td> Modified: Website/Includes/Roles.ascx.cs =================================================================== --- Website/Includes/Roles.ascx.cs 2006-08-02 01:37:18 UTC (rev 260) +++ Website/Includes/Roles.ascx.cs 2006-08-02 17:55:03 UTC (rev 261) @@ -53,6 +53,8 @@ DropDownList productList = (DropDownList)FormView1.FindControl("productList"); ListBox userList = (ListBox) FormView1.FindControl("userList"); Dictionary<String, ArrayList> ProductUsers = (Dictionary<String, ArrayList>)Session["ProductUsers"]; + if (ProductUsers == null) + return; tcdbDataSetTableAdapters.db_roleUserProductTableAdapter rupAdapter = new tcdbDataSetTableAdapters.db_roleUserProductTableAdapter(); // Update ProductUsers @@ -201,6 +203,14 @@ { 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) @@ -304,4 +314,11 @@ } } } + protected void newRight_Init(object sender, EventArgs e) + { + LinkButton btn = (LinkButton) sender; + + if (!m_user.HasRight("dev_access")) + btn.Visible = false; + } } \ 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: <m_h...@us...> - 2006-08-02 01:37:30
|
Revision: 260 Author: m_hildebrand Date: 2006-08-01 18:37:18 -0700 (Tue, 01 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=260&view=rev Log Message: ----------- I don't remember. Sorry. Modified Paths: -------------- Website/App_Code/Common.cs Website/App_Code/Products.cs Website/App_Code/tcdbDataSet.xsd Website/App_Code/tcdbDataSet.xss Website/Includes/AdministrationTree.ascx.cs Website/Includes/Authenticate.ascx.cs Website/Includes/Roles.ascx Website/Includes/Roles.ascx.cs Property Changed: ---------------- Deploy/ Website/ Property changes on: Deploy ___________________________________________________________________ Name: svn:ignore - *.suo TCDB_2006.msi setup.exe + *.suo TCDB_2006.msi setup.exe TCDB_2006 1.0.0 Alpha 2.msi Property changes on: Website ___________________________________________________________________ Name: svn:ignore - App_Data tcdb2006.log licenses.licx tcdb2006.log.3 + App_Data tcdb2006.log licenses.licx tcdb2006.log.3 tcdb2006.log.1 Modified: Website/App_Code/Common.cs =================================================================== --- Website/App_Code/Common.cs 2006-08-01 22:41:20 UTC (rev 259) +++ Website/App_Code/Common.cs 2006-08-02 01:37:18 UTC (rev 260) @@ -1113,18 +1113,21 @@ public static void SaveConfigString(int userID, String name, String value) { - tcdbDataSetTableAdapters.db_configTableAdapter configAdapter = new tcdbDataSetTableAdapters.db_configTableAdapter(); - tcdbDataSet.db_configDataTable configTable = configAdapter.GetData(userID, name); + if (Constants.IS_DEV_ENV) + { + tcdbDataSetTableAdapters.db_configTableAdapter configAdapter = new tcdbDataSetTableAdapters.db_configTableAdapter(); + tcdbDataSet.db_configDataTable configTable = configAdapter.GetData(userID, name); - if (configTable.Count > 0) - { - configTable[0].value = value; - configAdapter.Update(configTable[0]); + if (configTable.Count > 0) + { + configTable[0].value = value; + configAdapter.Update(configTable[0]); + } + else + { + configAdapter.Insert(userID, name, value); + } } - else - { - configAdapter.Insert(userID, name, value); - } } public static void SaveConfigBool(int userID, String name, Boolean value) { Modified: Website/App_Code/Products.cs =================================================================== --- Website/App_Code/Products.cs 2006-08-01 22:41:20 UTC (rev 259) +++ Website/App_Code/Products.cs 2006-08-02 01:37:18 UTC (rev 260) @@ -39,14 +39,9 @@ string name = Help.DB_StringParse(dr["name"]); string description = Help.DB_StringParse(dr["description"]); string codeName = Help.DB_StringParse(dr["codeName"]); - User devManager = UserDB.GetUserInfo(Help.DB_IntParse(dr["devManager"])); - User qaManager = UserDB.GetUserInfo(Help.DB_IntParse(dr["qaManager"])); - User devLead = UserDB.GetUserInfo(Help.DB_IntParse(dr["devLead"])); - User qaLead = UserDB.GetUserInfo(Help.DB_IntParse(dr["qaLead"])); - User pm = UserDB.GetUserInfo(Help.DB_IntParse(dr["pm"])); bool active = Help.DB_BoolParse(dr["active"]); - product = new Product(id, name, description, codeName, devManager, qaManager, devLead, qaLead, pm, active); + product = new Product(id, name, description, codeName, active); } return product; @@ -68,11 +63,6 @@ string name; string description; string codeName; - User devManager; - User qaManager; - User devLead; - User qaLead; - User pm; bool active; while (dr.Read()) { @@ -82,14 +72,9 @@ name = Help.DB_StringParse(dr["name"]); description = Help.DB_StringParse(dr["description"]); codeName = Help.DB_StringParse(dr["codeName"]); - devManager = UserDB.GetUserInfo(Help.DB_IntParse(dr["devManager"])); - qaManager = UserDB.GetUserInfo(Help.DB_IntParse(dr["qaManager"])); - devLead = UserDB.GetUserInfo(Help.DB_IntParse(dr["devLead"])); - qaLead = UserDB.GetUserInfo(Help.DB_IntParse(dr["qaLead"])); - pm = UserDB.GetUserInfo(Help.DB_IntParse(dr["pm"])); active = Help.DB_BoolParse(dr["active"]); - product = new Product(id, name, description, codeName, devManager, qaManager, devLead, qaLead, pm, active); + product = new Product(id, name, description, codeName, active); productList.Add(product); } } @@ -104,11 +89,6 @@ private string p_name; private string p_description; private string p_codeName; - private User p_devManager; - private User p_qaManager; - private User p_devLead; - private User p_qaLead; - private User p_pm; private bool p_active; // TODO: Implement these as the time is right //private List<TCDB_Tag> tags; @@ -119,26 +99,15 @@ p_name = null; p_description = null; p_codeName = null; - p_devManager = null; - p_qaManager = null; - p_devLead = null; - p_qaLead = null; - p_pm = null; p_active = false; } - public Product(int id, string name, string description, string codeName, User devManager, - User qaManager, User devLead, User qaLead, User pm, bool active) + public Product(int id, string name, string description, string codeName, bool active) { p_productid = id; p_name = name; p_description = description; p_codeName = codeName; - p_devManager = devManager; - p_qaManager = qaManager; - p_devLead = devLead; - p_qaLead = qaLead; - p_pm = pm; p_active = active; } @@ -166,36 +135,6 @@ set { p_codeName = value; } } - public User DEVMANAGER - { - get { return p_devManager; } - set { p_devManager = value; } - } - - public User QAMANAGER - { - get { return p_qaManager; } - set { p_qaManager = value; } - } - - public User DEVLEAD - { - get { return p_devLead; } - set { p_devLead = value; } - } - - public User QALEAD - { - get { return p_qaLead; } - set { p_qaLead = value; } - } - - public User PM - { - get { return p_pm; } - set { p_pm = value; } - } - public bool ACTIVE { get { return p_active; } Modified: Website/App_Code/tcdbDataSet.xsd =================================================================== --- Website/App_Code/tcdbDataSet.xsd 2006-08-01 22:41:20 UTC (rev 259) +++ Website/App_Code/tcdbDataSet.xsd 2006-08-02 01:37:18 UTC (rev 260) @@ -632,65 +632,6 @@ <Sources> </Sources> </TableAdapter> - <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="db_roleTableAdapter" GeneratorDataComponentClassName="db_roleTableAdapter" Name="db_role" UserDataComponentName="db_roleTableAdapter"> - <MainSource> - <DbSource ConnectionRef="tcdbConnectionString (Web.config)" DbObjectName="tcdb.dbo.sel_role" DbObjectType="StoredProcedure" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="True" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="False" UserGetMethodName="GetData" UserSourceName="Fill"> - <InsertCommand> - <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> - <CommandText>dbo.ins_role</CommandText> - <Parameters> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@roleName" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumn="roleName" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@roleDescription" Precision="0" ProviderType="Text" Scale="0" Size="2147483647" SourceColumn="roleDescription" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - </Parameters> - </DbCommand> - </InsertCommand> - <SelectCommand> - <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> - <CommandText>dbo.sel_role</CommandText> - <Parameters> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@roleID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@roleName" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@active" Precision="1" ProviderType="Bit" Scale="0" Size="1" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - </Parameters> - </DbCommand> - </SelectCommand> - <UpdateCommand> - <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> - <CommandText>dbo.upd_role</CommandText> - <Parameters> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@roleID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumn="roleID" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@roleName" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumn="roleName" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@roleDescription" Precision="0" ProviderType="Text" Scale="0" Size="2147483647" SourceColumn="roleDescription" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@active" Precision="1" ProviderType="Bit" Scale="0" Size="1" SourceColumn="active" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - </Parameters> - </DbCommand> - </UpdateCommand> - </DbSource> - </MainSource> - <Mappings> - <Mapping SourceColumn="roleID" DataSetColumn="roleID" /> - <Mapping SourceColumn="roleName" DataSetColumn="roleName" /> - <Mapping SourceColumn="roleDescription" DataSetColumn="roleDescription" /> - <Mapping SourceColumn="active" DataSetColumn="active" /> - </Mappings> - <Sources> - </Sources> - </TableAdapter> <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"> @@ -932,6 +873,65 @@ <Sources> </Sources> </TableAdapter> + <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="db_roleTableAdapter" GeneratorDataComponentClassName="db_roleTableAdapter" Name="db_role" UserDataComponentName="db_roleTableAdapter"> + <MainSource> + <DbSource ConnectionRef="tcdbConnectionString (Web.config)" DbObjectName="tcdb.dbo.sel_role" DbObjectType="StoredProcedure" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="True" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="False" UserGetMethodName="GetData" UserSourceName="Fill"> + <InsertCommand> + <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> + <CommandText>dbo.ins_role</CommandText> + <Parameters> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@roleName" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumn="roleName" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@roleDescription" Precision="0" ProviderType="Text" Scale="0" Size="2147483647" SourceColumn="roleDescription" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + </Parameters> + </DbCommand> + </InsertCommand> + <SelectCommand> + <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> + <CommandText>dbo.sel_role</CommandText> + <Parameters> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@roleID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@roleName" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@active" Precision="1" ProviderType="Bit" Scale="0" Size="1" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + </Parameters> + </DbCommand> + </SelectCommand> + <UpdateCommand> + <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> + <CommandText>dbo.upd_role</CommandText> + <Parameters> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@roleID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumn="roleID" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@roleName" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumn="roleName" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@roleDescription" Precision="0" ProviderType="Text" Scale="0" Size="2147483647" SourceColumn="roleDescription" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@active" Precision="1" ProviderType="Bit" Scale="0" Size="1" SourceColumn="active" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + </Parameters> + </DbCommand> + </UpdateCommand> + </DbSource> + </MainSource> + <Mappings> + <Mapping SourceColumn="roleID" DataSetColumn="roleID" /> + <Mapping SourceColumn="roleName" DataSetColumn="roleName" /> + <Mapping SourceColumn="roleDescription" DataSetColumn="roleDescription" /> + <Mapping SourceColumn="active" DataSetColumn="active" /> + </Mappings> + <Sources> + </Sources> + </TableAdapter> </Tables> <Sources> </Sources> @@ -1291,28 +1291,6 @@ </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="db_role" msprop:Generator_UserTableName="db_role" msprop:Generator_RowDeletedName="db_roleRowDeleted" msprop:Generator_RowChangedName="db_roleRowChanged" msprop:Generator_RowClassName="db_roleRow" msprop:Generator_RowChangingName="db_roleRowChanging" msprop:Generator_RowEvArgName="db_roleRowChangeEvent" msprop:Generator_RowEvHandlerName="db_roleRowChangeEventHandler" msprop:Generator_TableClassName="db_roleDataTable" msprop:Generator_TableVarName="tabledb_role" msprop:Generator_RowDeletingName="db_roleRowDeleting" msprop:Generator_TablePropName="db_role"> - <xs:complexType> - <xs:sequence> - <xs:element name="roleID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="roleID" msprop:Generator_ColumnVarNameInTable="columnroleID" msprop:Generator_ColumnPropNameInRow="roleID" msprop:Generator_ColumnPropNameInTable="roleIDColumn" type="xs:int" /> - <xs:element name="roleName" msprop:Generator_UserColumnName="roleName" msprop:Generator_ColumnVarNameInTable="columnroleName" msprop:Generator_ColumnPropNameInRow="roleName" msprop:Generator_ColumnPropNameInTable="roleNameColumn" minOccurs="0"> - <xs:simpleType> - <xs:restriction base="xs:string"> - <xs:maxLength value="255" /> - </xs:restriction> - </xs:simpleType> - </xs:element> - <xs:element name="roleDescription" msprop:Generator_UserColumnName="roleDescription" msprop:Generator_ColumnVarNameInTable="columnroleDescription" msprop:Generator_ColumnPropNameInRow="roleDescription" msprop:Generator_ColumnPropNameInTable="roleDescriptionColumn" 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:sequence> - </xs:complexType> - </xs:element> <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> @@ -1436,6 +1414,28 @@ </xs:sequence> </xs:complexType> </xs:element> + <xs:element name="db_role" msprop:Generator_UserTableName="db_role" msprop:Generator_RowDeletedName="db_roleRowDeleted" msprop:Generator_RowChangedName="db_roleRowChanged" msprop:Generator_RowClassName="db_roleRow" msprop:Generator_RowChangingName="db_roleRowChanging" msprop:Generator_RowEvArgName="db_roleRowChangeEvent" msprop:Generator_RowEvHandlerName="db_roleRowChangeEventHandler" msprop:Generator_TableClassName="db_roleDataTable" msprop:Generator_TableVarName="tabledb_role" msprop:Generator_RowDeletingName="db_roleRowDeleting" msprop:Generator_TablePropName="db_role"> + <xs:complexType> + <xs:sequence> + <xs:element name="roleID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="roleID" msprop:Generator_ColumnVarNameInTable="columnroleID" msprop:Generator_ColumnPropNameInRow="roleID" msprop:Generator_ColumnPropNameInTable="roleIDColumn" type="xs:int" /> + <xs:element name="roleName" msprop:Generator_UserColumnName="roleName" msprop:Generator_ColumnVarNameInTable="columnroleName" msprop:Generator_ColumnPropNameInRow="roleName" msprop:Generator_ColumnPropNameInTable="roleNameColumn" minOccurs="0"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:maxLength value="255" /> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element name="roleDescription" msprop:Generator_UserColumnName="roleDescription" msprop:Generator_ColumnVarNameInTable="columnroleDescription" msprop:Generator_ColumnPropNameInRow="roleDescription" msprop:Generator_ColumnPropNameInTable="roleDescriptionColumn" 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: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-01 22:41:20 UTC (rev 259) +++ Website/App_Code/tcdbDataSet.xss 2006-08-02 01:37:18 UTC (rev 260) @@ -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="269" 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="239" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout"> <Shapes> <Shape ID="DesignTable:db_users" ZOrder="17" X="87" Y="57" Height="241" Width="201" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="194" /> <Shape ID="DesignTable:db_products" ZOrder="16" X="25" Y="506" Height="241" Width="213" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="194" /> @@ -16,13 +16,13 @@ <Shape ID="DesignTable:db_config" ZOrder="10" X="382" Y="203" Height="156" Width="198" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="109" /> <Shape ID="DesignTable:db_version" ZOrder="9" X="268" Y="539" Height="173" Width="216" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="126" /> <Shape ID="DesignTable:db_rights" ZOrder="8" X="599" Y="657" Height="156" Width="260" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="109" /> - <Shape ID="DesignTable:db_role" ZOrder="7" X="319" Y="763" Height="139" Width="242" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="92" /> - <Shape ID="DesignTable:db_roleProductUser" ZOrder="6" X="903" Y="671" Height="156" Width="255" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="109" /> - <Shape ID="DesignTable:db_roleProduct" ZOrder="5" X="904" Y="843" Height="105" Width="231" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="58" /> - <Shape ID="DesignTable:db_roleUserProduct" ZOrder="4" X="593" Y="838" Height="190" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="109" /> - <Shape ID="DesignTable:db_roleRight" ZOrder="3" X="61" Y="768" Height="173" Width="216" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="92" /> - <Shape ID="DesignTable:db_userRights" ZOrder="2" X="647" Y="158" Height="190" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="143" /> - <Shape ID="DesignTable:db_rightRole" ZOrder="1" X="272" Y="942" Height="139" Width="217" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="92" /> + <Shape ID="DesignTable:db_roleProductUser" ZOrder="7" X="903" Y="671" Height="156" Width="255" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="109" /> + <Shape ID="DesignTable:db_roleProduct" ZOrder="6" X="904" Y="843" Height="105" Width="231" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="58" /> + <Shape ID="DesignTable:db_roleUserProduct" ZOrder="5" X="593" Y="838" Height="190" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="109" /> + <Shape ID="DesignTable:db_roleRight" ZOrder="4" X="61" Y="768" Height="173" Width="216" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="92" /> + <Shape ID="DesignTable:db_userRights" ZOrder="3" X="647" Y="158" Height="190" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="143" /> + <Shape ID="DesignTable:db_rightRole" ZOrder="2" X="272" Y="942" Height="139" Width="217" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="92" /> + <Shape ID="DesignTable:db_role" ZOrder="1" X="306" Y="769" Height="139" Width="242" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="92" /> </Shapes> <Connectors /> </DiagramLayout> \ No newline at end of file Modified: Website/Includes/AdministrationTree.ascx.cs =================================================================== --- Website/Includes/AdministrationTree.ascx.cs 2006-08-01 22:41:20 UTC (rev 259) +++ Website/Includes/AdministrationTree.ascx.cs 2006-08-02 01:37:18 UTC (rev 260) @@ -74,16 +74,20 @@ ArrayList nodes = (ArrayList)Session["AdminNodes"]; TreeNode newNode; + // Add Admin Settings - newNode = new TreeNode(); - newNode.Text = "Site Settings"; - newNode.Value = "admin"; - newNode.PopulateOnDemand = true; - newNode.SelectAction = TreeNodeSelectAction.Expand; - newNode.NavigateUrl = "~/AdminConfig.aspx"; - parent.ChildNodes.Add(newNode); - if (nodes.Contains(newNode.ValuePath)) - newNode.Expand(); + if (Constants.IS_DEV_ENV) + { + newNode = new TreeNode(); + newNode.Text = "Site Settings"; + newNode.Value = "admin"; + newNode.PopulateOnDemand = true; + newNode.SelectAction = TreeNodeSelectAction.Expand; + newNode.NavigateUrl = "~/AdminConfig.aspx"; + parent.ChildNodes.Add(newNode); + if (nodes.Contains(newNode.ValuePath)) + newNode.Expand(); + } // Users newNode = new TreeNode(); Modified: Website/Includes/Authenticate.ascx.cs =================================================================== --- Website/Includes/Authenticate.ascx.cs 2006-08-01 22:41:20 UTC (rev 259) +++ Website/Includes/Authenticate.ascx.cs 2006-08-02 01:37:18 UTC (rev 260) @@ -200,8 +200,9 @@ private User GetProductAdmin(Product product) { - User admin; - + // TODO: FIX THIS CODE!!!!! It needs to look up the product admin by role now + User admin = new User(); + /* if (product.QALEAD.HasRight(Constants.RIGHTS_ASSIGNPERMISSION, product.ID)) { m_logg.Debug("The QA lead [" + product.QALEAD.ToString() + "] has rights to assign permissions for product [" + product.ToString() + "]"); @@ -221,7 +222,7 @@ admin = UserDB.GetUserInfo(ConfigDB.GetConfigInt("site_admin")); m_logg.Debug("The site admin [" + admin.ToString() + "] has rights to assign permissions for product [" + product.ToString() + "]"); } - + */ return admin; } } Modified: Website/Includes/Roles.ascx =================================================================== --- Website/Includes/Roles.ascx 2006-08-01 22:41:20 UTC (rev 259) +++ Website/Includes/Roles.ascx 2006-08-02 01:37:18 UTC (rev 260) @@ -1,4 +1,4 @@ -<%@ Control Language="C#" AutoEventWireup="true" CodeFile="Roles.ascx.cs" Inherits="Roles" %> +<%@ Control Language="C#" AutoEventWireup="true" CodeFile="Roles.ascx.cs" Inherits="TCDBRoles" %> <%@ Register Assembly="FreeTextBox" Namespace="FreeTextBoxControls" TagPrefix="FTB" %> <asp:FormView ID="FormView1" runat="server" DataKeyNames="roleID" DataSourceID="RoleDataSource" OnItemInserted="FormView1_ItemInserted" OnItemUpdated="FormView1_ItemUpdated" Modified: Website/Includes/Roles.ascx.cs =================================================================== --- Website/Includes/Roles.ascx.cs 2006-08-01 22:41:20 UTC (rev 259) +++ Website/Includes/Roles.ascx.cs 2006-08-02 01:37:18 UTC (rev 260) @@ -17,9 +17,9 @@ using TCDB.Rights; using log4net; -public partial class Roles : SiteUserControl +public partial class TCDBRoles : SiteUserControl { - private static ILog m_logg = LogManager.GetLogger("Page:Roles"); + 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"]; @@ -41,7 +41,7 @@ Session.Add("roleID", roleID); role = RightDB.GetRoleInfo(roleID); - Session.Add("tableName", "tcdb_role"); + //Session.Add("tableName", "tcdb_role"); if (mode == "new") FormView1.ChangeMode(FormViewMode.Insert); @@ -129,11 +129,13 @@ updateUserRoleProducts(); updateRoleRights(); + Session.Remove("tableName"); Response.Redirect("~/Role.aspx?" + Constants.CODE_ROLE + "=" + roleID); } else { m_logg.Error("Could not insert role: " + e.Values["roleName"]); + Session.Remove("tableName"); Response.Redirect("~/Administration.aspx"); } } @@ -141,19 +143,23 @@ { updateUserRoleProducts(); updateRoleRights(); + Session.Remove("tableName"); Response.Redirect("~/Role.aspx?" + Constants.CODE_ROLE + "=" + roleID); } protected void deleteCmd(object sender, CommandEventArgs e) { tcdbDataSetTableAdapters.db_roleTableAdapter rAdapter = new tcdbDataSetTableAdapters.db_roleTableAdapter(); rAdapter.Update(roleID, role.NAME, role.DESCRIPTION, false); - + Session.Remove("tableName"); Response.Redirect("~/Administration.aspx"); } protected void FormView1_ItemCommand(object sender, FormViewCommandEventArgs e) { if (FormView1.CurrentMode == FormViewMode.Insert && e.CommandName == "Cancel") + { + Session.Remove("tableName"); Response.Redirect("~/Administration.aspx"); + } } protected void userList_DataBound(object sender, EventArgs e) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <m_h...@us...> - 2006-08-01 22:41:38
|
Revision: 259 Author: m_hildebrand Date: 2006-08-01 15:41:20 -0700 (Tue, 01 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=259&view=rev Log Message: ----------- Made some node-style changes to the administration tree Broke Products.ascx into a code-behind file Cleaned up a few more CSS issues Changed the way non-production code is wrapped. Now all that needs to happens is for TCDB.Common.Constants.IS_DEV_ENV to be set. (true=show dev code, false=hide dev code) Modified Paths: -------------- Website/Administration.aspx Website/App_Code/Common.cs Website/App_Code/Products.cs Website/App_Themes/Python/python.css Website/Includes/AdministrationTree.ascx.cs Website/Includes/Footer.ascx Website/Includes/Header_CurrentInfo.ascx Website/Includes/Header_Menu.ascx Website/Includes/Products.ascx Website/Includes/UserSettings.ascx Website/TCDB.master Added Paths: ----------- Website/Includes/Products.ascx.cs Modified: Website/Administration.aspx =================================================================== --- Website/Administration.aspx 2006-08-01 21:22:36 UTC (rev 258) +++ Website/Administration.aspx 2006-08-01 22:41:20 UTC (rev 259) @@ -5,21 +5,19 @@ <admin:Tree runat="server" ID="Tree" /> </asp:Content> <asp:Content ID="MainContent" ContentPlaceHolderID="MainContentPlaceHolder" runat="Server"> - <table width="700"> - <tr> - <td align="center" valign="middle"> - <!-- ***NONPRODUCTION***<asp:LinkButton ID="newProduct" runat="server" PostBackUrl="~/Product.aspx?mode=new">New Product</asp:LinkButton> --> - <div class="button"> - <asp:LinkButton ID="newUser" runat="server" PostBackUrl="~/UserSettings.aspx?mode=new"> - <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> - </td> - </tr> - </table> + <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> </asp:Content> <asp:Content ID="NotesContent" ContentPlaceHolderID="NotesContentPlaceHolder" runat="Server"> </asp:Content> Modified: Website/App_Code/Common.cs =================================================================== --- Website/App_Code/Common.cs 2006-08-01 21:22:36 UTC (rev 258) +++ Website/App_Code/Common.cs 2006-08-01 22:41:20 UTC (rev 259) @@ -1264,6 +1264,7 @@ public static int ASSIGNMENT_NEW = 3; public static string TCDB_VERSION = "1.0.0 Alpha 2"; + public static bool IS_DEV_ENV = false; public static string RIGHTS_ASSIGNPERMISSION = "assignPermission"; public static string RIGHTS_SITEADMIN = "siteAdmin"; Modified: Website/App_Code/Products.cs =================================================================== --- Website/App_Code/Products.cs 2006-08-01 21:22:36 UTC (rev 258) +++ Website/App_Code/Products.cs 2006-08-01 22:41:20 UTC (rev 259) @@ -18,6 +18,11 @@ /// </summary> public class ProductDB : Page { + public static Product GetProduct(int productID) + { + return GetProduct(true, productID); + } + public static Product GetProduct(bool isActive, int productID) { tcdbDataSet ds = new tcdbDataSet(); Modified: Website/App_Themes/Python/python.css =================================================================== --- Website/App_Themes/Python/python.css 2006-08-01 21:22:36 UTC (rev 258) +++ Website/App_Themes/Python/python.css 2006-08-01 22:41:20 UTC (rev 259) @@ -169,6 +169,16 @@ border: solid 1px red; } +.indent +{ + display: inline; +} + +.pictureMenu +{ + text-align: center; +} + /********** END Global Classes **********/ /********** BEGIN Calendar Classes **********/ Modified: Website/Includes/AdministrationTree.ascx.cs =================================================================== --- Website/Includes/AdministrationTree.ascx.cs 2006-08-01 21:22:36 UTC (rev 258) +++ Website/Includes/AdministrationTree.ascx.cs 2006-08-01 22:41:20 UTC (rev 259) @@ -51,7 +51,7 @@ { // Create the new node. TreeNode newNode = new TreeNode(); - newNode.Text = "<font color=black><b>" + row.name + "</b></font>"; + newNode.Text = "<product>" + row.name + "</product>"; newNode.Value = row.productID.ToString(); // Set the PopulateOnDemand property to true so that the child nodes can be @@ -119,27 +119,28 @@ newNode.Expand(); } - /* ***NONPRODUCTION*** - // Operating Systems - newNode = new TreeNode(); - newNode.Text = "Operating Systems"; - newNode.Value = "os"; - newNode.PopulateOnDemand = true; - newNode.SelectAction = TreeNodeSelectAction.Expand; - parent.ChildNodes.Add(newNode); - if (nodes.Contains(newNode.ValuePath)) - newNode.Expand(); + if (TCDB.Common.Constants.IS_DEV_ENV) + { + // Operating Systems + newNode = new TreeNode(); + newNode.Text = "Operating Systems"; + newNode.Value = "os"; + newNode.PopulateOnDemand = true; + newNode.SelectAction = TreeNodeSelectAction.Expand; + parent.ChildNodes.Add(newNode); + if (nodes.Contains(newNode.ValuePath)) + newNode.Expand(); - // Architectures - newNode = new TreeNode(); - newNode.Text = "Architectures"; - newNode.Value = "arch"; - newNode.PopulateOnDemand = true; - newNode.SelectAction = TreeNodeSelectAction.Expand; - parent.ChildNodes.Add(newNode); - if (nodes.Contains(newNode.ValuePath)) - newNode.Expand(); - ***END NONPRODUCTION*** */ + // Architectures + newNode = new TreeNode(); + newNode.Text = "Architectures"; + newNode.Value = "arch"; + newNode.PopulateOnDemand = true; + newNode.SelectAction = TreeNodeSelectAction.Expand; + parent.ChildNodes.Add(newNode); + if (nodes.Contains(newNode.ValuePath)) + newNode.Expand(); + } // end non-production } protected void BuildReleaseList(TreeNode parent) { @@ -153,7 +154,7 @@ { // Create the new node. TreeNode newNode = new TreeNode(); - newNode.Text = "<font color=black>" + row.number + "</font>"; + newNode.Text = "<version>" + row.number + "</version>"; newNode.Value = row.versionID.ToString(); // Set the PopulateOnDemand property to true so that the child nodes can be dynamically populated. @@ -185,7 +186,7 @@ { // Create the new node. newNode = new TreeNode(); - newNode.Text = "<font color=blue><i>" + row["name"] + "</i></font>"; + newNode.Text = "<tag>" + row["name"] + "</tag>"; newNode.Value = row["tagID"].ToString(); // Set the PopulateOnDemand property to true so that the child nodes can be @@ -209,47 +210,48 @@ TreeNode newNode; // Versions - /* ***NONPRODUCTION*** - newNode = new TreeNode(); - newNode.Text = "Releases"; - newNode.Value = "release"; - newNode.PopulateOnDemand = true; - newNode.SelectAction = TreeNodeSelectAction.Expand; - parent.ChildNodes.Add(newNode); - if (nodes.Contains(newNode.ValuePath)) - newNode.Expand(); - - // Tags - newNode = new TreeNode(); - newNode.Text = "Tags"; - newNode.Value = "tag"; - newNode.PopulateOnDemand = true; - newNode.SelectAction = TreeNodeSelectAction.Expand; - parent.ChildNodes.Add(newNode); - if (nodes.Contains(newNode.ValuePath)) - newNode.Expand(); + if (TCDB.Common.Constants.IS_DEV_ENV) + { + newNode = new TreeNode(); + newNode.Text = "Releases"; + newNode.Value = "release"; + newNode.PopulateOnDemand = true; + newNode.SelectAction = TreeNodeSelectAction.Expand; + parent.ChildNodes.Add(newNode); + if (nodes.Contains(newNode.ValuePath)) + newNode.Expand(); - // Status Labels - newNode = new TreeNode(); - newNode.Text = "Status Levels"; - newNode.Value = "status"; - newNode.PopulateOnDemand = true; - newNode.SelectAction = TreeNodeSelectAction.Expand; - parent.ChildNodes.Add(newNode); - if (nodes.Contains(newNode.ValuePath)) - newNode.Expand(); + // Tags + newNode = new TreeNode(); + newNode.Text = "Tags"; + newNode.Value = "tag"; + newNode.PopulateOnDemand = true; + newNode.SelectAction = TreeNodeSelectAction.Expand; + parent.ChildNodes.Add(newNode); + if (nodes.Contains(newNode.ValuePath)) + newNode.Expand(); - // Labs - newNode = new TreeNode(); - newNode.Text = "Labs"; - newNode.Value = "lab"; - newNode.PopulateOnDemand = true; - newNode.SelectAction = TreeNodeSelectAction.Expand; - parent.ChildNodes.Add(newNode); - if (nodes.Contains(newNode.ValuePath)) - newNode.Expand(); - ***END NONPRODUCTION*** */ + // Status Labels + newNode = new TreeNode(); + newNode.Text = "Status Levels"; + newNode.Value = "status"; + newNode.PopulateOnDemand = true; + newNode.SelectAction = TreeNodeSelectAction.Expand; + parent.ChildNodes.Add(newNode); + if (nodes.Contains(newNode.ValuePath)) + newNode.Expand(); + // Labs + newNode = new TreeNode(); + newNode.Text = "Labs"; + newNode.Value = "lab"; + newNode.PopulateOnDemand = true; + newNode.SelectAction = TreeNodeSelectAction.Expand; + parent.ChildNodes.Add(newNode); + if (nodes.Contains(newNode.ValuePath)) + newNode.Expand(); + } // end non-production + // Users newNode = new TreeNode(); newNode.Text = "Users"; @@ -276,37 +278,38 @@ if (nodes.Contains(newNode.ValuePath)) newNode.Expand(); - /* ***NONPRODUCTION*** - // WorkOrder - newNode = new TreeNode(); - newNode.Text = "Work Order"; - newNode.Value = "WorkOrder"; - newNode.PopulateOnDemand = true; - newNode.SelectAction = TreeNodeSelectAction.Expand; - parent.ChildNodes.Add(newNode); - if (nodes.Contains(newNode.ValuePath)) - newNode.Expand(); + if (TCDB.Common.Constants.IS_DEV_ENV) + { + // WorkOrder + newNode = new TreeNode(); + newNode.Text = "Work Order"; + newNode.Value = "WorkOrder"; + newNode.PopulateOnDemand = true; + newNode.SelectAction = TreeNodeSelectAction.Expand; + parent.ChildNodes.Add(newNode); + if (nodes.Contains(newNode.ValuePath)) + newNode.Expand(); - // Objective - newNode = new TreeNode(); - newNode.Text = "Objective"; - newNode.Value = "objective"; - newNode.PopulateOnDemand = true; - newNode.SelectAction = TreeNodeSelectAction.Expand; - parent.ChildNodes.Add(newNode); - if (nodes.Contains(newNode.ValuePath)) - newNode.Expand(); + // Objective + newNode = new TreeNode(); + newNode.Text = "Objective"; + newNode.Value = "objective"; + newNode.PopulateOnDemand = true; + newNode.SelectAction = TreeNodeSelectAction.Expand; + parent.ChildNodes.Add(newNode); + if (nodes.Contains(newNode.ValuePath)) + newNode.Expand(); - // TestCase - newNode = new TreeNode(); - newNode.Text = "Testcase"; - newNode.Value = "testcase"; - newNode.PopulateOnDemand = true; - newNode.SelectAction = TreeNodeSelectAction.Expand; - parent.ChildNodes.Add(newNode); - if (nodes.Contains(newNode.ValuePath)) - newNode.Expand(); - ***END NONPRODUCTION*** */ + // TestCase + newNode = new TreeNode(); + newNode.Text = "Testcase"; + newNode.Value = "testcase"; + newNode.PopulateOnDemand = true; + newNode.SelectAction = TreeNodeSelectAction.Expand; + parent.ChildNodes.Add(newNode); + if (nodes.Contains(newNode.ValuePath)) + newNode.Expand(); + } // end non-production } protected void BuildLabList(TreeNode parent) { @@ -323,7 +326,7 @@ { // Create the new node. newNode = new TreeNode(); - newNode.Text = "<font color=blue><b>" + row["name"] + "</b></font>"; + newNode.Text = "<lab>" + row["name"] + "<lab>"; newNode.Value = row["labID"].ToString(); // Set the PopulateOnDemand property to true so that the child nodes can be @@ -390,7 +393,7 @@ foreach (tcdbDataSet.db_usersRow row in uTable) { TreeNode child = new TreeNode(); - child.Text = "<FontInfo color=black>" + row.fullName + "</font>"; + child.Text = "<os>" + row.fullName + "</os>"; child.Value = row.userID.ToString(); child.NavigateUrl = "~/UserSettings.aspx?" + Constants.CODE_USER + "=" + child.Value; @@ -407,7 +410,7 @@ foreach (tcdbDataSet.db_usersRow row in uTable) { TreeNode child = new TreeNode(); - child.Text = "<FontInfo color=black>" + row.fullName + "</font>"; + child.Text = "<architecture>" + row.fullName + "</architecture>"; child.Value = row.userID.ToString(); child.NavigateUrl = "~/UserSettings.aspx?" + Constants.CODE_USER + "=" + child.Value; @@ -495,7 +498,7 @@ { // Create the new node. newNode = new TreeNode(); - newNode.Text = "<font color=blue><i>" + row["statusName"] + "</i></font>"; + newNode.Text = "<status>" + row["statusName"] + "</status>"; newNode.Value = row["statusID"].ToString(); // Set the PopulateOnDemand property to true so that the child nodes can be @@ -528,7 +531,7 @@ { // Create the new node. newNode = new TreeNode(); - newNode.Text = "<font color=blue>" + row["name"] + "</font>"; + newNode.Text = "<computer>" + row["name"] + "</computer>"; newNode.Value = row["computerID"].ToString(); // Set the PopulateOnDemand property to true so that the child nodes can be @@ -546,7 +549,7 @@ } */ } - /* + protected void BuildRightsList(TreeNode parent) { ArrayList nodes = (ArrayList)Session["AdminNodes"]; @@ -574,7 +577,7 @@ newNode.Expand(); } } - */ + protected void BuildBuildList(TreeNode parent) { ArrayList nodes = (ArrayList)Session["AdminNodes"]; @@ -590,7 +593,7 @@ { // Create the new node. newNode = new TreeNode(); - newNode.Text = "<font color=blue><i>" + row["number"] + "</i></font>"; + newNode.Text = "<build>" + row["number"] + "</build>"; newNode.Value = row["buildID"].ToString(); // Set the PopulateOnDemand property to true so that the child nodes can be @@ -623,7 +626,7 @@ { // Create the new node. newNode = new TreeNode(); - newNode.Text = "<font color=blue>" + row["name"] + "</font>"; + newNode.Text = "<testpass>" + row["name"] + "</testpass>"; newNode.Value = row["testPassID"].ToString(); // Set the PopulateOnDemand property to true so that the child nodes can be @@ -660,7 +663,7 @@ { // Create the new node. newNode = new TreeNode(); - newNode.Text = "<font color=blue>" + row["platformName"] + "</font>"; + newNode.Text = "<platform>" + row["platformName"] + "</platform>"; newNode.Value = row["platformID"].ToString(); // Set the PopulateOnDemand property to true so that the child nodes can be @@ -695,7 +698,7 @@ { // Create the new node. newNode = new TreeNode(); - newNode.Text = "<font color=black><b>OS: </b></font><font color=green>" + row["friendlyName"] + "</font>"; + newNode.Text = "<os>" + row["friendlyName"] + "</os>"; newNode.Value = row["osID"].ToString(); // Set the PopulateOnDemand property to true so that the child nodes can be @@ -731,7 +734,7 @@ { // Create the new node. newNode = new TreeNode(); - newNode.Text = "<font color=black><b>Architecture: </b></font><font color=green>" + row["name"] + "</font>"; + newNode.Text = "<architecture>" + row["name"] + "</architecture>"; newNode.Value = row["architectureID"].ToString(); // Set the PopulateOnDemand property to true so that the child nodes can be @@ -760,16 +763,15 @@ BuildProductList(e.Node); break; case 1: - if (e.Node.Text.Contains("Site")) + if (e.Node.Text.Contains(TCDB.Products.ProductDB.GetProduct(Constants.PRODUCT_SITEID).ToString())) BuildAdminList(e.Node); else BuildCategoryList(e.Node); break; case 2: - /* ***NONPRODUCTION*** if (e.Node.Value == "release") BuildReleaseList(e.Node); - else */ if (e.Node.Value == "tag") + else if (e.Node.Value == "tag") BuildTagList(e.Node); else if (e.Node.Value == "status") BuildStatusGroupList(e.Node); @@ -795,8 +797,8 @@ BuildStatusList(e.Node); else if (e.Node.NavigateUrl.Contains("Lab")) BuildComputerList(e.Node); - /*else if (e.Node.NavigateUrl.Contains("Role")) - BuildRightsList(e.Node);*/ + else if (e.Node.NavigateUrl.Contains("Role")) + BuildRightsList(e.Node); break; case 4: if (e.Node.Value == "build") Modified: Website/Includes/Footer.ascx =================================================================== --- Website/Includes/Footer.ascx 2006-08-01 21:22:36 UTC (rev 258) +++ Website/Includes/Footer.ascx 2006-08-01 22:41:20 UTC (rev 259) @@ -9,6 +9,6 @@ } %> | TCDB -<%= TCDB.Common.ConfigDB.GetConfigString("tcdb_version") %> +<%= TCDB.Common.Constants.TCDB_VERSION %> | Page loaded in <%= PageLoad() %> Modified: Website/Includes/Header_CurrentInfo.ascx =================================================================== --- Website/Includes/Header_CurrentInfo.ascx 2006-08-01 21:22:36 UTC (rev 258) +++ Website/Includes/Header_CurrentInfo.ascx 2006-08-01 22:41:20 UTC (rev 259) @@ -1,4 +1,4 @@ <%@ Control Language="C#" AutoEventWireup="true" %> <%@ Import Namespace="TCDB.Users" %> -<!-- ***NONPRODUCTION*** Product | Version | Build--> \ No newline at end of file +<% if (TCDB.Common.Constants.IS_DEV_ENV) { %> Product | Version | Build <% } %> \ No newline at end of file Modified: Website/Includes/Header_Menu.ascx =================================================================== --- Website/Includes/Header_Menu.ascx 2006-08-01 21:22:36 UTC (rev 258) +++ Website/Includes/Header_Menu.ascx 2006-08-01 22:41:20 UTC (rev 259) @@ -2,4 +2,5 @@ <%@ Import Namespace="TCDB.Users" %> <%@ Import Namespace="TCDB.Common" %> -<a href="Assignments.aspx?<% Response.Write(Constants.CODE_USER+"="+m_user.ID); %>">Assignments</a><!-- ***NONPRODUCTION*** | Execute | <a href="TestManagement.aspx">Management</a>--> +<a href="Assignments.aspx?<% Response.Write(Constants.CODE_USER+"="+m_user.ID); %>">Assignments</a><% if (TCDB.Common.Constants.IS_DEV_ENV) + { %> | Execute | <a href="TestManagement.aspx">Management</a><% } %> Modified: Website/Includes/Products.ascx =================================================================== --- Website/Includes/Products.ascx 2006-08-01 21:22:36 UTC (rev 258) +++ Website/Includes/Products.ascx 2006-08-01 22:41:20 UTC (rev 259) @@ -1,160 +1,60 @@ -<%@ Control Language="C#" AutoEventWireup="true" %> +<%@ Control Language="C#" AutoEventWireup="true" CodeFile="Products.ascx.cs" Inherits="Products" %> <%@ Register Assembly="FreeTextBox" Namespace="FreeTextBoxControls" TagPrefix="FTB" %> <%@ Import Namespace="TCDB.Users" %> <%@ Import Namespace="TCDB.Common" %> <%@ Import Namespace="log4net" %> - -<script runat="server"> - private static ILog m_logg = LogManager.GetLogger("Page:Product"); - 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) - { - m_logg.Debug("Loading page Product"); - if (productID == 0) - { - m_logg.Debug("Unable to locate product ID in query string"); - if (mode != "new") - { - m_logg.Debug("Mode not set to new, redirecting to Test Management page"); - Response.Redirect("TestManagement.aspx"); - } - } - Session.Add("item_id", productID); - Session.Add("tableName", "tcdb_product"); - - if (mode == "new") - FormView1.ChangeMode(FormViewMode.Insert); - } - protected void FormView1_ItemDeleted(object sender, FormViewDeletedEventArgs e) - { - if (mode == "read") - Response.Redirect("TestManagement.aspx"); - else - Response.Redirect("Administration.aspx"); - } - protected void FormView1_ItemInserted(object sender, FormViewInsertedEventArgs e) - { - tcdbDataSetTableAdapters.db_productsTableAdapter productAdapter = new tcdbDataSetTableAdapters.db_productsTableAdapter(); - tcdbDataSet.db_productsDataTable productTable = productAdapter.GetData(true, null); - - if (productTable.Count > 0) - { - if (mode == "read") - Response.Redirect("Product.aspx?mode=read&" + Constants.CODE_PRODUCT + "=" + productTable[productTable.Count - 1].productID); - else - Response.Redirect("Product.aspx?" + Constants.CODE_PRODUCT + "=" + productTable[productTable.Count - 1].productID); - } - } - protected void FormView1_ItemUpdated(object sender, FormViewUpdatedEventArgs e) - { - if (mode == "read") - Response.Redirect("Product.aspx?mode=read&" + Constants.CODE_PRODUCT + "=" + productID); - else - Response.Redirect("Product.aspx?" + Constants.CODE_PRODUCT + "=" + productID); - } - protected void commandPanel_Load(object sender, EventArgs e) - { - if (mode == "read") - { - Panel commandPanel = (Panel)FormView1.FindControl("commandPanel"); - commandPanel.Visible = false; - } - } - - protected void RoleUsersPanel_Init(object sender, EventArgs e) - { - Panel ruPanel = (Panel)sender; - - tcdbDataSetTableAdapters.db_roleUserProductTableAdapter rupAdapter = new tcdbDataSetTableAdapters.db_roleUserProductTableAdapter(); - tcdbDataSet.db_roleUserProductDataTable rupTable = rupAdapter.GetData(null, productID, true); - - foreach (tcdbDataSet.db_roleUserProductRow rRow in rupTable) - { - int roleID = rRow.roleID; - - Label Role = new Label(); - Role.Text = "<strong>" + rRow.roleName + ": </strong>"; - ruPanel.Controls.Add(Role); - - tcdbDataSetTableAdapters.db_roleProductUserTableAdapter rpuAdapter = new tcdbDataSetTableAdapters.db_roleProductUserTableAdapter(); - tcdbDataSet.db_roleProductUserDataTable rpuTable = rpuAdapter.GetData(roleID, productID, true); - - Label Users = new Label(); - foreach (tcdbDataSet.db_roleProductUserRow row in rpuTable) - { - if (Users.Text != "") - Users.Text += ", "; - Users.Text += row.fullName; - } - ruPanel.Controls.Add(Users); - - Literal html = new Literal(); - html.Text = "<br />"; - ruPanel.Controls.Add(html); - } - } -</script> - -<asp:FormView ID="FormView1" runat="server" DataKeyNames="productID" DataSourceID="ProductData" - OnItemDeleted="FormView1_ItemDeleted" OnItemInserted="FormView1_ItemInserted" - OnItemUpdated="FormView1_ItemUpdated"> +<asp:FormView ID="ProductsView" runat="server" DataKeyNames="productID" DataSourceID="ProductData" + OnItemDeleted="ProductsView_ItemDeleted" OnItemInserted="ProductsView_ItemInserted" + OnItemUpdated="ProductsView_ItemUpdated"> <HeaderTemplate> - <h2> - Product</h2> + <div class="ch"> + <h2> + Product</h2> + </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"> - <table width="700"> - <tr> - <td colspan="3" width="75%" align="left"> - <strong>Product Name: </strong> - <asp:Label ID="NameLabel" runat="server" Text='<%# Bind("Name") %>'></asp:Label> </td> - <td colspan="1" width="25%" align="right"> - <strong>Abbreviation: </strong> - <asp:Label ID="CodeLabel" runat="server" Text='<%# Eval("codeName") %>'></asp:Label></td> - </tr> - <tr> - <td class="hr" colspan="4" style="height: 1px"> - </td> - </tr> - <tr> - <td colspan="4" height="200" align="left"> - <asp:Label ID="DescriptionLabel" runat="server" Text='<%# Eval("Description") %>'></asp:Label></td> - </tr> - <tr> - <td class="hr" colspan="4"> - </td> - </tr> - <tr> - <td colspan="4"> - <asp:Panel ID="RoleUsersPanel" runat="server" Height="100%" Width="100%" OnInit="RoleUsersPanel_Init"> - </asp:Panel> - </td> - </tr> - <tr> - <td class="hr" colspan="4"> - </td> - </tr> - <tr> - <td colspan="1" width="25%" align="left"> - <asp:Panel ID="commandPanel" runat="server" OnLoad="commandPanel_Load"> - <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="Delete">Delete</asp:LinkButton></asp:Panel> - </td> - <td colspan="3" width="75%"> - </td> - </tr> - </table> + <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="cm"> + <asp:Label ID="DescriptionLabel" runat="server" Text='<%# Eval("Description") %>'></asp:Label> + <div class="hr"> + </div> + </div> + <div class="cm"> + <asp:Panel ID="RoleUsersPanel" runat="server" Height="100%" Width="100%" OnInit="RoleUsersPanel_Init"> + </asp:Panel> + <% if (TCDB.Common.Constants.IS_DEV_ENV) + { %> + <div class="hr"> + </div> + </div> + <div class="cb"> + <asp:Panel ID="commandPanel" runat="server" OnLoad="commandPanel_Load"> + <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="Delete">Delete</asp:LinkButton></asp:Panel> + </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> <div class="xsnazzy"> @@ -319,6 +219,9 @@ </b></b> </div> </InsertItemTemplate> + <FooterTemplate> + </div> + </FooterTemplate> </asp:FormView> <asp:ObjectDataSource ID="ProductData" runat="server" InsertMethod="Insert" OldValuesParameterFormatString="original_{0}" SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.db_productsTableAdapter" Added: Website/Includes/Products.ascx.cs =================================================================== --- Website/Includes/Products.ascx.cs (rev 0) +++ Website/Includes/Products.ascx.cs 2006-08-01 22:41:20 UTC (rev 259) @@ -0,0 +1,113 @@ +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 log4net; +using TCDB.Common; +using TCDB.Users; + +/// <summary> +/// Summary description for Products +/// </summary> +public partial class Products : SiteUserControl +{ + private static ILog m_logg = LogManager.GetLogger("Page:Product"); + 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) + { + m_logg.Debug("Loading page Product"); + if (productID == 0) + { + m_logg.Debug("Unable to locate product ID in query string"); + if (mode != "new") + { + m_logg.Debug("Mode not set to new, redirecting to Test Management page"); + Response.Redirect("TestManagement.aspx"); + } + } + Session.Add("item_id", productID); + Session.Add("tableName", "tcdb_product"); + + if (mode == "new") + ProductsView.ChangeMode(FormViewMode.Insert); + } + + protected void ProductsView_ItemDeleted(object sender, FormViewDeletedEventArgs e) + { + if (mode == "read") + Response.Redirect("TestManagement.aspx"); + else + Response.Redirect("Administration.aspx"); + } + + protected void ProductsView_ItemInserted(object sender, FormViewInsertedEventArgs e) + { + tcdbDataSetTableAdapters.db_productsTableAdapter productAdapter = new tcdbDataSetTableAdapters.db_productsTableAdapter(); + tcdbDataSet.db_productsDataTable productTable = productAdapter.GetData(true, null); + + if (productTable.Count > 0) + { + if (mode == "read") + Response.Redirect("Product.aspx?mode=read&" + Constants.CODE_PRODUCT + "=" + productTable[productTable.Count - 1].productID); + else + Response.Redirect("Product.aspx?" + Constants.CODE_PRODUCT + "=" + productTable[productTable.Count - 1].productID); + } + } + + protected void ProductsView_ItemUpdated(object sender, FormViewUpdatedEventArgs e) + { + if (mode == "read") + Response.Redirect("Product.aspx?mode=read&" + Constants.CODE_PRODUCT + "=" + productID); + else + Response.Redirect("Product.aspx?" + Constants.CODE_PRODUCT + "=" + productID); + } + + protected void commandPanel_Load(object sender, EventArgs e) + { + if (mode == "read") + { + Panel commandPanel = (Panel)ProductsView.FindControl("commandPanel"); + commandPanel.Visible = false; + } + } + + protected void RoleUsersPanel_Init(object sender, EventArgs e) + { + Panel ruPanel = (Panel)sender; + + tcdbDataSetTableAdapters.db_roleUserProductTableAdapter rupAdapter = new tcdbDataSetTableAdapters.db_roleUserProductTableAdapter(); + tcdbDataSet.db_roleUserProductDataTable rupTable = rupAdapter.GetData(null, productID, true); + + foreach (tcdbDataSet.db_roleUserProductRow rRow in rupTable) + { + int roleID = rRow.roleID; + + Label Role = new Label(); + Role.Text = "<div class=\"item\"><label>" + rRow.roleName + ":</label><div class=\"indent\">"; + ruPanel.Controls.Add(Role); + + tcdbDataSetTableAdapters.db_roleProductUserTableAdapter rpuAdapter = new tcdbDataSetTableAdapters.db_roleProductUserTableAdapter(); + tcdbDataSet.db_roleProductUserDataTable rpuTable = rpuAdapter.GetData(roleID, productID, true); + + Label Users = new Label(); + foreach (tcdbDataSet.db_roleProductUserRow row in rpuTable) + { + if (Users.Text != "") + Users.Text += ", "; + Users.Text += row.fullName; + } + ruPanel.Controls.Add(Users); + + Literal html = new Literal(); + html.Text = "</div></div>"; + ruPanel.Controls.Add(html); + } + } +} Modified: Website/Includes/UserSettings.ascx =================================================================== --- Website/Includes/UserSettings.ascx 2006-08-01 21:22:36 UTC (rev 258) +++ Website/Includes/UserSettings.ascx 2006-08-01 22:41:20 UTC (rev 259) @@ -92,7 +92,11 @@ 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> - <asp:LinkButton ID="editConfig" runat="server" CommandName="editConfig" OnCommand="editConfig" OnInit="editConfig_Init">Preferences</asp:LinkButton> + <% 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> @@ -169,13 +173,15 @@ </div> <div class="cm"> <div class="left"> - <div class="item"><label>Roles:</label></div> <div class="item"> + <label> + Roles:</label></div> + <div class="item"> <asp:TreeView ID="roleTree" runat="server" OnInit="roleTreeEdit_Init" OnTreeNodePopulate="roleTree_TreeNodePopulate" - ShowCheckBoxes="All" OnSelectedNodeChanged="roleTree_SelectedNodeChanged" ShowExpandCollapse="false" OnTreeNodeCheckChanged="roleTree_TreeNodeCheckChanged"> + ShowCheckBoxes="All" OnSelectedNodeChanged="roleTree_SelectedNodeChanged" ShowExpandCollapse="false" + OnTreeNodeCheckChanged="roleTree_TreeNodeCheckChanged"> <Nodes> - <asp:TreeNode Text="" - Value="Roles" PopulateOnDemand="True" ShowCheckBox="false" /> + <asp:TreeNode Text="" Value="Roles" PopulateOnDemand="True" ShowCheckBox="false" /> </Nodes> </asp:TreeView> </div> @@ -269,15 +275,16 @@ </div> <div class="cm"> <div class="left"> - <div class="item"><label>Roles:</label></div> <div class="item"> - <asp:TreeView ID="roleTree" runat="server" OnInit="roleTreeEdit_Init" OnTreeNodePopulate="roleTree_TreeNodePopulate" - ShowCheckBoxes="All" OnSelectedNodeChanged="roleTree_SelectedNodeChanged" ShowExpandCollapse="false"> - <Nodes> - <asp:TreeNode Text="" - Value="Roles" PopulateOnDemand="True" Selected="false" ShowCheckBox="false" /> - </Nodes> - </asp:TreeView> + <label> + Roles:</label></div> + <div class="item"> + <asp:TreeView ID="roleTree" runat="server" OnInit="roleTreeEdit_Init" OnTreeNodePopulate="roleTree_TreeNodePopulate" + ShowCheckBoxes="All" OnSelectedNodeChanged="roleTree_SelectedNodeChanged" ShowExpandCollapse="false"> + <Nodes> + <asp:TreeNode Text="" Value="Roles" PopulateOnDemand="True" Selected="false" ShowCheckBox="false" /> + </Nodes> + </asp:TreeView> </div> </div> <div class="end"> Modified: Website/TCDB.master =================================================================== --- Website/TCDB.master 2006-08-01 21:22:36 UTC (rev 258) +++ Website/TCDB.master 2006-08-01 22:41:20 UTC (rev 259) @@ -20,23 +20,11 @@ <div id="NonFooter"> <% if (ConfigDB.GetConfigString("tcdb_version").Equals(Constants.TCDB_VERSION)) { - try - { - string motd = ConfigDB.GetConfigString(Constants.ANONYMOUSUSERID, "site_motd"); - if (motd.Length > 0) - { - motdLabel.Text = motd; - motdLabel.Enabled = true; - motdLabel.Visible = true; - } - } - catch { } %> <form id="Form1" runat="server"> <div id="HeaderContent"> <TCDB:Header runat="server" ID="Header" /> </div> - <div class="motd"><asp:Label ID="motdLabel" runat="server" Visible="false" Enabled="false"></asp:Label></div> <% if (m_user.ISAUTHENTICATED) @@ -53,14 +41,23 @@ <td id="MainContent"> <% - try { + string motd = ConfigDB.GetConfigString(Constants.ANONYMOUSUSERID, "site_motd"); + if (motd.Length > 0) + { + motdLabel.Text = motd; + motdLabel.Visible = true; + } + } + catch { } + + try + { string error = ConfigDB.GetConfigString(m_user.ID, "error"); if (error.Length > 0) { errorLabel.Text = error; - errorLabel.Enabled = true; errorLabel.Visible = true; ConfigDB.DeleteConfig(m_user.ID, "error"); @@ -70,7 +67,8 @@ %> - <asp:Label ID="errorLabel" runat="server" CssClass="error" Visible="false"></asp:Label> + <div class="motd"><asp:Label ID="motdLabel" runat="server" Visible="false"></asp:Label></div> + <div class="error"><asp:Label ID="errorLabel" runat="server" Visible="false"></asp:Label></div> <asp:ContentPlaceHolder ID="MainContentPlaceHolder" runat="server"> </asp:ContentPlaceHolder> </td> @@ -85,8 +83,20 @@ } else { + try + { + string motd = ConfigDB.GetConfigString(Constants.ANONYMOUSUSERID, "site_motd"); + if (motd.Length > 0) + { + motdLabelLogin.Text = motd; + motdLabelLogin.Visible = true; + } + } + catch { } + m_logg.Debug("User " + m_user.ToString() + " is not authenticated, displaying login"); %> + <div class="motd"><asp:Label ID="motdLabelLogin" runat="server" Visible="false"></asp:Label></div> <div id="Login"> <TCDB:Authenticate runat="server" ID="Authenticate" /> </div> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jon...@us...> - 2006-08-01 21:22:40
|
Revision: 258 Author: jon_r_johnson Date: 2006-08-01 14:22:36 -0700 (Tue, 01 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=258&view=rev Log Message: ----------- Updated table tcdb_config. Added stored procedure sel_roleRight. Added stored procedure sel_roleUserProduct. Updated stored procedure sel_version. Updated stored procedure ins_config. Updated stored procedure sel_config. Added stored procedure ins_roleRight. Updated stored procedure sel_users. Added stored procedure ins_userRoleProduct. Added stored procedure upd_userRoleProduct. Added stored procedure del_roleRight. Updated stored procedure ins_rights. Updated stored procedure ins_role. Updated stored procedure upd_rights. Updated stored procedure upd_role. Modified Paths: -------------- Schema/SQLServer2005/DatabaseStoredProcedures.sql Schema/SQLServer2005/DatabaseTablesCreate.sql Modified: Schema/SQLServer2005/DatabaseStoredProcedures.sql =================================================================== (Binary files differ) Modified: Schema/SQLServer2005/DatabaseTablesCreate.sql =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2006-08-01 21:15:30
|
Revision: 257 Author: rouquin Date: 2006-08-01 14:15:23 -0700 (Tue, 01 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=257&view=rev Log Message: ----------- nothing I think... Modified Paths: -------------- Website/Includes/AssignmentsTree.ascx.cs Modified: Website/Includes/AssignmentsTree.ascx.cs =================================================================== --- Website/Includes/AssignmentsTree.ascx.cs 2006-08-01 20:57:11 UTC (rev 256) +++ Website/Includes/AssignmentsTree.ascx.cs 2006-08-01 21:15:23 UTC (rev 257) @@ -60,7 +60,7 @@ Response.Redirect("~/Assignments.aspx?" + Constants.CODE_PRODUCT + "=" + e.Node.Value); break; case 2: - Response.Redirect("~/Assignments.aspx?" + Constants.CODE_PRODUCT + "=" + e.Node.Parent.Value + "&"+ Constants.CODE_USER + "=" + e.Node.Value); + Response.Redirect("~/Assignments.aspx?" + Constants.CODE_PRODUCT + "=" + e.Node.Parent.Value + "&" + Constants.CODE_USER + "=" + e.Node.Value); break; default: break; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2006-08-01 20:57:19
|
Revision: 256 Author: rouquin Date: 2006-08-01 13:57:11 -0700 (Tue, 01 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=256&view=rev Log Message: ----------- Fixed a couple lists that were showing duplicate entries, etc. Modified Paths: -------------- Website/Administration.aspx Website/Includes/AdministrationTree.ascx.cs Website/Includes/RoleAdmin.ascx Website/Includes/Roles.ascx Website/Includes/Roles.ascx.cs Modified: Website/Administration.aspx =================================================================== --- Website/Administration.aspx 2006-08-01 20:39:33 UTC (rev 255) +++ Website/Administration.aspx 2006-08-01 20:57:11 UTC (rev 256) @@ -14,7 +14,7 @@ <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?p=1"> + <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> </td> Modified: Website/Includes/AdministrationTree.ascx.cs =================================================================== --- Website/Includes/AdministrationTree.ascx.cs 2006-08-01 20:39:33 UTC (rev 255) +++ Website/Includes/AdministrationTree.ascx.cs 2006-08-01 20:57:11 UTC (rev 256) @@ -346,23 +346,22 @@ { tcdbDataSetTableAdapters.db_roleProductUserTableAdapter userAdapter = new tcdbDataSetTableAdapters.db_roleProductUserTableAdapter(); tcdbDataSet.db_roleProductUserDataTable userTable = userAdapter.GetData(null, Convert.ToInt32(parent.Parent.Value), null); + int lastID = -1; foreach (tcdbDataSet.db_roleProductUserRow row in userTable) { + if (lastID == row.userID) + continue; + else + lastID = row.userID; + // Create the new node. TreeNode newNode = new TreeNode(); newNode.Text = row.fullName; newNode.Value = row.userID.ToString(); ; - - // 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 = "~/UserSettings.aspx?"+Constants.CODE_USER+"=" + newNode.Value; - - // Add the new node to the ChildNodes collection of the parent node. parent.ChildNodes.Add(newNode); newNode.Expand(); } Modified: Website/Includes/RoleAdmin.ascx =================================================================== --- Website/Includes/RoleAdmin.ascx 2006-08-01 20:39:33 UTC (rev 255) +++ Website/Includes/RoleAdmin.ascx 2006-08-01 20:57:11 UTC (rev 256) @@ -7,12 +7,22 @@ <asp:DropDownList ID="roleList" runat="server" DataSourceID="RoleDataSource" DataTextField="roleName" DataValueField="roleID"> </asp:DropDownList><asp:ObjectDataSource ID="RoleDataSource" runat="server" OldValuesParameterFormatString="original_{0}" - SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.db_roleUserProductTableAdapter"> + SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.db_roleTableAdapter" InsertMethod="Insert" UpdateMethod="Update"> <SelectParameters> - <asp:Parameter Name="userID" Type="Int32" /> - <asp:SessionParameter Name="productID" SessionField="product" Type="Int32" /> + <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> Modified: Website/Includes/Roles.ascx =================================================================== --- Website/Includes/Roles.ascx 2006-08-01 20:39:33 UTC (rev 255) +++ Website/Includes/Roles.ascx 2006-08-01 20:57:11 UTC (rev 256) @@ -180,8 +180,8 @@ <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="RoleDataSource" - DataTextField="roleName" DataValueField="roleID" SelectionMode="Multiple" Height="150px" Width="150px"></asp:ListBox> + </strong> <asp:ListBox ID="rightsList" runat="server" DataSourceID="RightsDataSource" + DataTextField="rightsName" DataValueField="rightsID" SelectionMode="Multiple" Height="150px" Width="150px"></asp:ListBox> </td> </tr> <tr> Modified: Website/Includes/Roles.ascx.cs =================================================================== --- Website/Includes/Roles.ascx.cs 2006-08-01 20:39:33 UTC (rev 255) +++ Website/Includes/Roles.ascx.cs 2006-08-01 20:57:11 UTC (rev 256) @@ -23,7 +23,6 @@ int roleID = Convert.ToInt32(HttpContext.Current.Request.QueryString[Constants.CODE_ROLE]); Role role; String mode = HttpContext.Current.Request.QueryString["mode"]; - String product = HttpContext.Current.Request.QueryString[Constants.CODE_PRODUCT]; protected void Page_Load(object sender, EventArgs e) { @@ -252,35 +251,16 @@ ListBox userList = (ListBox)FormView1.FindControl("userList"); updateProductUsers(productList, userList); - if (product != null) - productList.SelectedValue = product; Session["product"] = productList.SelectedValue; userList.DataBind(); } protected void productListInsert_DataBound(object sender, EventArgs e) { DropDownList productList = (DropDownList)sender; + ListBox userList = (ListBox)FormView1.FindControl("userList"); - // Initialize Product Users - if (Session["ProductUsers"] == null) - Session.Add("ProductUsers", new Dictionary<String, ArrayList>()); - Dictionary<String, ArrayList> ProductUsers = (Dictionary<String, ArrayList>)Session["ProductUsers"]; - - ProductUsers.Clear(); - foreach (ListItem productItem in productList.Items) - { - ArrayList users = new ArrayList(); - String productID = productItem.Value; - - if (ProductUsers.ContainsKey(productID)) - ProductUsers[productID] = users; - else - ProductUsers.Add(productID, users); - } - - // Init productList - if (product != null) - productList.SelectedValue = product; + updateProductUsers(productList, userList); + Session["product"] = productList.SelectedValue; } protected void ProductUserPanel_Init(object sender, EventArgs e) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2006-08-01 20:39:39
|
Revision: 255 Author: rouquin Date: 2006-08-01 13:39:33 -0700 (Tue, 01 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=255&view=rev Log Message: ----------- Forgot to add these in. Modified Paths: -------------- Website/Includes/Roles.ascx.cs Added Paths: ----------- Website/Includes/RoleAdmin.ascx Website/Includes/RoleAdmin.ascx.cs Added: Website/Includes/RoleAdmin.ascx =================================================================== --- Website/Includes/RoleAdmin.ascx (rev 0) +++ Website/Includes/RoleAdmin.ascx 2006-08-01 20:39:33 UTC (rev 255) @@ -0,0 +1,24 @@ +<%@ 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_roleUserProductTableAdapter"> + <SelectParameters> + <asp:Parameter Name="userID" Type="Int32" /> + <asp:SessionParameter Name="productID" SessionField="product" Type="Int32" /> + <asp:Parameter DefaultValue="true" Name="active" Type="Boolean" /> + </SelectParameters> + </asp:ObjectDataSource> + <asp:LinkButton ID="addRoleBtn" runat="server" CommandName="addRole" OnCommand="addRole">Add User 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> Added: Website/Includes/RoleAdmin.ascx.cs =================================================================== --- Website/Includes/RoleAdmin.ascx.cs (rev 0) +++ Website/Includes/RoleAdmin.ascx.cs 2006-08-01 20:39:33 UTC (rev 255) @@ -0,0 +1,55 @@ +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 RoleAdmin : SiteUserControl +{ + private static ILog m_logg = LogManager.GetLogger("Page:Authenticate"); + int product = Convert.ToInt32(HttpContext.Current.Request.QueryString[Constants.CODE_PRODUCT]); + + protected void Page_Load(object sender, EventArgs e) + { + } + protected void addRole(object sender, CommandEventArgs e) + { + Response.Redirect("Role.aspx?mode=edit&" + Constants.CODE_PRODUCT + "=" + product + "&" + Constants.CODE_ROLE + "=" + roleList.SelectedValue); + } + + protected void newRole(object sender, CommandEventArgs e) + { + Response.Redirect("Role.aspx?mode=new&" + Constants.CODE_PRODUCT + "=" + product); + } + + protected void newRight(object sender, CommandEventArgs e) + { + Response.Redirect("Right.aspx?mode=new&" + Constants.CODE_PRODUCT + "=" + product); + } + + protected void newRole_Init(object sender, EventArgs e) + { + LinkButton newRole = (LinkButton)sender; + + if (!m_user.HasRight("create_role", Constants.PRODUCT_ANYID)) + newRole.Visible = false; + } + + protected void newRight_Init(object sender, EventArgs e) + { + LinkButton newRight = (LinkButton) sender; + + if (!m_user.HasRight("dev_access", Constants.PRODUCT_ANYID)) + newRight.Visible = false; + } +} Modified: Website/Includes/Roles.ascx.cs =================================================================== --- Website/Includes/Roles.ascx.cs 2006-08-01 20:32:03 UTC (rev 254) +++ Website/Includes/Roles.ascx.cs 2006-08-01 20:39:33 UTC (rev 255) @@ -203,17 +203,21 @@ Dictionary<String, ArrayList> ProductUsers = (Dictionary<String, ArrayList>)Session["ProductUsers"]; // update selected product - String productID = Session["product"].ToString(); - Session["product"] = productList.SelectedValue; + 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; + // 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.DataBind(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2006-08-01 20:32:14
|
Revision: 254 Author: rouquin Date: 2006-08-01 13:32:03 -0700 (Tue, 01 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=254&view=rev Log Message: ----------- Fixed a number of minor bugs on Rights/Roles. Everything is working now. Modified Paths: -------------- Website/AdminRole.aspx Website/App_Code/tcdbDataSet.xsd Website/App_Code/tcdbDataSet.xss Website/Includes/Rights.ascx Website/Includes/Roles.ascx Website/Includes/Roles.ascx.cs Modified: Website/AdminRole.aspx =================================================================== --- Website/AdminRole.aspx 2006-08-01 19:07:13 UTC (rev 253) +++ Website/AdminRole.aspx 2006-08-01 20:32:03 UTC (rev 254) @@ -1,48 +1,13 @@ <%@ Page Language="C#" MasterPageFile="~/TCDB.master" AutoEventWireup="true" Title="TCDB: Administration" %> -<%@ Import Namespace="TCDB.Common" %> +<%@ Import Namespace="TCDB.Common" %> <%@ Register Src="~/Includes/AdministrationTree.ascx" TagPrefix="admin" TagName="Tree" %> - -<script runat="server"> - int product = Convert.ToInt32(HttpContext.Current.Request.QueryString[Constants.CODE_PRODUCT]); - - protected void Page_Load(object sender, EventArgs e) - { - } - protected void addRole(object sender, CommandEventArgs e) - { - Response.Redirect("Role.aspx?mode=edit&" + Constants.CODE_PRODUCT + "=" + product + "&" + Constants.CODE_ROLE + "=" + roleList.SelectedValue); - } - - protected void newRole(object sender, CommandEventArgs e) - { - Response.Redirect("Role.aspx?mode=new&" + Constants.CODE_PRODUCT + "=" + product); - } -</script> - +<%@ 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> <asp:Content ID="MainContent" ContentPlaceHolderID="MainContentPlaceHolder" runat="Server"> - <table width="700"> - <tr> - <td align="center" valign="middle" style="height: 101px"> - <asp:DropDownList ID="roleList" runat="server" DataSourceID="RoleDataSource" DataTextField="roleName" - DataValueField="roleID"> - </asp:DropDownList><asp:ObjectDataSource ID="RoleDataSource" runat="server" OldValuesParameterFormatString="original_{0}" - SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.db_roleUserProductTableAdapter"> - <SelectParameters> - <asp:Parameter Name="userID" Type="Int32" /> - <asp:SessionParameter Name="productID" SessionField="product" Type="Int32" /> - <asp:Parameter DefaultValue="true" Name="active" Type="Boolean" /> - </SelectParameters> - </asp:ObjectDataSource> - <asp:LinkButton ID="addRoleBtn" runat="server" CommandName="addRole" OnCommand="addRole">Add User To Role</asp:LinkButton> - - <asp:LinkButton ID="newRoleBtn" runat="server" CommandName="newRole" OnCommand="newRole">New User Role</asp:LinkButton><br /> - </td> - </tr> - </table> + <admin:Role ID="Role" runat="server" /> </asp:Content> <asp:Content ID="NotesContent" ContentPlaceHolderID="NotesContentPlaceHolder" runat="Server"> </asp:Content> Modified: Website/App_Code/tcdbDataSet.xsd =================================================================== --- Website/App_Code/tcdbDataSet.xsd 2006-08-01 19:07:13 UTC (rev 253) +++ Website/App_Code/tcdbDataSet.xsd 2006-08-01 20:32:03 UTC (rev 254) @@ -944,172 +944,172 @@ <xs:element name="db_users" msprop:Generator_UserTableName="db_users" msprop:Generator_RowDeletedName="db_usersRowDeleted" msprop:Generator_RowChangedName="db_usersRowChanged" msprop:Generator_RowClassName="db_usersRow" msprop:Generator_RowChangingName="db_usersRowChanging" msprop:Generator_RowEvArgName="db_usersRowChangeEvent" msprop:Generator_RowEvHandlerName="db_usersRowChangeEventHandler" msprop:Generator_TableClassName="db_usersDataTable" msprop:Generator_TableVarName="tabledb_users" msprop:Generator_RowDeletingName="db_usersRowDeleting" msprop:Generator_TablePropName="db_users"> <xs:complexType> <xs:sequence> - <xs:element name="userID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="userID" msprop:Generator_ColumnPropNameInRow="userID" msprop:Generator_ColumnVarNameInTable="columnuserID" msprop:Generator_ColumnPropNameInTable="userIDColumn" type="xs:int" /> - <xs:element name="username" msprop:Generator_UserColumnName="username" msprop:Generator_ColumnPropNameInRow="username" msprop:Generator_ColumnVarNameInTable="columnusername" msprop:Generator_ColumnPropNameInTable="usernameColumn"> + <xs:element name="userID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="userID" msprop:Generator_ColumnVarNameInTable="columnuserID" msprop:Generator_ColumnPropNameInRow="userID" msprop:Generator_ColumnPropNameInTable="userIDColumn" type="xs:int" /> + <xs:element name="username" msprop:Generator_UserColumnName="username" msprop:Generator_ColumnVarNameInTable="columnusername" msprop:Generator_ColumnPropNameInRow="username" msprop:Generator_ColumnPropNameInTable="usernameColumn"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="email" msprop:Generator_UserColumnName="email" msprop:Generator_ColumnPropNameInRow="email" msprop:Generator_ColumnVarNameInTable="columnemail" msprop:Generator_ColumnPropNameInTable="emailColumn"> + <xs:element name="email" msprop:Generator_UserColumnName="email" msprop:Generator_ColumnVarNameInTable="columnemail" msprop:Generator_ColumnPropNameInRow="email" msprop:Generator_ColumnPropNameInTable="emailColumn"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="officePhone" msprop:Generator_UserColumnName="officePhone" msprop:Generator_ColumnPropNameInRow="officePhone" msprop:Generator_ColumnVarNameInTable="columnofficePhone" msprop:Generator_ColumnPropNameInTable="officePhoneColumn" minOccurs="0"> + <xs:element name="officePhone" msprop:Generator_UserColumnName="officePhone" msprop:Generator_ColumnVarNameInTable="columnofficePhone" msprop:Generator_ColumnPropNameInRow="officePhone" msprop:Generator_ColumnPropNameInTable="officePhoneColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="14" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="homePhone" msprop:Generator_UserColumnName="homePhone" msprop:Generator_ColumnPropNameInRow="homePhone" msprop:Generator_ColumnVarNameInTable="columnhomePhone" msprop:Generator_ColumnPropNameInTable="homePhoneColumn" minOccurs="0"> + <xs:element name="homePhone" msprop:Generator_UserColumnName="homePhone" msprop:Generator_ColumnVarNameInTable="columnhomePhone" msprop:Generator_ColumnPropNameInRow="homePhone" msprop:Generator_ColumnPropNameInTable="homePhoneColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="14" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="cellPhone" msprop:Generator_UserColumnName="cellPhone" msprop:Generator_ColumnPropNameInRow="cellPhone" msprop:Generator_ColumnVarNameInTable="columncellPhone" msprop:Generator_ColumnPropNameInTable="cellPhoneColumn" minOccurs="0"> + <xs:element name="cellPhone" msprop:Generator_UserColumnName="cellPhone" msprop:Generator_ColumnVarNameInTable="columncellPhone" msprop:Generator_ColumnPropNameInRow="cellPhone" msprop:Generator_ColumnPropNameInTable="cellPhoneColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="14" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="firstName" msprop:Generator_UserColumnName="firstName" msprop:Generator_ColumnPropNameInRow="firstName" msprop:Generator_ColumnVarNameInTable="columnfirstName" msprop:Generator_ColumnPropNameInTable="firstNameColumn"> + <xs:element name="firstName" msprop:Generator_UserColumnName="firstName" msprop:Generator_ColumnVarNameInTable="columnfirstName" msprop:Generator_ColumnPropNameInRow="firstName" msprop:Generator_ColumnPropNameInTable="firstNameColumn"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="24" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="lastName" msprop:Generator_UserColumnName="lastName" msprop:Generator_ColumnPropNameInRow="lastName" msprop:Generator_ColumnVarNameInTable="columnlastName" msprop:Generator_ColumnPropNameInTable="lastNameColumn"> + <xs:element name="lastName" msprop:Generator_UserColumnName="lastName" msprop:Generator_ColumnVarNameInTable="columnlastName" msprop:Generator_ColumnPropNameInRow="lastName" msprop:Generator_ColumnPropNameInTable="lastNameColumn"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="24" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="fullName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="fullName" msprop:Generator_ColumnPropNameInRow="fullName" msprop:Generator_ColumnVarNameInTable="columnfullName" msprop:Generator_ColumnPropNameInTable="fullNameColumn" minOccurs="0"> + <xs:element name="fullName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="fullName" msprop:Generator_ColumnVarNameInTable="columnfullName" msprop:Generator_ColumnPropNameInRow="fullName" msprop:Generator_ColumnPropNameInTable="fullNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="automation" msprop:Generator_UserColumnName="automation" msprop:Generator_ColumnPropNameInRow="automation" msprop:Generator_ColumnVarNameInTable="columnautomation" msprop:Generator_ColumnPropNameInTable="automationColumn" type="xs:boolean" /> + <xs:element name="automation" msprop:Generator_UserColumnName="automation" msprop:Generator_ColumnVarNameInTable="columnautomation" msprop:Generator_ColumnPropNameInRow="automation" msprop:Generator_ColumnPropNameInTable="automationColumn" type="xs:boolean" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_products" msprop:Generator_UserTableName="db_products" msprop:Generator_RowDeletedName="db_productsRowDeleted" msprop:Generator_RowChangedName="db_productsRowChanged" msprop:Generator_RowClassName="db_productsRow" msprop:Generator_RowChangingName="db_productsRowChanging" msprop:Generator_RowEvArgName="db_productsRowChangeEvent" msprop:Generator_RowEvHandlerName="db_productsRowChangeEventHandler" msprop:Generator_TableClassName="db_productsDataTable" msprop:Generator_TableVarName="tabledb_products" msprop:Generator_RowDeletingName="db_productsRowDeleting" msprop:Generator_TablePropName="db_products"> <xs:complexType> <xs:sequence> - <xs:element name="productID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" /> - <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> + <xs:element name="productID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" /> + <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> + <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="devManager" msprop:Generator_UserColumnName="devManager" msprop:Generator_ColumnPropNameInRow="devManager" msprop:Generator_ColumnVarNameInTable="columndevManager" msprop:Generator_ColumnPropNameInTable="devManagerColumn" type="xs:int" minOccurs="0" /> - <xs:element name="qaManager" msprop:Generator_UserColumnName="qaManager" msprop:Generator_ColumnPropNameInRow="qaManager" msprop:Generator_ColumnVarNameInTable="columnqaManager" msprop:Generator_ColumnPropNameInTable="qaManagerColumn" type="xs:int" minOccurs="0" /> - <xs:element name="devLead" msprop:Generator_UserColumnName="devLead" msprop:Generator_ColumnPropNameInRow="devLead" msprop:Generator_ColumnVarNameInTable="columndevLead" msprop:Generator_ColumnPropNameInTable="devLeadColumn" type="xs:int" minOccurs="0" /> - <xs:element name="qaLead" msprop:Generator_UserColumnName="qaLead" msprop:Generator_ColumnPropNameInRow="qaLead" msprop:Generator_ColumnVarNameInTable="columnqaLead" msprop:Generator_ColumnPropNameInTable="qaLeadColumn" type="xs:int" minOccurs="0" /> - <xs:element name="pm" msprop:Generator_UserColumnName="pm" msprop:Generator_ColumnPropNameInRow="pm" msprop:Generator_ColumnVarNameInTable="columnpm" msprop:Generator_ColumnPropNameInTable="pmColumn" type="xs:int" minOccurs="0" /> - <xs:element name="codeName" msprop:Generator_UserColumnName="codeName" msprop:Generator_ColumnPropNameInRow="codeName" msprop:Generator_ColumnVarNameInTable="columncodeName" msprop:Generator_ColumnPropNameInTable="codeNameColumn" minOccurs="0"> + <xs:element name="devManager" msprop:Generator_UserColumnName="devManager" msprop:Generator_ColumnVarNameInTable="columndevManager" msprop:Generator_ColumnPropNameInRow="devManager" msprop:Generator_ColumnPropNameInTable="devManagerColumn" type="xs:int" minOccurs="0" /> + <xs:element name="qaManager" msprop:Generator_UserColumnName="qaManager" msprop:Generator_ColumnVarNameInTable="columnqaManager" msprop:Generator_ColumnPropNameInRow="qaManager" msprop:Generator_ColumnPropNameInTable="qaManagerColumn" type="xs:int" minOccurs="0" /> + <xs:element name="devLead" msprop:Generator_UserColumnName="devLead" msprop:Generator_ColumnVarNameInTable="columndevLead" msprop:Generator_ColumnPropNameInRow="devLead" msprop:Generator_ColumnPropNameInTable="devLeadColumn" type="xs:int" minOccurs="0" /> + <xs:element name="qaLead" msprop:Generator_UserColumnName="qaLead" msprop:Generator_ColumnVarNameInTable="columnqaLead" msprop:Generator_ColumnPropNameInRow="qaLead" msprop:Generator_ColumnPropNameInTable="qaLeadColumn" type="xs:int" minOccurs="0" /> + <xs:element name="pm" msprop:Generator_UserColumnName="pm" msprop:Generator_ColumnVarNameInTable="columnpm" msprop:Generator_ColumnPropNameInRow="pm" msprop:Generator_ColumnPropNameInTable="pmColumn" type="xs:int" minOccurs="0" /> + <xs:element name="codeName" msprop:Generator_UserColumnName="codeName" msprop:Generator_ColumnVarNameInTable="columncodeName" msprop:Generator_ColumnPropNameInRow="codeName" msprop:Generator_ColumnPropNameInTable="codeNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="10" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> + <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_actionItems" msprop:Generator_UserTableName="db_actionItems" msprop:Generator_RowDeletedName="db_actionItemsRowDeleted" msprop:Generator_RowChangedName="db_actionItemsRowChanged" msprop:Generator_RowClassName="db_actionItemsRow" msprop:Generator_RowChangingName="db_actionItemsRowChanging" msprop:Generator_RowEvArgName="db_actionItemsRowChangeEvent" msprop:Generator_RowEvHandlerName="db_actionItemsRowChangeEventHandler" msprop:Generator_TableClassName="db_actionItemsDataTable" msprop:Generator_TableVarName="tabledb_actionItems" msprop:Generator_RowDeletingName="db_actionItemsRowDeleting" msprop:Generator_TablePropName="db_actionItems"> <xs:complexType> <xs:sequence> - <xs:element name="actionItemID" msprop:Generator_UserColumnName="actionItemID" msprop:Generator_ColumnVarNameInTable="columnactionItemID" msprop:Generator_ColumnPropNameInRow="actionItemID" msprop:Generator_ColumnPropNameInTable="actionItemIDColumn" type="xs:int" /> - <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> + <xs:element name="actionItemID" msprop:Generator_UserColumnName="actionItemID" msprop:Generator_ColumnPropNameInRow="actionItemID" msprop:Generator_ColumnVarNameInTable="columnactionItemID" msprop:Generator_ColumnPropNameInTable="actionItemIDColumn" type="xs:int" /> + <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> + <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="dateAssigned" msprop:Generator_UserColumnName="dateAssigned" msprop:Generator_ColumnVarNameInTable="columndateAssigned" msprop:Generator_ColumnPropNameInRow="dateAssigned" msprop:Generator_ColumnPropNameInTable="dateAssignedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="dateDue" msprop:Generator_UserColumnName="dateDue" msprop:Generator_ColumnVarNameInTable="columndateDue" msprop:Generator_ColumnPropNameInRow="dateDue" msprop:Generator_ColumnPropNameInTable="dateDueColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="percentComplete" msprop:Generator_UserColumnName="percentComplete" msprop:Generator_ColumnVarNameInTable="columnpercentComplete" msprop:Generator_ColumnPropNameInRow="percentComplete" msprop:Generator_ColumnPropNameInTable="percentCompleteColumn" type="xs:int" minOccurs="0" /> - <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> + <xs:element name="dateAssigned" msprop:Generator_UserColumnName="dateAssigned" msprop:Generator_ColumnPropNameInRow="dateAssigned" msprop:Generator_ColumnVarNameInTable="columndateAssigned" msprop:Generator_ColumnPropNameInTable="dateAssignedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="dateDue" msprop:Generator_UserColumnName="dateDue" msprop:Generator_ColumnPropNameInRow="dateDue" msprop:Generator_ColumnVarNameInTable="columndateDue" msprop:Generator_ColumnPropNameInTable="dateDueColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="percentComplete" msprop:Generator_UserColumnName="percentComplete" msprop:Generator_ColumnPropNameInRow="percentComplete" msprop:Generator_ColumnVarNameInTable="columnpercentComplete" msprop:Generator_ColumnPropNameInTable="percentCompleteColumn" type="xs:int" minOccurs="0" /> + <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="createdBy" msdata:ReadOnly="true" msprop:Generator_UserColumnName="createdBy" msprop:Generator_ColumnVarNameInTable="columncreatedBy" msprop:Generator_ColumnPropNameInRow="createdBy" msprop:Generator_ColumnPropNameInTable="createdByColumn" minOccurs="0"> + <xs:element name="createdBy" msdata:ReadOnly="true" msprop:Generator_UserColumnName="createdBy" msprop:Generator_ColumnPropNameInRow="createdBy" msprop:Generator_ColumnVarNameInTable="columncreatedBy" msprop:Generator_ColumnPropNameInTable="createdByColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="highPriority" msprop:Generator_UserColumnName="highPriority" msprop:Generator_ColumnVarNameInTable="columnhighPriority" msprop:Generator_ColumnPropNameInRow="highPriority" msprop:Generator_ColumnPropNameInTable="highPriorityColumn" type="xs:boolean" minOccurs="0" /> - <xs:element name="testPass" msprop:Generator_UserColumnName="testPass" msprop:Generator_ColumnPropNameInRow="testPass" msprop:Generator_ColumnVarNameInTable="columntestPass" msprop:Generator_ColumnPropNameInTable="testPassColumn" minOccurs="0"> + <xs:element name="highPriority" msprop:Generator_UserColumnName="highPriority" msprop:Generator_ColumnPropNameInRow="highPriority" msprop:Generator_ColumnVarNameInTable="columnhighPriority" msprop:Generator_ColumnPropNameInTable="highPriorityColumn" type="xs:boolean" minOccurs="0" /> + <xs:element name="testPass" msprop:Generator_UserColumnName="testPass" msprop:Generator_ColumnVarNameInTable="columntestPass" msprop:Generator_ColumnPropNameInRow="testPass" msprop:Generator_ColumnPropNameInTable="testPassColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="dateFinished" msprop:Generator_UserColumnName="dateFinished" msprop:Generator_ColumnPropNameInRow="dateFinished" msprop:Generator_ColumnVarNameInTable="columndateFinished" msprop:Generator_ColumnPropNameInTable="dateFinishedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="assignedID" msprop:Generator_UserColumnName="assignedID" msprop:Generator_ColumnPropNameInRow="assignedID" msprop:Generator_ColumnVarNameInTable="columnassignedID" msprop:Generator_ColumnPropNameInTable="assignedIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="assigned" msdata:ReadOnly="true" msprop:Generator_UserColumnName="assigned" msprop:Generator_ColumnPropNameInRow="assigned" msprop:Generator_ColumnVarNameInTable="columnassigned" msprop:Generator_ColumnPropNameInTable="assignedColumn" minOccurs="0"> + <xs:element name="dateFinished" msprop:Generator_UserColumnName="dateFinished" msprop:Generator_ColumnVarNameInTable="columndateFinished" msprop:Generator_ColumnPropNameInRow="dateFinished" msprop:Generator_ColumnPropNameInTable="dateFinishedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="assignedID" msprop:Generator_UserColumnName="assignedID" msprop:Generator_ColumnVarNameInTable="columnassignedID" msprop:Generator_ColumnPropNameInRow="assignedID" msprop:Generator_ColumnPropNameInTable="assignedIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="assigned" msdata:ReadOnly="true" msprop:Generator_UserColumnName="assigned" msprop:Generator_ColumnVarNameInTable="columnassigned" msprop:Generator_ColumnPropNameInRow="assigned" msprop:Generator_ColumnPropNameInTable="assignedColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="statusID" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="testPassID" msprop:Generator_UserColumnName="testPassID" msprop:Generator_ColumnVarNameInTable="columntestPassID" msprop:Generator_ColumnPropNameInRow="testPassID" msprop:Generator_ColumnPropNameInTable="testPassIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> - <xs:element name="creatorID" msprop:Generator_UserColumnName="creatorID" msprop:Generator_ColumnVarNameInTable="columncreatorID" msprop:Generator_ColumnPropNameInRow="creatorID" msprop:Generator_ColumnPropNameInTable="creatorIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="statusID" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="testPassID" msprop:Generator_UserColumnName="testPassID" msprop:Generator_ColumnPropNameInRow="testPassID" msprop:Generator_ColumnVarNameInTable="columntestPassID" msprop:Generator_ColumnPropNameInTable="testPassIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> + <xs:element name="creatorID" msprop:Generator_UserColumnName="creatorID" msprop:Generator_ColumnPropNameInRow="creatorID" msprop:Generator_ColumnVarNameInTable="columncreatorID" msprop:Generator_ColumnPropNameInTable="creatorIDColumn" type="xs:int" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_status" msprop:Generator_UserTableName="db_status" msprop:Generator_RowDeletedName="db_statusRowDeleted" msprop:Generator_RowChangedName="db_statusRowChanged" msprop:Generator_RowClassName="db_statusRow" msprop:Generator_RowChangingName="db_statusRowChanging" msprop:Generator_RowEvArgName="db_statusRowChangeEvent" msprop:Generator_RowEvHandlerName="db_statusRowChangeEventHandler" msprop:Generator_TableClassName="db_statusDataTable" msprop:Generator_TableVarName="tabledb_status" msprop:Generator_RowDeletingName="db_statusRowDeleting" msprop:Generator_TablePropName="db_status"> <xs:complexType> <xs:sequence> - <xs:element name="statusID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" /> - <xs:element name="Description" msprop:Generator_UserColumnName="Description" msprop:Generator_ColumnPropNameInRow="Description" msprop:Generator_ColumnVarNameInTable="columnDescription" msprop:Generator_ColumnPropNameInTable="DescriptionColumn" minOccurs="0"> + <xs:element name="statusID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" /> + <xs:element name="Description" msprop:Generator_UserColumnName="Description" msprop:Generator_ColumnVarNameInTable="columnDescription" msprop:Generator_ColumnPropNameInRow="Description" msprop:Generator_ColumnPropNameInTable="DescriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> + <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> @@ -1122,113 +1122,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" /> @@ -1241,47 +1241,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... [truncated message content] |
From: <ro...@us...> - 2006-08-01 19:07:28
|
Revision: 253 Author: rouquin Date: 2006-08-01 12:07:13 -0700 (Tue, 01 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=253&view=rev Log Message: ----------- You can now update/insert/delete roles and rights. You cannot however add a user to a role after once removing him due to a stored procedure bug - hopefully that will be remedied soon. Modified Paths: -------------- Website/App_Code/Right.cs Website/App_Code/tcdbDataSet.xsd Website/App_Code/tcdbDataSet.xss Website/Includes/Rights.ascx Website/Includes/Rights.ascx.cs Website/Includes/Roles.ascx Website/Includes/Roles.ascx.cs Website/Includes/UserSettings.ascx Website/Includes/UserSettings.ascx.cs Website/Role.aspx Modified: Website/App_Code/Right.cs =================================================================== --- Website/App_Code/Right.cs 2006-08-01 18:06:53 UTC (rev 252) +++ Website/App_Code/Right.cs 2006-08-01 19:07:13 UTC (rev 253) @@ -39,7 +39,7 @@ { tcdbDataSet.db_rightsRow row = rightsTable[0]; - return new Right(row.rightsID, row.rightsName, row.rightDescription); + return new Right(row.rightsID, row.rightsName, row.rightsDescription); } else return new Right(); @@ -54,12 +54,42 @@ { tcdbDataSet.db_rightsRow row = rightsTable[0]; - return new Right(row.rightsID, row.rightsName, row.rightDescription); + return new Right(row.rightsID, row.rightsName, row.rightsDescription); } else return new Right(); } + public static Role GetRoleInfo(string name) + { + tcdbDataSetTableAdapters.db_roleTableAdapter roleAdapter = new tcdbDataSetTableAdapters.db_roleTableAdapter(); + tcdbDataSet.db_roleDataTable roleTable = roleAdapter.GetData(null,name,true); + + if (roleTable.Count > 0) + { + tcdbDataSet.db_roleRow row = roleTable[0]; + + return new Role(row.roleID, row.roleName, row.roleDescription); + } + else + return new Role(); + } + + public static Role GetRoleInfo(int id) + { + tcdbDataSetTableAdapters.db_roleTableAdapter roleAdapter = new tcdbDataSetTableAdapters.db_roleTableAdapter(); + tcdbDataSet.db_roleDataTable roleTable = roleAdapter.GetData(id,null,true); + + if (roleTable.Count > 0) + { + tcdbDataSet.db_roleRow row = roleTable[0]; + + return new Role(row.roleID, row.roleName, row.roleDescription); + } + else + return new Role(); + } + public static List<Right> TCDB_GetRightList() { tcdbDataSetTableAdapters.db_rightsTableAdapter rightsAdapter = new tcdbDataSetTableAdapters.db_rightsTableAdapter(); @@ -104,7 +134,7 @@ tcdbDataSetTableAdapters.db_rightsTableAdapter rightsAdapter = new tcdbDataSetTableAdapters.db_rightsTableAdapter(); try { - rightsAdapter.Insert(right.NAME,right.DESCRIPTION,true); + rightsAdapter.Insert(right.NAME,right.DESCRIPTION); } catch (Exception e) { @@ -176,4 +206,65 @@ set { p_description = value.Trim(); } } } + + /// <summary> + /// A class representing one role object + /// </summary> + public class Role + { + private static ILog m_logg = LogManager.GetLogger("TCDB.Rights.Role"); + + private int p_id; + private string p_name; + private string p_description; + + public Role() + { + p_id = 0; + p_name = ""; + p_description = ""; + } + + public Role(string name) + { + BuildRole(RightDB.GetRoleInfo(name)); + } + + public Role(int id) + { + BuildRole(RightDB.GetRoleInfo(id)); + } + + public Role(int id, string name, string description) + { + p_id = id; + p_name = name; + p_description = description; + } + + private void BuildRole(Role role) + { + p_id = role.ID; + p_name = role.NAME; + p_description = role.DESCRIPTION; + } + + public int ID + { + get { return p_id; } + set { p_id = value; } + } + + public string NAME + { + get { return p_name.Trim(); } + set { p_name = value.Trim(); } + } + + public string DESCRIPTION + { + get { return p_description.Trim(); } + set { p_description = value.Trim(); } + } + } } Modified: Website/App_Code/tcdbDataSet.xsd =================================================================== --- Website/App_Code/tcdbDataSet.xsd 2006-08-01 18:06:53 UTC (rev 252) +++ Website/App_Code/tcdbDataSet.xsd 2006-08-01 19:07:13 UTC (rev 253) @@ -581,12 +581,10 @@ <Parameters> <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@name" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumn="rightsName" SourceColumnNullMapping="False" SourceVersion="Current"> + <Parameter 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="@description" Precision="0" ProviderType="Text" Scale="0" Size="2147483647" SourceColumn="rightDescription" SourceColumnNullMapping="False" SourceVersion="Current"> + <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> </InsertCommand> @@ -613,9 +611,9 @@ </Parameter> <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@rightsID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumn="rightsID" SourceColumnNullMapping="False" SourceVersion="Current"> </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@name" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumn="rightsName" SourceColumnNullMapping="False" SourceVersion="Current"> + <Parameter 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="@description" Precision="0" ProviderType="Text" Scale="0" Size="2147483647" SourceColumn="rightDescription" SourceColumnNullMapping="False" SourceVersion="Current"> + <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> @@ -629,6 +627,7 @@ <Mapping SourceColumn="rightsName" DataSetColumn="rightsName" /> <Mapping SourceColumn="rightDescription" DataSetColumn="rightDescription" /> <Mapping SourceColumn="active" DataSetColumn="active" /> + <Mapping SourceColumn="rightsDescription" DataSetColumn="rightsDescription" /> </Mappings> <Sources> </Sources> @@ -642,12 +641,10 @@ <Parameters> <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@name" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumn="roleName" SourceColumnNullMapping="False" SourceVersion="Current"> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@roleName" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumn="roleName" SourceColumnNullMapping="False" SourceVersion="Current"> </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@description" Precision="0" ProviderType="Text" Scale="0" Size="2147483647" SourceColumn="roleDescription" SourceColumnNullMapping="False" SourceVersion="Current"> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@roleDescription" Precision="0" ProviderType="Text" Scale="0" Size="2147483647" SourceColumn="roleDescription" SourceColumnNullMapping="False" SourceVersion="Current"> </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@active" Precision="1" ProviderType="Bit" Scale="0" Size="1" SourceColumn="active" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> </Parameters> </DbCommand> </InsertCommand> @@ -674,9 +671,9 @@ </Parameter> <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@roleID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumn="roleID" SourceColumnNullMapping="False" SourceVersion="Current"> </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@name" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumn="roleName" SourceColumnNullMapping="False" SourceVersion="Current"> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@roleName" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumn="roleName" SourceColumnNullMapping="False" SourceVersion="Current"> </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@description" Precision="0" ProviderType="Text" Scale="0" Size="2147483647" SourceColumn="roleDescription" SourceColumnNullMapping="False" SourceVersion="Current"> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@roleDescription" Precision="0" ProviderType="Text" Scale="0" Size="2147483647" SourceColumn="roleDescription" SourceColumnNullMapping="False" SourceVersion="Current"> </Parameter> <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@active" Precision="1" ProviderType="Bit" Scale="0" Size="1" SourceColumn="active" SourceColumnNullMapping="False" SourceVersion="Current"> </Parameter> @@ -947,172 +944,172 @@ <xs:element name="db_users" msprop:Generator_UserTableName="db_users" msprop:Generator_RowDeletedName="db_usersRowDeleted" msprop:Generator_RowChangedName="db_usersRowChanged" msprop:Generator_RowClassName="db_usersRow" msprop:Generator_RowChangingName="db_usersRowChanging" msprop:Generator_RowEvArgName="db_usersRowChangeEvent" msprop:Generator_RowEvHandlerName="db_usersRowChangeEventHandler" msprop:Generator_TableClassName="db_usersDataTable" msprop:Generator_TableVarName="tabledb_users" msprop:Generator_RowDeletingName="db_usersRowDeleting" msprop:Generator_TablePropName="db_users"> <xs:complexType> <xs:sequence> - <xs:element name="userID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="userID" msprop:Generator_ColumnVarNameInTable="columnuserID" msprop:Generator_ColumnPropNameInRow="userID" msprop:Generator_ColumnPropNameInTable="userIDColumn" type="xs:int" /> - <xs:element name="username" msprop:Generator_UserColumnName="username" msprop:Generator_ColumnVarNameInTable="columnusername" msprop:Generator_ColumnPropNameInRow="username" msprop:Generator_ColumnPropNameInTable="usernameColumn"> + <xs:element name="userID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="userID" msprop:Generator_ColumnPropNameInRow="userID" msprop:Generator_ColumnVarNameInTable="columnuserID" msprop:Generator_ColumnPropNameInTable="userIDColumn" type="xs:int" /> + <xs:element name="username" msprop:Generator_UserColumnName="username" msprop:Generator_ColumnPropNameInRow="username" msprop:Generator_ColumnVarNameInTable="columnusername" msprop:Generator_ColumnPropNameInTable="usernameColumn"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="email" msprop:Generator_UserColumnName="email" msprop:Generator_ColumnVarNameInTable="columnemail" msprop:Generator_ColumnPropNameInRow="email" msprop:Generator_ColumnPropNameInTable="emailColumn"> + <xs:element name="email" msprop:Generator_UserColumnName="email" msprop:Generator_ColumnPropNameInRow="email" msprop:Generator_ColumnVarNameInTable="columnemail" msprop:Generator_ColumnPropNameInTable="emailColumn"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="officePhone" msprop:Generator_UserColumnName="officePhone" msprop:Generator_ColumnVarNameInTable="columnofficePhone" msprop:Generator_ColumnPropNameInRow="officePhone" msprop:Generator_ColumnPropNameInTable="officePhoneColumn" minOccurs="0"> + <xs:element name="officePhone" msprop:Generator_UserColumnName="officePhone" msprop:Generator_ColumnPropNameInRow="officePhone" msprop:Generator_ColumnVarNameInTable="columnofficePhone" msprop:Generator_ColumnPropNameInTable="officePhoneColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="14" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="homePhone" msprop:Generator_UserColumnName="homePhone" msprop:Generator_ColumnVarNameInTable="columnhomePhone" msprop:Generator_ColumnPropNameInRow="homePhone" msprop:Generator_ColumnPropNameInTable="homePhoneColumn" minOccurs="0"> + <xs:element name="homePhone" msprop:Generator_UserColumnName="homePhone" msprop:Generator_ColumnPropNameInRow="homePhone" msprop:Generator_ColumnVarNameInTable="columnhomePhone" msprop:Generator_ColumnPropNameInTable="homePhoneColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="14" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="cellPhone" msprop:Generator_UserColumnName="cellPhone" msprop:Generator_ColumnVarNameInTable="columncellPhone" msprop:Generator_ColumnPropNameInRow="cellPhone" msprop:Generator_ColumnPropNameInTable="cellPhoneColumn" minOccurs="0"> + <xs:element name="cellPhone" msprop:Generator_UserColumnName="cellPhone" msprop:Generator_ColumnPropNameInRow="cellPhone" msprop:Generator_ColumnVarNameInTable="columncellPhone" msprop:Generator_ColumnPropNameInTable="cellPhoneColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="14" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="firstName" msprop:Generator_UserColumnName="firstName" msprop:Generator_ColumnVarNameInTable="columnfirstName" msprop:Generator_ColumnPropNameInRow="firstName" msprop:Generator_ColumnPropNameInTable="firstNameColumn"> + <xs:element name="firstName" msprop:Generator_UserColumnName="firstName" msprop:Generator_ColumnPropNameInRow="firstName" msprop:Generator_ColumnVarNameInTable="columnfirstName" msprop:Generator_ColumnPropNameInTable="firstNameColumn"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="24" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="lastName" msprop:Generator_UserColumnName="lastName" msprop:Generator_ColumnVarNameInTable="columnlastName" msprop:Generator_ColumnPropNameInRow="lastName" msprop:Generator_ColumnPropNameInTable="lastNameColumn"> + <xs:element name="lastName" msprop:Generator_UserColumnName="lastName" msprop:Generator_ColumnPropNameInRow="lastName" msprop:Generator_ColumnVarNameInTable="columnlastName" msprop:Generator_ColumnPropNameInTable="lastNameColumn"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="24" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="fullName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="fullName" msprop:Generator_ColumnVarNameInTable="columnfullName" msprop:Generator_ColumnPropNameInRow="fullName" msprop:Generator_ColumnPropNameInTable="fullNameColumn" minOccurs="0"> + <xs:element name="fullName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="fullName" msprop:Generator_ColumnPropNameInRow="fullName" msprop:Generator_ColumnVarNameInTable="columnfullName" msprop:Generator_ColumnPropNameInTable="fullNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="automation" msprop:Generator_UserColumnName="automation" msprop:Generator_ColumnVarNameInTable="columnautomation" msprop:Generator_ColumnPropNameInRow="automation" msprop:Generator_ColumnPropNameInTable="automationColumn" type="xs:boolean" /> + <xs:element name="automation" msprop:Generator_UserColumnName="automation" msprop:Generator_ColumnPropNameInRow="automation" msprop:Generator_ColumnVarNameInTable="columnautomation" msprop:Generator_ColumnPropNameInTable="automationColumn" type="xs:boolean" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_products" msprop:Generator_UserTableName="db_products" msprop:Generator_RowDeletedName="db_productsRowDeleted" msprop:Generator_RowChangedName="db_productsRowChanged" msprop:Generator_RowClassName="db_productsRow" msprop:Generator_RowChangingName="db_productsRowChanging" msprop:Generator_RowEvArgName="db_productsRowChangeEvent" msprop:Generator_RowEvHandlerName="db_productsRowChangeEventHandler" msprop:Generator_TableClassName="db_productsDataTable" msprop:Generator_TableVarName="tabledb_products" msprop:Generator_RowDeletingName="db_productsRowDeleting" msprop:Generator_TablePropName="db_products"> <xs:complexType> <xs:sequence> - <xs:element name="productID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" /> - <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> + <xs:element name="productID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" /> + <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> + <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="devManager" msprop:Generator_UserColumnName="devManager" msprop:Generator_ColumnVarNameInTable="columndevManager" msprop:Generator_ColumnPropNameInRow="devManager" msprop:Generator_ColumnPropNameInTable="devManagerColumn" type="xs:int" minOccurs="0" /> - <xs:element name="qaManager" msprop:Generator_UserColumnName="qaManager" msprop:Generator_ColumnVarNameInTable="columnqaManager" msprop:Generator_ColumnPropNameInRow="qaManager" msprop:Generator_ColumnPropNameInTable="qaManagerColumn" type="xs:int" minOccurs="0" /> - <xs:element name="devLead" msprop:Generator_UserColumnName="devLead" msprop:Generator_ColumnVarNameInTable="columndevLead" msprop:Generator_ColumnPropNameInRow="devLead" msprop:Generator_ColumnPropNameInTable="devLeadColumn" type="xs:int" minOccurs="0" /> - <xs:element name="qaLead" msprop:Generator_UserColumnName="qaLead" msprop:Generator_ColumnVarNameInTable="columnqaLead" msprop:Generator_ColumnPropNameInRow="qaLead" msprop:Generator_ColumnPropNameInTable="qaLeadColumn" type="xs:int" minOccurs="0" /> - <xs:element name="pm" msprop:Generator_UserColumnName="pm" msprop:Generator_ColumnVarNameInTable="columnpm" msprop:Generator_ColumnPropNameInRow="pm" msprop:Generator_ColumnPropNameInTable="pmColumn" type="xs:int" minOccurs="0" /> - <xs:element name="codeName" msprop:Generator_UserColumnName="codeName" msprop:Generator_ColumnVarNameInTable="columncodeName" msprop:Generator_ColumnPropNameInRow="codeName" msprop:Generator_ColumnPropNameInTable="codeNameColumn" minOccurs="0"> + <xs:element name="devManager" msprop:Generator_UserColumnName="devManager" msprop:Generator_ColumnPropNameInRow="devManager" msprop:Generator_ColumnVarNameInTable="columndevManager" msprop:Generator_ColumnPropNameInTable="devManagerColumn" type="xs:int" minOccurs="0" /> + <xs:element name="qaManager" msprop:Generator_UserColumnName="qaManager" msprop:Generator_ColumnPropNameInRow="qaManager" msprop:Generator_ColumnVarNameInTable="columnqaManager" msprop:Generator_ColumnPropNameInTable="qaManagerColumn" type="xs:int" minOccurs="0" /> + <xs:element name="devLead" msprop:Generator_UserColumnName="devLead" msprop:Generator_ColumnPropNameInRow="devLead" msprop:Generator_ColumnVarNameInTable="columndevLead" msprop:Generator_ColumnPropNameInTable="devLeadColumn" type="xs:int" minOccurs="0" /> + <xs:element name="qaLead" msprop:Generator_UserColumnName="qaLead" msprop:Generator_ColumnPropNameInRow="qaLead" msprop:Generator_ColumnVarNameInTable="columnqaLead" msprop:Generator_ColumnPropNameInTable="qaLeadColumn" type="xs:int" minOccurs="0" /> + <xs:element name="pm" msprop:Generator_UserColumnName="pm" msprop:Generator_ColumnPropNameInRow="pm" msprop:Generator_ColumnVarNameInTable="columnpm" msprop:Generator_ColumnPropNameInTable="pmColumn" type="xs:int" minOccurs="0" /> + <xs:element name="codeName" msprop:Generator_UserColumnName="codeName" msprop:Generator_ColumnPropNameInRow="codeName" msprop:Generator_ColumnVarNameInTable="columncodeName" msprop:Generator_ColumnPropNameInTable="codeNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="10" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> + <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_actionItems" msprop:Generator_UserTableName="db_actionItems" msprop:Generator_RowDeletedName="db_actionItemsRowDeleted" msprop:Generator_RowChangedName="db_actionItemsRowChanged" msprop:Generator_RowClassName="db_actionItemsRow" msprop:Generator_RowChangingName="db_actionItemsRowChanging" msprop:Generator_RowEvArgName="db_actionItemsRowChangeEvent" msprop:Generator_RowEvHandlerName="db_actionItemsRowChangeEventHandler" msprop:Generator_TableClassName="db_actionItemsDataTable" msprop:Generator_TableVarName="tabledb_actionItems" msprop:Generator_RowDeletingName="db_actionItemsRowDeleting" msprop:Generator_TablePropName="db_actionItems"> <xs:complexType> <xs:sequence> - <xs:element name="actionItemID" msprop:Generator_UserColumnName="actionItemID" msprop:Generator_ColumnPropNameInRow="actionItemID" msprop:Generator_ColumnVarNameInTable="columnactionItemID" msprop:Generator_ColumnPropNameInTable="actionItemIDColumn" type="xs:int" /> - <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> + <xs:element name="actionItemID" msprop:Generator_UserColumnName="actionItemID" msprop:Generator_ColumnVarNameInTable="columnactionItemID" msprop:Generator_ColumnPropNameInRow="actionItemID" msprop:Generator_ColumnPropNameInTable="actionItemIDColumn" type="xs:int" /> + <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> + <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="dateAssigned" msprop:Generator_UserColumnName="dateAssigned" msprop:Generator_ColumnPropNameInRow="dateAssigned" msprop:Generator_ColumnVarNameInTable="columndateAssigned" msprop:Generator_ColumnPropNameInTable="dateAssignedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="dateDue" msprop:Generator_UserColumnName="dateDue" msprop:Generator_ColumnPropNameInRow="dateDue" msprop:Generator_ColumnVarNameInTable="columndateDue" msprop:Generator_ColumnPropNameInTable="dateDueColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="percentComplete" msprop:Generator_UserColumnName="percentComplete" msprop:Generator_ColumnPropNameInRow="percentComplete" msprop:Generator_ColumnVarNameInTable="columnpercentComplete" msprop:Generator_ColumnPropNameInTable="percentCompleteColumn" type="xs:int" minOccurs="0" /> - <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> + <xs:element name="dateAssigned" msprop:Generator_UserColumnName="dateAssigned" msprop:Generator_ColumnVarNameInTable="columndateAssigned" msprop:Generator_ColumnPropNameInRow="dateAssigned" msprop:Generator_ColumnPropNameInTable="dateAssignedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="dateDue" msprop:Generator_UserColumnName="dateDue" msprop:Generator_ColumnVarNameInTable="columndateDue" msprop:Generator_ColumnPropNameInRow="dateDue" msprop:Generator_ColumnPropNameInTable="dateDueColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="percentComplete" msprop:Generator_UserColumnName="percentComplete" msprop:Generator_ColumnVarNameInTable="columnpercentComplete" msprop:Generator_ColumnPropNameInRow="percentComplete" msprop:Generator_ColumnPropNameInTable="percentCompleteColumn" type="xs:int" minOccurs="0" /> + <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="createdBy" msdata:ReadOnly="true" msprop:Generator_UserColumnName="createdBy" msprop:Generator_ColumnPropNameInRow="createdBy" msprop:Generator_ColumnVarNameInTable="columncreatedBy" msprop:Generator_ColumnPropNameInTable="createdByColumn" minOccurs="0"> + <xs:element name="createdBy" msdata:ReadOnly="true" msprop:Generator_UserColumnName="createdBy" msprop:Generator_ColumnVarNameInTable="columncreatedBy" msprop:Generator_ColumnPropNameInRow="createdBy" msprop:Generator_ColumnPropNameInTable="createdByColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="highPriority" msprop:Generator_UserColumnName="highPriority" msprop:Generator_ColumnPropNameInRow="highPriority" msprop:Generator_ColumnVarNameInTable="columnhighPriority" msprop:Generator_ColumnPropNameInTable="highPriorityColumn" type="xs:boolean" minOccurs="0" /> - <xs:element name="testPass" msprop:Generator_UserColumnName="testPass" msprop:Generator_ColumnVarNameInTable="columntestPass" msprop:Generator_ColumnPropNameInRow="testPass" msprop:Generator_ColumnPropNameInTable="testPassColumn" minOccurs="0"> + <xs:element name="highPriority" msprop:Generator_UserColumnName="highPriority" msprop:Generator_ColumnVarNameInTable="columnhighPriority" msprop:Generator_ColumnPropNameInRow="highPriority" msprop:Generator_ColumnPropNameInTable="highPriorityColumn" type="xs:boolean" minOccurs="0" /> + <xs:element name="testPass" msprop:Generator_UserColumnName="testPass" msprop:Generator_ColumnPropNameInRow="testPass" msprop:Generator_ColumnVarNameInTable="columntestPass" msprop:Generator_ColumnPropNameInTable="testPassColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="dateFinished" msprop:Generator_UserColumnName="dateFinished" msprop:Generator_ColumnVarNameInTable="columndateFinished" msprop:Generator_ColumnPropNameInRow="dateFinished" msprop:Generator_ColumnPropNameInTable="dateFinishedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="assignedID" msprop:Generator_UserColumnName="assignedID" msprop:Generator_ColumnVarNameInTable="columnassignedID" msprop:Generator_ColumnPropNameInRow="assignedID" msprop:Generator_ColumnPropNameInTable="assignedIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="assigned" msdata:ReadOnly="true" msprop:Generator_UserColumnName="assigned" msprop:Generator_ColumnVarNameInTable="columnassigned" msprop:Generator_ColumnPropNameInRow="assigned" msprop:Generator_ColumnPropNameInTable="assignedColumn" minOccurs="0"> + <xs:element name="dateFinished" msprop:Generator_UserColumnName="dateFinished" msprop:Generator_ColumnPropNameInRow="dateFinished" msprop:Generator_ColumnVarNameInTable="columndateFinished" msprop:Generator_ColumnPropNameInTable="dateFinishedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="assignedID" msprop:Generator_UserColumnName="assignedID" msprop:Generator_ColumnPropNameInRow="assignedID" msprop:Generator_ColumnVarNameInTable="columnassignedID" msprop:Generator_ColumnPropNameInTable="assignedIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="assigned" msdata:ReadOnly="true" msprop:Generator_UserColumnName="assigned" msprop:Generator_ColumnPropNameInRow="assigned" msprop:Generator_ColumnVarNameInTable="columnassigned" msprop:Generator_ColumnPropNameInTable="assignedColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="statusID" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="testPassID" msprop:Generator_UserColumnName="testPassID" msprop:Generator_ColumnPropNameInRow="testPassID" msprop:Generator_ColumnVarNameInTable="columntestPassID" msprop:Generator_ColumnPropNameInTable="testPassIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> - <xs:element name="creatorID" msprop:Generator_UserColumnName="creatorID" msprop:Generator_ColumnPropNameInRow="creatorID" msprop:Generator_ColumnVarNameInTable="columncreatorID" msprop:Generator_ColumnPropNameInTable="creatorIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="statusID" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="testPassID" msprop:Generator_UserColumnName="testPassID" msprop:Generator_ColumnVarNameInTable="columntestPassID" msprop:Generator_ColumnPropNameInRow="testPassID" msprop:Generator_ColumnPropNameInTable="testPassIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> + <xs:element name="creatorID" msprop:Generator_UserColumnName="creatorID" msprop:Generator_ColumnVarNameInTable="columncreatorID" msprop:Generator_ColumnPropNameInRow="creatorID" msprop:Generator_ColumnPropNameInTable="creatorIDColumn" type="xs:int" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_status" msprop:Generator_UserTableName="db_status" msprop:Generator_RowDeletedName="db_statusRowDeleted" msprop:Generator_RowChangedName="db_statusRowChanged" msprop:Generator_RowClassName="db_statusRow" msprop:Generator_RowChangingName="db_statusRowChanging" msprop:Generator_RowEvArgName="db_statusRowChangeEvent" msprop:Generator_RowEvHandlerName="db_statusRowChangeEventHandler" msprop:Generator_TableClassName="db_statusDataTable" msprop:Generator_TableVarName="tabledb_status" msprop:Generator_RowDeletingName="db_statusRowDeleting" msprop:Generator_TablePropName="db_status"> <xs:complexType> <xs:sequence> - <xs:element name="statusID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" /> - <xs:element name="Description" msprop:Generator_UserColumnName="Description" msprop:Generator_ColumnVarNameInTable="columnDescription" msprop:Generator_ColumnPropNameInRow="Description" msprop:Generator_ColumnPropNameInTable="DescriptionColumn" minOccurs="0"> + <xs:element name="statusID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" /> + <xs:element name="Description" msprop:Generator_UserColumnName="Description" msprop:Generator_ColumnPropNameInRow="Description" msprop:Generator_ColumnVarNameInTable="columnDescription" msprop:Generator_ColumnPropNameInTable="DescriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> + <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> @@ -1125,113 +1122,113 @@ <xs:element name="db_notes" msprop:Generator_UserTableName="db_notes" msprop:Generator_RowDeletedName="db_notesRowDeleted" msprop:Generator_RowChangedName="db_notesRowChanged" msprop:Generator_RowClassName="db_notesRow" msprop:Generator_RowChangingName="db_notesRowChanging" msprop:Generator_RowEvArgName="db_notesRowChangeEvent" msprop:Generator_RowEvHandlerName="db_notesRowChangeEventHandler" msprop:Generator_TableClassName="db_notesDataTable" msprop:Generator_TableVarName="tabledb_notes" msprop:Generator_RowDeletingName="db_notesRowDeleting" msprop:Generator_TablePropName="db_notes"> <xs:complexType> <xs:sequence> - <xs:element name="noteID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="noteID" msprop:Generator_ColumnVarNameInTable="columnnoteID" msprop:Generator_ColumnPropNameInRow="noteID" msprop:Generator_ColumnPropNameInTable="noteIDColumn" type="xs:int" /> - <xs:element name="dateCreated" msprop:Generator_UserColumnName="dateCreated" msprop:Generator_ColumnVarNameInTable="columndateCreated" msprop:Generator_ColumnPropNameInRow="dateCreated" msprop:Generator_ColumnPropNameInTable="dateCreatedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="noteField" msprop:Generator_UserColumnName="noteField" msprop:Generator_ColumnVarNameInTable="columnnoteField" msprop:Generator_ColumnPropNameInRow="noteField" msprop:Generator_ColumnPropNameInTable="noteFieldColumn" minOccurs="0"> + <xs:element name="noteID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="noteID" msprop:Generator_ColumnPropNameInRow="noteID" msprop:Generator_ColumnVarNameInTable="columnnoteID" msprop:Generator_ColumnPropNameInTable="noteIDColumn" type="xs:int" /> + <xs:element name="dateCreated" msprop:Generator_UserColumnName="dateCreated" msprop:Generator_ColumnPropNameInRow="dateCreated" msprop:Generator_ColumnVarNameInTable="columndateCreated" msprop:Generator_ColumnPropNameInTable="dateCreatedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="noteField" msprop:Generator_UserColumnName="noteField" msprop:Generator_ColumnPropNameInRow="noteField" msprop:Generator_ColumnVarNameInTable="columnnoteField" msprop:Generator_ColumnPropNameInTable="noteFieldColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="noteAuthor" msprop:Generator_UserColumnName="noteAuthor" msprop:Generator_ColumnVarNameInTable="columnnoteAuthor" msprop:Generator_ColumnPropNameInRow="noteAuthor" msprop:Generator_ColumnPropNameInTable="noteAuthorColumn" type="xs:int" minOccurs="0" /> + <xs:element name="noteAuthor" msprop:Generator_UserColumnName="noteAuthor" msprop:Generator_ColumnPropNameInRow="noteAuthor" msprop:Generator_ColumnVarNameInTable="columnnoteAuthor" msprop:Generator_ColumnPropNameInTable="noteAuthorColumn" type="xs:int" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_assignments" msprop:Generator_UserTableName="db_assignments" msprop:Generator_RowDeletedName="db_assignmentsRowDeleted" msprop:Generator_RowChangedName="db_assignmentsRowChanged" msprop:Generator_RowClassName="db_assignmentsRow" msprop:Generator_RowChangingName="db_assignmentsRowChanging" msprop:Generator_RowEvArgName="db_assignmentsRowChangeEvent" msprop:Generator_RowEvHandlerName="db_assignmentsRowChangeEventHandler" msprop:Generator_TableClassName="db_assignmentsDataTable" msprop:Generator_TableVarName="tabledb_assignments" msprop:Generator_RowDeletingName="db_assignmentsRowDeleting" msprop:Generator_TablePropName="db_assignments"> <xs:complexType> <xs:sequence> - <xs:element name="aType" msdata:ReadOnly="true" msprop:Generator_UserColumnName="aType" msprop:Generator_ColumnVarNameInTable="columnaType" msprop:Generator_ColumnPropNameInRow="aType" msprop:Generator_ColumnPropNameInTable="aTypeColumn" minOccurs="0"> + <xs:element name="aType" msdata:ReadOnly="true" msprop:Generator_UserColumnName="aType" msprop:Generator_ColumnPropNameInRow="aType" msprop:Generator_ColumnVarNameInTable="columnaType" msprop:Generator_ColumnPropNameInTable="aTypeColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="childID" msdata:ReadOnly="true" msprop:Generator_UserColumnName="childID" msprop:Generator_ColumnVarNameInTable="columnchildID" msprop:Generator_ColumnPropNameInRow="childID" msprop:Generator_ColumnPropNameInTable="childIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="creator" msdata:ReadOnly="true" msprop:Generator_UserColumnName="creator" msprop:Generator_ColumnVarNameInTable="columncreator" msprop:Generator_ColumnPropNameInRow="creator" msprop:Generator_ColumnPropNameInTable="creatorColumn" minOccurs="0"> + <xs:element name="childID" msdata:ReadOnly="true" msprop:Generator_UserColumnName="childID" msprop:Generator_ColumnPropNameInRow="childID" msprop:Generator_ColumnVarNameInTable="columnchildID" msprop:Generator_ColumnPropNameInTable="childIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="creator" msdata:ReadOnly="true" msprop:Generator_UserColumnName="creator" msprop:Generator_ColumnPropNameInRow="creator" msprop:Generator_ColumnVarNameInTable="columncreator" msprop:Generator_ColumnPropNameInTable="creatorColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="assigned" msdata:ReadOnly="true" msprop:Generator_UserColumnName="assigned" msprop:Generator_ColumnVarNameInTable="columnassigned" msprop:Generator_ColumnPropNameInRow="assigned" msprop:Generator_ColumnPropNameInTable="assignedColumn" minOccurs="0"> + <xs:element name="assigned" msdata:ReadOnly="true" msprop:Generator_UserColumnName="assigned" msprop:Generator_ColumnPropNameInRow="assigned" msprop:Generator_ColumnVarNameInTable="columnassigned" msprop:Generator_ColumnPropNameInTable="assignedColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="assignedID" msprop:Generator_UserColumnName="assignedID" msprop:Generator_ColumnVarNameInTable="columnassignedID" msprop:Generator_ColumnPropNameInRow="assignedID" msprop:Generator_ColumnPropNameInTable="assignedIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="dateAssigned" msprop:Generator_UserColumnName="dateAssigned" msprop:Generator_ColumnVarNameInTable="columndateAssigned" msprop:Generator_ColumnPropNameInRow="dateAssigned" msprop:Generator_ColumnPropNameInTable="dateAssignedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="dateDue" msprop:Generator_UserColumnName="dateDue" msprop:Generator_ColumnVarNameInTable="columndateDue" msprop:Generator_ColumnPropNameInRow="dateDue" msprop:Generator_ColumnPropNameInTable="dateDueColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="dateFinished" msprop:Generator_UserColumnName="dateFinished" msprop:Generator_ColumnVarNameInTable="columndateFinished" msprop:Generator_ColumnPropNameInRow="dateFinished" msprop:Generator_ColumnPropNameInTable="dateFinishedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="highPriority" msprop:Generator_UserColumnName="highPriority" msprop:Generator_ColumnVarNameInTable="columnhighPriority" msprop:Generator_ColumnPropNameInRow="highPriority" msprop:Generator_ColumnPropNameInTable="highPriorityColumn" type="xs:boolean" minOccurs="0" /> - <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> + <xs:element name="assignedID" msprop:Generator_UserColumnName="assignedID" msprop:Generator_ColumnPropNameInRow="assignedID" msprop:Generator_ColumnVarNameInTable="columnassignedID" msprop:Generator_ColumnPropNameInTable="assignedIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="dateAssigned" msprop:Generator_UserColumnName="dateAssigned" msprop:Generator_ColumnPropNameInRow="dateAssigned" msprop:Generator_ColumnVarNameInTable="columndateAssigned" msprop:Generator_ColumnPropNameInTable="dateAssignedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="dateDue" msprop:Generator_UserColumnName="dateDue" msprop:Generator_ColumnPropNameInRow="dateDue" msprop:Generator_ColumnVarNameInTable="columndateDue" msprop:Generator_ColumnPropNameInTable="dateDueColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="dateFinished" msprop:Generator_UserColumnName="dateFinished" msprop:Generator_ColumnPropNameInRow="dateFinished" msprop:Generator_ColumnVarNameInTable="columndateFinished" msprop:Generator_ColumnPropNameInTable="dateFinishedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="highPriority" msprop:Generator_UserColumnName="highPriority" msprop:Generator_ColumnPropNameInRow="highPriority" msprop:Generator_ColumnVarNameInTable="columnhighPriority" msprop:Generator_ColumnPropNameInTable="highPriorityColumn" type="xs:boolean" minOccurs="0" /> + <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="WOTotalTest" msprop:Generator_UserColumnName="WOTotalTest" msprop:Generator_ColumnVarNameInTable="columnWOTotalTest" msprop:Generator_ColumnPropNameInRow="WOTotalTest" msprop:Generator_ColumnPropNameInTable="WOTotalTestColumn" type="xs:int" minOccurs="0" /> - <xs:element name="WOPassRate" msdata:ReadOnly="true" msprop:Generator_UserColumnName="WOPassRate" msprop:Generator_ColumnVarNameInTable="columnWOPassRate" msprop:Generator_ColumnPropNameInRow="WOPassRate" msprop:Generator_ColumnPropNameInTable="WOPassRateColumn" minOccurs="0"> + <xs:element name="WOTotalTest" msprop:Generator_UserColumnName="WOTotalTest" msprop:Generator_ColumnPropNameInRow="WOTotalTest" msprop:Generator_ColumnVarNameInTable="columnWOTotalTest" msprop:Generator_ColumnPropNameInTable="WOTotalTestColumn" type="xs:int" minOccurs="0" /> + <xs:element name="WOPassRate" msdata:ReadOnly="true" msprop:Generator_UserColumnName="WOPassRate" msprop:Generator_ColumnPropNameInRow="WOPassRate" msprop:Generator_ColumnVarNameInTable="columnWOPassRate" msprop:Generator_ColumnPropNameInTable="WOPassRateColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="31" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="WOPass" msprop:Generator_UserColumnName="WOPass" msprop:Generator_ColumnVarNameInTable="columnWOPass" msprop:Generator_ColumnPropNameInRow="WOPass" msprop:Generator_ColumnPropNameInTable="WOPassColumn" type="xs:int" minOccurs="0" /> - <xs:element name="WOFail" msprop:Generator_UserColumnName="WOFail" msprop:Generator_ColumnVarNameInTable="columnWOFail" msprop:Generator_ColumnPropNameInRow="WOFail" msprop:Generator_ColumnPropNameInTable="WOFailColumn" type="xs:int" minOccurs="0" /> - <xs:element name="WOError" msprop:Generator_UserColumnName="WOError" msprop:Generator_ColumnVarNameInTable="columnWOError" msprop:Generator_ColumnPropNameInRow="WOError" msprop:Generator_ColumnPropNameInTable="WOErrorColumn" type="xs:int" minOccurs="0" /> - <xs:element name="aName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="aName" msprop:Generator_ColumnVarNameInTable="columnaName" msprop:Generator_ColumnPropNameInRow="aName" msprop:Generator_ColumnPropNameInTable="aNameColumn" minOccurs="0"> + <xs:element name="WOPass" msprop:Generator_UserColumnName="WOPass" msprop:Generator_ColumnPropNameInRow="WOPass" msprop:Generator_ColumnVarNameInTable="columnWOPass" msprop:Generator_ColumnPropNameInTable="WOPassColumn" type="xs:int" minOccurs="0" /> + <xs:element name="WOFail" msprop:Generator_UserColumnName="WOFail" msprop:Generator_ColumnPropNameInRow="WOFail" msprop:Generator_ColumnVarNameInTable="columnWOFail" msprop:Generator_ColumnPropNameInTable="WOFailColumn" type="xs:int" minOccurs="0" /> + <xs:element name="WOError" msprop:Generator_UserColumnName="WOError" msprop:Generator_ColumnPropNameInRow="WOError" msprop:Generator_ColumnVarNameInTable="columnWOError" msprop:Generator_ColumnPropNameInTable="WOErrorColumn" type="xs:int" minOccurs="0" /> + <xs:element name="aName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="aName" msprop:Generator_ColumnPropNameInRow="aName" msprop:Generator_ColumnVarNameInTable="columnaName" msprop:Generator_ColumnPropNameInTable="aNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> + <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_testPass" msprop:Generator_UserTableName="db_testPass" msprop:Generator_RowDeletedName="db_testPassRowDeleted" msprop:Generator_RowChangedName="db_testPassRowChanged" msprop:Generator_RowClassName="db_testPassRow" msprop:Generator_RowChangingName="db_testPassRowChanging" msprop:Generator_RowEvArgName="db_testPassRowChangeEvent" msprop:Generator_RowEvHandlerName="db_testPassRowChangeEventHandler" msprop:Generator_TableClassName="db_testPassDataTable" msprop:Generator_TableVarName="tabledb_testPass" msprop:Generator_RowDeletingName="db_testPassRowDeleting" msprop:Generator_TablePropName="db_testPass"> <xs:complexType> <xs:sequence> - <xs:element name="testPassID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="testPassID" msprop:Generator_ColumnPropNameInRow="testPassID" msprop:Generator_ColumnVarNameInTable="columntestPassID" msprop:Generator_ColumnPropNameInTable="testPassIDColumn" type="xs:int" /> - <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> + <xs:element name="testPassID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="testPassID" msprop:Generator_ColumnVarNameInTable="columntestPassID" msprop:Generator_ColumnPropNameInRow="testPassID" msprop:Generator_ColumnPropNameInTable="testPassIDColumn" type="xs:int" /> + <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="versionID" msprop:Generator_UserColumnName="versionID" msprop:Generator_ColumnPropNameInRow="versionID" msprop:Generator_ColumnVarNameInTable="columnversionID" msprop:Generator_ColumnPropNameInTable="versionIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="versionID" msprop:Generator_UserColumnName="versionID" msprop:Generator_ColumnVarNameInTable="columnversionID" msprop:Generator_ColumnPropNameInRow="versionID" msprop:Generator_ColumnPropNameInTable="versionIDColumn" type="xs:int" minOccurs="0" /> </xs:sequence> </xs:complexType> ... [truncated message content] |
From: <m_h...@us...> - 2006-08-01 18:07:00
|
Revision: 252 Author: m_hildebrand Date: 2006-08-01 11:06:53 -0700 (Tue, 01 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=252&view=rev Log Message: ----------- Updated code & schema version to "1.0.0 Alpha 2" Modified Paths: -------------- Website/App_Code/Common.cs Website/TCDB.master Modified: Website/App_Code/Common.cs =================================================================== --- Website/App_Code/Common.cs 2006-08-01 17:32:28 UTC (rev 251) +++ Website/App_Code/Common.cs 2006-08-01 18:06:53 UTC (rev 252) @@ -1263,9 +1263,8 @@ public static int ASSIGNMENT_UNFINISHED = 0; public static int ASSIGNMENT_NEW = 3; - public static string TCDB_VERSION = "1.0.0 Alpha"; + public static string TCDB_VERSION = "1.0.0 Alpha 2"; - public static string RIGHTS_ASSIGNPERMISSION = "assignPermission"; public static string RIGHTS_SITEADMIN = "siteAdmin"; public static string RIGHTS_ASSIGNASSIGNMENT = "assignAssignment"; Modified: Website/TCDB.master =================================================================== --- Website/TCDB.master 2006-08-01 17:32:28 UTC (rev 251) +++ Website/TCDB.master 2006-08-01 18:06:53 UTC (rev 252) @@ -93,7 +93,7 @@ <% } %> </form> <% } else { %> - Unable to load TCDB. Code version [<%= Constants.TCDB_VERSION %>] does not equal schema version [<%= ConfigDB.GetConfigString("tcdb_version") %>. + <div class="motd"><span>Unable to load TCDB. Code version [<%= Constants.TCDB_VERSION %>] does not equal schema version [<%= ConfigDB.GetConfigString("tcdb_version") %>].</span></div> <% } %> <br /><br /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <m_h...@us...> - 2006-08-01 17:32:33
|
Revision: 251 Author: m_hildebrand Date: 2006-08-01 10:32:28 -0700 (Tue, 01 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=251&view=rev Log Message: ----------- Added message of the day feature, eventually I would like this to be able to have product-specific messages Modified Paths: -------------- Website/App_Code/Common.cs Website/App_Themes/Python/python.css Website/TCDB.master Modified: Website/App_Code/Common.cs =================================================================== --- Website/App_Code/Common.cs 2006-08-01 17:15:42 UTC (rev 250) +++ Website/App_Code/Common.cs 2006-08-01 17:32:28 UTC (rev 251) @@ -1072,6 +1072,45 @@ return value; } + public static int GetConfigID(int userID, String name) + { + int id = -1; + + 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()) + { + id = Help.DB_IntParse(dr["id"]); + } + + return id; + } + + public static void DeleteConfig(int userID, String name) + { + + try + { + int id = GetConfigID(userID, name); + DeleteConfig(id); + } + catch { } + } + + 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); + } + public static void SaveConfigString(int userID, String name, String value) { tcdbDataSetTableAdapters.db_configTableAdapter configAdapter = new tcdbDataSetTableAdapters.db_configTableAdapter(); Modified: Website/App_Themes/Python/python.css =================================================================== --- Website/App_Themes/Python/python.css 2006-08-01 17:15:42 UTC (rev 250) +++ Website/App_Themes/Python/python.css 2006-08-01 17:32:28 UTC (rev 251) @@ -154,7 +154,21 @@ z-index: -10; } +.motd +{ + margin: 10px 0 0 10px; + text-align: center; +} +.motd SPAN +{ + color: Red; + background-color: Yellow; + border: red; + padding: 3px 4px 3px 4px; + border: solid 1px red; +} + /********** END Global Classes **********/ /********** BEGIN Calendar Classes **********/ Modified: Website/TCDB.master =================================================================== --- Website/TCDB.master 2006-08-01 17:15:42 UTC (rev 250) +++ Website/TCDB.master 2006-08-01 17:32:28 UTC (rev 251) @@ -20,11 +20,24 @@ <div id="NonFooter"> <% if (ConfigDB.GetConfigString("tcdb_version").Equals(Constants.TCDB_VERSION)) { + try + { + string motd = ConfigDB.GetConfigString(Constants.ANONYMOUSUSERID, "site_motd"); + if (motd.Length > 0) + { + motdLabel.Text = motd; + motdLabel.Enabled = true; + motdLabel.Visible = true; + } + } + catch { } %> <form id="Form1" runat="server"> <div id="HeaderContent"> <TCDB:Header runat="server" ID="Header" /> </div> + <div class="motd"><asp:Label ID="motdLabel" runat="server" Visible="false" Enabled="false"></asp:Label></div> + <% if (m_user.ISAUTHENTICATED) { @@ -38,6 +51,26 @@ </asp:ContentPlaceHolder> </td> <td id="MainContent"> + <% + + + try + { + string error = ConfigDB.GetConfigString(m_user.ID, "error"); + if (error.Length > 0) + { + errorLabel.Text = error; + errorLabel.Enabled = true; + errorLabel.Visible = true; + + ConfigDB.DeleteConfig(m_user.ID, "error"); + } + } + catch { } + + + %> + <asp:Label ID="errorLabel" runat="server" CssClass="error" Visible="false"></asp:Label> <asp:ContentPlaceHolder ID="MainContentPlaceHolder" runat="server"> </asp:ContentPlaceHolder> </td> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2006-08-01 17:15:50
|
Revision: 250 Author: rouquin Date: 2006-08-01 10:15:42 -0700 (Tue, 01 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=250&view=rev Log Message: ----------- Added some rights to the user settings/preferences pages. Modified Paths: -------------- Design/Rights.txt Website/Includes/AssignmentsTree.ascx.cs Website/Includes/Header_User.ascx Website/Includes/UserConfig.ascx.cs Website/Includes/UserSettings.ascx Website/Includes/UserSettings.ascx.cs Modified: Design/Rights.txt =================================================================== --- Design/Rights.txt 2006-08-01 16:00:31 UTC (rev 249) +++ Design/Rights.txt 2006-08-01 17:15:42 UTC (rev 250) @@ -56,6 +56,19 @@ delete_user (not self) +User Preferences +----------------- +view_my_preferences +edit_my_preferences + +Roles +------ +view_my_roles +view_other_roles + +edit_my_roles +edit_other_roles + Administration --------------- view_admin @@ -76,7 +89,11 @@ create_my_wo edit_my_settings +view_my_roles +view_my_preferences +edit_my_preferences + Action Item Creator ------------------- view_my_created_ai Modified: Website/Includes/AssignmentsTree.ascx.cs =================================================================== --- Website/Includes/AssignmentsTree.ascx.cs 2006-08-01 16:00:31 UTC (rev 249) +++ Website/Includes/AssignmentsTree.ascx.cs 2006-08-01 17:15:42 UTC (rev 250) @@ -101,7 +101,7 @@ TreeNode node = AssignmentTree.SelectedNode; node.Selected = false; - if (AssignmentTree.ShowExpandCollapse == false) + /*if (AssignmentTree.ShowExpandCollapse == false) { if (node.Expanded == true) node.Collapse(); @@ -109,7 +109,7 @@ node.Expand(); } else - { + {*/ switch (node.Depth) { case 0: @@ -124,7 +124,7 @@ default: break; } - } + // } } protected void AssignmentTree_TreeNodePopulate(object sender, TreeNodeEventArgs e) { @@ -156,6 +156,9 @@ foreach (tcdbDataSet.db_productsRow row in pTable) { + if (row.name == "Site" && !m_user.HasRight("view_admin")) + continue; + TreeNode child = new TreeNode(); child.Text = row.name; child.Value = row.productID.ToString(); Modified: Website/Includes/Header_User.ascx =================================================================== --- Website/Includes/Header_User.ascx 2006-08-01 16:00:31 UTC (rev 249) +++ Website/Includes/Header_User.ascx 2006-08-01 17:15:42 UTC (rev 250) @@ -1,8 +1,12 @@ <%@ Control Language="C#" AutoEventWireup="true" CodeFile="Header_User.ascx.cs" Inherits="Header_User" %> <%@ Import Namespace="TCDB.Common" %> -Welcome <div class="username"><%= m_user.FIRSTNAME %> <%= m_user.LASTNAME %></div> (<asp:LoginStatus ID="LoginStatus" runat="server" OnLoggingOut="LoginStatus_LoggingOut" CssClass="username" />) | <a +Welcome <div class="username"><%= m_user.FIRSTNAME %> <%= m_user.LASTNAME %></div> (<asp:LoginStatus ID="LoginStatus" runat="server" OnLoggingOut="LoginStatus_LoggingOut" CssClass="username" />) +<% if (m_user.HasRight("view_my_settings", Constants.PRODUCT_ANYID)) + { %> + | <a href="UserSettings.aspx?mode=read&<%= Constants.CODE_USER %>=<%= m_user.ID %>" >Settings</a> +<% }%> <% if (m_user.HasRight("view_admin", Constants.PRODUCT_ANYID)) { %> | <a href="Administration.aspx">Admin</a> Modified: Website/Includes/UserConfig.ascx.cs =================================================================== --- Website/Includes/UserConfig.ascx.cs 2006-08-01 16:00:31 UTC (rev 249) +++ Website/Includes/UserConfig.ascx.cs 2006-08-01 17:15:42 UTC (rev 250) @@ -26,12 +26,16 @@ { if (!m_user.ISAUTHENTICATED) { return; } + if (!m_user.HasRight("view_my_preferences", Constants.PRODUCT_ANYID)) + Response.Redirect("~/UserSettings.aspx?" + Constants.CODE_USER + "=" + m_user.ID); + m_logg.Debug("Loading page UserConfig"); if (userID == 0) { m_logg.Debug("Unable to locate user ID in query string. Default to current user"); userID = m_user.ID; } + bool enabled = m_user.HasRight("edit_my_preferences", Constants.PRODUCT_ANYID); Dictionary<String, List<Config>> settings = ConfigDB.GetUserSettings(); @@ -84,6 +88,7 @@ valueBox.Text = m_user.GetConfigString(setting.KEY); valueBox.Width = 500; valueBox.TextChanged += new EventHandler(textboxChanged); + valueBox.Enabled = enabled; Controls.Add(valueBox); } else if (setting.TYPE == "bool") @@ -92,6 +97,7 @@ valueBox.ID = setting.KEY; valueBox.Checked = m_user.GetConfigBool(setting.KEY); valueBox.CheckedChanged += new EventHandler(checkboxChanged); + valueBox.Enabled = enabled; Controls.Add(valueBox); } else if (setting.TYPE == "dropdown") @@ -104,6 +110,7 @@ valueList.SelectedValue = m_user.GetConfigString(setting.KEY); } valueList.SelectedIndexChanged += new EventHandler(dropdownChanged); + valueList.Enabled = enabled; Controls.Add(valueList); } else if (setting.TYPE == "textarea") @@ -115,6 +122,7 @@ valueBox.Width = 500; valueBox.Height = 150; valueBox.TextChanged += new EventHandler(textboxChanged); + valueBox.Enabled = enabled; Controls.Add(valueBox); } else if (setting.TYPE == "label") @@ -133,18 +141,21 @@ dateType.ID = setting.KEY; dateType.Items.Add("Absolute"); dateType.Items.Add("Relative"); + dateType.Enabled = enabled; // Absolute Date CalendarPopup absDate = new CalendarPopup(); absDate.ID = setting.KEY + "_abs"; absDate.ShowGoToToday = true; absDate.DateChanged += new EventHandler(absoluteDateChanged); + absDate.Enabled = enabled; // Relative Date TextBox relDate = new TextBox(); relDate.ID = setting.KEY + "_rel"; relDate.Text = "0"; relDate.TextChanged += new EventHandler(relativeDateChanged); + relDate.Enabled = enabled; if (dateString.StartsWith("r: ")){ dateType.SelectedValue = "Relative"; Modified: Website/Includes/UserSettings.ascx =================================================================== --- Website/Includes/UserSettings.ascx 2006-08-01 16:00:31 UTC (rev 249) +++ Website/Includes/UserSettings.ascx 2006-08-01 17:15:42 UTC (rev 250) @@ -90,9 +90,9 @@ <div class="left"> <asp:LinkButton ID="New" runat="server" CommandName="New" OnLoad="newButton_Load">New</asp:LinkButton><asp:Label runat="server" ID="newLabel" OnLoad="newLabel_Load"> | </asp:Label> - <asp:LinkButton ID="Edit" runat="server" CommandName="Edit">Edit User</asp:LinkButton> - <!-- ***NONPRODUCTION*** | - <asp:LinkButton ID="editConfig" runat="server" CommandName="editConfig" OnCommand="editConfig">Preferences</asp:LinkButton> --> + <asp:LinkButton ID="Edit" runat="server" CommandName="Edit" OnInit="Edit_Init">Edit User</asp:LinkButton> + | + <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> @@ -172,7 +172,7 @@ <div class="item"><label>Roles:</label></div> <div class="item"> <asp:TreeView ID="roleTree" runat="server" OnInit="roleTreeEdit_Init" OnTreeNodePopulate="roleTree_TreeNodePopulate" - ShowCheckBoxes="All" OnSelectedNodeChanged="roleTree_SelectedNodeChanged" ShowExpandCollapse="false"> + ShowCheckBoxes="All" OnSelectedNodeChanged="roleTree_SelectedNodeChanged" ShowExpandCollapse="false" OnTreeNodeCheckChanged="roleTree_TreeNodeCheckChanged"> <Nodes> <asp:TreeNode Text="" Value="Roles" PopulateOnDemand="True" ShowCheckBox="false" /> Modified: Website/Includes/UserSettings.ascx.cs =================================================================== --- Website/Includes/UserSettings.ascx.cs 2006-08-01 16:00:31 UTC (rev 249) +++ Website/Includes/UserSettings.ascx.cs 2006-08-01 17:15:42 UTC (rev 250) @@ -16,8 +16,6 @@ using AD_Auth; using log4net; -// TODO: Enable Roles and user configuration settings page - public partial class UserSettings : SiteUserControl { private static ILog m_logg = LogManager.GetLogger("Page:UserSettings"); @@ -28,6 +26,8 @@ protected void Page_Load(object sender, EventArgs e) { 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) @@ -38,7 +38,7 @@ Session.Add("userID", userID); Session.Add("tableName", "tcdb_user"); - if (mode == "new") + if (mode == "new" && m_user.HasRight("create_user",Constants.PRODUCT_ANYID)) UserSettingsView.ChangeMode(FormViewMode.Insert); } @@ -114,6 +114,24 @@ protected void updateRoles() { + 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); + + // Update roles + foreach (String product in ProductRoles.Keys) + { + int productID = Convert.ToInt32(product); + + foreach (String role in ProductRoles[product]) + { + int roleID = Convert.ToInt32(role); + + rupAdapter.ins_userRoleProduct(userID, roleID, productID); + } + } } protected void SyncWithAD(object sender, CommandEventArgs e) @@ -202,57 +220,13 @@ protected void roleTreeView_Init(object sender, EventArgs e) { Literal roleTree = (Literal)sender; - roleTree.ID = "roleTree"; - roleTree.Text = "<ul>\n"; - // Initialize Product Roles - if (Session["ProductRoles"] == null) - Session.Add("ProductRoles", new Dictionary<String, ArrayList>()); - Dictionary<String, ArrayList> ProductRoles = (Dictionary<String, ArrayList>)Session["ProductRoles"]; - ProductRoles.Clear(); - - // Get products - tcdbDataSetTableAdapters.db_productsTableAdapter pAdapter = new tcdbDataSetTableAdapters.db_productsTableAdapter(); - tcdbDataSet.db_productsDataTable pTable = pAdapter.GetData(null, null); - - foreach (tcdbDataSet.db_productsRow pRow in pTable) + if (m_user.HasRight("view_my_roles", Constants.PRODUCT_ANYID)) { - // Get Roles - tcdbDataSetTableAdapters.db_roleUserProductTableAdapter rupAdapter = new tcdbDataSetTableAdapters.db_roleUserProductTableAdapter(); - tcdbDataSet.db_roleUserProductDataTable rupTable = rupAdapter.GetData(userID, pRow.productID, true); - ArrayList roles = new ArrayList(); + roleTree.Visible = true; + roleTree.ID = "roleTree"; + roleTree.Text = "<ul>\n"; - foreach (tcdbDataSet.db_roleUserProductRow rupRow in rupTable) - roles.Add(rupRow.roleName); - - if (roles.Count > 0) - ProductRoles[pRow.name] = roles; - } - - // Setup list - foreach (String product in ProductRoles.Keys) - { - roleTree.Text += "\t<li><strong>" + product + "</strong>\n"; - roleTree.Text += "\t\t<ul>\n"; - - foreach (String role in ProductRoles[product]) - roleTree.Text += "\t\t\t<li>" + role + "</li>\n"; - - roleTree.Text += "\t\t</ul>\n"; - roleTree.Text += "\t</li>\n"; - } - - roleTree.Text += "</ul>\n"; - } - - protected void roleTreeEdit_Init(object sender, EventArgs e) - { - TreeView roleTree = (TreeView)sender; - - // Only display the rights tree if the user has permissions to access this - if (m_user.HasRight(Constants.RIGHTS_ASSIGNPERMISSION) || m_user.HasRight(Constants.RIGHTS_SITEADMIN)) - { - roleTree.Visible = true; // Initialize Product Roles if (Session["ProductRoles"] == null) Session.Add("ProductRoles", new Dictionary<String, ArrayList>()); @@ -271,15 +245,65 @@ ArrayList roles = new ArrayList(); foreach (tcdbDataSet.db_roleUserProductRow rupRow in rupTable) - roles.Add(rupRow.roleID.ToString()); + roles.Add(rupRow.roleName); if (roles.Count > 0) - ProductRoles[pRow.productID.ToString()] = roles; + ProductRoles[pRow.name] = roles; } + + // Setup list + foreach (String product in ProductRoles.Keys) + { + roleTree.Text += "\t<li><strong>" + product + "</strong>\n"; + roleTree.Text += "\t\t<ul>\n"; + + foreach (String role in ProductRoles[product]) + roleTree.Text += "\t\t\t<li>" + role + "</li>\n"; + + roleTree.Text += "\t\t</ul>\n"; + roleTree.Text += "\t</li>\n"; + } + + roleTree.Text += "</ul>\n"; } else + roleTree.Visible = false; + + } + + protected void roleTreeEdit_Init(object sender, EventArgs e) + { + TreeView roleTree = (TreeView)sender; + + // Only display the rights tree if the user has permissions to access this + if (!m_user.HasRight("view_my_roles", Constants.PRODUCT_ANYID)) + roleTree.Visible = false; + + if (!m_user.HasRight("edit_my_roles", Constants.PRODUCT_ANYID)) + roleTree.Enabled = false; + + // Initialize Product Roles + if (Session["ProductRoles"] == null) + Session.Add("ProductRoles", new Dictionary<String, ArrayList>()); + Dictionary<String, ArrayList> ProductRoles = (Dictionary<String, ArrayList>)Session["ProductRoles"]; + ProductRoles.Clear(); + + // Get products + tcdbDataSetTableAdapters.db_productsTableAdapter pAdapter = new tcdbDataSetTableAdapters.db_productsTableAdapter(); + tcdbDataSet.db_productsDataTable pTable = pAdapter.GetData(null, null); + + foreach (tcdbDataSet.db_productsRow pRow in pTable) { - roleTree.Visible = false; + // Get Roles + tcdbDataSetTableAdapters.db_roleUserProductTableAdapter rupAdapter = new tcdbDataSetTableAdapters.db_roleUserProductTableAdapter(); + tcdbDataSet.db_roleUserProductDataTable rupTable = rupAdapter.GetData(userID, pRow.productID, true); + ArrayList roles = new ArrayList(); + + foreach (tcdbDataSet.db_roleUserProductRow rupRow in rupTable) + roles.Add(rupRow.roleID.ToString()); + + if (roles.Count > 0) + ProductRoles[pRow.productID.ToString()] = roles; } } @@ -392,4 +416,17 @@ roleTree_TreeNodeCheckChanged(child, new TreeNodeEventArgs(child)); } } + protected void Edit_Init(object sender, EventArgs e) + { + LinkButton editBtn = (LinkButton) sender; + if (!m_user.HasRight("edit_my_settings", Constants.PRODUCT_ANYID)) + editBtn.Visible = false; + } + protected void editConfig_Init(object sender, EventArgs e) + { + LinkButton editConfigBtn = (LinkButton) sender; + + if (!m_user.HasRight("view_my_preferences", Constants.PRODUCT_ANYID)) + editConfigBtn.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-01 16:00:35
|
Revision: 249 Author: rouquin Date: 2006-08-01 09:00:31 -0700 (Tue, 01 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=249&view=rev Log Message: ----------- Minor update to add new users to default roles. Basic user/Admin. Modified Paths: -------------- Website/App_Code/Users.cs Modified: Website/App_Code/Users.cs =================================================================== --- Website/App_Code/Users.cs 2006-08-01 15:51:43 UTC (rev 248) +++ Website/App_Code/Users.cs 2006-08-01 16:00:31 UTC (rev 249) @@ -458,6 +458,12 @@ public void AddRole(String role, int productID) { // Insert user role Product + tcdbDataSetTableAdapters.db_roleUserProductTableAdapter rupAdapter = new tcdbDataSetTableAdapters.db_roleUserProductTableAdapter(); + tcdbDataSetTableAdapters.db_roleTableAdapter rAdapter = new tcdbDataSetTableAdapters.db_roleTableAdapter(); + tcdbDataSet.db_roleDataTable rTable = rAdapter.GetData(null, role, true); + + if (rTable.Count > 0) + rupAdapter.ins_userRoleProduct(p_id, rTable[0].roleID, productID); } public List<Assignment> GetAssignments(bool reload, int statusFilter) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2006-08-01 15:51:54
|
Revision: 248 Author: rouquin Date: 2006-08-01 08:51:43 -0700 (Tue, 01 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=248&view=rev Log Message: ----------- Got rid of extra filtering on assignments (it was calling the filter/databind 3 times every load. Cut it down to once). Also, updated the row count function for determining if there are rows displayed. Also updated Roles/Rights pages for new queries, but the insert/delete queries don't work for me. Modified Paths: -------------- Website/AdminRole.aspx Website/App_Code/Right.cs Website/App_Code/tcdbDataSet.xsd Website/App_Code/tcdbDataSet.xss Website/Includes/Assignments.ascx Website/Includes/Assignments.ascx.cs Website/Includes/Header_User.ascx Website/Includes/Rights.ascx Website/Includes/Rights.ascx.cs Website/Includes/Roles.ascx.cs Modified: Website/AdminRole.aspx =================================================================== --- Website/AdminRole.aspx 2006-07-31 21:46:44 UTC (rev 247) +++ Website/AdminRole.aspx 2006-08-01 15:51:43 UTC (rev 248) @@ -11,8 +11,13 @@ } protected void addRole(object sender, CommandEventArgs e) { - Response.Redirect("Role.aspx?mode=new&" + Constants.CODE_PRODUCT + "=" + product+"&"+Constants.CODE_ROLE+"="+roleList.SelectedValue); + Response.Redirect("Role.aspx?mode=edit&" + Constants.CODE_PRODUCT + "=" + product + "&" + Constants.CODE_ROLE + "=" + roleList.SelectedValue); } + + protected void newRole(object sender, CommandEventArgs e) + { + Response.Redirect("Role.aspx?mode=new&" + Constants.CODE_PRODUCT + "=" + product); + } </script> <asp:Content ID="TreeContent" ContentPlaceHolderID="TreeContentPlaceHolder" runat="Server"> @@ -32,8 +37,9 @@ <asp:Parameter DefaultValue="true" Name="active" Type="Boolean" /> </SelectParameters> </asp:ObjectDataSource> - <asp:LinkButton ID="addRoleBtn" runat="server" CommandName="addRole" OnCommand="addRole">Add User Role</asp:LinkButton> - <br /> + <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">New User Role</asp:LinkButton><br /> </td> </tr> </table> Modified: Website/App_Code/Right.cs =================================================================== --- Website/App_Code/Right.cs 2006-07-31 21:46:44 UTC (rev 247) +++ Website/App_Code/Right.cs 2006-08-01 15:51:43 UTC (rev 248) @@ -74,11 +74,11 @@ public static List<String> TCDB_GetUserRights(int productID, int userID) { - tcdbDataSetTableAdapters.sel_userRightsTableAdapter userRightsAdapter = new tcdbDataSetTableAdapters.sel_userRightsTableAdapter(); - tcdbDataSet.sel_userRightsDataTable userRightsTable = userRightsAdapter.GetData(userID,productID,null,null,true); + tcdbDataSetTableAdapters.db_userRightsTableAdapter userRightsAdapter = new tcdbDataSetTableAdapters.db_userRightsTableAdapter(); + tcdbDataSet.db_userRightsDataTable userRightsTable = userRightsAdapter.GetData(userID,productID,null,null,true); List<String> rightsList = new List<String>(); - foreach (tcdbDataSet.sel_userRightsRow row in userRightsTable) + foreach (tcdbDataSet.db_userRightsRow row in userRightsTable) rightsList.Add(row.rightsName); return rightsList; @@ -86,12 +86,12 @@ public static Right TCDB_GetUserRight(int productID, int userID, String rightsName) { - tcdbDataSetTableAdapters.sel_userRightsTableAdapter userRightsAdapter = new tcdbDataSetTableAdapters.sel_userRightsTableAdapter(); - tcdbDataSet.sel_userRightsDataTable userRightsTable = userRightsAdapter.GetData(userID, productID, null, rightsName, true); + tcdbDataSetTableAdapters.db_userRightsTableAdapter userRightsAdapter = new tcdbDataSetTableAdapters.db_userRightsTableAdapter(); + tcdbDataSet.db_userRightsDataTable userRightsTable = userRightsAdapter.GetData(userID, productID, null, rightsName, true); if (userRightsTable.Count > 0) { - tcdbDataSet.sel_userRightsRow row = userRightsTable[0]; + tcdbDataSet.db_userRightsRow row = userRightsTable[0]; return new Right(row.rightsID, row.rightsName, row.rightDescription); } Modified: Website/App_Code/tcdbDataSet.xsd =================================================================== --- Website/App_Code/tcdbDataSet.xsd 2006-07-31 21:46:44 UTC (rev 247) +++ Website/App_Code/tcdbDataSet.xsd 2006-08-01 15:51:43 UTC (rev 248) @@ -777,26 +777,49 @@ <Mapping SourceColumn="productName" DataSetColumn="productName" /> </Mappings> <Sources> - </Sources> - </TableAdapter> - <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="db_roleRightTableAdapter" GeneratorDataComponentClassName="db_roleRightTableAdapter" Name="db_roleRight" UserDataComponentName="db_roleRightTableAdapter"> - <MainSource> - <DbSource ConnectionRef="tcdbConnectionString (Web.config)" DbObjectName="tcdb.dbo.sel_roleRight" DbObjectType="StoredProcedure" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="False" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="False" UserGetMethodName="GetData" UserSourceName="Fill"> - <InsertCommand> + <DbSource ConnectionRef="tcdbConnectionString (Web.config)" DbObjectName="tcdb.dbo.ins_userRoleProduct" DbObjectType="StoredProcedure" GenerateShortCommands="True" GeneratorSourceName="ins_userRoleProduct" Modifier="Public" Name="ins_userRoleProduct" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="True" UserGetMethodName="GetDataBy" UserSourceName="ins_userRoleProduct"> + <SelectCommand> <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> - <CommandText>dbo.ins_roleRight</CommandText> + <CommandText>dbo.ins_userRoleProduct</CommandText> <Parameters> <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@roleID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumn="roleID" SourceColumnNullMapping="False" SourceVersion="Current"> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@userID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@rightsID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumn="rightsID" SourceColumnNullMapping="False" SourceVersion="Current"> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@roleID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@productID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> </Parameters> </DbCommand> - </InsertCommand> + </SelectCommand> + </DbSource> + <DbSource ConnectionRef="tcdbConnectionString (Web.config)" DbObjectName="tcdb.dbo.upd_userRoleProduct" DbObjectType="StoredProcedure" GenerateShortCommands="True" GeneratorSourceName="upd_userRoleProduct" Modifier="Public" Name="upd_userRoleProduct" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="True" UserGetMethodName="GetDataBy1" UserSourceName="upd_userRoleProduct"> <SelectCommand> <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> + <CommandText>dbo.upd_userRoleProduct</CommandText> + <Parameters> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@userID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@roleID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@productID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@active" Precision="1" ProviderType="Bit" Scale="0" Size="1" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + </Parameters> + </DbCommand> + </SelectCommand> + </DbSource> + </Sources> + </TableAdapter> + <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="db_roleRightTableAdapter" GeneratorDataComponentClassName="db_roleRightTableAdapter" Name="db_roleRight" UserDataComponentName="db_roleRightTableAdapter"> + <MainSource> + <DbSource ConnectionRef="tcdbConnectionString (Web.config)" DbObjectName="tcdb.dbo.sel_roleRight" DbObjectType="StoredProcedure" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="False" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="False" UserGetMethodName="GetData" UserSourceName="Fill"> + <SelectCommand> + <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> <CommandText>dbo.sel_roleRight</CommandText> <Parameters> <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> @@ -817,9 +840,39 @@ <Mapping SourceColumn="active" DataSetColumn="active" /> </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"> + <SelectCommand> + <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> + <CommandText>dbo.del_roleRight</CommandText> + <Parameters> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@roleID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@rightID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + </Parameters> + </DbCommand> + </SelectCommand> + </DbSource> + <DbSource ConnectionRef="tcdbConnectionString (Web.config)" DbObjectName="tcdb.dbo.ins_roleRight" DbObjectType="StoredProcedure" GenerateShortCommands="True" GeneratorSourceName="InsertRoleRights" Modifier="Public" Name="InsertRoleRights" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="True" UserGetMethodName="GetDataBy1" UserSourceName="InsertRoleRights"> + <SelectCommand> + <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> + <CommandText>dbo.ins_roleRight</CommandText> + <Parameters> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@roleID" Precision="10" ProviderType="Int" Scale="0" Size="4" 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> + </Parameters> + </DbCommand> + </SelectCommand> + </DbSource> </Sources> </TableAdapter> - <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="sel_userRightsTableAdapter" GeneratorDataComponentClassName="sel_userRightsTableAdapter" Name="sel_userRights" UserDataComponentName="sel_userRightsTableAdapter"> + <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="db_userRightsTableAdapter" GeneratorDataComponentClassName="db_userRightsTableAdapter" Name="db_userRights" UserDataComponentName="db_userRightsTableAdapter"> <MainSource> <DbSource ConnectionRef="tcdbConnectionString (Web.config)" DbObjectName="tcdb.dbo.sel_userRights" DbObjectType="StoredProcedure" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="False" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="False" UserGetMethodName="GetData" UserSourceName="Fill"> <SelectCommand> @@ -855,6 +908,33 @@ <Sources> </Sources> </TableAdapter> + <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="db_rightRoleTableAdapter" GeneratorDataComponentClassName="db_rightRoleTableAdapter" Name="db_rightRole" UserDataComponentName="db_rightRoleTableAdapter"> + <MainSource> + <DbSource ConnectionRef="tcdbConnectionString (Web.config)" DbObjectName="tcdb.dbo.sel_rightRole" DbObjectType="StoredProcedure" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="False" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="False" UserGetMethodName="GetData" UserSourceName="Fill"> + <SelectCommand> + <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> + <CommandText>dbo.sel_rightRole</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="@rightID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@active" Precision="1" ProviderType="Bit" Scale="0" Size="1" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + </Parameters> + </DbCommand> + </SelectCommand> + </DbSource> + </MainSource> + <Mappings> + <Mapping SourceColumn="rightID" DataSetColumn="rightID" /> + <Mapping SourceColumn="roleID" DataSetColumn="roleID" /> + <Mapping SourceColumn="roleName" DataSetColumn="roleName" /> + <Mapping SourceColumn="active" DataSetColumn="active" /> + </Mappings> + <Sources> + </Sources> + </TableAdapter> </Tables> <Sources> </Sources> @@ -867,172 +947,172 @@ <xs:element name="db_users" msprop:Generator_UserTableName="db_users" msprop:Generator_RowDeletedName="db_usersRowDeleted" msprop:Generator_RowChangedName="db_usersRowChanged" msprop:Generator_RowClassName="db_usersRow" msprop:Generator_RowChangingName="db_usersRowChanging" msprop:Generator_RowEvArgName="db_usersRowChangeEvent" msprop:Generator_RowEvHandlerName="db_usersRowChangeEventHandler" msprop:Generator_TableClassName="db_usersDataTable" msprop:Generator_TableVarName="tabledb_users" msprop:Generator_RowDeletingName="db_usersRowDeleting" msprop:Generator_TablePropName="db_users"> <xs:complexType> <xs:sequence> - <xs:element name="userID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="userID" msprop:Generator_ColumnPropNameInRow="userID" msprop:Generator_ColumnVarNameInTable="columnuserID" msprop:Generator_ColumnPropNameInTable="userIDColumn" type="xs:int" /> - <xs:element name="username" msprop:Generator_UserColumnName="username" msprop:Generator_ColumnPropNameInRow="username" msprop:Generator_ColumnVarNameInTable="columnusername" msprop:Generator_ColumnPropNameInTable="usernameColumn"> + <xs:element name="userID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="userID" msprop:Generator_ColumnVarNameInTable="columnuserID" msprop:Generator_ColumnPropNameInRow="userID" msprop:Generator_ColumnPropNameInTable="userIDColumn" type="xs:int" /> + <xs:element name="username" msprop:Generator_UserColumnName="username" msprop:Generator_ColumnVarNameInTable="columnusername" msprop:Generator_ColumnPropNameInRow="username" msprop:Generator_ColumnPropNameInTable="usernameColumn"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="email" msprop:Generator_UserColumnName="email" msprop:Generator_ColumnPropNameInRow="email" msprop:Generator_ColumnVarNameInTable="columnemail" msprop:Generator_ColumnPropNameInTable="emailColumn"> + <xs:element name="email" msprop:Generator_UserColumnName="email" msprop:Generator_ColumnVarNameInTable="columnemail" msprop:Generator_ColumnPropNameInRow="email" msprop:Generator_ColumnPropNameInTable="emailColumn"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="officePhone" msprop:Generator_UserColumnName="officePhone" msprop:Generator_ColumnPropNameInRow="officePhone" msprop:Generator_ColumnVarNameInTable="columnofficePhone" msprop:Generator_ColumnPropNameInTable="officePhoneColumn" minOccurs="0"> + <xs:element name="officePhone" msprop:Generator_UserColumnName="officePhone" msprop:Generator_ColumnVarNameInTable="columnofficePhone" msprop:Generator_ColumnPropNameInRow="officePhone" msprop:Generator_ColumnPropNameInTable="officePhoneColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="14" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="homePhone" msprop:Generator_UserColumnName="homePhone" msprop:Generator_ColumnPropNameInRow="homePhone" msprop:Generator_ColumnVarNameInTable="columnhomePhone" msprop:Generator_ColumnPropNameInTable="homePhoneColumn" minOccurs="0"> + <xs:element name="homePhone" msprop:Generator_UserColumnName="homePhone" msprop:Generator_ColumnVarNameInTable="columnhomePhone" msprop:Generator_ColumnPropNameInRow="homePhone" msprop:Generator_ColumnPropNameInTable="homePhoneColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="14" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="cellPhone" msprop:Generator_UserColumnName="cellPhone" msprop:Generator_ColumnPropNameInRow="cellPhone" msprop:Generator_ColumnVarNameInTable="columncellPhone" msprop:Generator_ColumnPropNameInTable="cellPhoneColumn" minOccurs="0"> + <xs:element name="cellPhone" msprop:Generator_UserColumnName="cellPhone" msprop:Generator_ColumnVarNameInTable="columncellPhone" msprop:Generator_ColumnPropNameInRow="cellPhone" msprop:Generator_ColumnPropNameInTable="cellPhoneColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="14" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="firstName" msprop:Generator_UserColumnName="firstName" msprop:Generator_ColumnPropNameInRow="firstName" msprop:Generator_ColumnVarNameInTable="columnfirstName" msprop:Generator_ColumnPropNameInTable="firstNameColumn"> + <xs:element name="firstName" msprop:Generator_UserColumnName="firstName" msprop:Generator_ColumnVarNameInTable="columnfirstName" msprop:Generator_ColumnPropNameInRow="firstName" msprop:Generator_ColumnPropNameInTable="firstNameColumn"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="24" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="lastName" msprop:Generator_UserColumnName="lastName" msprop:Generator_ColumnPropNameInRow="lastName" msprop:Generator_ColumnVarNameInTable="columnlastName" msprop:Generator_ColumnPropNameInTable="lastNameColumn"> + <xs:element name="lastName" msprop:Generator_UserColumnName="lastName" msprop:Generator_ColumnVarNameInTable="columnlastName" msprop:Generator_ColumnPropNameInRow="lastName" msprop:Generator_ColumnPropNameInTable="lastNameColumn"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="24" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="fullName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="fullName" msprop:Generator_ColumnPropNameInRow="fullName" msprop:Generator_ColumnVarNameInTable="columnfullName" msprop:Generator_ColumnPropNameInTable="fullNameColumn" minOccurs="0"> + <xs:element name="fullName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="fullName" msprop:Generator_ColumnVarNameInTable="columnfullName" msprop:Generator_ColumnPropNameInRow="fullName" msprop:Generator_ColumnPropNameInTable="fullNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="automation" msprop:Generator_UserColumnName="automation" msprop:Generator_ColumnPropNameInRow="automation" msprop:Generator_ColumnVarNameInTable="columnautomation" msprop:Generator_ColumnPropNameInTable="automationColumn" type="xs:boolean" /> + <xs:element name="automation" msprop:Generator_UserColumnName="automation" msprop:Generator_ColumnVarNameInTable="columnautomation" msprop:Generator_ColumnPropNameInRow="automation" msprop:Generator_ColumnPropNameInTable="automationColumn" type="xs:boolean" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_products" msprop:Generator_UserTableName="db_products" msprop:Generator_RowDeletedName="db_productsRowDeleted" msprop:Generator_RowChangedName="db_productsRowChanged" msprop:Generator_RowClassName="db_productsRow" msprop:Generator_RowChangingName="db_productsRowChanging" msprop:Generator_RowEvArgName="db_productsRowChangeEvent" msprop:Generator_RowEvHandlerName="db_productsRowChangeEventHandler" msprop:Generator_TableClassName="db_productsDataTable" msprop:Generator_TableVarName="tabledb_products" msprop:Generator_RowDeletingName="db_productsRowDeleting" msprop:Generator_TablePropName="db_products"> <xs:complexType> <xs:sequence> - <xs:element name="productID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" /> - <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> + <xs:element name="productID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" /> + <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> + <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="devManager" msprop:Generator_UserColumnName="devManager" msprop:Generator_ColumnPropNameInRow="devManager" msprop:Generator_ColumnVarNameInTable="columndevManager" msprop:Generator_ColumnPropNameInTable="devManagerColumn" type="xs:int" minOccurs="0" /> - <xs:element name="qaManager" msprop:Generator_UserColumnName="qaManager" msprop:Generator_ColumnPropNameInRow="qaManager" msprop:Generator_ColumnVarNameInTable="columnqaManager" msprop:Generator_ColumnPropNameInTable="qaManagerColumn" type="xs:int" minOccurs="0" /> - <xs:element name="devLead" msprop:Generator_UserColumnName="devLead" msprop:Generator_ColumnPropNameInRow="devLead" msprop:Generator_ColumnVarNameInTable="columndevLead" msprop:Generator_ColumnPropNameInTable="devLeadColumn" type="xs:int" minOccurs="0" /> - <xs:element name="qaLead" msprop:Generator_UserColumnName="qaLead" msprop:Generator_ColumnPropNameInRow="qaLead" msprop:Generator_ColumnVarNameInTable="columnqaLead" msprop:Generator_ColumnPropNameInTable="qaLeadColumn" type="xs:int" minOccurs="0" /> - <xs:element name="pm" msprop:Generator_UserColumnName="pm" msprop:Generator_ColumnPropNameInRow="pm" msprop:Generator_ColumnVarNameInTable="columnpm" msprop:Generator_ColumnPropNameInTable="pmColumn" type="xs:int" minOccurs="0" /> - <xs:element name="codeName" msprop:Generator_UserColumnName="codeName" msprop:Generator_ColumnPropNameInRow="codeName" msprop:Generator_ColumnVarNameInTable="columncodeName" msprop:Generator_ColumnPropNameInTable="codeNameColumn" minOccurs="0"> + <xs:element name="devManager" msprop:Generator_UserColumnName="devManager" msprop:Generator_ColumnVarNameInTable="columndevManager" msprop:Generator_ColumnPropNameInRow="devManager" msprop:Generator_ColumnPropNameInTable="devManagerColumn" type="xs:int" minOccurs="0" /> + <xs:element name="qaManager" msprop:Generator_UserColumnName="qaManager" msprop:Generator_ColumnVarNameInTable="columnqaManager" msprop:Generator_ColumnPropNameInRow="qaManager" msprop:Generator_ColumnPropNameInTable="qaManagerColumn" type="xs:int" minOccurs="0" /> + <xs:element name="devLead" msprop:Generator_UserColumnName="devLead" msprop:Generator_ColumnVarNameInTable="columndevLead" msprop:Generator_ColumnPropNameInRow="devLead" msprop:Generator_ColumnPropNameInTable="devLeadColumn" type="xs:int" minOccurs="0" /> + <xs:element name="qaLead" msprop:Generator_UserColumnName="qaLead" msprop:Generator_ColumnVarNameInTable="columnqaLead" msprop:Generator_ColumnPropNameInRow="qaLead" msprop:Generator_ColumnPropNameInTable="qaLeadColumn" type="xs:int" minOccurs="0" /> + <xs:element name="pm" msprop:Generator_UserColumnName="pm" msprop:Generator_ColumnVarNameInTable="columnpm" msprop:Generator_ColumnPropNameInRow="pm" msprop:Generator_ColumnPropNameInTable="pmColumn" type="xs:int" minOccurs="0" /> + <xs:element name="codeName" msprop:Generator_UserColumnName="codeName" msprop:Generator_ColumnVarNameInTable="columncodeName" msprop:Generator_ColumnPropNameInRow="codeName" msprop:Generator_ColumnPropNameInTable="codeNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="10" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> + <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_actionItems" msprop:Generator_UserTableName="db_actionItems" msprop:Generator_RowDeletedName="db_actionItemsRowDeleted" msprop:Generator_RowChangedName="db_actionItemsRowChanged" msprop:Generator_RowClassName="db_actionItemsRow" msprop:Generator_RowChangingName="db_actionItemsRowChanging" msprop:Generator_RowEvArgName="db_actionItemsRowChangeEvent" msprop:Generator_RowEvHandlerName="db_actionItemsRowChangeEventHandler" msprop:Generator_TableClassName="db_actionItemsDataTable" msprop:Generator_TableVarName="tabledb_actionItems" msprop:Generator_RowDeletingName="db_actionItemsRowDeleting" msprop:Generator_TablePropName="db_actionItems"> <xs:complexType> <xs:sequence> - <xs:element name="actionItemID" msprop:Generator_UserColumnName="actionItemID" msprop:Generator_ColumnVarNameInTable="columnactionItemID" msprop:Generator_ColumnPropNameInRow="actionItemID" msprop:Generator_ColumnPropNameInTable="actionItemIDColumn" type="xs:int" /> - <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> + <xs:element name="actionItemID" msprop:Generator_UserColumnName="actionItemID" msprop:Generator_ColumnPropNameInRow="actionItemID" msprop:Generator_ColumnVarNameInTable="columnactionItemID" msprop:Generator_ColumnPropNameInTable="actionItemIDColumn" type="xs:int" /> + <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> + <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="dateAssigned" msprop:Generator_UserColumnName="dateAssigned" msprop:Generator_ColumnVarNameInTable="columndateAssigned" msprop:Generator_ColumnPropNameInRow="dateAssigned" msprop:Generator_ColumnPropNameInTable="dateAssignedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="dateDue" msprop:Generator_UserColumnName="dateDue" msprop:Generator_ColumnVarNameInTable="columndateDue" msprop:Generator_ColumnPropNameInRow="dateDue" msprop:Generator_ColumnPropNameInTable="dateDueColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="percentComplete" msprop:Generator_UserColumnName="percentComplete" msprop:Generator_ColumnVarNameInTable="columnpercentComplete" msprop:Generator_ColumnPropNameInRow="percentComplete" msprop:Generator_ColumnPropNameInTable="percentCompleteColumn" type="xs:int" minOccurs="0" /> - <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> + <xs:element name="dateAssigned" msprop:Generator_UserColumnName="dateAssigned" msprop:Generator_ColumnPropNameInRow="dateAssigned" msprop:Generator_ColumnVarNameInTable="columndateAssigned" msprop:Generator_ColumnPropNameInTable="dateAssignedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="dateDue" msprop:Generator_UserColumnName="dateDue" msprop:Generator_ColumnPropNameInRow="dateDue" msprop:Generator_ColumnVarNameInTable="columndateDue" msprop:Generator_ColumnPropNameInTable="dateDueColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="percentComplete" msprop:Generator_UserColumnName="percentComplete" msprop:Generator_ColumnPropNameInRow="percentComplete" msprop:Generator_ColumnVarNameInTable="columnpercentComplete" msprop:Generator_ColumnPropNameInTable="percentCompleteColumn" type="xs:int" minOccurs="0" /> + <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="createdBy" msdata:ReadOnly="true" msprop:Generator_UserColumnName="createdBy" msprop:Generator_ColumnVarNameInTable="columncreatedBy" msprop:Generator_ColumnPropNameInRow="createdBy" msprop:Generator_ColumnPropNameInTable="createdByColumn" minOccurs="0"> + <xs:element name="createdBy" msdata:ReadOnly="true" msprop:Generator_UserColumnName="createdBy" msprop:Generator_ColumnPropNameInRow="createdBy" msprop:Generator_ColumnVarNameInTable="columncreatedBy" msprop:Generator_ColumnPropNameInTable="createdByColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="highPriority" msprop:Generator_UserColumnName="highPriority" msprop:Generator_ColumnVarNameInTable="columnhighPriority" msprop:Generator_ColumnPropNameInRow="highPriority" msprop:Generator_ColumnPropNameInTable="highPriorityColumn" type="xs:boolean" minOccurs="0" /> - <xs:element name="testPass" msprop:Generator_UserColumnName="testPass" msprop:Generator_ColumnPropNameInRow="testPass" msprop:Generator_ColumnVarNameInTable="columntestPass" msprop:Generator_ColumnPropNameInTable="testPassColumn" minOccurs="0"> + <xs:element name="highPriority" msprop:Generator_UserColumnName="highPriority" msprop:Generator_ColumnPropNameInRow="highPriority" msprop:Generator_ColumnVarNameInTable="columnhighPriority" msprop:Generator_ColumnPropNameInTable="highPriorityColumn" type="xs:boolean" minOccurs="0" /> + <xs:element name="testPass" msprop:Generator_UserColumnName="testPass" msprop:Generator_ColumnVarNameInTable="columntestPass" msprop:Generator_ColumnPropNameInRow="testPass" msprop:Generator_ColumnPropNameInTable="testPassColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="dateFinished" msprop:Generator_UserColumnName="dateFinished" msprop:Generator_ColumnPropNameInRow="dateFinished" msprop:Generator_ColumnVarNameInTable="columndateFinished" msprop:Generator_ColumnPropNameInTable="dateFinishedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="assignedID" msprop:Generator_UserColumnName="assignedID" msprop:Generator_ColumnPropNameInRow="assignedID" msprop:Generator_ColumnVarNameInTable="columnassignedID" msprop:Generator_ColumnPropNameInTable="assignedIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="assigned" msdata:ReadOnly="true" msprop:Generator_UserColumnName="assigned" msprop:Generator_ColumnPropNameInRow="assigned" msprop:Generator_ColumnVarNameInTable="columnassigned" msprop:Generator_ColumnPropNameInTable="assignedColumn" minOccurs="0"> + <xs:element name="dateFinished" msprop:Generator_UserColumnName="dateFinished" msprop:Generator_ColumnVarNameInTable="columndateFinished" msprop:Generator_ColumnPropNameInRow="dateFinished" msprop:Generator_ColumnPropNameInTable="dateFinishedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="assignedID" msprop:Generator_UserColumnName="assignedID" msprop:Generator_ColumnVarNameInTable="columnassignedID" msprop:Generator_ColumnPropNameInRow="assignedID" msprop:Generator_ColumnPropNameInTable="assignedIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="assigned" msdata:ReadOnly="true" msprop:Generator_UserColumnName="assigned" msprop:Generator_ColumnVarNameInTable="columnassigned" msprop:Generator_ColumnPropNameInRow="assigned" msprop:Generator_ColumnPropNameInTable="assignedColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="statusID" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="testPassID" msprop:Generator_UserColumnName="testPassID" msprop:Generator_ColumnVarNameInTable="columntestPassID" msprop:Generator_ColumnPropNameInRow="testPassID" msprop:Generator_ColumnPropNameInTable="testPassIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> - <xs:element name="creatorID" msprop:Generator_UserColumnName="creatorID" msprop:Generator_ColumnVarNameInTable="columncreatorID" msprop:Generator_ColumnPropNameInRow="creatorID" msprop:Generator_ColumnPropNameInTable="creatorIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="statusID" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="testPassID" msprop:Generator_UserColumnName="testPassID" msprop:Generator_ColumnPropNameInRow="testPassID" msprop:Generator_ColumnVarNameInTable="columntestPassID" msprop:Generator_ColumnPropNameInTable="testPassIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> + <xs:element name="creatorID" msprop:Generator_UserColumnName="creatorID" msprop:Generator_ColumnPropNameInRow="creatorID" msprop:Generator_ColumnVarNameInTable="columncreatorID" msprop:Generator_ColumnPropNameInTable="creatorIDColumn" type="xs:int" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_status" msprop:Generator_UserTableName="db_status" msprop:Generator_RowDeletedName="db_statusRowDeleted" msprop:Generator_RowChangedName="db_statusRowChanged" msprop:Generator_RowClassName="db_statusRow" msprop:Generator_RowChangingName="db_statusRowChanging" msprop:Generator_RowEvArgName="db_statusRowChangeEvent" msprop:Generator_RowEvHandlerName="db_statusRowChangeEventHandler" msprop:Generator_TableClassName="db_statusDataTable" msprop:Generator_TableVarName="tabledb_status" msprop:Generator_RowDeletingName="db_statusRowDeleting" msprop:Generator_TablePropName="db_status"> <xs:complexType> <xs:sequence> - <xs:element name="statusID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" /> - <xs:element name="Description" msprop:Generator_UserColumnName="Description" msprop:Generator_ColumnPropNameInRow="Description" msprop:Generator_ColumnVarNameInTable="columnDescription" msprop:Generator_ColumnPropNameInTable="DescriptionColumn" minOccurs="0"> + <xs:element name="statusID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" /> + <xs:element name="Description" msprop:Generator_UserColumnName="Description" msprop:Generator_ColumnVarNameInTable="columnDescription" msprop:Generator_ColumnPropNameInRow="Description" msprop:Generator_ColumnPropNameInTable="DescriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> + <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> @@ -1045,113 +1125,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_Colum... [truncated message content] |
From: <ro...@us...> - 2006-07-31 21:46:49
|
Revision: 247 Author: rouquin Date: 2006-07-31 14:46:44 -0700 (Mon, 31 Jul 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=247&view=rev Log Message: ----------- Added rights to the ActionItems page. I'd still like to filter the assignedTo list, but that'll wait for another day. Modified Paths: -------------- Website/Includes/ActionItems.ascx Website/Includes/ActionItems.ascx.cs Website/Includes/Assignments.ascx Website/Includes/Assignments.ascx.cs Website/Includes/AssignmentsTree.ascx.cs Modified: Website/Includes/ActionItems.ascx =================================================================== --- Website/Includes/ActionItems.ascx 2006-07-31 21:10:19 UTC (rev 246) +++ Website/Includes/ActionItems.ascx 2006-07-31 21:46:44 UTC (rev 247) @@ -31,14 +31,14 @@ <label> Status:</label><asp:DropDownList ID="statusList" runat="server" AutoPostBack="True" OnSelectedIndexChanged="statusChanged" DataSourceID="StatusDataSource" DataTextField="statusName" - DataValueField="statusID" AppendDataBoundItems="True" SelectedValue='<%# Bind("statusID") %>'> + DataValueField="statusID" AppendDataBoundItems="True" SelectedValue='<%# Bind("statusID") %>' OnInit="statusList_Init"> </asp:DropDownList> </div> <div class="buttons"> <label> % Complete:</label><asp:RadioButtonList ID="percentList" runat="server" RepeatDirection="Horizontal" AutoPostBack="True" OnSelectedIndexChanged="percentChanged" SelectedValue='<%# Bind("percentComplete") %>' - CssClass="buttons"> + CssClass="buttons" OnInit="percentList_Init"> <asp:ListItem>0</asp:ListItem> <asp:ListItem>25</asp:ListItem> <asp:ListItem>50</asp:ListItem> @@ -100,9 +100,9 @@ <div class="left"> <div class="bottom"> <asp:LinkButton ID="NewButton" runat="server" CausesValidation="False" CommandName="New" - Text="New" /> | <asp:LinkButton ID="EditButton" runat="server" CausesValidation="False" - CommandName="Edit" Text="Edit" /> | <asp:LinkButton ID="DeleteButton" runat="server" - CausesValidation="False" CommandName="deleteItem" Text="Delete" OnCommand="deleteItem" /> + Text="New" OnInit="NewButton_Init" /> | <asp:LinkButton ID="EditButton" runat="server" CausesValidation="False" + CommandName="Edit" Text="Edit" OnInit="EditButton_Init" /> | <asp:LinkButton ID="DeleteButton" runat="server" + CausesValidation="False" CommandName="deleteItem" Text="Delete" OnCommand="deleteItem" OnInit="DeleteButton_Init" /> </div> </div> <div class="right"> @@ -170,7 +170,7 @@ Finished:</label><div class="calendar"><ew:CalendarPopup ID="dateFinished" runat="server" PopupLocation="Left" ShowClearDate="true" ShowGoToToday="True" NullableLabelText="Select a date" ControlDisplay="LabelImage" ImageUrl="../App_Themes/Python/Images/calendar.gif" Nullable="True" OnDateChanged="dateFinished_DateChanged" - SelectedDate="" UpperBoundDate="12/31/9999 23:59:59" VisibleDate="" AutoPostBack="True"> + SelectedDate="" UpperBoundDate="12/31/9999 23:59:59" VisibleDate="" AutoPostBack="True" OnInit="dateFinished_Init"> </ew:CalendarPopup></div> </div> </div> @@ -206,7 +206,7 @@ <div class="item"> <label> Assigned To:</label><asp:DropDownList ID="assignedTo" runat="server" DataSourceID="UserDataSource" - DataTextField="fullName" DataValueField="userID" SelectedValue='<%# Bind("assignedID") %>'> + DataTextField="fullName" DataValueField="userID" SelectedValue='<%# Bind("assignedID") %>' OnDataBound="assignedTo_DataBound"> </asp:DropDownList> </div> </div> @@ -288,7 +288,7 @@ <label> Assigned To:</label><asp:DropDownList ID="assignedTo" runat="server" DataSourceID="UserDataSource" DataTextField="fullName" DataValueField="userID" AppendDataBoundItems="True" - SelectedValue='<%# Bind("assignedID") %>'> + SelectedValue='<%# Bind("assignedID") %>' OnDataBound="assignedTo_DataBound"> </asp:DropDownList></div> </div> <div class="end"> Modified: Website/Includes/ActionItems.ascx.cs =================================================================== --- Website/Includes/ActionItems.ascx.cs 2006-07-31 21:10:19 UTC (rev 246) +++ Website/Includes/ActionItems.ascx.cs 2006-07-31 21:46:44 UTC (rev 247) @@ -20,28 +20,43 @@ public partial class ActionItems : SiteUserControl { private static ILog m_logg = LogManager.GetLogger("Page:ActionItems"); - private int item_id = Convert.ToInt32(HttpContext.Current.Request.QueryString[Constants.CODE_AI]); + 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) { if (!m_user.ISAUTHENTICATED) { return; } + if (productID == 0) + productID = Constants.PRODUCT_SITEID; m_logg.Debug("Loading page ActionItems"); - if (item_id == 0) + if (item_id == null) { m_logg.Debug("Unable to locate action item ID in query string"); - if (mode == null) + 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)); + 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"); - if (mode == "new") + if (mode == "new" && (m_user.HasRight("create_my_ai") || m_user.HasRight("create_other_ai"))) ActionItemsView.ChangeMode(FormViewMode.Insert); } @@ -51,6 +66,7 @@ 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) { @@ -68,13 +84,13 @@ // Update Database tcdbDataSetTableAdapters.db_actionItemsTableAdapter aiAdapter = new tcdbDataSetTableAdapters.db_actionItemsTableAdapter(); - aiAdapter.upd_actionItemStatus(item_id, Convert.ToInt32(statusList.SelectedValue), Convert.ToInt32(percentList.SelectedValue), date); + 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(item_id, m_user); + ActionItemDB.SendUpdatedActionItemMail(id, m_user); else - ActionItemDB.SendCompletedActionItemMail(item_id, m_user); + ActionItemDB.SendCompletedActionItemMail(id, m_user); } @@ -263,7 +279,7 @@ protected void deleteItem(object sender, CommandEventArgs e) { tcdbDataSetTableAdapters.db_actionItemsTableAdapter aiAdapter = new tcdbDataSetTableAdapters.db_actionItemsTableAdapter(); - aiAdapter.Delete(item_id, 0); + aiAdapter.Delete(Convert.ToInt32(item_id), 0); Response.Redirect("Assignments.aspx?" + Constants.CODE_USER + "=" + m_user.ID); } @@ -277,7 +293,7 @@ true); if (aiTable.Count > 0) { - int id = Convert.ToInt32(aiTable[aiTable.Count - 1]["childID"]); + int id = aiTable[aiTable.Count - 1].childID; m_logg.Info("Action Item #" + id + "Created"); //set the content' @@ -298,4 +314,69 @@ updateStatus(); Response.Redirect("ActionItem.aspx?" + Constants.CODE_AI + "=" + item_id.ToString()); } + protected void statusList_Init(object sender, EventArgs e) + { + DropDownList statusList = (DropDownList)sender; + + if (ai != null && + (!m_user.HasRight("status_other_ai", productID) && + !(ai.ASSIGNED.ID == m_user.ID && m_user.HasRight("status_my_ai", productID)) && + !(ai.CREATOR.ID == m_user.ID && m_user.HasRight("status_created_ai", productID)))) + statusList.Enabled = false; + } + protected void percentList_Init(object sender, EventArgs e) + { + RadioButtonList percentList = (RadioButtonList) sender; + + if (ai != null && + (!m_user.HasRight("status_other_ai", productID) && + !(ai.ASSIGNED.ID == m_user.ID && m_user.HasRight("status_my_ai", productID)) && + !(ai.CREATOR.ID == m_user.ID && m_user.HasRight("status_created_ai", productID)))) + percentList.Enabled = false; + } + protected void dateFinished_Init(object sender, EventArgs e) + { + CalendarPopup dateFinished = (CalendarPopup) sender; + + if (ai != null && + (!m_user.HasRight("status_other_ai", productID) && + !(ai.ASSIGNED.ID == m_user.ID && m_user.HasRight("status_my_ai", productID)) && + !(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; + + if (ai != null && + !m_user.HasRight("create_my_ai", Constants.PRODUCT_ANYID) && !m_user.HasRight("create_other_ai", Constants.PRODUCT_ANYID)) + newBtn.Visible = false; + } + protected void EditButton_Init(object sender, EventArgs e) + { + LinkButton editBtn = (LinkButton)sender; + + if (ai != null && + !m_user.HasRight("edit_other_ai", productID) && + !(ai.ASSIGNED.ID == m_user.ID && m_user.HasRight("edit_my_ai", productID)) && + !(ai.CREATOR.ID == m_user.ID && m_user.HasRight("edit_created_ai", productID))) + editBtn.Visible = false; + } + protected void DeleteButton_Init(object sender, EventArgs e) + { + LinkButton deleteBtn = (LinkButton)sender; + + if (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))) + deleteBtn.Visible = false; + } } Modified: Website/Includes/Assignments.ascx =================================================================== --- Website/Includes/Assignments.ascx 2006-07-31 21:10:19 UTC (rev 246) +++ Website/Includes/Assignments.ascx 2006-07-31 21:46:44 UTC (rev 247) @@ -22,7 +22,7 @@ </div> <div class="right"> <div class="buttons"> - <asp:LinkButton ID="newActionItem" runat="server" PostBackUrl="~/ActionItem.aspx?mode=new">New Action Item</asp:LinkButton> + <asp:LinkButton ID="newActionItem" runat="server" PostBackUrl="~/ActionItem.aspx?mode=new" OnInit="newActionItem_Init">New Action Item</asp:LinkButton> <!-- <asp:LinkButton ID="newWorkOrder" runat="server" PostBackUrl="~/WorkOrder.aspx?mode=new">New Work Order</asp:LinkButton> --> </div> Modified: Website/Includes/Assignments.ascx.cs =================================================================== --- Website/Includes/Assignments.ascx.cs 2006-07-31 21:10:19 UTC (rev 246) +++ Website/Includes/Assignments.ascx.cs 2006-07-31 21:46:44 UTC (rev 247) @@ -150,7 +150,7 @@ !(ai.CREATOR.ID == m_user.ID && m_user.HasRight("view_created_ai",productID)))) gRow.Visible = false; - gRow.Cells[1].Text = "<a href=\"ActionItem.aspx?" + Constants.CODE_AI + "=" + cid + "\">" + displayName + "</a>"; + gRow.Cells[1].Text = "<a href=\"ActionItem.aspx?"+Constants.CODE_PRODUCT+"="+productID+"&" + Constants.CODE_AI + "=" + cid + "\">" + displayName + "</a>"; } else if (type == Constants.CODE_WO) { @@ -162,7 +162,7 @@ !(wo.CREATOR.ID == m_user.ID && m_user.HasRight("view_created_wo",productID)))) gRow.Visible = false; - gRow.Cells[1].Text = "<a href=\"WorkOrder.aspx?" + Constants.CODE_WO + "=" + cid + "\">" + name + "</a>"; + gRow.Cells[1].Text = "<a href=\"WorkOrder.aspx?" + Constants.CODE_PRODUCT + "=" + productID + "&" + Constants.CODE_WO + "=" + cid + "\">" + name + "</a>"; } else { @@ -517,4 +517,11 @@ if (!IsPostBack) cboPriorityFilter.Checked = m_user.GetConfigBool("filter_enable_priority_filter"); } + protected void newActionItem_Init(object sender, EventArgs e) + { + LinkButton newAI = (LinkButton)sender; + + if (!m_user.HasRight("create_my_ai", Constants.PRODUCT_ANYID) && !m_user.HasRight("create_other_ai", Constants.PRODUCT_ANYID)) + newAI.Visible = false; + } } Modified: Website/Includes/AssignmentsTree.ascx.cs =================================================================== --- Website/Includes/AssignmentsTree.ascx.cs 2006-07-31 21:10:19 UTC (rev 246) +++ Website/Includes/AssignmentsTree.ascx.cs 2006-07-31 21:46:44 UTC (rev 247) @@ -195,8 +195,13 @@ if (statusComplete.Checked) status = Constants.ASSIGNMENT_FINISHEDANDUNFINISHED; + int lastID = -1; foreach (tcdbDataSet.db_roleProductUserRow row in rpuTable) { + if (row.userID == lastID) + continue; + else + lastID = row.userID; User u = UserDB.GetUserInfo(row.userID); if (u.GetAssignments(true, status).Count == 0) continue; @@ -250,7 +255,7 @@ ((a.ACTIONITEM.CREATOR.ID == m_user.ID) && m_user.HasRight("view_created_ai", productID))) { child.Value = a.ACTIONITEM.ID.ToString(); - child.NavigateUrl = "~/ActionItem.aspx?" + Constants.CODE_AI + "=" + child.Value; + child.NavigateUrl = "~/ActionItem.aspx?" + Constants.CODE_PRODUCT + "=" + productID + "&" + Constants.CODE_AI + "=" + child.Value; } else continue; } @@ -261,7 +266,7 @@ ((a.WORKORDER.CREATOR.ID == m_user.ID) && m_user.HasRight("view_created_ai", productID))) { child.Value = a.WORKORDER.ID.ToString(); - child.NavigateUrl = "~/WorkOrder.aspx?" + Constants.CODE_WO + "=" + child.Value; + child.NavigateUrl = "~/WorkOrder.aspx?"+Constants.CODE_PRODUCT+"="+productID+"&" + Constants.CODE_WO + "=" + child.Value; } else continue; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <m_h...@us...> - 2006-07-31 21:10:27
|
Revision: 246 Author: m_hildebrand Date: 2006-07-31 14:10:19 -0700 (Mon, 31 Jul 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=246&view=rev Log Message: ----------- More pretty icons Modified Paths: -------------- Website/Administration.aspx Website/App_Themes/Python/Python.skin Website/App_Themes/Python/python.css Added Paths: ----------- Website/App_Themes/Python/Images/user_role_48.png Modified: Website/Administration.aspx =================================================================== --- Website/Administration.aspx 2006-07-31 20:39:34 UTC (rev 245) +++ Website/Administration.aspx 2006-07-31 21:10:19 UTC (rev 246) @@ -9,7 +9,15 @@ <tr> <td align="center" valign="middle"> <!-- ***NONPRODUCTION***<asp:LinkButton ID="newProduct" runat="server" PostBackUrl="~/Product.aspx?mode=new">New Product</asp:LinkButton> --> - <div class="button"><asp:LinkButton ID="newUser" runat="server" PostBackUrl="~/UserSettings.aspx?mode=new"><asp:Image runat="server" SkinID="newUserImage" AlternateText="New User" />New User</asp:LinkButton></div></td> + <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?p=1"> + <asp:Image ID="userRoleIcon" runat="server" SkinID="userRoleImage" AlternateText="User Roles" />User + Roles</asp:LinkButton></div> + </td> </tr> </table> </asp:Content> Added: Website/App_Themes/Python/Images/user_role_48.png =================================================================== (Binary files differ) Property changes on: Website/App_Themes/Python/Images/user_role_48.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: Website/App_Themes/Python/Python.skin =================================================================== --- Website/App_Themes/Python/Python.skin 2006-07-31 20:39:34 UTC (rev 245) +++ Website/App_Themes/Python/Python.skin 2006-07-31 21:10:19 UTC (rev 246) @@ -22,6 +22,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="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-07-31 20:39:34 UTC (rev 245) +++ Website/App_Themes/Python/python.css 2006-07-31 21:10:19 UTC (rev 246) @@ -124,12 +124,34 @@ .button { display: inline; + position: relative; + top: 15px; + left: -20px; } +.button LABEL +{ + position: relative; + left: -30px; + top: 3px; + text-decoration: none; +} + +.button A +{ + text-decoration: none; + font-weight: bold; +} + + .button IMG { - display: block; + /*display: block;*/ border: none; + position: relative; + left: 30px; + top: -3px; + z-index: -10; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <m_h...@us...> - 2006-07-31 20:39:42
|
Revision: 245 Author: m_hildebrand Date: 2006-07-31 13:39:34 -0700 (Mon, 31 Jul 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=245&view=rev Log Message: ----------- Fixed a transparency in IE problem and resized the icon Modified Paths: -------------- Website/App_Themes/Python/Python.skin Added Paths: ----------- Website/App_Themes/Python/Images/user_add_48.png Removed Paths: ------------- Website/App_Themes/Python/Images/user_add_32.png Deleted: Website/App_Themes/Python/Images/user_add_32.png =================================================================== (Binary files differ) Copied: Website/App_Themes/Python/Images/user_add_48.png (from rev 243, Website/App_Themes/Python/Images/user_add_32.png) =================================================================== (Binary files differ) Modified: Website/App_Themes/Python/Python.skin =================================================================== --- Website/App_Themes/Python/Python.skin 2006-07-31 20:33:18 UTC (rev 244) +++ Website/App_Themes/Python/Python.skin 2006-07-31 20:39:34 UTC (rev 245) @@ -21,7 +21,7 @@ <atlas:CollapsiblePanelExtender runat="server" SkinId="note" ExpandedImage="Images/ArrowDown.gif" CollapsedImage="Images/ArrowUp.gif" /> --%> <asp:GridView runat="server" SkinId="assignments" Width="100%" /> -<asp:Image runat="server" SkinId="newUserImage" ImageUrl="Images/user_add_32.png" /> +<asp:Image runat="server" SkinId="newUserImage" ImageUrl="Images/user_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="" /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <m_h...@us...> - 2006-07-31 20:33:28
|
Revision: 244 Author: m_hildebrand Date: 2006-07-31 13:33:18 -0700 (Mon, 31 Jul 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=244&view=rev Log Message: ----------- Added more icons Modified Paths: -------------- Website/App_Themes/Python/Python.skin Website/App_Themes/Python/python.css Website/Includes/ActionItems.ascx Website/Includes/Assignments.ascx.cs Added Paths: ----------- Website/App_Themes/Python/Images/priority_high_large.png Website/App_Themes/Python/Images/priority_high_small.png Removed Paths: ------------- Website/App_Themes/Python/Images/important.png Deleted: Website/App_Themes/Python/Images/important.png =================================================================== (Binary files differ) Added: Website/App_Themes/Python/Images/priority_high_large.png =================================================================== (Binary files differ) Property changes on: Website/App_Themes/Python/Images/priority_high_large.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Copied: Website/App_Themes/Python/Images/priority_high_small.png (from rev 242, Website/App_Themes/Python/Images/important.png) =================================================================== (Binary files differ) Modified: Website/App_Themes/Python/Python.skin =================================================================== --- Website/App_Themes/Python/Python.skin 2006-07-31 20:21:40 UTC (rev 243) +++ Website/App_Themes/Python/Python.skin 2006-07-31 20:33:18 UTC (rev 244) @@ -22,4 +22,7 @@ --%> <asp:GridView runat="server" SkinId="assignments" Width="100%" /> <asp:Image runat="server" SkinId="newUserImage" ImageUrl="Images/user_add_32.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="" /> +<asp:Image runat="server" SkinId="priority_normal_large" ImageUrl="" /> \ No newline at end of file Modified: Website/App_Themes/Python/python.css =================================================================== --- Website/App_Themes/Python/python.css 2006-07-31 20:21:40 UTC (rev 243) +++ Website/App_Themes/Python/python.css 2006-07-31 20:33:18 UTC (rev 244) @@ -597,6 +597,43 @@ } /************** END Filters Content *************/ +/************* BEGIN Priority Classes ************/ +.priority_high_small, .priority_high_large, .priority_normal_small, .priority_normal_large +{ + display: inline; + padding: 0; + margin: 0; +} + +.priority_high_small +{ + background-image: url(images/priority_high_small.png); + margin-left: 1px; + background-repeat: no-repeat; + width: 12px; + height: 11px; + min-width: 12px; + min-height: 11px; + display: block; +} + +#aiContent .top .priority +{ + display: inline; + position: relative; + top: 2px; +} + +.priority_high_large +{ + background-image: url(images/priority_high_large.png); + background-repeat: no-repeat; + width: 18px; + height: 17px; + padding: 1px 9px 1px 9px; +} +/************ END Priority Classes *************/ + /************* DEBUGGING ***************/ /* #MainContent @@ -649,66 +686,13 @@ */ -#Assignments .priority_high, #Assignments .priority_normal -{ - display: inline; -} -#Assignments .priority_high -{ - background-image: url(images/important.png); - padding: 0; - margin: 0 0 0 1px; - background-repeat: no-repeat; - width: 12px; - height: 11px; - min-width: 12px; - min-height: 11px; - display: block; -} -.priority_normal -{ - display: inline; -} -.priority_high -{ - color: red; - text-align: center; - display: inline; -} /* -#aiContent .top .priority -{ - display: inline; - position: relative; - top: 2px; -} -#ActionItem .priority_high, #ActionItem .priority_normal, #WorkOrder .priority_high, #WorkOrder .priority_normal -{ - display: inline; -} -#ActionItem .priority_high, #WorkOrder .priority_high -{ - background-image: url(images/priority_high_large.gif); - padding: 0; - margin: 0; - background-repeat: no-repeat; - width: 11px; - height: 11px; - min-width: 11px; - min-height: 11px; - display: block; -} - - - - - #ActionItem { width: 100%; Modified: Website/Includes/ActionItems.ascx =================================================================== --- Website/Includes/ActionItems.ascx 2006-07-31 20:21:40 UTC (rev 243) +++ Website/Includes/ActionItems.ascx 2006-07-31 20:33:18 UTC (rev 244) @@ -62,7 +62,7 @@ <div class="top"> <h2> <asp:Literal ID="priority_high" runat="server" Visible='<%# Eval("highPriority") %>' - Text='<div class="priority_high"></div>'></asp:Literal> + Text='<div class="priority_high_large"> </div>'></asp:Literal> <asp:Label ID="nameLabel" runat="server" Text='<%# Eval("name") %>'></asp:Label></h2> </div> <div class="bottom"> Modified: Website/Includes/Assignments.ascx.cs =================================================================== --- Website/Includes/Assignments.ascx.cs 2006-07-31 20:21:40 UTC (rev 243) +++ Website/Includes/Assignments.ascx.cs 2006-07-31 20:33:18 UTC (rev 244) @@ -124,10 +124,11 @@ // Set priority image bool priority = Convert.ToBoolean(data["highPriority"].ToString()); if (priority) - gRow.Cells[0].Text = "<div class=\"priority_high\"></div>"; + gRow.Cells[0].Text = "<div class=\"priority_high_small\"></div>"; + else - gRow.Cells[0].Text = "<div class=\"priority_normal\"></div>"; - + gRow.Cells[0].Text = "<div class=\"priority_normal_small\"></div>"; + // Set Hyperlink URL int cid = Convert.ToInt32(data["childID"]); String type = data["aType"].ToString(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |