From: <m_h...@us...> - 2006-07-06 18:05:18
|
Revision: 74 Author: m_hildebrand Date: 2006-07-06 11:05:10 -0700 (Thu, 06 Jul 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=74&view=rev Log Message: ----------- Added additional header files Added Paths: ----------- Website/Includes/TCDB_Header_CurrentInfo.ascx Website/Includes/TCDB_Header_Menu.ascx Website/Includes/TCDB_Header_User.ascx Added: Website/Includes/TCDB_Header_CurrentInfo.ascx =================================================================== --- Website/Includes/TCDB_Header_CurrentInfo.ascx (rev 0) +++ Website/Includes/TCDB_Header_CurrentInfo.ascx 2006-07-06 18:05:10 UTC (rev 74) @@ -0,0 +1,2 @@ +<%@ Control Language="C#" AutoEventWireup="true" %> +Product | Version | Build \ No newline at end of file Added: Website/Includes/TCDB_Header_Menu.ascx =================================================================== --- Website/Includes/TCDB_Header_Menu.ascx (rev 0) +++ Website/Includes/TCDB_Header_Menu.ascx 2006-07-06 18:05:10 UTC (rev 74) @@ -0,0 +1,2 @@ +<%@ Control Language="C#" AutoEventWireup="true" %> +Assignments | Execute | Management \ No newline at end of file Added: Website/Includes/TCDB_Header_User.ascx =================================================================== --- Website/Includes/TCDB_Header_User.ascx (rev 0) +++ Website/Includes/TCDB_Header_User.ascx 2006-07-06 18:05:10 UTC (rev 74) @@ -0,0 +1,19 @@ +<%@ Control Language="C#" AutoEventWireup="true" %> +<asp:LoginView ID="LoginView1" runat="server"> +<AnonymousTemplate> +<asp:Login ID="Login1" runat="server"> +<LayoutTemplate> + <asp:Label ID="lblMessage" runat="server" Text="" /> + Username: <div id="UserName"><asp:TextBox ID="UserName" runat="server" /></div> + <asp:RequiredFieldValidator ID="UserNameRequired" runat="server" ControlToValidate="UserName" Text="*" /> + Password: <div id="Password"><asp:TextBox ID="Password" runat="server" TextMode="password" /></div> + <asp:RequiredFieldValidator ID="PasswordRequired" runat="server" ControlToValidate="Password" Text="*" /> + Remember Me: <div id="RememberMe"><asp:CheckBox ID="RememberMe" runat="server" /></div> + <asp:LinkButton ID="Login" CommandName="Login" Text="Login" runat="server" OnClick="Login_Click" /> +</LayoutTemplate> + </asp:Login> +</AnonymousTemplate> +<LoggedInTemplate> +Welcome <asp:LoginName ID="LoginName" runat="server" /> (<asp:LoginStatus ID="LoginStatus" runat="server" />) | Settings | Admin +</LoggedInTemplate> +</asp:LoginView> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2006-07-12 17:06:30
|
Revision: 106 Author: rouquin Date: 2006-07-12 10:06:23 -0700 (Wed, 12 Jul 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=106&view=rev Log Message: ----------- Done with ActionItems for now. Its waiting for stored procedures (select needs to be updated, also need update and delete). Also, need image for priority flag and the datePicker that Matt says is good. Modified Paths: -------------- Website/App_Code/TCDB_Assignments.cs Website/Includes/ActionItems.ascx Website/Includes/Assignments.ascx Website/Includes/AssignmentsTree.ascx Modified: Website/App_Code/TCDB_Assignments.cs =================================================================== --- Website/App_Code/TCDB_Assignments.cs 2006-07-12 16:52:44 UTC (rev 105) +++ Website/App_Code/TCDB_Assignments.cs 2006-07-12 17:06:23 UTC (rev 106) @@ -275,6 +275,17 @@ } } + public bool ISINACTIVE + { + get + { + if (p_statusName == "Inactive") + return true; + else + return false; + } + } + public int WOTOTALTEST { get { return p_woTotalTest; } Modified: Website/Includes/ActionItems.ascx =================================================================== --- Website/Includes/ActionItems.ascx 2006-07-12 16:52:44 UTC (rev 105) +++ Website/Includes/ActionItems.ascx 2006-07-12 17:06:23 UTC (rev 106) @@ -6,11 +6,9 @@ <%@ Import Namespace="TCDB_Assignments" %> <%@ Import Namespace="TCDB_Common" %> <%@ Import Namespace="TCDB_Users" %> +<script runat="server">TCDB_User g_user = TCDB_UserDB.TCDB_GetUserInstance();</script> -<script runat="server">TCDB_User g_user = TCDB_UserDB.TCDB_GetUserInstance(); -</script> - -<script runat=server> +<script runat="server"> String id = HttpContext.Current.Request.QueryString[TCDB_Constant.CODE_AI]; String mode = HttpContext.Current.Request.QueryString["mode"]; //bool priority; @@ -20,7 +18,7 @@ if (id == null && mode == null) Response.Redirect("Assignments.aspx"); Session.Add("id", id); - + if (mode != null && mode == "new") FormView1.ChangeMode(FormViewMode.Insert); @@ -69,55 +67,55 @@ protected void FormView1_ItemUpdated(object sender, FormViewUpdatedEventArgs e) { - /* - DatePicker dueDate = (DatePicker)FormView1.FindControl("dueDate"); - DropDownList assignedTo = (DropDownList)FormView1.FindControl("assignedTo"); + /* + DatePicker dueDate = (DatePicker)FormView1.FindControl("dueDate"); + DropDownList assignedTo = (DropDownList)FormView1.FindControl("assignedTo"); - SqlCommand cmd = new SqlCommand("UPDATE Assignments SET " + - "dateDue='" + dueDate.DateValue + - "',assignedID='" + assignedTo.SelectedValue + - "',highPriorityID='" + priority + - "' WHERE actionItemID=" + id, Master.DBConnection); - cmd.ExecuteNonQuery(); + SqlCommand cmd = new SqlCommand("UPDATE Assignments SET " + + "dateDue='" + dueDate.DateValue + + "',assignedID='" + assignedTo.SelectedValue + + "',highPriorityID='" + priority + + "' WHERE actionItemID=" + id, Master.DBConnection); + cmd.ExecuteNonQuery(); - Master.updateTree(); - */ + Master.updateTree(); + */ } protected void FormView1_ItemInserted(object sender, FormViewInsertedEventArgs e) { - /* - Label createdBy = (Label)FormView1.FindControl("createdByLbl"); - Label dateAssigned = (Label)FormView1.FindControl("dateAssignedLbl"); - DatePicker dueDate = (DatePicker)FormView1.FindControl("dueDate"); - DropDownList assignedTo = (DropDownList)FormView1.FindControl("assignedTo"); - DropDownList statusList = (DropDownList)FormView1.FindControl("statusList"); - RadioButtonList percentList = (RadioButtonList)FormView1.FindControl("percentList"); + /* + Label createdBy = (Label)FormView1.FindControl("createdByLbl"); + Label dateAssigned = (Label)FormView1.FindControl("dateAssignedLbl"); + DatePicker dueDate = (DatePicker)FormView1.FindControl("dueDate"); + DropDownList assignedTo = (DropDownList)FormView1.FindControl("assignedTo"); + DropDownList statusList = (DropDownList)FormView1.FindControl("statusList"); + RadioButtonList percentList = (RadioButtonList)FormView1.FindControl("percentList"); - // Get inserted ActionItem - SqlDataAdapter DBAdapter = new SqlDataAdapter("SELECT MAX(actionItemID) AS newID FROM ActionItem",Master.DBConnection); - DataSet data = new DataSet(); - DBAdapter.Fill(data); - id = data.Tables[0].Rows[0]["newID"].ToString(); + // Get inserted ActionItem + SqlDataAdapter DBAdapter = new SqlDataAdapter("SELECT MAX(actionItemID) AS newID FROM ActionItem",Master.DBConnection); + DataSet data = new DataSet(); + DBAdapter.Fill(data); + id = data.Tables[0].Rows[0]["newID"].ToString(); - String due = "null"; + String due = "null"; - if (dueDate.DateValue != DateTime.MinValue) - due = "'" + dueDate.DateValue + "'"; + if (dueDate.DateValue != DateTime.MinValue) + due = "'" + dueDate.DateValue + "'"; - SqlCommand cmd = new SqlCommand("INSERT INTO Assignments (actionItemID,dateAssigned,dateDue,creatorID,assignedID,statusID,highPriorityID) VALUES ('" + - id + "','" + - dateAssigned.Text + "'," + - due + "," + - createdBy.Attributes["id"] + "," + - assignedTo.SelectedValue + "," + - statusList.SelectedValue + ",'" + - priority + "')", Master.DBConnection); - cmd.ExecuteNonQuery(); - cmd.CommandText = "UPDATE ActionItem SET percentComplete=" + percentList.SelectedValue + " WHERE actionItemID=" + id; - cmd.ExecuteNonQuery(); - Master.updateTree(); - Response.Redirect("~/ActionItemEdit.aspx?id=" + id); - */ + SqlCommand cmd = new SqlCommand("INSERT INTO Assignments (actionItemID,dateAssigned,dateDue,creatorID,assignedID,statusID,highPriorityID) VALUES ('" + + id + "','" + + dateAssigned.Text + "'," + + due + "," + + createdBy.Attributes["id"] + "," + + assignedTo.SelectedValue + "," + + statusList.SelectedValue + ",'" + + priority + "')", Master.DBConnection); + cmd.ExecuteNonQuery(); + cmd.CommandText = "UPDATE ActionItem SET percentComplete=" + percentList.SelectedValue + " WHERE actionItemID=" + id; + cmd.ExecuteNonQuery(); + Master.updateTree(); + Response.Redirect("~/ActionItemEdit.aspx?id=" + id); + */ } protected void FormView1_ItemDeleted(object sender, FormViewDeletedEventArgs e) { @@ -129,58 +127,59 @@ Response.Redirect("Assignments.aspx?id=" + Profile.userID); * */ } - + protected void FormView1_DataBound(object sender, EventArgs e) { - /* - DatePicker dueDate = (DatePicker)FormView1.FindControl("dueDate"); - DropDownList statusList = (DropDownList) FormView1.FindControl("statusList"); - RadioButtonList percentList = (RadioButtonList)FormView1.FindControl("percentList"); - Image priorityImg = (Image)FormView1.FindControl("priorityImg"); - DataRowView data = (DataRowView)FormView1.DataItem; + /* + DatePicker dueDate = (DatePicker)FormView1.FindControl("dueDate"); + DropDownList statusList = (DropDownList) FormView1.FindControl("statusList"); + RadioButtonList percentList = (RadioButtonList)FormView1.FindControl("percentList"); + Image priorityImg = (Image)FormView1.FindControl("priorityImg"); + DataRowView data = (DataRowView)FormView1.DataItem; - if (data != null) - { - String status = data["statusID"].ToString(); - String percent = data["percentComplete"].ToString(); - String highpriority = data["highPriorityID"].ToString(); - - if (status != "") - statusList.SelectedValue = status; - if (percent != "") - percentList.SelectedValue = percent; - if (highpriority == "True") + if (data != null) { - priorityImg.ImageUrl = "Images/exclamation.jpg"; - priority = true; - } - else - { - priorityImg.ImageUrl = "Images/no-exclamation.jpg"; - priority = false; - } + String status = data["statusID"].ToString(); + String percent = data["percentComplete"].ToString(); + String highpriority = data["highPriorityID"].ToString(); - if (FormView1.CurrentMode != FormViewMode.ReadOnly) - { - String due = data["dateDue"].ToString(); + if (status != "") + statusList.SelectedValue = status; + if (percent != "") + percentList.SelectedValue = percent; + if (highpriority == "True") + { + priorityImg.ImageUrl = "Images/exclamation.jpg"; + priority = true; + } + else + { + priorityImg.ImageUrl = "Images/no-exclamation.jpg"; + priority = false; + } - if (due != "") - dueDate.DateValue = Convert.ToDateTime(due); + if (FormView1.CurrentMode != FormViewMode.ReadOnly) + { + String due = data["dateDue"].ToString(); + + if (due != "") + dueDate.DateValue = Convert.ToDateTime(due); + } } - } - else if (FormView1.CurrentMode == FormViewMode.Insert) - { - Label createdBy = (Label)FormView1.FindControl("createdByLbl"); - Label dateAssigned = (Label)FormView1.FindControl("dateAssignedLbl"); - DropDownList assignedTo = (DropDownList)FormView1.FindControl("assignedTo"); + else + * */ + if (FormView1.CurrentMode == FormViewMode.Insert) + { + Label createdBy = (Label)FormView1.FindControl("createdByLbl"); + Label dateAssigned = (Label)FormView1.FindControl("dateAssignedLbl"); + DropDownList assignedTo = (DropDownList)FormView1.FindControl("assignedTo"); - createdBy.Text = Profile.FirstName + " " + Profile.LastName; - createdBy.Attributes.Add("id", Profile.userID); - dateAssigned.Text = DateTime.Today.ToShortDateString(); - dueDate.DateValue = DateTime.Today; - assignedTo.SelectedValue = Profile.userID; - } - */ + createdBy.Text = g_user.FULLNAME; + createdBy.Attributes.Add("id", g_user.ID.ToString()); + dateAssigned.Text = DateTime.Today.ToShortDateString(); + //dueDate.DateValue = DateTime.Today; + assignedTo.SelectedValue = g_user.ID.ToString(); + } } protected void priorityImg_Click(object sender, ImageClickEventArgs e) { @@ -213,228 +212,197 @@ <asp:FormView ID="FormView1" runat="server" DataSourceID="ActionItemDataSource" DataKeyNames="actionItemID" CellPadding=4 ForeColor="#333333" OnItemUpdated=FormView1_ItemUpdated OnItemInserted=FormView1_ItemInserted - OnDataBound=FormView1_DataBound OnItemDeleted=FormView1_ItemDeleted OnItemCommand=FormView1_ItemCommand > + OnDataBound=FormView1_DataBound OnItemDeleted=FormView1_ItemDeleted OnItemCommand=FormView1_ItemCommand> <HeaderTemplate> - <div id="ActionItem"> - <table width=700> - <tr> - <td> - <h2> - Action Item</h2> - </td> - <td align=right> - <div id="radiolist"> - <strong>Status: </strong> <asp:DropDownList ID="statusList" runat="server" AutoPostBack="True" - OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged" DataSourceID=StatusDataSource - DataTextField=statusName DataValueField=statusID AppendDataBoundItems=True> - </asp:DropDownList><br /> - <strong>Percent Complete: </strong> - <asp:RadioButtonList ID="percentList" runat="server" RepeatDirection="Horizontal" - AutoPostBack=True OnSelectedIndexChanged=RadioButtonList1_SelectedIndexChanged> - <asp:ListItem Selected=True>0</asp:ListItem> - <asp:ListItem>25</asp:ListItem> - <asp:ListItem>50</asp:ListItem> - <asp:ListItem>75</asp:ListItem> - <asp:ListItem>100</asp:ListItem> - </asp:RadioButtonList> - <asp:ObjectDataSource ID="StatusDataSource" runat="server" OldValuesParameterFormatString="original_{0}" - SelectMethod="GetData" TypeName="dadDataSetTableAdapters.db_statusTableAdapter"> - <SelectParameters> - <asp:Parameter DefaultValue="ActionItem" Name="statusGroup" Type="String" /> - <asp:Parameter Name="statusName" Type="String" /> - <asp:Parameter Name="statusID" Type="Int32" /> - </SelectParameters> - </asp:ObjectDataSource> - </div> - </td> - </tr> - </table> - </div> + <table width=900 border=1> + <tr> + <td> + <h2> + Action Item</h2> + </td> + <td align=center> + <strong>Status:</strong> <asp:DropDownList ID="statusList" runat="server" AutoPostBack="True" + OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged" DataSourceID=StatusDataSource + DataTextField=statusName DataValueField=statusID AppendDataBoundItems=True> + </asp:DropDownList><br /> + <strong>Percent Complete:</strong> <asp:RadioButtonList ID="percentList" runat="server" RepeatDirection="Horizontal" + AutoPostBack="True" OnSelectedIndexChanged="RadioButtonList1_SelectedIndexChanged"> + <asp:ListItem Selected=True>0</asp:ListItem> + <asp:ListItem>25</asp:ListItem> + <asp:ListItem>50</asp:ListItem> + <asp:ListItem>75</asp:ListItem> + <asp:ListItem>100</asp:ListItem> + </asp:RadioButtonList> + <asp:ObjectDataSource ID="StatusDataSource" runat="server" OldValuesParameterFormatString="original_{0}" + SelectMethod="GetData" TypeName="dadDataSetTableAdapters.db_statusTableAdapter"> + <SelectParameters> + <asp:Parameter DefaultValue="ActionItem" Name="statusGroup" Type="String" /> + <asp:Parameter Name="statusName" Type="String" /> + <asp:Parameter Name="statusID" Type="Int32" /> + </SelectParameters> + </asp:ObjectDataSource> + </td> + </tr> + </table> </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=2 width="60%" align=left> - <asp:ImageButton ID="priorityImg" runat="server" Enabled="False" Height="19px" ImageUrl="~/Images/no-exclamation.jpg" - OnClick="priorityImg_Click" Width="20px" /> - <asp:Label ID="nameLabel" runat="server" Text='<%# Eval("name") %>' Style="font-size: large; - color: black; font-family: Arial;"></asp:Label><br /> - <strong>Test Pass:</strong> - <asp:Label ID="testPassLbl" runat="server" Text='<%# Eval("testPassName") %>'></asp:Label></td> - <td align=right colspan=2 width="40%"> - <strong>Assigned: </strong><asp:Label ID="dateAssignedLbl" runat="server" Text='<%# Eval("dateAssigned") %>'></asp:Label><br /> - <strong>Due: <asp:Label ID="dateDueLbl" runat="server" Font-Bold="False" Text='<%# Eval("dateDue") %>'></asp:Label></strong><br /> - <strong>Finished:</strong> <asp:Label ID="dateFinishedLbl" runat="server" Font-Bold="False" - Text='<%# Eval("dateFinished") %>'></asp:Label></td> - </tr> - <tr> - <td colspan="4" class="hr"></td> - </tr> - <tr> - <td colspan=4 valign=top> - <strong>Description:</strong><br /> - <asp:Label ID="descriptionLabel" runat="server" Text='<%# Eval("description") %>'></asp:Label> - </td> - </tr> - <tr> - <td colspan="4" class="hr"></td> - </tr> - <tr> - <td colspan=2 width="55%"> - <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="Delete" Text="Delete" /> - </td> - <td align=right colspan=2 width="45%"> - <strong>Created By: - <asp:Label ID="createdByLbl" runat="server" Font-Bold="False" Text='<%# Eval("createdBy") %>'></asp:Label></strong><br /> - <strong>Assigned To:</strong> <asp:Label ID="assignedToLbl" runat="server" Font-Bold="False" - Text='<%# Eval("assignedTo") %>'></asp:Label> - </td> - </tr> - </table> - </div> - <b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b><b class="xb1"> - </b></b> - </div> + <table width="900" border=1> + <tr> + <td colspan=2 width="60%" align=left> + <asp:ImageButton ID="priorityImg" runat="server" Enabled="False" Height="19px" ImageUrl="~/Images/no-exclamation.jpg" + OnClick="priorityImg_Click" Width="20px" AlternateText=priority /> + <asp:Label ID="nameLabel" runat="server" Text='<%# Eval("name") %>' Style="font-size: large; + color: black; font-family: Arial;"></asp:Label><br /> + <strong>Test Pass:</strong> + <asp:Label ID="testPassLbl" runat="server"></asp:Label></td> + <td align=right colspan=2 width="40%"> + <strong>Assigned: </strong><asp:Label ID="dateAssignedLbl" runat="server" Text='<%# Eval("dateAssigned") %>'></asp:Label><br /> + <strong>Due: <asp:Label ID="dateDueLbl" runat="server" Font-Bold="False" Text='<%# Eval("dateDue") %>'></asp:Label></strong><br /> + <strong>Finished:</strong> <asp:Label ID="dateFinishedLbl" runat="server" Font-Bold="False"></asp:Label></td> + </tr> + <tr> + <td colspan="4" class="hr"> + </td> + </tr> + <tr> + <td colspan=4 valign=top> + <strong>Description:</strong><br /> + <asp:Label ID="descriptionLabel" runat="server" Text='<%# Eval("description") %>'></asp:Label> + </td> + </tr> + <tr> + <td colspan="4" class="hr"> + </td> + </tr> + <tr> + <td colspan=2 width="55%"> + <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="Delete" Text="Delete" /> + </td> + <td align=right colspan=2 width="45%"> + <strong>Created By: + <asp:Label ID="createdByLbl" runat="server" Font-Bold="False" Text='<%# Eval("createdBy") %>'></asp:Label></strong><br /> + <strong>Assigned To:</strong> <asp:Label ID="assignedToLbl" runat="server" Font-Bold="False"></asp:Label> + </td> + </tr> + </table> </ItemTemplate> <EditItemTemplate> - <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="2" width="55%" align=left valign=top> - <strong> <asp:ImageButton ID="priorityImg" runat="server" Height="19px" ImageUrl="~/Images/no-exclamation.jpg" - OnClick="priorityImg_Click" Width="20px" /> - Name: </strong><asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("name") %>' - Width="70%" /> - <br /> - <strong>Test Pass:</strong> - <asp:DropDownList ID="DropDownList1" runat="server" AppendDataBoundItems="True" SelectedValue='<%# Bind("testPassID") %>'> - <asp:ListItem Value="-1"><none></asp:ListItem> - </asp:DropDownList></td> - <td align=right colspan=2 width="45%"> - <strong>Assigned: - <asp:Label ID="dateAssignedLbl" runat="server" Font-Bold="False" Text='<%# Eval("dateAssigned") %>'></asp:Label></strong><br /> - <strong>Due: </strong> - <!-- <cc1:DatePicker ID="dueDate" run at="server" DateFormatString="MM/dd/yyyy" DateValue='<%# Eval("dateDue") %>' /> --> - <br /> - <strong>Finished: - <asp:Label ID="dateFinishedLbl" runat="server" Font-Bold="False" Text='<%# Eval("dateFinished") %>'></asp:Label> </strong> - </td> - </tr> - <tr> - <td colspan="4" class="hr"><br /> - </td> - </tr> - <tr> - <td colspan="4"> - <strong>Description:</strong><br /> - <FTB:FreeTextBox ID="FreeTextBox1" runat="server" SupportFolder="~" Text='<%# Bind("description") %>' - Height="100%" Width="100%" /> - </td> - </tr> - <tr> - <td colspan="4" class="hr"><br /> - </td> - </tr> - <tr> - <td colspan=2 width="60%" align=left> - <asp:LinkButton ID="UpdateButton" runat="server" CausesValidation="True" CommandName="Update" - Text="Update"> - </asp:LinkButton> | - <asp:LinkButton ID="UpdateCancelButton" runat="server" CausesValidation="False" CommandName="Cancel" - Text="Cancel"> - </asp:LinkButton> - </td> - <td align=right colspan=2 width="%40"> - <strong>Created By:</strong> - <asp:Label ID="createdByLbl" runat="server" Text='<%# Eval("createdBy") %>'></asp:Label><br /> - <strong>Assigned To:</strong> - <asp:DropDownList ID="assignedTo" runat="server" DataSourceID="UserDataSource" DataTextField="Name" - DataValueField="userID" SelectedValue='<%# Eval("assignedID","{0}") %>'> - </asp:DropDownList><br /> - <asp:ObjectDataSource ID="UserDataSource" runat="server" OldValuesParameterFormatString="original_{0}" - SelectMethod="GetUserNames" TypeName="DummyDataSetTableAdapters.UsersTableAdapter"> - </asp:ObjectDataSource> - </td> - </tr> - </table> - </div> - <b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b><b class="xb1"> - </b></b> - </div> + <table width=700 border=1> + <tr> + <td colspan="2" width="55%" align=left valign=top> + <strong> <asp:ImageButton ID="priorityImg" runat="server" Height="19px" ImageUrl="~/Images/no-exclamation.jpg" + OnClick="priorityImg_Click" Width="20px" AlternateText="priority"/> + Name: </strong><asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("name") %>' + Width="70%" /> + <br /> + <strong>Test Pass:</strong> + <asp:DropDownList ID="DropDownList1" runat="server" AppendDataBoundItems="True"> + <asp:ListItem Value="-1" Selected=True><none></asp:ListItem> + </asp:DropDownList></td> + <td align=right colspan=2 width="45%"> + <strong>Assigned: + <asp:Label ID="dateAssignedLbl" runat="server" Font-Bold="False" Text='<%# Eval("dateAssigned") %>'></asp:Label></strong><br /> + <strong>Due: </strong> + <!-- <cc1:DatePicker ID="dueDate" run at="server" DateFormatString="MM/dd/yyyy" DateValue='<%# Eval("dateDue") %>' /> --> + <br /> + <strong>Finished: + <asp:Label ID="dateFinishedLbl" runat="server" Font-Bold="False"></asp:Label> </strong> + </td> + </tr> + <tr> + <td colspan="4" class="hr"> + </td> + </tr> + <tr> + <td colspan="4"> + <strong>Description:</strong><br /> + <FTB:FreeTextBox ID="FreeTextBox1" runat="server" SupportFolder="~" Text='<%# Bind("description") %>' + Height="100%" Width="100%" /> + </td> + </tr> + <tr> + <td colspan="4" class="hr"> + </td> + </tr> + <tr> + <td colspan=2 width="60%" align=left> + <asp:LinkButton ID="UpdateButton" runat="server" CausesValidation="True" CommandName="Update" + Text="Update"> + </asp:LinkButton> | + <asp:LinkButton ID="UpdateCancelButton" runat="server" CausesValidation="False" CommandName="Cancel" + Text="Cancel"> + </asp:LinkButton> + </td> + <td align=right colspan=2 width="%40"> + <strong>Created By:</strong> + <asp:Label ID="createdByLbl" runat="server" Text='<%# Eval("createdBy") %>'></asp:Label><br /> + <strong>Assigned To:</strong> + <asp:DropDownList ID="assignedTo" runat="server" DataSourceID="UserDataSource" DataTextField="fullName" + DataValueField="userID"> + </asp:DropDownList><br /> + </td> + </tr> + </table> </EditItemTemplate> <InsertItemTemplate> - <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="2" width="55%" align=left valign=top> - <strong> - <asp:ImageButton ID="priorityImg" runat="server" Height="19px" ImageUrl="~/Images/no-exclamation.jpg" - OnClick="priorityImg_Click" Width="20px" /> Name:</strong> - <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("name") %>' Width="70%" /> - <br /> - <strong>Test Pass:</strong> - <asp:DropDownList ID="DropDownList1" runat="server" AppendDataBoundItems="True" SelectedValue='<%# Bind("testPassID") %>'> - <asp:ListItem Value="-1"><none></asp:ListItem> - </asp:DropDownList> - <td align=right colspan=2 width="45%"> - <strong>Assigned: </strong> - <asp:Label ID="dateAssignedLbl" runat="server" Text="Label"></asp:Label><br /> - <strong>Due: </strong> - <!-- <cc1:DatePicker ID="dueDate" run at="server" DateFormatString="MM/dd/yyyy" /><br /> --> - <strong>Finished: <asp:Label ID="dateFinishedLbl" runat="server" Font-Bold="False"></asp:Label></strong></td> - </tr> - <tr> - <td colspan="4" class="hr"></td> - </tr> - <tr> - <td colspan="4"> - <FTB:FreeTextBox ID="FreeTextBox1" runat="server" SupportFolder="~" Text='<%# Bind("description") %>' - Height="100%" Width="100%" /> - </td> - </tr> - <tr> - <td colspan="4" class="hr"></td> - </tr> - <tr> - <td colspan=2 width="60%" align=left> - <asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True" CommandName="Insert" - Text="Insert"> - </asp:LinkButton> | - <asp:LinkButton ID="InsertCancelButton" runat="server" CausesValidation="False" CommandName="Cancel" - Text="Cancel"></asp:LinkButton> - </td> - <td align=right colspan=2 width="40%"> - <strong>Created By: <asp:Label ID="createdByLbl" runat="server" Font-Bold="False" - Text="Label"></asp:Label></strong><br /> - <strong>Assigned To: <asp:DropDownList ID="assignedTo" runat="server" DataSourceID="UserDataSource" - DataTextField="Name" DataValueField="userID" AppendDataBoundItems=True> - </asp:DropDownList></strong><asp:ObjectDataSource ID="UserDataSource" runat="server" - OldValuesParameterFormatString="original_{0}" SelectMethod="GetUserNames" TypeName="DummyDataSetTableAdapters.UsersTableAdapter"> - </asp:ObjectDataSource> - </td> - </tr> - </table> - </div> - <b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b><b class="xb1"> - </b></b> - </div> + <table width=700 border=1> + <tr> + <td colspan="2" width="55%" align=left valign=top> + <strong> + <asp:ImageButton ID="priorityImg" runat="server" Height="19px" ImageUrl="~/Images/no-exclamation.jpg" + OnClick="priorityImg_Click" Width="20px" AlternateText="priority" /> Name:</strong> + <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("name") %>' Width="70%" /> + <br /> + <strong>Test Pass:</strong> + <asp:DropDownList ID="DropDownList1" runat="server" AppendDataBoundItems="True"> + <asp:ListItem Value="-1" Selected=True><none></asp:ListItem> + </asp:DropDownList> + <td align=right colspan=2 width="45%"> + <strong>Assigned: </strong> + <asp:Label ID="dateAssignedLbl" runat="server" Text="Label"></asp:Label><br /> + <strong>Due: </strong> + <!-- <cc1:DatePicker ID="dueDate" run at="server" DateFormatString="MM/dd/yyyy" /><br /> --> + <strong>Finished: <asp:Label ID="dateFinishedLbl" runat="server" Font-Bold="False"></asp:Label></strong></td> + </tr> + <tr> + <td colspan="4" class="hr"> + </td> + </tr> + <tr> + <td colspan="4"> + <FTB:FreeTextBox ID="FreeTextBox1" runat="server" SupportFolder="~" Text='<%# Bind("description") %>' + Height="100%" Width="100%" /> + </td> + </tr> + <tr> + <td colspan="4" class="hr"> + </td> + </tr> + <tr> + <td colspan=2 width="60%" align=left> + <asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True" CommandName="Insert" + Text="Insert"> + </asp:LinkButton> | + <asp:LinkButton ID="InsertCancelButton" runat="server" CausesValidation="False" CommandName="Cancel" + Text="Cancel"></asp:LinkButton> + </td> + <td align=right colspan=2 width="40%"> + <strong>Created By: <asp:Label ID="createdByLbl" runat="server" Font-Bold="False" + Text="Label"></asp:Label></strong><br /> + <strong>Assigned To: <asp:DropDownList ID="assignedTo" runat="server" DataSourceID="UserDataSource" + DataTextField="fullName" DataValueField="userID" AppendDataBoundItems=True> + </asp:DropDownList></strong> + </td> + </tr> + </table> </InsertItemTemplate> </asp:FormView> <asp:ObjectDataSource ID="ActionItemDataSource" runat="server" OldValuesParameterFormatString="original_{0}" - SelectMethod="GetData" TypeName="dadDataSetTableAdapters.db_actionItemsTableAdapter" InsertMethod=Insert UpdateMethod=Update DataObjectTypeName=dadDataSet> + SelectMethod="GetData" TypeName="dadDataSetTableAdapters.db_actionItemsTableAdapter" + InsertMethod=Insert UpdateMethod=Update DataObjectTypeName=dadDataSet> <SelectParameters> <asp:SessionParameter Name="actionItemID" SessionField="id" Type="Int32" /> </SelectParameters> @@ -448,4 +416,32 @@ <asp:Parameter Name="highPriority" Type="Boolean" /> </InsertParameters> </asp:ObjectDataSource> - + <asp:ObjectDataSource ID="UserDataSource" runat="server" OldValuesParameterFormatString="original_{0}" + SelectMethod="GetData" TypeName="dadDataSetTableAdapters.db_usersTableAdapter" InsertMethod=Insert UpdateMethod=Update> + <UpdateParameters> + <asp:Parameter Name="userID" Type="Int32" /> + <asp:Parameter Name="username" Type="String" /> + <asp:Parameter Name="email" Type="String" /> + <asp:Parameter Name="officePhone" Type="String" /> + <asp:Parameter Name="homePhone" Type="String" /> + <asp:Parameter Name="cellPhone" Type="String" /> + <asp:Parameter Name="firstName" Type="String" /> + <asp:Parameter Name="lastName" Type="String" /> + <asp:Parameter Name="automation" Type="Boolean" /> + </UpdateParameters> + <SelectParameters> + <asp:Parameter Name="username" Type="String" /> + <asp:Parameter Name="userID" Type="Int32" /> + </SelectParameters> + <InsertParameters> + <asp:Parameter Name="username" Type="String" /> + <asp:Parameter Name="firstName" Type="String" /> + <asp:Parameter Name="lastName" Type="String" /> + <asp:Parameter Name="email" Type="String" /> + <asp:Parameter Name="officePhone" Type="String" /> + <asp:Parameter Name="homePhone" Type="String" /> + <asp:Parameter Name="cellPhone" Type="String" /> + <asp:Parameter Name="automation" Type="Boolean" /> + </InsertParameters> + </asp:ObjectDataSource> + \ No newline at end of file Modified: Website/Includes/Assignments.ascx =================================================================== --- Website/Includes/Assignments.ascx 2006-07-12 16:52:44 UTC (rev 105) +++ Website/Includes/Assignments.ascx 2006-07-12 17:06:23 UTC (rev 106) @@ -356,7 +356,7 @@ <h2> My Assignments</h2> <div id="quickFilter"> - s</div> + </div> <asp:CheckBox ID="cboShowCompleted" runat="server" Text="Show Completed" TextAlign="Left" AutoPostBack="true" OnCheckedChanged="cboShowCompleted_CheckedChanged" /> <div class="xsnazzy"> @@ -476,7 +476,7 @@ OnCheckedChanged="cboFilterNotStarted_CheckedChanged" AutoPostBack="True" /><br /> <asp:CheckBox ID="cboFilterCompleted" runat="server" Text="Completed" Checked="false" OnCheckedChanged="cboFilterCompleted_CheckedChanged" AutoPostBack="True" /><br /> - <asp:CheckBox ID="cboFilterInactive" runat="server" Text="Inactive" Checked="true" + <asp:CheckBox ID="cboFilterInactive" runat="server" Text="Inactive" Checked="false" OnCheckedChanged="cboFilterInactive_CheckedChanged" AutoPostBack="True" /> </td> </tr> Modified: Website/Includes/AssignmentsTree.ascx =================================================================== --- Website/Includes/AssignmentsTree.ascx 2006-07-12 16:52:44 UTC (rev 105) +++ Website/Includes/AssignmentsTree.ascx 2006-07-12 17:06:23 UTC (rev 106) @@ -43,7 +43,7 @@ if (assignmentList.Count > 0) { foreach (TCDB_Assignment a in assignmentList) - { + { // Create the new child node. TreeNode child = new TreeNode(); child.Text = a.NAME; @@ -54,7 +54,6 @@ } else { - // TODO: Enable this! child.Value = a.WORKORDER.ID.ToString(); child.NavigateUrl = "~/WorkOrder.aspx?" + TCDB_Constant.CODE_WO + "=" + child.Value; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2006-07-12 19:55:33
|
Revision: 113 Author: rouquin Date: 2006-07-12 12:55:26 -0700 (Wed, 12 Jul 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=113&view=rev Log Message: ----------- More updates on ActionItems. Still waiting on a number of sql procedures. Modified Paths: -------------- Website/App_Code/TCDB_Common.cs Website/App_Code/dadDataSet.xsd Website/App_Code/dadDataSet.xss Website/Includes/ActionItems.ascx Website/Includes/AssignmentsTree.ascx Modified: Website/App_Code/TCDB_Common.cs =================================================================== --- Website/App_Code/TCDB_Common.cs 2006-07-12 19:06:03 UTC (rev 112) +++ Website/App_Code/TCDB_Common.cs 2006-07-12 19:55:26 UTC (rev 113) @@ -88,6 +88,7 @@ public static string RIGHTS_ASSIGNPERMISSION = "assignPermission"; public static string RIGHTS_SITEADMIN = "siteAdmin"; + public static string RIGHTS_ASSIGNASSIGNMENT = "assignAssignment"; } public static class TCDB_Help Modified: Website/App_Code/dadDataSet.xsd =================================================================== --- Website/App_Code/dadDataSet.xsd 2006-07-12 19:06:03 UTC (rev 112) +++ Website/App_Code/dadDataSet.xsd 2006-07-12 19:55:26 UTC (rev 113) @@ -195,13 +195,13 @@ </Parameter> <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@description" Precision="0" ProviderType="Text" Scale="0" Size="2147483647" SourceColumn="description" SourceColumnNullMapping="False" SourceVersion="Current"> </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@creatorID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumn="" SourceColumnNullMapping="False" SourceVersion="Current"> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@creatorID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumn="createdById" SourceColumnNullMapping="False" SourceVersion="Current"> </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@assignedID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumn="" SourceColumnNullMapping="False" SourceVersion="Current"> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@assignedID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumn="assignedID" SourceColumnNullMapping="False" SourceVersion="Current"> </Parameter> <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="DateTime" Direction="Input" ParameterName="@dateDue" Precision="23" ProviderType="DateTime" Scale="3" Size="8" SourceColumn="dateDue" SourceColumnNullMapping="False" SourceVersion="Current"> </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@testPassID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumn="" SourceColumnNullMapping="False" SourceVersion="Current"> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@testPassID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumn="testPass" SourceColumnNullMapping="False" SourceVersion="Current"> </Parameter> <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@highPriority" Precision="1" ProviderType="Bit" Scale="0" Size="1" SourceColumn="highPriority" SourceColumnNullMapping="False" SourceVersion="Current"> </Parameter> @@ -232,13 +232,18 @@ <Mapping SourceColumn="createdBy" DataSetColumn="createdBy" /> <Mapping SourceColumn="highPriority" DataSetColumn="highPriority" /> <Mapping SourceColumn="createdById" DataSetColumn="createdById" /> + <Mapping SourceColumn="testPass" DataSetColumn="testPass" /> + <Mapping SourceColumn="dateFinished" DataSetColumn="dateFinished" /> + <Mapping SourceColumn="assignedID" DataSetColumn="assignedID" /> + <Mapping SourceColumn="assigned" DataSetColumn="assigned" /> + <Mapping SourceColumn="statusID" DataSetColumn="statusID" /> </Mappings> <Sources> </Sources> </TableAdapter> <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="db_statusTableAdapter" GeneratorDataComponentClassName="db_statusTableAdapter" Name="db_status" UserDataComponentName="db_statusTableAdapter"> <MainSource> - <DbSource ConnectionRef="dadConnectionString (Web.config)" DbObjectName="tcdb.dbo.sel_status" 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="True" UserGetMethodName="GetData" UserSourceName="Fill"> + <DbSource ConnectionRef="dadConnectionString (Web.config)" DbObjectName="tcdb.dbo.sel_status" 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_status</CommandText> @@ -345,146 +350,163 @@ <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="createdById" msprop:Generator_UserColumnName="createdById" msprop:Generator_ColumnPropNameInRow="createdById" msprop:Generator_ColumnVarNameInTable="columncreatedById" msprop:Generator_ColumnPropNameInTable="createdByIdColumn" type="xs:int" /> + <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="createdById" msprop:Generator_UserColumnName="createdById" msprop:Generator_ColumnVarNameInTable="columncreatedById" msprop:Generator_ColumnPropNameInRow="createdById" msprop:Generator_ColumnPropNameInTable="createdByIdColumn" type="xs:int" 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_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_ColumnPropNameInRow="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" /> </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" /> @@ -497,68 +519,68 @@ <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" /> Modified: Website/App_Code/dadDataSet.xss =================================================================== --- Website/App_Code/dadDataSet.xss 2006-07-12 19:06:03 UTC (rev 112) +++ Website/App_Code/dadDataSet.xss 2006-07-12 19:55:26 UTC (rev 113) @@ -4,14 +4,14 @@ 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="0" ViewPortY="0" 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="-10" 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="6" X="87" Y="57" Height="241" Width="201" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="194" /> - <Shape ID="DesignTable:db_products" ZOrder="5" X="381" Y="68" Height="241" Width="213" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="194" /> - <Shape ID="DesignTable:db_actionItems" ZOrder="4" X="634" Y="68" Height="241" Width="232" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="194" /> - <Shape ID="DesignTable:db_status" ZOrder="3" X="85" Y="307" Height="105" Width="272" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="58" /> - <Shape ID="DesignTable:db_notes" ZOrder="2" X="380" Y="319" Height="139" Width="208" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="92" /> - <Shape ID="DesignTable:db_assignments" ZOrder="1" X="623" Y="324" Height="275" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="228" /> + <Shape ID="DesignTable:db_products" ZOrder="5" X="368" Y="49" Height="241" Width="213" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="194" /> + <Shape ID="DesignTable:db_actionItems" ZOrder="4" X="634" Y="70" Height="275" Width="232" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="228" /> + <Shape ID="DesignTable:db_status" ZOrder="3" X="85" Y="307" Height="105" Width="296" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="58" /> + <Shape ID="DesignTable:db_notes" ZOrder="2" X="400" Y="319" Height="139" Width="208" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="92" /> + <Shape ID="DesignTable:db_assignments" ZOrder="1" X="624" Y="369" Height="275" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="228" /> </Shapes> <Connectors /> </DiagramLayout> \ No newline at end of file Modified: Website/Includes/ActionItems.ascx =================================================================== --- Website/Includes/ActionItems.ascx 2006-07-12 19:06:03 UTC (rev 112) +++ Website/Includes/ActionItems.ascx 2006-07-12 19:55:26 UTC (rev 113) @@ -6,12 +6,10 @@ <%@ Import Namespace="TCDB_Assignments" %> <%@ Import Namespace="TCDB_Common" %> <%@ Import Namespace="TCDB_Users" %> -<script runat="server">TCDB_User g_user = TCDB_UserDB.TCDB_GetUserInstance();</script> - <script runat="server"> + TCDB_User g_user = TCDB_UserDB.TCDB_GetUserInstance(); String id = HttpContext.Current.Request.QueryString[TCDB_Constant.CODE_AI]; String mode = HttpContext.Current.Request.QueryString["mode"]; - //bool priority; protected void Page_Load(object sender, EventArgs e) { @@ -22,10 +20,6 @@ if (mode != null && mode == "new") FormView1.ChangeMode(FormViewMode.Insert); - //ImageButton priorityImg = (ImageButton)FormView1.FindControl("priorityImg"); - //if (priorityImg != null && priorityImg.ImageUrl == "Images/exclamation.jpg") - // priority = true; - //ObjectDataSource notes = (ObjectDataSource)Master.FindControl("NoteDataSource"); //notes.SelectParameters["tableName"].DefaultValue = "ActionItem"; } @@ -70,11 +64,12 @@ /* DatePicker dueDate = (DatePicker)FormView1.FindControl("dueDate"); DropDownList assignedTo = (DropDownList)FormView1.FindControl("assignedTo"); + CheckBox priority = (CheckBox) FormView1.FindControl("priorityBox"); SqlCommand cmd = new SqlCommand("UPDATE Assignments SET " + "dateDue='" + dueDate.DateValue + "',assignedID='" + assignedTo.SelectedValue + - "',highPriorityID='" + priority + + "',highPriorityID='" + priority.Checked + "' WHERE actionItemID=" + id, Master.DBConnection); cmd.ExecuteNonQuery(); @@ -90,6 +85,7 @@ DropDownList assignedTo = (DropDownList)FormView1.FindControl("assignedTo"); DropDownList statusList = (DropDownList)FormView1.FindControl("statusList"); RadioButtonList percentList = (RadioButtonList)FormView1.FindControl("percentList"); + CheckBox priority = (CheckBox) FormView1.FindControl("priorityBox"); // Get inserted ActionItem SqlDataAdapter DBAdapter = new SqlDataAdapter("SELECT MAX(actionItemID) AS newID FROM ActionItem",Master.DBConnection); @@ -109,7 +105,7 @@ createdBy.Attributes["id"] + "," + assignedTo.SelectedValue + "," + statusList.SelectedValue + ",'" + - priority + "')", Master.DBConnection); + priority.Checked + "')", Master.DBConnection); cmd.ExecuteNonQuery(); cmd.CommandText = "UPDATE ActionItem SET percentComplete=" + percentList.SelectedValue + " WHERE actionItemID=" + id; cmd.ExecuteNonQuery(); @@ -134,30 +130,18 @@ DatePicker dueDate = (DatePicker)FormView1.FindControl("dueDate"); DropDownList statusList = (DropDownList) FormView1.FindControl("statusList"); RadioButtonList percentList = (RadioButtonList)FormView1.FindControl("percentList"); - Image priorityImg = (Image)FormView1.FindControl("priorityImg"); DataRowView data = (DataRowView)FormView1.DataItem; if (data != null) { String status = data["statusID"].ToString(); String percent = data["percentComplete"].ToString(); - String highpriority = data["highPriorityID"].ToString(); if (status != "") statusList.SelectedValue = status; if (percent != "") percentList.SelectedValue = percent; - if (highpriority == "True") - { - priorityImg.ImageUrl = "Images/exclamation.jpg"; - priority = true; - } - else - { - priorityImg.ImageUrl = "Images/no-exclamation.jpg"; - priority = false; - } - + if (FormView1.CurrentMode != FormViewMode.ReadOnly) { String due = data["dateDue"].ToString(); @@ -181,26 +165,6 @@ assignedTo.SelectedValue = g_user.ID.ToString(); } } - protected void priorityImg_Click(object sender, ImageClickEventArgs e) - { - /* - ImageButton priorityImg = (ImageButton)sender; - - if (FormView1.CurrentMode != FormViewMode.ReadOnly) - { - if (priority) - { - priorityImg.ImageUrl = "Images/no-exclamation.jpg"; - priority = false; - } - else - { - priorityImg.ImageUrl = "Images/exclamation.jpg"; - priority = true; - } - } - * */ - } protected void FormView1_ItemCommand(object sender, FormViewCommandEventArgs e) { /* @@ -223,11 +187,11 @@ <td align=center> <strong>Status:</strong> <asp:DropDownList ID="statusList" runat="server" AutoPostBack="True" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged" DataSourceID=StatusDataSource - DataTextField=statusName DataValueField=statusID AppendDataBoundItems=True> + DataTextField=statusName DataValueField=statusID AppendDataBoundItems=True SelectedValue='<%# Eval("statusID") %>'> </asp:DropDownList><br /> <strong>Percent Complete:</strong> <asp:RadioButtonList ID="percentList" runat="server" RepeatDirection="Horizontal" - AutoPostBack="True" OnSelectedIndexChanged="RadioButtonList1_SelectedIndexChanged"> - <asp:ListItem Selected=True>0</asp:ListItem> + AutoPostBack="True" OnSelectedIndexChanged="RadioButtonList1_SelectedIndexChanged" SelectedValue='<%# Eval("percentComplete") %>'> + <asp:ListItem>0</asp:ListItem> <asp:ListItem>25</asp:ListItem> <asp:ListItem>50</asp:ListItem> <asp:ListItem>75</asp:ListItem> @@ -249,23 +213,24 @@ <table width="900" border=1> <tr> <td colspan=2 width="60%" align=left> - <asp:ImageButton ID="priorityImg" runat="server" Enabled="False" Height="19px" ImageUrl="~/Images/no-exclamation.jpg" - OnClick="priorityImg_Click" Width="20px" AlternateText=priority /> <asp:Label ID="nameLabel" runat="server" Text='<%# Eval("name") %>' Style="font-size: large; color: black; font-family: Arial;"></asp:Label><br /> - <strong>Test Pass:</strong> - <asp:Label ID="testPassLbl" runat="server"></asp:Label></td> + <strong>High Priority: + <asp:CheckBox ID="priorityBox" runat="server" Checked='<%# Eval("highPriority") %>' + Enabled="False" Font-Bold="False" /><br /> + Test Pass:</strong> + <asp:Label ID="testPassLbl" runat="server" Text='<%# Eval("testPass") %>'></asp:Label></td> <td align=right colspan=2 width="40%"> <strong>Assigned: </strong><asp:Label ID="dateAssignedLbl" runat="server" Text='<%# Eval("dateAssigned") %>'></asp:Label><br /> <strong>Due: <asp:Label ID="dateDueLbl" runat="server" Font-Bold="False" Text='<%# Eval("dateDue") %>'></asp:Label></strong><br /> - <strong>Finished:</strong> <asp:Label ID="dateFinishedLbl" runat="server" Font-Bold="False"></asp:Label></td> + <strong>Finished:</strong> <asp:Label ID="dateFinishedLbl" runat="server" Font-Bold="False" Text='<%# Eval("dateFinished") %>'></asp:Label></td> </tr> <tr> <td colspan="4" class="hr"> </td> </tr> <tr> - <td colspan=4 valign=top> + <td colspan=4 valign=top style="height: 40px"> <strong>Description:</strong><br /> <asp:Label ID="descriptionLabel" runat="server" Text='<%# Eval("description") %>'></asp:Label> </td> @@ -284,7 +249,7 @@ <td align=right colspan=2 width="45%"> <strong>Created By: <asp:Label ID="createdByLbl" runat="server" Font-Bold="False" Text='<%# Eval("createdBy") %>'></asp:Label></strong><br /> - <strong>Assigned To:</strong> <asp:Label ID="assignedToLbl" runat="server" Font-Bold="False"></asp:Label> + <strong>Assigned To:</strong> <asp:Label ID="assignedToLbl" runat="server" Font-Bold="False" Text='<%# Eval("assigned") %>'></asp:Label> </td> </tr> </table> @@ -293,12 +258,14 @@ <table width=700 border=1> <tr> <td colspan="2" width="55%" align=left valign=top> - <strong> <asp:ImageButton ID="priorityImg" runat="server" Height="19px" ImageUrl="~/Images/no-exclamation.jpg" - OnClick="priorityImg_Click" Width="20px" AlternateText="priority"/> + <strong> Name: </strong><asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("name") %>' Width="70%" /> <br /> - <strong>Test Pass:</strong> + <strong>High Priority: + <asp:CheckBox ID="priorityBox" ru... [truncated message content] |
From: <ro...@us...> - 2006-07-12 20:17:45
|
Revision: 114 Author: rouquin Date: 2006-07-12 13:17:32 -0700 (Wed, 12 Jul 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=114&view=rev Log Message: ----------- Minor change to insert defaults Modified Paths: -------------- WebPrototype/App_Data/ASPNETDB.MDF WebPrototype/App_Data/Database.mdf WebPrototype/App_Data/Database_log.LDF WebPrototype/App_Data/aspnetdb_log.ldf Website/Includes/ActionItems.ascx Modified: WebPrototype/App_Data/ASPNETDB.MDF =================================================================== (Binary files differ) Modified: WebPrototype/App_Data/Database.mdf =================================================================== (Binary files differ) Modified: WebPrototype/App_Data/Database_log.LDF =================================================================== (Binary files differ) Modified: WebPrototype/App_Data/aspnetdb_log.ldf =================================================================== (Binary files differ) Modified: Website/Includes/ActionItems.ascx =================================================================== --- Website/Includes/ActionItems.ascx 2006-07-12 19:55:26 UTC (rev 113) +++ Website/Includes/ActionItems.ascx 2006-07-12 20:17:32 UTC (rev 114) @@ -157,12 +157,16 @@ Label createdBy = (Label)FormView1.FindControl("createdByLbl"); Label dateAssigned = (Label)FormView1.FindControl("dateAssignedLbl"); DropDownList assignedTo = (DropDownList)FormView1.FindControl("assignedTo"); + DropDownList status = (DropDownList)FormView1.FindControl("statusList"); + RadioButtonList percent = (RadioButtonList)FormView1.FindControl("percentList"); createdBy.Text = g_user.FULLNAME; createdBy.Attributes.Add("id", g_user.ID.ToString()); dateAssigned.Text = DateTime.Today.ToShortDateString(); //dueDate.DateValue = DateTime.Today; assignedTo.SelectedValue = g_user.ID.ToString(); + status.SelectedIndex = 0; + percent.SelectedIndex = 0; } } protected void FormView1_ItemCommand(object sender, FormViewCommandEventArgs e) @@ -187,10 +191,10 @@ <td align=center> <strong>Status:</strong> <asp:DropDownList ID="statusList" runat="server" AutoPostBack="True" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged" DataSourceID=StatusDataSource - DataTextField=statusName DataValueField=statusID AppendDataBoundItems=True SelectedValue='<%# Eval("statusID") %>'> + DataTextField=statusName DataValueField=statusID AppendDataBoundItems=True SelectedValue='<%# Bind("statusID") %>'> </asp:DropDownList><br /> <strong>Percent Complete:</strong> <asp:RadioButtonList ID="percentList" runat="server" RepeatDirection="Horizontal" - AutoPostBack="True" OnSelectedIndexChanged="RadioButtonList1_SelectedIndexChanged" SelectedValue='<%# Eval("percentComplete") %>'> + AutoPostBack="True" OnSelectedIndexChanged="RadioButtonList1_SelectedIndexChanged" SelectedValue='<%# Bind("percentComplete") %>'> <asp:ListItem>0</asp:ListItem> <asp:ListItem>25</asp:ListItem> <asp:ListItem>50</asp:ListItem> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2006-07-13 14:22:35
|
Revision: 121 Author: rouquin Date: 2006-07-13 07:22:29 -0700 (Thu, 13 Jul 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=121&view=rev Log Message: ----------- Fixed to use correct database attribute names. Action Items can be viewed again! Modified Paths: -------------- Website/App_Code/TCDB_Assignments.cs Website/App_Code/tcdbDataSet.xsd Website/App_Code/tcdbDataSet.xss Website/Includes/ActionItems.ascx Website/Includes/Assignments.ascx Website/Includes/AssignmentsTree.ascx Modified: Website/App_Code/TCDB_Assignments.cs =================================================================== --- Website/App_Code/TCDB_Assignments.cs 2006-07-13 04:07:46 UTC (rev 120) +++ Website/App_Code/TCDB_Assignments.cs 2006-07-13 14:22:29 UTC (rev 121) @@ -79,18 +79,18 @@ { tcdbDataSet ds = new tcdbDataSet(); tcdbDataSetTableAdapters.db_actionItemsTableAdapter ta = new tcdbDataSetTableAdapters.db_actionItemsTableAdapter(); - ta.GetData(id); - ta.Fill(ds.db_actionItems, id); + ta.GetData(id, true); + ta.Fill(ds.db_actionItems, id, true); TCDB_ActionItem ai = new TCDB_ActionItem(); - DataTableReader dr = ds.db_users.CreateDataReader(); + DataTableReader dr = ds.db_actionItems.CreateDataReader(); if (dr.HasRows && dr.Read()) { ai.ID = TCDB_Help.TCDB_DB_IntParse(dr["actionItemID"], 0); ai.NAME = TCDB_Help.TCDB_DB_StringParse(dr["name"], ""); ai.DESCRIPTION = TCDB_Help.TCDB_DB_StringParse(dr["description"], ""); - ai.CREATOR = new TCDB_User(TCDB_Help.TCDB_DB_IntParse(dr["creatorID"], TCDB_Constant.USER_ANONYMOUSUSERID)); + ai.CREATOR = new TCDB_User(TCDB_Help.TCDB_DB_IntParse(dr["createdByID"], TCDB_Constant.USER_ANONYMOUSUSERID)); ai.ASSIGNED = new TCDB_User(TCDB_Help.TCDB_DB_IntParse(dr["assignedID"], TCDB_Constant.USER_ANONYMOUSUSERID)); ai.PERCENTCOMPLETE = TCDB_Help.TCDB_DB_IntParse(dr["percentComplete"], 0); } Modified: Website/App_Code/tcdbDataSet.xsd =================================================================== --- Website/App_Code/tcdbDataSet.xsd 2006-07-13 04:07:46 UTC (rev 120) +++ Website/App_Code/tcdbDataSet.xsd 2006-07-13 14:22:29 UTC (rev 121) @@ -216,6 +216,8 @@ </Parameter> <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@actionItemID" 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> @@ -237,6 +239,8 @@ <Mapping SourceColumn="assignedID" DataSetColumn="assignedID" /> <Mapping SourceColumn="assigned" DataSetColumn="assigned" /> <Mapping SourceColumn="statusID" DataSetColumn="statusID" /> + <Mapping SourceColumn="testPassID" DataSetColumn="testPassID" /> + <Mapping SourceColumn="active" DataSetColumn="active" /> </Mappings> <Sources> </Sources> @@ -350,163 +354,165 @@ <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="createdById" msprop:Generator_UserColumnName="createdById" msprop:Generator_ColumnVarNameInTable="columncreatedById" msprop:Generator_ColumnPropNameInRow="createdById" msprop:Generator_ColumnPropNameInTable="createdByIdColumn" type="xs:int" 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="createdById" msprop:Generator_UserColumnName="createdById" msprop:Generator_ColumnPropNameInRow="createdById" msprop:Generator_ColumnVarNameInTable="columncreatedById" msprop:Generator_ColumnPropNameInTable="createdByIdColumn" type="xs:int" 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" /> + <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: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" /> @@ -519,68 +525,68 @@ <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" /> Modified: Website/App_Code/tcdbDataSet.xss =================================================================== --- Website/App_Code/tcdbDataSet.xss 2006-07-13 04:07:46 UTC (rev 120) +++ Website/App_Code/tcdbDataSet.xss 2006-07-13 14:22:29 UTC (rev 121) @@ -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="-10" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout"> +<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="-10" ViewPortY="32" 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="6" X="87" Y="57" Height="241" Width="201" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="194" /> <Shape ID="DesignTable:db_products" ZOrder="5" X="368" Y="49" Height="241" Width="213" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="194" /> Modified: Website/Includes/ActionItems.ascx =================================================================== --- Website/Includes/ActionItems.ascx 2006-07-13 04:07:46 UTC (rev 120) +++ Website/Includes/ActionItems.ascx 2006-07-13 14:22:29 UTC (rev 121) @@ -99,7 +99,7 @@ if (dueDate.DateValue != DateTime.MinValue) due = "'" + dueDate.DateValue + "'"; - SqlCommand cmd = new SqlCommand("INSERT INTO Assignments (actionItemID,dateAssigned,dateDue,creatorID,assignedID,statusID,highPriorityID) VALUES ('" + + SqlCommand cmd = new SqlCommand("INSERT INTO Assignments (actionItemID,dateAssigned,dateDue,createdByID,assignedID,statusID,highPriorityID) VALUES ('" + id + "','" + dateAssigned.Text + "'," + due + "," + @@ -427,20 +427,11 @@ </asp:FormView> </div> <asp:ObjectDataSource ID="ActionItemDataSource" runat="server" OldValuesParameterFormatString="original_{0}" - SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.db_actionItemsTableAdapter" - InsertMethod="Insert" UpdateMethod="Update" DataObjectTypeName="tcdbDataSet"> + SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.db_actionItemsTableAdapter" UpdateMethod="Update" DataObjectTypeName="tcdbDataSet"> <SelectParameters> <asp:SessionParameter Name="actionItemID" SessionField="id" Type="Int32" /> + <asp:Parameter DefaultValue="true" Name="active" Type="Boolean" /> </SelectParameters> - <InsertParameters> - <asp:Parameter Name="name" Type="String" /> - <asp:Parameter Name="description" Type="String" /> - <asp:Parameter Name="creatorID" Type="Int32" /> - <asp:Parameter Name="assignedID" Type="Int32" /> - <asp:Parameter Name="dateDue" Type="DateTime" /> - <asp:Parameter Name="testPassID" Type="Int32" /> - <asp:Parameter Name="highPriority" Type="Boolean" /> - </InsertParameters> </asp:ObjectDataSource> <asp:ObjectDataSource ID="UserDataSource" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.db_usersTableAdapter" Modified: Website/Includes/Assignments.ascx =================================================================== --- Website/Includes/Assignments.ascx 2006-07-13 04:07:46 UTC (rev 120) +++ Website/Includes/Assignments.ascx 2006-07-13 14:22:29 UTC (rev 121) @@ -26,10 +26,6 @@ if (g_user.HasRight(TCDB_Constant.RIGHTS_SITEADMIN, 0)) { // Admin user should get everything, so don't set any values! - - //AssignmentDataSource.SelectMethod = "GetAllAssignmentNames"; - //AssignmentDataSource.SelectParameters.Clear(); - } else id = g_user.ID.ToString(); Modified: Website/Includes/AssignmentsTree.ascx =================================================================== --- Website/Includes/AssignmentsTree.ascx 2006-07-13 04:07:46 UTC (rev 120) +++ Website/Includes/AssignmentsTree.ascx 2006-07-13 14:22:29 UTC (rev 121) @@ -38,8 +38,8 @@ private void BuildAssignmentList(TreeNode parent) { // Populate the first-level nodes with users - List<TCDB_Assignment> assignmentList = TCDB_UserDB.TCDB_GetUserInfo(parent.Value).GetAssignments(true); - + List<TCDB_Assignment> assignmentList = TCDB_UserDB.TCDB_GetUserInfo(Convert.ToInt32(parent.Value)).GetAssignments(true); + if (assignmentList.Count > 0) { foreach (TCDB_Assignment a in assignmentList) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <m_h...@us...> - 2006-07-25 22:09:47
|
Revision: 220 Author: m_hildebrand Date: 2006-07-25 14:44:20 -0700 (Tue, 25 Jul 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=220&view=rev Log Message: ----------- User can now sync against AD properly Modified Paths: -------------- Website/App_Code/AD_Authentication.cs Website/App_Code/SiteMaster.cs Website/App_Code/Users.cs Website/Includes/Authenticate.ascx.cs Website/Includes/UserSettings.ascx Website/Includes/UserSettings.ascx.cs Modified: Website/App_Code/AD_Authentication.cs =================================================================== --- Website/App_Code/AD_Authentication.cs 2006-07-25 21:15:20 UTC (rev 219) +++ Website/App_Code/AD_Authentication.cs 2006-07-25 21:44:20 UTC (rev 220) @@ -60,6 +60,8 @@ string strDomain = ConfigDB.GetConfigString("ad_domain"); m_logg.Debug("Getting AD information for [" + strUserName + "] in domain [" + strDomain + "]"); + //DirectoryEntry de = new DirectoryEntry("LDAP://" + strDomain); + //de.AuthenticationType = AuthenticationTypes.Anonymous; DirectoryEntry de = new DirectoryEntry("LDAP://" + strDomain, strUserName, strPassword); DirectorySearcher ds = new DirectorySearcher(de); Modified: Website/App_Code/SiteMaster.cs =================================================================== --- Website/App_Code/SiteMaster.cs 2006-07-25 21:15:20 UTC (rev 219) +++ Website/App_Code/SiteMaster.cs 2006-07-25 21:44:20 UTC (rev 220) @@ -53,17 +53,20 @@ try { m_logg.Debug("Pulling the userID from the session data"); - id = (int)Session["m_user"]; - m_logg.Debug("Found userID [" + id.ToString() + "]"); + //id = (int)Session["m_user"]; + m_user = (User)Session["m_user"]; + //m_logg.Debug("Found userID [" + id.ToString() + "]"); + m_logg.Debug("Found user [" + m_user.ToString() + "]"); } catch { m_logg.Debug("Unable to find user object in session data, using the anonymous user instead"); - id = Constants.ANONYMOUSUSERID; + //id = Constants.ANONYMOUSUSERID; + m_user = UserDB.GetUserInfo(Constants.ANONYMOUSUSERID); } - m_logg.Debug("Setting up a user object based on userID [" + id.ToString() + "]"); - m_user = UserDB.GetUserInfo(id); + //m_logg.Debug("Setting up a user object based on userID [" + id.ToString() + "]"); + //m_user = UserDB.GetUserInfo(id); m_logg.Debug("Got information for user [" + m_user.ToString() + "]"); if (m_user.ID != Constants.ANONYMOUSUSERID) @@ -76,7 +79,12 @@ m_logg.Debug("User [" + m_user.ToString() + "] is anonymous, marking as guest"); m_user.ISAUTHENTICATED = false; } - + /* try + { + User g_user; + g_user = (User)Session["g_user"]; + } + catch { }*/ return m_user; } } Modified: Website/App_Code/Users.cs =================================================================== --- Website/App_Code/Users.cs 2006-07-25 21:15:20 UTC (rev 219) +++ Website/App_Code/Users.cs 2006-07-25 21:44:20 UTC (rev 220) @@ -232,6 +232,7 @@ private bool p_automation; private bool p_isAuthenticated; private bool p_isNew; + private string p_password; private List<Assignment> p_assignments; /* TODO: Implement these as the time is right private List<Feature> p_features; @@ -272,6 +273,7 @@ p_isAuthenticated = false; p_isNew = false; p_assignments = null; + p_password = ""; } private void BuildUser(User user) @@ -287,6 +289,7 @@ p_automation = user.AUTOMATION; p_isAuthenticated = user.ISAUTHENTICATED; p_isNew = false; + p_password = ""; // TODO: Figure out why the following line caused an infinite loop // Problem: I think that it was caused because creating an anon user calls this, // which in turn creates an anon user. @@ -371,6 +374,12 @@ set { p_isNew = value; } } + public string PASSWORD + { + get { return p_password; } + set { p_password = value; } + } + public override string ToString() { return p_username.Trim(); Modified: Website/Includes/Authenticate.ascx.cs =================================================================== --- Website/Includes/Authenticate.ascx.cs 2006-07-25 21:15:20 UTC (rev 219) +++ Website/Includes/Authenticate.ascx.cs 2006-07-25 21:44:20 UTC (rev 220) @@ -38,11 +38,13 @@ m_logg.Debug("The user just authenticated is [" + myUser.FULLNAME + "]"); - // If we're not dealing with an anonymous user, set the state variable + // If we're not dealing with an anonymous user, set the state variable and password if (myUser.ID != Constants.ANONYMOUSUSERID) { m_logg.Info("Login for " + myUser.ToString() + " was successful, setting session variable"); - Session["m_user"] = myUser.ID; + myUser.PASSWORD = LoginUser.Password; + //Session["m_user"] = myUser.ID; + Session["m_user"] = myUser; } if (myUser.ISNEW) @@ -98,7 +100,8 @@ { m_logg.Debug("Setting authentication cookie and redirecting to requested page"); // We have a valid user who is already in the DB - Session["m_user"] = myUser.ID; + //Session["m_user"] = myUser.ID; + Session["m_user"] = myUser; FormsAuthentication.SetAuthCookie(LoginUser.UserName, LoginUser.RememberMeSet); // TODO: The default redirect should be pulled from the DB @@ -142,7 +145,8 @@ { m_logg.Debug("User successfully saved to DB"); newUser = UserDB.GetUserInfo(newUser.USERNAME); - Session["m_user"] = newUser.ID; + //Session["m_user"] = newUser.ID; + Session["m_user"] = newUser; // TODO: Lookup the admin/lead for the selected product m_logg.Debug("Looking up admin/lead for product [" + product.ToString() + "]"); Modified: Website/Includes/UserSettings.ascx =================================================================== --- Website/Includes/UserSettings.ascx 2006-07-25 21:15:20 UTC (rev 219) +++ Website/Includes/UserSettings.ascx 2006-07-25 21:44:20 UTC (rev 220) @@ -119,7 +119,11 @@ <label> Name: </label> - <asp:Label ID="NameLabel" runat="server" Text='<%# Eval("fullName") %>'></asp:Label> + <asp:TextBox ID="firstNameBox" runat="server" Text='<%# Eval("firstName") %>'></asp:TextBox> + <asp:TextBox ID="lastNameBox" runat="server" Text='<%# Eval("lastName") %>'></asp:TextBox> + <!-- + <asp:Label ID="FirstNameLabel" runat="server" Text='<%# Eval("firstName") %>'></asp:Label> + <asp:Label ID="LastNameLabel" runat="server" Text='<%# Eval("lastName") %>'></asp:Label>--> </div> <div class="item"> <label> Modified: Website/Includes/UserSettings.ascx.cs =================================================================== --- Website/Includes/UserSettings.ascx.cs 2006-07-25 21:15:20 UTC (rev 219) +++ Website/Includes/UserSettings.ascx.cs 2006-07-25 21:44:20 UTC (rev 220) @@ -39,6 +39,7 @@ if (mode == "new") FormView1.ChangeMode(FormViewMode.Insert); } + protected void deleteButton_Load(object sender, EventArgs e) { if (mode == "read") @@ -47,6 +48,7 @@ deleteButton.Visible = false; } } + protected void newButton_Load(object sender, EventArgs e) { if (mode == "read") @@ -55,6 +57,7 @@ deleteButton.Visible = false; } } + protected void deleteLabel_Load(object sender, EventArgs e) { if (mode == "read") @@ -63,6 +66,7 @@ deleteLabel.Visible = false; } } + protected void newLabel_Load(object sender, EventArgs e) { if (mode == "read") @@ -71,16 +75,19 @@ deleteLabel.Visible = false; } } + protected void FormView1_ItemDeleted(object sender, FormViewDeletedEventArgs e) { // Can only delete in Adminstration mode Response.Redirect("Administration.aspx"); } + protected void FormView1_ItemCommand(object sender, FormViewCommandEventArgs e) { if (FormView1.CurrentMode == FormViewMode.Insert && e.CommandName=="Cancel") Response.Redirect("Administration.aspx"); } + protected void FormView1_ItemInserted(object sender, FormViewInsertedEventArgs e) { if (e.Exception == null) @@ -93,6 +100,7 @@ Response.Redirect("UserSettings.aspx?" + Constants.CODE_USER + "=" + userID); } } + protected void FormView1_ItemUpdated(object sender, FormViewUpdatedEventArgs e) { updateRoles(); @@ -101,9 +109,11 @@ else Response.Redirect("UserSettings.aspx?" + Constants.CODE_USER + "=" + userID); } + protected void updateRoles() { } + protected void SyncWithAD(object sender, CommandEventArgs e) { String username = ""; @@ -112,25 +122,26 @@ else username = ((TextBox)FormView1.FindControl("usernameBox")).Text; - User curUser = AD_Authentication.AD_GetUserInfo(m_user.USERNAME, null, username); + User curUser = AD_Authentication.AD_GetUserInfo(m_user.USERNAME, m_user.PASSWORD, username); if (curUser.ID != -1) { - TextBox firstName = (TextBox)FormView1.FindControl("firstNameBox"); - TextBox lastName = (TextBox)FormView1.FindControl("lastNameBox"); - TextBox email = (TextBox)FormView1.FindControl("emailBox"); - TextBox officePhone = (TextBox)FormView1.FindControl("officePhoneBox"); - TextBox homePhone = (TextBox)FormView1.FindControl("homePhoneBox"); - TextBox cellPhone = (TextBox)FormView1.FindControl("cellPhoneBox"); + TextBox tbx_firstName = (TextBox)FormView1.FindControl("firstNameBox"); + TextBox tbx_lastName = (TextBox)FormView1.FindControl("lastNameBox"); + TextBox tbx_email = (TextBox)FormView1.FindControl("emailBox"); + TextBox tbx_officePhone = (TextBox)FormView1.FindControl("officePhoneBox"); + TextBox tbx_homePhone = (TextBox)FormView1.FindControl("homePhoneBox"); + TextBox tbx_cellPhone = (TextBox)FormView1.FindControl("cellPhoneBox"); - firstName.Text = curUser.FIRSTNAME; - lastName.Text = curUser.LASTNAME; - email.Text = curUser.EMAIL; - officePhone.Text = curUser.OFFICEPHONE; - homePhone.Text = curUser.HOMEPHONE; - cellPhone.Text = curUser.CELLPHONE; + tbx_firstName.Text = curUser.FIRSTNAME; + tbx_lastName.Text = curUser.LASTNAME; + tbx_email.Text = curUser.EMAIL; + tbx_officePhone.Text = curUser.OFFICEPHONE; + tbx_homePhone.Text = curUser.HOMEPHONE; + tbx_cellPhone.Text = curUser.CELLPHONE; } } + protected void editConfig(object sender, CommandEventArgs e) { if (mode == "read") This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2006-07-27 18:44:36
|
Revision: 228 Author: rouquin Date: 2006-07-27 11:44:20 -0700 (Thu, 27 Jul 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=228&view=rev Log Message: ----------- Roles and Rights and Users all display correctly now (except for roles for rights - waiting on procedure). You can view everything and even insert new roles and rights, but you cannot add user, rights, products, etc to those roles and rights - I need update procedures for those. Anyhow, we may be ready to start defining rights and enforcing them. Modified Paths: -------------- Website/App_Code/tcdbDataSet.xsd Website/App_Code/tcdbDataSet.xss Website/Includes/AdministrationTree.ascx.cs Website/Includes/Rights.ascx Website/Includes/Rights.ascx.cs Website/Includes/Roles.ascx Website/Includes/Roles.ascx.cs Website/Includes/UserSettings.ascx Website/Includes/UserSettings.ascx.cs Modified: Website/App_Code/tcdbDataSet.xsd =================================================================== --- Website/App_Code/tcdbDataSet.xsd 2006-07-27 17:18:49 UTC (rev 227) +++ Website/App_Code/tcdbDataSet.xsd 2006-07-27 18:44:20 UTC (rev 228) @@ -753,7 +753,7 @@ </TableAdapter> <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="db_roleUserProductTableAdapter" GeneratorDataComponentClassName="db_roleUserProductTableAdapter" Name="db_roleUserProduct" UserDataComponentName="db_roleUserProductTableAdapter"> <MainSource> - <DbSource ConnectionRef="tcdbConnectionString (Web.config)" DbObjectName="tcdb.dbo.sel_roleUserProduct" DbObjectType="StoredProcedure" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="False" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="False" UserGetMethodName="GetData" UserSourceName="Fill"> + <DbSource ConnectionRef="tcdbConnectionString (Web.config)" DbObjectName="tcdb.dbo.sel_roleUserProduct" DbObjectType="StoredProcedure" GenerateMethods="Get" GenerateShortCommands="False" GeneratorGetMethodName="GetData" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="False" UserGetMethodName="GetData" UserSourceName="Fill"> <SelectCommand> <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> <CommandText>dbo.sel_roleUserProduct</CommandText> @@ -779,6 +779,33 @@ <Sources> </Sources> </TableAdapter> + <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="db_roleRightTableAdapter" GeneratorDataComponentClassName="db_roleRightTableAdapter" Name="db_roleRight" UserDataComponentName="db_roleRightTableAdapter"> + <MainSource> + <DbSource ConnectionRef="tcdbConnectionString (Web.config)" DbObjectName="tcdb.dbo.sel_roleRight" DbObjectType="StoredProcedure" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="False" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="False" UserGetMethodName="GetData" UserSourceName="Fill"> + <SelectCommand> + <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> + <CommandText>dbo.sel_roleRight</CommandText> + <Parameters> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@roleID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@active" Precision="1" ProviderType="Bit" Scale="0" Size="1" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + </Parameters> + </DbCommand> + </SelectCommand> + </DbSource> + </MainSource> + <Mappings> + <Mapping SourceColumn="roleID" DataSetColumn="roleID" /> + <Mapping SourceColumn="rightsID" DataSetColumn="rightsID" /> + <Mapping SourceColumn="rightName" DataSetColumn="rightName" /> + <Mapping SourceColumn="active" DataSetColumn="active" /> + </Mappings> + <Sources> + </Sources> + </TableAdapter> </Tables> <Sources> </Sources> @@ -1199,6 +1226,22 @@ </xs:sequence> </xs:complexType> </xs:element> + <xs:element name="db_roleRight" msprop:Generator_UserTableName="db_roleRight" msprop:Generator_RowDeletedName="db_roleRightRowDeleted" msprop:Generator_TableClassName="db_roleRightDataTable" msprop:Generator_RowChangedName="db_roleRightRowChanged" msprop:Generator_RowClassName="db_roleRightRow" msprop:Generator_RowChangingName="db_roleRightRowChanging" msprop:Generator_RowEvArgName="db_roleRightRowChangeEvent" msprop:Generator_RowEvHandlerName="db_roleRightRowChangeEventHandler" msprop:Generator_TablePropName="db_roleRight" msprop:Generator_TableVarName="tabledb_roleRight" msprop:Generator_RowDeletingName="db_roleRightRowDeleting"> + <xs:complexType> + <xs:sequence> + <xs:element name="roleID" msprop:Generator_UserColumnName="roleID" msprop:Generator_ColumnPropNameInRow="roleID" msprop:Generator_ColumnVarNameInTable="columnroleID" msprop:Generator_ColumnPropNameInTable="roleIDColumn" type="xs:int" /> + <xs:element name="rightsID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="rightsID" msprop:Generator_ColumnPropNameInRow="rightsID" msprop:Generator_ColumnVarNameInTable="columnrightsID" msprop:Generator_ColumnPropNameInTable="rightsIDColumn" type="xs:int" /> + <xs:element name="rightName" msprop:Generator_UserColumnName="rightName" msprop:Generator_ColumnPropNameInRow="rightName" msprop:Generator_ColumnVarNameInTable="columnrightName" msprop:Generator_ColumnPropNameInTable="rightNameColumn" minOccurs="0"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:maxLength value="255" /> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> + </xs:sequence> + </xs:complexType> + </xs:element> </xs:choice> </xs:complexType> <xs:unique name="Constraint1" msdata:PrimaryKey="true"> Modified: Website/App_Code/tcdbDataSet.xss =================================================================== --- Website/App_Code/tcdbDataSet.xss 2006-07-27 17:18:49 UTC (rev 227) +++ Website/App_Code/tcdbDataSet.xss 2006-07-27 18:44:20 UTC (rev 228) @@ -4,22 +4,23 @@ Changes to this file may cause incorrect behavior and will be lost if the code is regenerated. </autogenerated>--> -<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="-10" ViewPortY="144" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout"> +<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="-10" ViewPortY="106" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout"> <Shapes> - <Shape ID="DesignTable:db_users" ZOrder="14" X="87" Y="57" Height="241" Width="201" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="194" /> - <Shape ID="DesignTable:db_products" ZOrder="13" X="25" Y="506" Height="241" Width="213" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="194" /> - <Shape ID="DesignTable:db_actionItems" ZOrder="12" X="619" Y="59" Height="292" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="228" /> - <Shape ID="DesignTable:db_status" ZOrder="11" X="272" Y="369" Height="122" Width="296" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="75" /> - <Shape ID="DesignTable:db_notes" ZOrder="10" X="309" Y="56" Height="139" Width="208" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="92" /> - <Shape ID="DesignTable:db_assignments" ZOrder="9" X="636" Y="368" Height="275" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="228" /> - <Shape ID="DesignTable:db_testPass" ZOrder="8" X="25" Y="317" Height="122" Width="211" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="75" /> - <Shape ID="DesignTable:db_config" ZOrder="7" X="382" Y="203" Height="156" Width="198" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="109" /> - <Shape ID="DesignTable:db_version" ZOrder="6" X="268" Y="539" Height="173" Width="216" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="126" /> - <Shape ID="DesignTable:db_rights" ZOrder="5" X="599" Y="657" Height="139" Width="260" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="92" /> - <Shape ID="DesignTable:db_role" ZOrder="4" X="319" Y="763" Height="139" Width="242" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="92" /> - <Shape ID="DesignTable:db_roleProductUser" ZOrder="3" X="903" Y="671" Height="156" Width="255" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="109" /> - <Shape ID="DesignTable:db_roleProduct" ZOrder="2" X="904" Y="843" Height="105" Width="231" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="58" /> - <Shape ID="DesignTable:db_roleUserProduct" ZOrder="1" X="592" Y="814" Height="122" Width="257" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="75" /> + <Shape ID="DesignTable:db_users" ZOrder="15" X="87" Y="57" Height="241" Width="201" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="194" /> + <Shape ID="DesignTable:db_products" ZOrder="14" X="25" Y="506" Height="241" Width="213" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="194" /> + <Shape ID="DesignTable:db_actionItems" ZOrder="13" X="619" Y="59" Height="86" Width="300" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="228" SplitterPosition="22" /> + <Shape ID="DesignTable:db_status" ZOrder="12" X="272" Y="369" Height="122" Width="296" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="75" /> + <Shape ID="DesignTable:db_notes" ZOrder="11" X="309" Y="56" Height="139" Width="208" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="92" /> + <Shape ID="DesignTable:db_assignments" ZOrder="10" X="636" Y="368" Height="275" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="228" /> + <Shape ID="DesignTable:db_testPass" ZOrder="9" X="25" Y="317" Height="122" Width="211" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="75" /> + <Shape ID="DesignTable:db_config" ZOrder="8" X="382" Y="203" Height="156" Width="198" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="109" /> + <Shape ID="DesignTable:db_version" ZOrder="7" X="268" Y="539" Height="173" Width="216" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="126" /> + <Shape ID="DesignTable:db_rights" ZOrder="6" X="599" Y="657" Height="139" Width="260" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="92" /> + <Shape ID="DesignTable:db_role" ZOrder="5" X="319" Y="763" Height="139" Width="242" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="92" /> + <Shape ID="DesignTable:db_roleProductUser" ZOrder="4" X="903" Y="671" Height="156" Width="255" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="109" /> + <Shape ID="DesignTable:db_roleProduct" ZOrder="3" X="904" Y="843" Height="105" Width="231" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="58" /> + <Shape ID="DesignTable:db_roleUserProduct" ZOrder="2" X="592" Y="814" Height="122" Width="255" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="75" /> + <Shape ID="DesignTable:db_roleRight" ZOrder="1" X="61" Y="768" Height="139" Width="217" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="92" /> </Shapes> <Connectors /> </DiagramLayout> \ No newline at end of file Modified: Website/Includes/AdministrationTree.ascx.cs =================================================================== --- Website/Includes/AdministrationTree.ascx.cs 2006-07-27 17:18:49 UTC (rev 227) +++ Website/Includes/AdministrationTree.ascx.cs 2006-07-27 18:44:20 UTC (rev 228) @@ -446,35 +446,29 @@ protected void BuildRightsList(TreeNode parent) { ArrayList nodes = (ArrayList)Session["AdminNodes"]; - /* - * // Populate Rights - query = "SELECT rights.* FROM rights INNER JOIN roleRights ON roleRights.rightsID=rights.rightsID WHERE roleRights.roleID=" + e.Node.Value; - DBAdapter = new SqlDataAdapter(query, DBConnection); - DBAdapter.Fill(ResultsDataSet); + tcdbDataSetTableAdapters.db_roleRightTableAdapter rightAdapter = new tcdbDataSetTableAdapters.db_roleRightTableAdapter(); + tcdbDataSet.db_roleRightDataTable rightTable = rightAdapter.GetData(Convert.ToInt32(parent.Value), true); + + // Populate Rights + foreach (tcdbDataSet.db_roleRightRow row in rightTable) + { + // Create the new node. + TreeNode newNode = new TreeNode(); + newNode.Text = "<font color=green>Right: </font><font color=blue>" + row.rightName + "</font>"; + newNode.Value = row.rightsID.ToString(); - if (ResultsDataSet.Tables.Count > 0) - { - foreach (DataRow row in ResultsDataSet.Tables[0].Rows) - { - // Create the new node. - newNode = new TreeNode(); - newNode.Text = "<font color=green>Right: </font><font color=blue>" + row["name"] + "</font>"; - newNode.Value = row["rightsID"].ToString(); + // Set the PopulateOnDemand property to true so that the child nodes can be + // dynamically populated. + newNode.PopulateOnDemand = true; - // Set the PopulateOnDemand property to true so that the child nodes can be - // dynamically populated. - newNode.PopulateOnDemand = true; + // Set additional properties for the node. + newNode.SelectAction = TreeNodeSelectAction.Expand; + newNode.NavigateUrl = "~/Right.aspx?"+Constants.CODE_RIGHT+"=" + newNode.Value; - // Set additional properties for the node. - newNode.SelectAction = TreeNodeSelectAction.Expand; - newNode.NavigateUrl = "~/RightsEdit.aspx?id=" + newNode.Value; - - // Add the new node to the ChildNodes collection of the parent node. - e.Node.ChildNodes.Add(newNode); - newNode.Expand(); - } - } - */ + // Add the new node to the ChildNodes collection of the parent node. + parent.ChildNodes.Add(newNode); + newNode.Expand(); + } } protected void BuildBuildList(TreeNode parent) { @@ -682,9 +676,9 @@ BuildVersionCategories(e.Node); else if (e.Node.Parent.Value == "status") BuildStatusList(e.Node); - else if (e.Node.NavigateUrl.Contains("labEdit")) + else if (e.Node.NavigateUrl.Contains("Lab")) BuildComputerList(e.Node); - else if (e.Node.NavigateUrl.Contains("roleEdit")) + else if (e.Node.NavigateUrl.Contains("Role")) BuildRightsList(e.Node); break; case 4: @@ -696,7 +690,7 @@ BuildPlatformList(e.Node); break; case 5: - if (e.Node.NavigateUrl.Contains("platformEdit")) + if (e.Node.NavigateUrl.Contains("Platform")) { BuildOSList(e.Node); BuildArchitectureList(e.Node); Modified: Website/Includes/Rights.ascx =================================================================== --- Website/Includes/Rights.ascx 2006-07-27 17:18:49 UTC (rev 227) +++ Website/Includes/Rights.ascx 2006-07-27 18:44:20 UTC (rev 228) @@ -34,7 +34,7 @@ <tr> <td align="left" colspan="2" valign="top" width="33%"> <strong>Roles:<br /> - </strong> <asp:ListBox ID="roleList" runat="server" OnDataBound="roleList_DataBound"></asp:ListBox> + </strong> <asp:ListBox ID="roleList" runat="server" OnDataBound="roleList_DataBound" DataSourceID="RolesDataSource" DataTextField="roleName" DataValueField="roleID"></asp:ListBox> </td> <td align="left" colspan="2" valign="top" width="33%"> </td> @@ -91,7 +91,7 @@ <tr> <td align="left" colspan="2" valign="top" width="33%"> <strong>Roles:<br /> - </strong> <asp:ListBox ID="roleList" runat="server" OnDataBound="roleList_DataBound"></asp:ListBox> + </strong> <asp:ListBox ID="roleList" runat="server" OnDataBound="roleList_DataBound" DataSourceID="RolesDataSource" DataTextField="roleName" DataValueField="roleID"></asp:ListBox> </td> <td align="left" colspan="2" valign="top" width="33%"> </td> @@ -144,13 +144,7 @@ <tr> <td align="left" colspan="2" valign="top" width="33%"> <strong>Roles:<br /> - </strong> <asp:ListBox ID="rightsList" runat="server"></asp:ListBox><asp:SqlDataSource ID="RoleRightsDataSource" - runat="server" ConnectionString="<%$ ConnectionStrings:tcdbConnectionString %>" - SelectCommand="del_config" SelectCommandType="StoredProcedure"> - <SelectParameters> - <asp:Parameter Name="configID" Type="Int32" /> - </SelectParameters> - </asp:SqlDataSource> + </strong> <asp:ListBox ID="rightsList" runat="server"></asp:ListBox> </td> <td align="left" colspan="2" valign="top" width="33%"> </td> @@ -183,11 +177,11 @@ </HeaderTemplate> </asp:FormView> <asp:ObjectDataSource ID="RightsDataSource" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="GetData" - TypeName="tcdbDataSetTableAdapters.sel_rightsTableAdapter" DeleteMethod="Update" InsertMethod="Insert" UpdateMethod="Update"> + TypeName="tcdbDataSetTableAdapters.db_rightsTableAdapter" DeleteMethod="Update" InsertMethod="Insert" UpdateMethod="Update"> <SelectParameters> <asp:SessionParameter Name="rightsID" SessionField="id" Type="Int32" /> <asp:Parameter Name="rightsName" Type="String" /> - <asp:Parameter Name="active" Type="Boolean" /> + <asp:Parameter Name="active" Type="Boolean" DefaultValue="true" /> </SelectParameters> <DeleteParameters> <asp:Parameter Name="rightsID" Type="Int32" /> @@ -211,7 +205,7 @@ <asp:ObjectDataSource ID="RolesDataSource" runat="server" OldValuesParameterFormatString="original_{0}" - SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.sel_roleTableAdapter" InsertMethod="Insert" UpdateMethod="Update"> + SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.db_roleTableAdapter" InsertMethod="Insert" UpdateMethod="Update"> <UpdateParameters> <asp:Parameter Name="roleID" Type="Int32" /> <asp:Parameter Name="name" Type="String" /> @@ -221,7 +215,7 @@ <SelectParameters> <asp:Parameter Name="roleID" Type="Int32" /> <asp:Parameter Name="roleName" Type="String" /> - <asp:Parameter Name="active" Type="Boolean" /> + <asp:Parameter Name="active" Type="Boolean" DefaultValue="true" /> </SelectParameters> <InsertParameters> <asp:Parameter Name="name" Type="String" /> Modified: Website/Includes/Rights.ascx.cs =================================================================== --- Website/Includes/Rights.ascx.cs 2006-07-27 17:18:49 UTC (rev 227) +++ Website/Includes/Rights.ascx.cs 2006-07-27 18:44:20 UTC (rev 228) @@ -44,17 +44,13 @@ } protected void FormView1_ItemInserted(object sender, FormViewInsertedEventArgs e) { - /* - SqlDataAdapter DBAdapter = new SqlDataAdapter("SELECT MAX(rightsID) AS newID FROM rights", Master.DBConnection); - DataSet result = new DataSet(); - DBAdapter.Fill(result); - if (result.Tables.Count > 0 && result.Tables[0].Rows.Count > 0) - id = result.Tables[0].Rows[0]["newID"].ToString(); + tcdbDataSetTableAdapters.db_rightsTableAdapter rightsAdapter = new tcdbDataSetTableAdapters.db_rightsTableAdapter(); + tcdbDataSet.db_rightsDataTable rightsTable = rightsAdapter.GetData(null, e.Values["rightsName"].ToString(), true); + rightsID = rightsTable[rightsTable.Count - 1].rightsID; + updateRoles(); - Master.updateTree(); - Response.Redirect("~/RightsEdit.aspx?id=" + id); - */ + Response.Redirect("~/Right.aspx?"+Constants.CODE_RIGHT+"=" + rightsID); } protected void FormView1_ItemDeleted(object sender, FormViewDeletedEventArgs e) { Modified: Website/Includes/Roles.ascx =================================================================== --- Website/Includes/Roles.ascx 2006-07-27 17:18:49 UTC (rev 227) +++ Website/Includes/Roles.ascx 2006-07-27 18:44:20 UTC (rev 228) @@ -3,7 +3,7 @@ <asp:FormView ID="FormView1" runat="server" DataKeyNames="roleID" DataSourceID="RoleDataSource" OnItemDeleted="FormView1_ItemDeleted" OnItemInserted="FormView1_ItemInserted" - OnItemUpdated="FormView1_ItemUpdated" OnModeChanged="FormView1_ModeChanged" OnItemCommand="FormView1_ItemCommand"> + OnItemUpdated="FormView1_ItemUpdated" OnItemCommand="FormView1_ItemCommand"> <HeaderTemplate> <div align="left"> <h2> @@ -39,36 +39,34 @@ <strong>Products: <asp:DropDownList ID="productList" runat="server" AutoPostBack="True" DataSourceID="RoleProductDataSource" DataTextField="productName" DataValueField="productID" OnSelectedIndexChanged="productList_SelectedIndexChanged"> - </asp:DropDownList></strong> <asp:SqlDataSource ID="RoleProductDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:tcdbConnectionString %>" - SelectCommand="sel_roleProduct" SelectCommandType="StoredProcedure"> - <SelectParameters> - <asp:SessionParameter Name="roleID" SessionField="roleID" /> - <asp:Parameter Name="active" Type="Boolean" DefaultValue="true" /> - </SelectParameters> - </asp:SqlDataSource> + </asp:DropDownList><asp:ObjectDataSource ID="RoleProductDataSource" runat="server" + OldValuesParameterFormatString="original_{0}" SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.db_roleProductTableAdapter"> + <SelectParameters> + <asp:SessionParameter Name="roleID" SessionField="roleID" Type="Int32" /> + <asp:Parameter DefaultValue="true" Name="active" Type="Boolean" /> + </SelectParameters> + </asp:ObjectDataSource> + </strong> </td> <td colspan="2" align="left" valign="top" width="33%"> - <strong>Users:</strong><br /> <asp:ListBox ID="userList" runat="server" DataSourceID="RoleUserDataSource" DataTextField="fullName" DataValueField="userID"></asp:ListBox><asp:SqlDataSource - ID="RoleUserDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:tcdbConnectionString %>" - SelectCommand="sel_roleProductUser" SelectCommandType="StoredProcedure"> + <strong>Users:</strong><br /> <asp:ListBox ID="userList" runat="server" DataSourceID="RoleProductUserDataSource" DataTextField="fullName" DataValueField="userID"></asp:ListBox><asp:ObjectDataSource ID="RoleProductUserDataSource" runat="server" + OldValuesParameterFormatString="original_{0}" SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.db_roleProductUserTableAdapter"> <SelectParameters> - <asp:SessionParameter Name="roleID" SessionField="roleID" /> - <asp:ControlParameter ControlID="productList" Name="productID" PropertyName="SelectedValue" /> - <asp:Parameter Name="active" Type="Boolean" DefaultValue="true" /> + <asp:SessionParameter Name="roleID" SessionField="roleID" Type="Int32" /> + <asp:ControlParameter ControlID="productList" Name="productID" PropertyName="SelectedValue" + Type="Int32" /> + <asp:Parameter DefaultValue="true" Name="active" Type="Boolean" /> </SelectParameters> - </asp:SqlDataSource> + </asp:ObjectDataSource> </td> <td colspan="2" align="left" valign="top" width="34%"> - <strong>Rights:</strong><br /> <asp:ListBox ID="rightsList" runat="server"></asp:ListBox><asp:SqlDataSource ID="RoleRightsDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:tcdbConnectionString %>" - SelectCommand="sel_userRights" SelectCommandType="StoredProcedure"> + <strong>Rights:</strong><br /> <asp:ListBox ID="rightsList" runat="server" DataSourceID="RoleRightsDataSource" DataTextField="rightName" DataValueField="rightsID"></asp:ListBox><asp:ObjectDataSource ID="RoleRightsDataSource" runat="server" OldValuesParameterFormatString="original_{0}" + SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.db_roleRightTableAdapter"> <SelectParameters> - <asp:Parameter Name="userID" Type="Int32" /> - <asp:Parameter Name="productID" Type="Int32" /> - <asp:Parameter Name="rightsID" Type="Int32" /> - <asp:Parameter Name="rightsName" Type="String" /> - <asp:Parameter Name="active" Type="Boolean" /> + <asp:SessionParameter Name="roleID" SessionField="roleID" Type="Int32" /> + <asp:Parameter DefaultValue="true" Name="active" Type="Boolean" /> </SelectParameters> - </asp:SqlDataSource> + </asp:ObjectDataSource> </td> </tr> <tr> @@ -194,7 +192,14 @@ <td colspan="2" align="left" valign="top" width="34%"> <strong>Rights: <asp:LinkButton ID="newRight" runat="server" CommandName="newRight" OnCommand="newRight">New Right</asp:LinkButton><br /> - </strong> <asp:ListBox ID="rightsList" runat="server" DataSourceID="RightsDataSource" DataTextField="rightsName" DataValueField="rightsID" SelectionMode="Multiple"></asp:ListBox> + </strong> <asp:ListBox ID="rightsList" runat="server" DataSourceID="RoleRightsDataSource" DataTextField="rightName" DataValueField="rightsID" SelectionMode="Multiple"></asp:ListBox><asp:ObjectDataSource ID="RoleRightsDataSource" runat="server" OldValuesParameterFormatString="original_{0}" + SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.db_roleRightTableAdapter"> + <SelectParameters> + <asp:SessionParameter Name="roleID" SessionField="roleID" Type="Int32" /> + <asp:Parameter DefaultValue="true" Name="active" Type="Boolean" /> + </SelectParameters> + </asp:ObjectDataSource> + </td> </tr> <tr> Modified: Website/Includes/Roles.ascx.cs =================================================================== --- Website/Includes/Roles.ascx.cs 2006-07-27 17:18:49 UTC (rev 227) +++ Website/Includes/Roles.ascx.cs 2006-07-27 18:44:20 UTC (rev 228) @@ -1,13 +1,15 @@ using System; using System.Data; using System.Configuration; +using System.Collections; +using System.Collections.Generic; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; -using System.Collections.Generic; +using System.Data.SqlClient; using TCDB.Assignments; using TCDB.Common; using TCDB.Products; @@ -19,6 +21,7 @@ private static ILog m_logg = LogManager.GetLogger("Page:Roles"); int roleID = Convert.ToInt32(HttpContext.Current.Request.QueryString[Constants.CODE_ROLE]); String mode = HttpContext.Current.Request.QueryString["mode"]; + String product = HttpContext.Current.Request.QueryString[Constants.CODE_PRODUCT]; protected void Page_Load(object sender, EventArgs e) { @@ -88,54 +91,31 @@ } protected void FormView1_ItemInserted(object sender, FormViewInsertedEventArgs e) { - /* - SqlDataAdapter DBAdapter = new SqlDataAdapter("SELECT MAX(roleID) AS newID FROM role", Master.DBConnection); - DataSet result = new DataSet(); - DBAdapter.Fill(result); - if (result.Tables.Count > 0 && result.Tables[0].Rows.Count > 0) - id = result.Tables[0].Rows[0]["newID"].ToString(); + tcdbDataSetTableAdapters.db_roleTableAdapter roleAdapter = new tcdbDataSetTableAdapters.db_roleTableAdapter(); + tcdbDataSet.db_roleDataTable roleTable = roleAdapter.GetData(null, e.Values["roleName"].ToString(), true); + roleID = roleTable[roleTable.Count - 1].roleID; updateUserRoleProducts(); updateRoleRights(); - Response.Redirect("~/RoleEdit.aspx?id=" + id); - */ + Response.Redirect("~/Role.aspx?"+Constants.CODE_ROLE+"=" + roleID); } protected void FormView1_ItemDeleted(object sender, FormViewDeletedEventArgs e) { - /* - Master.updateTree(); - Response.Redirect("~/Admin.aspx"); - */ + Response.Redirect("~/Administration.aspx"); } protected void FormView1_ItemUpdated(object sender, FormViewUpdatedEventArgs e) { - /* updateUserRoleProducts(); updateRoleRights(); - Master.updateTree(); - */ + Response.Redirect("~/Role.aspx?" + Constants.CODE_ROLE + "=" + roleID); } - protected void FormView1_ModeChanged(object sender, EventArgs e) - { - /* - Panel notes = (Panel)Master.FindControl("noteViewPanel"); - - if (FormView1.CurrentMode == FormViewMode.Insert) - notes.Visible = false; - else - notes.Visible = true; - */ - } protected void FormView1_ItemCommand(object sender, FormViewCommandEventArgs e) { - /* if (FormView1.CurrentMode == FormViewMode.Insert && e.CommandName == "Cancel") - Response.Redirect("Admin.aspx"); - */ + Response.Redirect("~/Administration.aspx"); } protected void userList_DataBound(object sender, EventArgs e) { - /* Dictionary<String, ArrayList> ProductUsers = (Dictionary<String, ArrayList>)Session["ProductUsers"]; if (ProductUsers != null) @@ -151,46 +131,32 @@ userList.Items.FindByValue(userID).Selected = true; } } - */ } protected void rightsList_DataBound(object sender, EventArgs e) { - /* ListBox rightsList = (ListBox)sender; - SqlDataAdapter DBAdapter = new SqlDataAdapter("SELECT rightsID FROM roleRights WHERE roleID=" + id, Master.DBConnection); - DataSet result = new DataSet(); - DBAdapter.Fill(result); + tcdbDataSetTableAdapters.db_roleRightTableAdapter roleRightAdapter = new tcdbDataSetTableAdapters.db_roleRightTableAdapter(); + tcdbDataSet.db_roleRightDataTable roleRightTable = roleRightAdapter.GetData(roleID, true); - if (result.Tables.Count > 0 && result.Tables[0].Rows.Count > 0) - { - foreach (DataRow row in result.Tables[0].Rows) - rightsList.Items.FindByValue(row["rightsID"].ToString()).Selected = true; - } - */ + foreach (tcdbDataSet.db_roleRightRow row in roleRightTable) + rightsList.Items.FindByValue(row.rightsID.ToString()).Selected = true; } protected void addUsers(object sender, CommandEventArgs e) { - /* updateUserRoleProducts(); - */ } protected void newRight(object sender, CommandEventArgs e) { - /* - Response.Redirect("RightsEdit.aspx?mode=new&role=" + id); - */ + Response.Redirect("Right.aspx?mode=new&"+Constants.CODE_ROLE+"=" + roleID); } protected void productList_SelectedIndexChanged(object sender, EventArgs e) { - /* ListBox userList = (ListBox)FormView1.FindControl("userList"); userList.DataBind(); - */ } protected void userList_SelectedIndexChanged(object sender, EventArgs e) { - /* ListBox userList = (ListBox)sender; DropDownList productList = (DropDownList)FormView1.FindControl("productList"); Dictionary<String, ArrayList> ProductUsers = (Dictionary<String, ArrayList>)Session["ProductUsers"]; @@ -201,15 +167,11 @@ foreach (int index in indices) users.Add(userList.Items[index].Value); ProductUsers[productID] = users; - */ } protected void productListEdit_DataBound(object sender, EventArgs e) { - /* DropDownList productList = (DropDownList)sender; ListBox userList = (ListBox)FormView1.FindControl("userList"); - SqlDataAdapter DBAdapter = new SqlDataAdapter("", Master.DBConnection); - DataSet result = new DataSet(); // Init ProductUsers if (Session["ProductUsers"] == null) @@ -221,16 +183,12 @@ { ArrayList users = new ArrayList(); String productID = productItem.Value; - result.Clear(); - DBAdapter.SelectCommand.CommandText = "SELECT userID FROM UserRoleProduct WHERE roleID=" + id + " AND productID=" + productID; - DBAdapter.Fill(result); + tcdbDataSetTableAdapters.db_roleProductUserTableAdapter roleProductUserAdapter = new tcdbDataSetTableAdapters.db_roleProductUserTableAdapter(); + tcdbDataSet.db_roleProductUserDataTable roleProductUserTable = roleProductUserAdapter.GetData(roleID, Convert.ToInt32(productID), true); - if (result.Tables.Count > 0) - { - foreach (DataRow row in result.Tables[0].Rows) - users.Add(row["userID"].ToString()); - } + foreach (tcdbDataSet.db_roleProductUserRow row in roleProductUserTable) + users.Add(row.userID.ToString()); if (ProductUsers.ContainsKey(productID)) ProductUsers[productID] = users; @@ -240,11 +198,9 @@ if (product != null) productList.SelectedValue = product; userList.DataBind(); - */ } protected void productListInsert_DataBound(object sender, EventArgs e) { - /* DropDownList productList = (DropDownList)sender; // Initialize Product Users @@ -267,6 +223,5 @@ // Init productList if (product != null) productList.SelectedValue = product; - */ } } \ No newline at end of file Modified: Website/Includes/UserSettings.ascx =================================================================== --- Website/Includes/UserSettings.ascx 2006-07-27 17:18:49 UTC (rev 227) +++ Website/Includes/UserSettings.ascx 2006-07-27 18:44:20 UTC (rev 228) @@ -69,14 +69,15 @@ <div class="item"> <label> Roles:</label><br /> - <asp:ListBox ID="roleList" runat="server" Width="150px" Height="150px" DataSourceID="UserRolesDataSource" DataTextField="roleName" DataValueField="roleID" OnDataBound="roleList_DataBound"></asp:ListBox><asp:SqlDataSource ID="UserRolesDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:tcdbConnectionString %>" - SelectCommand="sel_roleUserProduct" SelectCommandType="StoredProcedure"> + <asp:ListBox ID="roleList" runat="server" Width="150px" Height="150px" DataSourceID="UserRolesDataSource" DataTextField="roleName" DataValueField="roleID"></asp:ListBox><asp:ObjectDataSource ID="UserRolesDataSource" runat="server" OldValuesParameterFormatString="original_{0}" + SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.db_roleUserProductTableAdapter"> <SelectParameters> <asp:SessionParameter Name="userID" SessionField="userID" Type="Int32" /> <asp:Parameter Name="productID" Type="Int32" /> <asp:Parameter DefaultValue="true" Name="active" Type="Boolean" /> </SelectParameters> - </asp:SqlDataSource> + </asp:ObjectDataSource> + </div> <div class="item"> <label> @@ -170,7 +171,7 @@ <div class="item"> <label> Roles:</label><br /> - <asp:ListBox ID="roleList" runat="server" Width="150px" Height="150px" DataSourceID="RolesDateSource" DataTextField="roleName" DataValueField="roleID"></asp:ListBox> + <asp:ListBox ID="roleList" runat="server" Width="150px" Height="150px" DataSourceID="RolesDataSource" DataTextField="roleName" DataValueField="roleID"></asp:ListBox> </div> <div class="item"> <label> @@ -279,6 +280,7 @@ </div> </InsertItemTemplate> </asp:FormView> + </div> <asp:ObjectDataSource ID="UserDataSource" runat="server" SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.db_usersTableAdapter" UpdateMethod="Update" InsertMethod="Insert"> @@ -308,11 +310,24 @@ <asp:Parameter Name="automation" Type="Boolean" /> </InsertParameters> </asp:ObjectDataSource> -<asp:SqlDataSource ID="RolesDateSource" runat="server" ConnectionString="<%$ ConnectionStrings:tcdbConnectionString %>" - SelectCommand="sel_role" SelectCommandType="StoredProcedure"> + +<asp:ObjectDataSource ID="RolesDataSource" runat="server" InsertMethod="Insert" OldValuesParameterFormatString="original_{0}" + SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.db_roleTableAdapter" + UpdateMethod="Update"> + <UpdateParameters> + <asp:Parameter Name="roleID" Type="Int32" /> + <asp:Parameter Name="name" Type="String" /> + <asp:Parameter Name="description" Type="String" /> + <asp:Parameter Name="active" Type="Boolean" /> + </UpdateParameters> <SelectParameters> <asp:Parameter Name="roleID" Type="Int32" /> <asp:Parameter Name="roleName" Type="String" /> <asp:Parameter DefaultValue="true" Name="active" Type="Boolean" /> </SelectParameters> -</asp:SqlDataSource> + <InsertParameters> + <asp:Parameter Name="name" Type="String" /> + <asp:Parameter Name="description" Type="String" /> + <asp:Parameter Name="active" Type="Boolean" /> + </InsertParameters> +</asp:ObjectDataSource> Modified: Website/Includes/UserSettings.ascx.cs =================================================================== --- Website/Includes/UserSettings.ascx.cs 2006-07-27 17:18:49 UTC (rev 227) +++ Website/Includes/UserSettings.ascx.cs 2006-07-27 18:44:20 UTC (rev 228) @@ -155,8 +155,4 @@ } } } - protected void roleList_DataBound(object sender, EventArgs e) - { - - } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2006-07-27 20:59:03
|
Revision: 229 Author: rouquin Date: 2006-07-27 13:58:46 -0700 (Thu, 27 Jul 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=229&view=rev Log Message: ----------- Added TCDB product as product #1 (had to move VAS to #4) Enabled the HasRight functions on users. We can now begin to enforce rights. However, pending update procedures from Jon you cannot as yet add users to roles or rights to roles, etc. This should be a simple addition once the procedures have been created though. The procedures may be tricky to write. Modified Paths: -------------- Website/App_Code/Users.cs Website/App_Code/tcdbDataSet.xsd Website/App_Code/tcdbDataSet.xss Website/Includes/Assignments.ascx.cs Website/Includes/AssignmentsTree.ascx.cs Website/Includes/UserSettings.ascx Website/Includes/UserSettings.ascx.cs Added Paths: ----------- Website/App_Code/Right.cs Added: Website/App_Code/Right.cs =================================================================== --- Website/App_Code/Right.cs (rev 0) +++ Website/App_Code/Right.cs 2006-07-27 20:58:46 UTC (rev 229) @@ -0,0 +1,179 @@ +using System; +using System.Data; +using System.Data.SqlClient; +using System.Configuration; +using System.Diagnostics; +using System.Web; +using System.Web.Security; +using System.Web.Configuration; +using System.Web.UI; +using System.Web.UI.WebControls; +using System.Web.UI.WebControls.WebParts; +using System.Web.UI.HtmlControls; +using System.Security; +using System.Collections; +using System.Collections.Generic; +using System.Collections.Specialized; +using TCDB.Assignments; +using TCDB.Common; +using AD_Auth; +using System.Web.SessionState; +using log4net; + +namespace TCDB.Rights +{ + /// <summary> + /// A class containing database interactions for users in the TCDB System + /// TCDB.Rights holds all the moethods that interact with the Right DB + /// </summary> + public class RightDB : Page + { + private static ILog m_logg = LogManager.GetLogger("TCDB.Rights.RightDB"); + + public static Right GetRightInfo(string name) + { + tcdbDataSetTableAdapters.db_rightsTableAdapter rightsAdapter = new tcdbDataSetTableAdapters.db_rightsTableAdapter(); + tcdbDataSet.db_rightsDataTable rightsTable = rightsAdapter.GetData(null, name, true); + + if (rightsTable.Count > 0) + { + tcdbDataSet.db_rightsRow row = rightsTable[0]; + + return new Right(row.rightsID, row.rightsName, row.rightDescription); + } + else + return new Right(); + } + + public static Right GetRightInfo(int id) + { + tcdbDataSetTableAdapters.db_rightsTableAdapter rightsAdapter = new tcdbDataSetTableAdapters.db_rightsTableAdapter(); + tcdbDataSet.db_rightsDataTable rightsTable = rightsAdapter.GetData(id, null, true); + + if (rightsTable.Count > 0) + { + tcdbDataSet.db_rightsRow row = rightsTable[0]; + + return new Right(row.rightsID, row.rightsName, row.rightDescription); + } + else + return new Right(); + } + + public static List<Right> TCDB_GetRightList() + { + tcdbDataSetTableAdapters.db_rightsTableAdapter rightsAdapter = new tcdbDataSetTableAdapters.db_rightsTableAdapter(); + tcdbDataSet.db_rightsDataTable rightsTable = rightsAdapter.GetData(null, null, true); + List<Right> rightsList = new List<Right>(); + + foreach (tcdbDataSet.db_rightsRow row in rightsTable) + rightsList.Add(new Right(row.rightsID,row.rightsName,row.rightDescription)); + + return rightsList; + } + + public static List<String> TCDB_GetUserRights(int productID, int userID) + { + tcdbDataSetTableAdapters.sel_userRightsTableAdapter userRightsAdapter = new tcdbDataSetTableAdapters.sel_userRightsTableAdapter(); + tcdbDataSet.sel_userRightsDataTable userRightsTable = userRightsAdapter.GetData(userID,productID,null,null,true); + List<String> rightsList = new List<String>(); + + foreach (tcdbDataSet.sel_userRightsRow row in userRightsTable) + rightsList.Add(row.rightsName); + + return rightsList; + } + + public static Right TCDB_GetUserRight(int productID, int userID, String rightsName) + { + tcdbDataSetTableAdapters.sel_userRightsTableAdapter userRightsAdapter = new tcdbDataSetTableAdapters.sel_userRightsTableAdapter(); + tcdbDataSet.sel_userRightsDataTable userRightsTable = userRightsAdapter.GetData(userID, productID, null, rightsName, true); + + if (userRightsTable.Count > 0) + { + tcdbDataSet.sel_userRightsRow row = userRightsTable[0]; + + return new Right(row.rightsID, row.rightsName, row.rightDescription); + } + else + return null; + } + + public static bool TCDB_SaveRight(Right right) + { + tcdbDataSetTableAdapters.db_rightsTableAdapter rightsAdapter = new tcdbDataSetTableAdapters.db_rightsTableAdapter(); + try + { + rightsAdapter.Insert(right.NAME,right.DESCRIPTION,true); + } + catch (Exception e) + { + m_logg.Error(e.Message); + return false; + } + + return true; + } + } + + /// <summary> + /// A class representing one right object + /// </summary> + public class Right + { + private static ILog m_logg = LogManager.GetLogger("TCDB.Rights.Right"); + + private int p_id; + private string p_name; + private string p_description; + + public Right() + { + p_id = 0; + p_name = ""; + p_description = ""; + } + + public Right(string name) + { + BuildRight(RightDB.GetRightInfo(name)); + } + + public Right(int id) + { + BuildRight(RightDB.GetRightInfo(id)); + } + + public Right(int id, string name, string description) + { + p_id = id; + p_name = name; + p_description = description; + } + + private void BuildRight(Right right) + { + p_id = right.ID; + p_name = right.NAME; + p_description = right.DESCRIPTION; + } + + public int ID + { + get { return p_id; } + set { p_id = value; } + } + + public string NAME + { + get { return p_name.Trim(); } + set { p_name = value.Trim(); } + } + + public string DESCRIPTION + { + get { return p_description.Trim(); } + set { p_description = value.Trim(); } + } + } +} Modified: Website/App_Code/Users.cs =================================================================== --- Website/App_Code/Users.cs 2006-07-27 18:44:20 UTC (rev 228) +++ Website/App_Code/Users.cs 2006-07-27 20:58:46 UTC (rev 229) @@ -19,9 +19,8 @@ using AD_Auth; using System.Web.SessionState; using log4net; +using TCDB.Rights; - - namespace TCDB.Users { /// <summary> @@ -234,6 +233,7 @@ private bool p_isNew; private string p_password; private List<Assignment> p_assignments; + private Dictionary<int,List<String> > p_rights; /* TODO: Implement these as the time is right private List<Feature> p_features; private List<Assignment> p_assignmentsCreated; @@ -274,6 +274,7 @@ p_isNew = false; p_assignments = null; p_password = ""; + p_rights = new Dictionary<int, List<String> >(); } private void BuildUser(User user) @@ -300,7 +301,7 @@ // in this block so that we avoid an infinate loop p_assignments = user.GetAssignments(false, Constants.ASSIGNMENT_FINISHEDANDUNFINISHED); } - + p_rights = new Dictionary<int, List<String>>(); } public int ID @@ -387,14 +388,19 @@ public bool HasRight(string right, int productID) { - // TODO: Implement this function! - return true; + if (p_rights.ContainsKey(productID)) + return p_rights[productID].Contains(right); + else + { + p_rights[productID] = RightDB.TCDB_GetUserRights(productID,p_id); + + return p_rights[productID].Contains(right); + } } - public static bool HasRight(string userID, string right, int productID) + public static bool HasRight(int userID, string right, int productID) { - // TODO: Implement this function! - return true; + return (RightDB.TCDB_GetUserRight(productID, userID, right) != null); } public List<Assignment> GetAssignments(bool reload, int statusFilter) Modified: Website/App_Code/tcdbDataSet.xsd =================================================================== --- Website/App_Code/tcdbDataSet.xsd 2006-07-27 18:44:20 UTC (rev 228) +++ Website/App_Code/tcdbDataSet.xsd 2006-07-27 20:58:46 UTC (rev 229) @@ -753,7 +753,7 @@ </TableAdapter> <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="db_roleUserProductTableAdapter" GeneratorDataComponentClassName="db_roleUserProductTableAdapter" Name="db_roleUserProduct" UserDataComponentName="db_roleUserProductTableAdapter"> <MainSource> - <DbSource ConnectionRef="tcdbConnectionString (Web.config)" DbObjectName="tcdb.dbo.sel_roleUserProduct" DbObjectType="StoredProcedure" GenerateMethods="Get" GenerateShortCommands="False" GeneratorGetMethodName="GetData" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="False" UserGetMethodName="GetData" UserSourceName="Fill"> + <DbSource ConnectionRef="tcdbConnectionString (Web.config)" DbObjectName="tcdb.dbo.sel_roleUserProduct" DbObjectType="StoredProcedure" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="False" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="False" UserGetMethodName="GetData" UserSourceName="Fill"> <SelectCommand> <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> <CommandText>dbo.sel_roleUserProduct</CommandText> @@ -775,6 +775,8 @@ <Mapping SourceColumn="roleID" DataSetColumn="roleID" /> <Mapping SourceColumn="roleName" DataSetColumn="roleName" /> <Mapping SourceColumn="active" DataSetColumn="active" /> + <Mapping SourceColumn="productID" DataSetColumn="productID" /> + <Mapping SourceColumn="productName" DataSetColumn="productName" /> </Mappings> <Sources> </Sources> @@ -806,6 +808,42 @@ <Sources> </Sources> </TableAdapter> + <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="sel_userRightsTableAdapter" GeneratorDataComponentClassName="sel_userRightsTableAdapter" Name="sel_userRights" UserDataComponentName="sel_userRightsTableAdapter"> + <MainSource> + <DbSource ConnectionRef="tcdbConnectionString (Web.config)" DbObjectName="tcdb.dbo.sel_userRights" DbObjectType="StoredProcedure" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="False" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="False" UserGetMethodName="GetData" UserSourceName="Fill"> + <SelectCommand> + <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> + <CommandText>dbo.sel_userRights</CommandText> + <Parameters> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@userID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@productID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@rightsID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@rightsName" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@active" Precision="1" ProviderType="Bit" Scale="0" Size="1" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + </Parameters> + </DbCommand> + </SelectCommand> + </DbSource> + </MainSource> + <Mappings> + <Mapping SourceColumn="userID" DataSetColumn="userID" /> + <Mapping SourceColumn="fullName" DataSetColumn="fullName" /> + <Mapping SourceColumn="productID" DataSetColumn="productID" /> + <Mapping SourceColumn="productName" DataSetColumn="productName" /> + <Mapping SourceColumn="rightsID" DataSetColumn="rightsID" /> + <Mapping SourceColumn="rightsName" DataSetColumn="rightsName" /> + <Mapping SourceColumn="rightDescription" DataSetColumn="rightDescription" /> + </Mappings> + <Sources> + </Sources> + </TableAdapter> </Tables> <Sources> </Sources> @@ -818,172 +856,172 @@ <xs:element name="db_users" msprop:Generator_UserTableName="db_users" msprop:Generator_RowDeletedName="db_usersRowDeleted" msprop:Generator_RowChangedName="db_usersRowChanged" msprop:Generator_RowClassName="db_usersRow" msprop:Generator_RowChangingName="db_usersRowChanging" msprop:Generator_RowEvArgName="db_usersRowChangeEvent" msprop:Generator_RowEvHandlerName="db_usersRowChangeEventHandler" msprop:Generator_TableClassName="db_usersDataTable" msprop:Generator_TableVarName="tabledb_users" msprop:Generator_RowDeletingName="db_usersRowDeleting" msprop:Generator_TablePropName="db_users"> <xs:complexType> <xs:sequence> - <xs:element name="userID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="userID" msprop:Generator_ColumnVarNameInTable="columnuserID" msprop:Generator_ColumnPropNameInRow="userID" msprop:Generator_ColumnPropNameInTable="userIDColumn" type="xs:int" /> - <xs:element name="username" msprop:Generator_UserColumnName="username" msprop:Generator_ColumnVarNameInTable="columnusername" msprop:Generator_ColumnPropNameInRow="username" msprop:Generator_ColumnPropNameInTable="usernameColumn"> + <xs:element name="userID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="userID" msprop:Generator_ColumnPropNameInRow="userID" msprop:Generator_ColumnVarNameInTable="columnuserID" msprop:Generator_ColumnPropNameInTable="userIDColumn" type="xs:int" /> + <xs:element name="username" msprop:Generator_UserColumnName="username" msprop:Generator_ColumnPropNameInRow="username" msprop:Generator_ColumnVarNameInTable="columnusername" msprop:Generator_ColumnPropNameInTable="usernameColumn"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="email" msprop:Generator_UserColumnName="email" msprop:Generator_ColumnVarNameInTable="columnemail" msprop:Generator_ColumnPropNameInRow="email" msprop:Generator_ColumnPropNameInTable="emailColumn"> + <xs:element name="email" msprop:Generator_UserColumnName="email" msprop:Generator_ColumnPropNameInRow="email" msprop:Generator_ColumnVarNameInTable="columnemail" msprop:Generator_ColumnPropNameInTable="emailColumn"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="officePhone" msprop:Generator_UserColumnName="officePhone" msprop:Generator_ColumnVarNameInTable="columnofficePhone" msprop:Generator_ColumnPropNameInRow="officePhone" msprop:Generator_ColumnPropNameInTable="officePhoneColumn" minOccurs="0"> + <xs:element name="officePhone" msprop:Generator_UserColumnName="officePhone" msprop:Generator_ColumnPropNameInRow="officePhone" msprop:Generator_ColumnVarNameInTable="columnofficePhone" msprop:Generator_ColumnPropNameInTable="officePhoneColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="14" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="homePhone" msprop:Generator_UserColumnName="homePhone" msprop:Generator_ColumnVarNameInTable="columnhomePhone" msprop:Generator_ColumnPropNameInRow="homePhone" msprop:Generator_ColumnPropNameInTable="homePhoneColumn" minOccurs="0"> + <xs:element name="homePhone" msprop:Generator_UserColumnName="homePhone" msprop:Generator_ColumnPropNameInRow="homePhone" msprop:Generator_ColumnVarNameInTable="columnhomePhone" msprop:Generator_ColumnPropNameInTable="homePhoneColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="14" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="cellPhone" msprop:Generator_UserColumnName="cellPhone" msprop:Generator_ColumnVarNameInTable="columncellPhone" msprop:Generator_ColumnPropNameInRow="cellPhone" msprop:Generator_ColumnPropNameInTable="cellPhoneColumn" minOccurs="0"> + <xs:element name="cellPhone" msprop:Generator_UserColumnName="cellPhone" msprop:Generator_ColumnPropNameInRow="cellPhone" msprop:Generator_ColumnVarNameInTable="columncellPhone" msprop:Generator_ColumnPropNameInTable="cellPhoneColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="14" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="firstName" msprop:Generator_UserColumnName="firstName" msprop:Generator_ColumnVarNameInTable="columnfirstName" msprop:Generator_ColumnPropNameInRow="firstName" msprop:Generator_ColumnPropNameInTable="firstNameColumn"> + <xs:element name="firstName" msprop:Generator_UserColumnName="firstName" msprop:Generator_ColumnPropNameInRow="firstName" msprop:Generator_ColumnVarNameInTable="columnfirstName" msprop:Generator_ColumnPropNameInTable="firstNameColumn"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="24" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="lastName" msprop:Generator_UserColumnName="lastName" msprop:Generator_ColumnVarNameInTable="columnlastName" msprop:Generator_ColumnPropNameInRow="lastName" msprop:Generator_ColumnPropNameInTable="lastNameColumn"> + <xs:element name="lastName" msprop:Generator_UserColumnName="lastName" msprop:Generator_ColumnPropNameInRow="lastName" msprop:Generator_ColumnVarNameInTable="columnlastName" msprop:Generator_ColumnPropNameInTable="lastNameColumn"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="24" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="fullName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="fullName" msprop:Generator_ColumnVarNameInTable="columnfullName" msprop:Generator_ColumnPropNameInRow="fullName" msprop:Generator_ColumnPropNameInTable="fullNameColumn" minOccurs="0"> + <xs:element name="fullName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="fullName" msprop:Generator_ColumnPropNameInRow="fullName" msprop:Generator_ColumnVarNameInTable="columnfullName" msprop:Generator_ColumnPropNameInTable="fullNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="automation" msprop:Generator_UserColumnName="automation" msprop:Generator_ColumnVarNameInTable="columnautomation" msprop:Generator_ColumnPropNameInRow="automation" msprop:Generator_ColumnPropNameInTable="automationColumn" type="xs:boolean" /> + <xs:element name="automation" msprop:Generator_UserColumnName="automation" msprop:Generator_ColumnPropNameInRow="automation" msprop:Generator_ColumnVarNameInTable="columnautomation" msprop:Generator_ColumnPropNameInTable="automationColumn" type="xs:boolean" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_products" msprop:Generator_UserTableName="db_products" msprop:Generator_RowDeletedName="db_productsRowDeleted" msprop:Generator_RowChangedName="db_productsRowChanged" msprop:Generator_RowClassName="db_productsRow" msprop:Generator_RowChangingName="db_productsRowChanging" msprop:Generator_RowEvArgName="db_productsRowChangeEvent" msprop:Generator_RowEvHandlerName="db_productsRowChangeEventHandler" msprop:Generator_TableClassName="db_productsDataTable" msprop:Generator_TableVarName="tabledb_products" msprop:Generator_RowDeletingName="db_productsRowDeleting" msprop:Generator_TablePropName="db_products"> <xs:complexType> <xs:sequence> - <xs:element name="productID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" /> - <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> + <xs:element name="productID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" /> + <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> + <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="devManager" msprop:Generator_UserColumnName="devManager" msprop:Generator_ColumnVarNameInTable="columndevManager" msprop:Generator_ColumnPropNameInRow="devManager" msprop:Generator_ColumnPropNameInTable="devManagerColumn" type="xs:int" minOccurs="0" /> - <xs:element name="qaManager" msprop:Generator_UserColumnName="qaManager" msprop:Generator_ColumnVarNameInTable="columnqaManager" msprop:Generator_ColumnPropNameInRow="qaManager" msprop:Generator_ColumnPropNameInTable="qaManagerColumn" type="xs:int" minOccurs="0" /> - <xs:element name="devLead" msprop:Generator_UserColumnName="devLead" msprop:Generator_ColumnVarNameInTable="columndevLead" msprop:Generator_ColumnPropNameInRow="devLead" msprop:Generator_ColumnPropNameInTable="devLeadColumn" type="xs:int" minOccurs="0" /> - <xs:element name="qaLead" msprop:Generator_UserColumnName="qaLead" msprop:Generator_ColumnVarNameInTable="columnqaLead" msprop:Generator_ColumnPropNameInRow="qaLead" msprop:Generator_ColumnPropNameInTable="qaLeadColumn" type="xs:int" minOccurs="0" /> - <xs:element name="pm" msprop:Generator_UserColumnName="pm" msprop:Generator_ColumnVarNameInTable="columnpm" msprop:Generator_ColumnPropNameInRow="pm" msprop:Generator_ColumnPropNameInTable="pmColumn" type="xs:int" minOccurs="0" /> - <xs:element name="codeName" msprop:Generator_UserColumnName="codeName" msprop:Generator_ColumnVarNameInTable="columncodeName" msprop:Generator_ColumnPropNameInRow="codeName" msprop:Generator_ColumnPropNameInTable="codeNameColumn" minOccurs="0"> + <xs:element name="devManager" msprop:Generator_UserColumnName="devManager" msprop:Generator_ColumnPropNameInRow="devManager" msprop:Generator_ColumnVarNameInTable="columndevManager" msprop:Generator_ColumnPropNameInTable="devManagerColumn" type="xs:int" minOccurs="0" /> + <xs:element name="qaManager" msprop:Generator_UserColumnName="qaManager" msprop:Generator_ColumnPropNameInRow="qaManager" msprop:Generator_ColumnVarNameInTable="columnqaManager" msprop:Generator_ColumnPropNameInTable="qaManagerColumn" type="xs:int" minOccurs="0" /> + <xs:element name="devLead" msprop:Generator_UserColumnName="devLead" msprop:Generator_ColumnPropNameInRow="devLead" msprop:Generator_ColumnVarNameInTable="columndevLead" msprop:Generator_ColumnPropNameInTable="devLeadColumn" type="xs:int" minOccurs="0" /> + <xs:element name="qaLead" msprop:Generator_UserColumnName="qaLead" msprop:Generator_ColumnPropNameInRow="qaLead" msprop:Generator_ColumnVarNameInTable="columnqaLead" msprop:Generator_ColumnPropNameInTable="qaLeadColumn" type="xs:int" minOccurs="0" /> + <xs:element name="pm" msprop:Generator_UserColumnName="pm" msprop:Generator_ColumnPropNameInRow="pm" msprop:Generator_ColumnVarNameInTable="columnpm" msprop:Generator_ColumnPropNameInTable="pmColumn" type="xs:int" minOccurs="0" /> + <xs:element name="codeName" msprop:Generator_UserColumnName="codeName" msprop:Generator_ColumnPropNameInRow="codeName" msprop:Generator_ColumnVarNameInTable="columncodeName" msprop:Generator_ColumnPropNameInTable="codeNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="10" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> + <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_actionItems" msprop:Generator_UserTableName="db_actionItems" msprop:Generator_RowDeletedName="db_actionItemsRowDeleted" msprop:Generator_RowChangedName="db_actionItemsRowChanged" msprop:Generator_RowClassName="db_actionItemsRow" msprop:Generator_RowChangingName="db_actionItemsRowChanging" msprop:Generator_RowEvArgName="db_actionItemsRowChangeEvent" msprop:Generator_RowEvHandlerName="db_actionItemsRowChangeEventHandler" msprop:Generator_TableClassName="db_actionItemsDataTable" msprop:Generator_TableVarName="tabledb_actionItems" msprop:Generator_RowDeletingName="db_actionItemsRowDeleting" msprop:Generator_TablePropName="db_actionItems"> <xs:complexType> <xs:sequence> - <xs:element name="actionItemID" msprop:Generator_UserColumnName="actionItemID" msprop:Generator_ColumnPropNameInRow="actionItemID" msprop:Generator_ColumnVarNameInTable="columnactionItemID" msprop:Generator_ColumnPropNameInTable="actionItemIDColumn" type="xs:int" /> - <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> + <xs:element name="actionItemID" msprop:Generator_UserColumnName="actionItemID" msprop:Generator_ColumnVarNameInTable="columnactionItemID" msprop:Generator_ColumnPropNameInRow="actionItemID" msprop:Generator_ColumnPropNameInTable="actionItemIDColumn" type="xs:int" /> + <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> + <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="dateAssigned" msprop:Generator_UserColumnName="dateAssigned" msprop:Generator_ColumnPropNameInRow="dateAssigned" msprop:Generator_ColumnVarNameInTable="columndateAssigned" msprop:Generator_ColumnPropNameInTable="dateAssignedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="dateDue" msprop:Generator_UserColumnName="dateDue" msprop:Generator_ColumnPropNameInRow="dateDue" msprop:Generator_ColumnVarNameInTable="columndateDue" msprop:Generator_ColumnPropNameInTable="dateDueColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="percentComplete" msprop:Generator_UserColumnName="percentComplete" msprop:Generator_ColumnPropNameInRow="percentComplete" msprop:Generator_ColumnVarNameInTable="columnpercentComplete" msprop:Generator_ColumnPropNameInTable="percentCompleteColumn" type="xs:int" minOccurs="0" /> - <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> + <xs:element name="dateAssigned" msprop:Generator_UserColumnName="dateAssigned" msprop:Generator_ColumnVarNameInTable="columndateAssigned" msprop:Generator_ColumnPropNameInRow="dateAssigned" msprop:Generator_ColumnPropNameInTable="dateAssignedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="dateDue" msprop:Generator_UserColumnName="dateDue" msprop:Generator_ColumnVarNameInTable="columndateDue" msprop:Generator_ColumnPropNameInRow="dateDue" msprop:Generator_ColumnPropNameInTable="dateDueColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="percentComplete" msprop:Generator_UserColumnName="percentComplete" msprop:Generator_ColumnVarNameInTable="columnpercentComplete" msprop:Generator_ColumnPropNameInRow="percentComplete" msprop:Generator_ColumnPropNameInTable="percentCompleteColumn" type="xs:int" minOccurs="0" /> + <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="createdBy" msdata:ReadOnly="true" msprop:Generator_UserColumnName="createdBy" msprop:Generator_ColumnPropNameInRow="createdBy" msprop:Generator_ColumnVarNameInTable="columncreatedBy" msprop:Generator_ColumnPropNameInTable="createdByColumn" minOccurs="0"> + <xs:element name="createdBy" msdata:ReadOnly="true" msprop:Generator_UserColumnName="createdBy" msprop:Generator_ColumnVarNameInTable="columncreatedBy" msprop:Generator_ColumnPropNameInRow="createdBy" msprop:Generator_ColumnPropNameInTable="createdByColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="highPriority" msprop:Generator_UserColumnName="highPriority" msprop:Generator_ColumnPropNameInRow="highPriority" msprop:Generator_ColumnVarNameInTable="columnhighPriority" msprop:Generator_ColumnPropNameInTable="highPriorityColumn" type="xs:boolean" minOccurs="0" /> - <xs:element name="testPass" msprop:Generator_UserColumnName="testPass" msprop:Generator_ColumnVarNameInTable="columntestPass" msprop:Generator_ColumnPropNameInRow="testPass" msprop:Generator_ColumnPropNameInTable="testPassColumn" minOccurs="0"> + <xs:element name="highPriority" msprop:Generator_UserColumnName="highPriority" msprop:Generator_ColumnVarNameInTable="columnhighPriority" msprop:Generator_ColumnPropNameInRow="highPriority" msprop:Generator_ColumnPropNameInTable="highPriorityColumn" type="xs:boolean" minOccurs="0" /> + <xs:element name="testPass" msprop:Generator_UserColumnName="testPass" msprop:Generator_ColumnPropNameInRow="testPass" msprop:Generator_ColumnVarNameInTable="columntestPass" msprop:Generator_ColumnPropNameInTable="testPassColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="dateFinished" msprop:Generator_UserColumnName="dateFinished" msprop:Generator_ColumnVarNameInTable="columndateFinished" msprop:Generator_ColumnPropNameInRow="dateFinished" msprop:Generator_ColumnPropNameInTable="dateFinishedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="assignedID" msprop:Generator_UserColumnName="assignedID" msprop:Generator_ColumnVarNameInTable="columnassignedID" msprop:Generator_ColumnPropNameInRow="assignedID" msprop:Generator_ColumnPropNameInTable="assignedIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="assigned" msdata:ReadOnly="true" msprop:Generator_UserColumnName="assigned" msprop:Generator_ColumnVarNameInTable="columnassigned" msprop:Generator_ColumnPropNameInRow="assigned" msprop:Generator_ColumnPropNameInTable="assignedColumn" minOccurs="0"> + <xs:element name="dateFinished" msprop:Generator_UserColumnName="dateFinished" msprop:Generator_ColumnPropNameInRow="dateFinished" msprop:Generator_ColumnVarNameInTable="columndateFinished" msprop:Generator_ColumnPropNameInTable="dateFinishedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="assignedID" msprop:Generator_UserColumnName="assignedID" msprop:Generator_ColumnPropNameInRow="assignedID" msprop:Generator_ColumnVarNameInTable="columnassignedID" msprop:Generator_ColumnPropNameInTable="assignedIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="assigned" msdata:ReadOnly="true" msprop:Generator_UserColumnName="assigned" msprop:Generator_ColumnPropNameInRow="assigned" msprop:Generator_ColumnVarNameInTable="columnassigned" msprop:Generator_ColumnPropNameInTable="assignedColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="statusID" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="testPassID" msprop:Generator_UserColumnName="testPassID" msprop:Generator_ColumnPropNameInRow="testPassID" msprop:Generator_ColumnVarNameInTable="columntestPassID" msprop:Generator_ColumnPropNameInTable="testPassIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> - <xs:element name="creatorID" msprop:Generator_UserColumnName="creatorID" msprop:Generator_ColumnPropNameInRow="creatorID" msprop:Generator_ColumnVarNameInTable="columncreatorID" msprop:Generator_ColumnPropNameInTable="creatorIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="statusID" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="testPassID" msprop:Generator_UserColumnName="testPassID" msprop:Generator_ColumnVarNameInTable="columntestPassID" msprop:Generator_ColumnPropNameInRow="testPassID" msprop:Generator_ColumnPropNameInTable="testPassIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> + <xs:element name="creatorID" msprop:Generator_UserColumnName="creatorID" msprop:Generator_ColumnVarNameInTable="columncreatorID" msprop:Generator_ColumnPropNameInRow="creatorID" msprop:Generator_ColumnPropNameInTable="creatorIDColumn" type="xs:int" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_status" msprop:Generator_UserTableName="db_status" msprop:Generator_RowDeletedName="db_statusRowDeleted" msprop:Generator_RowChangedName="db_statusRowChanged" msprop:Generator_RowClassName="db_statusRow" msprop:Generator_RowChangingName="db_statusRowChanging" msprop:Generator_RowEvArgName="db_statusRowChangeEvent" msprop:Generator_RowEvHandlerName="db_statusRowChangeEventHandler" msprop:Generator_TableClassName="db_statusDataTable" msprop:Generator_TableVarName="tabledb_status" msprop:Generator_RowDeletingName="db_statusRowDeleting" msprop:Generator_TablePropName="db_status"> <xs:complexType> <xs:sequence> - <xs:element name="statusID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" /> - <xs:element name="Description" msprop:Generator_UserColumnName="Description" msprop:Generator_ColumnVarNameInTable="columnDescription" msprop:Generator_ColumnPropNameInRow="Description" msprop:Generator_ColumnPropNameInTable="DescriptionColumn" minOccurs="0"> + <xs:element name="statusID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" /> + <xs:element name="Description" msprop:Generator_UserColumnName="Description" msprop:Generator_ColumnPropNameInRow="Description" msprop:Generator_ColumnVarNameInTable="columnDescription" msprop:Generator_ColumnPropNameInTable="DescriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> + <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> @@ -996,113 +1034,113 @@ <xs:element name="db_notes" msprop:Generator_UserTableName="db_notes" msprop:Generator_RowDeletedName="db_notesRowDeleted" msprop:Generator_RowChangedName="db_notesRowChanged" msprop:Generator_RowClassName="db_notesRow" msprop:Generator_RowChangingName="db_notesRowChanging" msprop:Generator_RowEvArgName="db_notesRowChangeEvent" msprop:Generator_RowEvHandlerName="db_notesRowChangeEventHandler" msprop:Generator_TableClassName="db_notesDataTable" msprop:Generator_TableVarName="tabledb_notes" msprop:Generator_RowDeletingName="db_notesRowDeleting" msprop:Generator_TablePropName="db_notes"> <xs:complexType> <xs:sequence> - <xs:element name="noteID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="noteID" msprop:Generator_ColumnVarNameInTable="columnnoteID" msprop:Generator_ColumnPropNameInRow="noteID" msprop:Generator_ColumnPropNameInTable="noteIDColumn" type="xs:int" /> - <xs:element name="dateCreated" msprop:Generator_UserColumnName="dateCreated" msprop:Generator_ColumnVarNameInTable="columndateCreated" msprop:Generator_ColumnPropNameInRow="dateCreated" msprop:Generator_ColumnPropNameInTable="dateCreatedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="noteField" msprop:Generator_UserColumnName="noteField" msprop:Generator_ColumnVarNameInTable="columnnoteField" msprop:Generator_ColumnPropNameInRow="noteField" msprop:Generator_ColumnPropNameInTable="noteFieldColumn" minOccurs="0"> + <xs:element name="noteID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="noteID" msprop:Generator_ColumnPropNameInRow="noteID" msprop:Generator_ColumnVarNameInTable="columnnoteID" msprop:Generator_ColumnPropNameInTable="noteIDColumn" type="xs:int" /> + <xs:element name="dateCreated" msprop:Generator_UserColumnName="dateCreated" msprop:Generator_ColumnPropNameInRow="dateCreated" msprop:Generator_ColumnVarNameInTable="columndateCreated" msprop:Generator_ColumnPropNameInTable="dateCreatedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="noteField" msprop:Generator_UserColumnName="noteField" msprop:Generator_ColumnPropNameInRow="noteField" msprop:Generator_ColumnVarNameInTable="columnnoteField" msprop:Generator_ColumnPropNameInTable="noteFieldColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="noteAuthor" msprop:Generator_UserColumnName="noteAuthor" msprop:Generator_ColumnVarNameInTable="columnnoteAuthor" msprop:Generator_ColumnPropNameInRow="noteAuthor" msprop:Generator_ColumnPropNameInTable="noteAuthorColumn" type="xs:int" minOccurs="0" /> + <xs:element name="noteAuthor" msprop:Generator_UserColumnName="noteAuthor" msprop:Generator_ColumnPropNameInRow="noteAuthor" msprop:Generator_ColumnVarNameInTable="columnnoteAuthor" msprop:Generator_ColumnPropNameInTable="noteAuthorColumn" type="xs:int" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_assignments" msprop:Generator_UserTableName="db_assignments" msprop:Generator_RowDeletedName="db_assignmentsRowDeleted" msprop:Generator_RowChangedName="db_assignmentsRowChanged" msprop:Generator_RowClassName="db_assignmentsRow" msprop:Generator_RowChangingName="db_assignmentsRowChanging" msprop:Generator_RowEvArgName="db_assignmentsRowChangeEvent" msprop:Generator_RowEvHandlerName="db_assignmentsRowChangeEventHandler" msprop:Generator_TableClassName="db_assignmentsDataTable" msprop:Generator_TableVarName="tabledb_assignments" msprop:Generator_RowDeletingName="db_assignmentsRowDeleting" msprop:Generator_TablePropName="db_assignments"> <xs:complexType> <xs:sequence> - <xs:element name="aType" msdata:ReadOnly="true" msprop:Generator_UserColumnName="aType" msprop:Generator_ColumnVarNameInTable="columnaType" msprop:Generator_ColumnPropNameInRow="aType" msprop:Generator_ColumnPropNameInTable="aTypeColumn" minOccurs="0"> + <xs:element name="aType" msdata:ReadOnly="true" msprop:Generator_UserColumnName="aType" msprop:Generator_ColumnPropNameInRow="aType" msprop:Generator_ColumnVarNameInTable="columnaType" msprop:Generator_ColumnPropNameInTable="aTypeColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="childID" msdata:ReadOnly="true" msprop:Generator_UserColumnName="childID" msprop:Generator_ColumnVarNameInTable="columnchildID" msprop:Generator_ColumnPropNameInRow="childID" msprop:Generator_ColumnPropNameInTable="childIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="creator" msdata:ReadOnly="true" msprop:Generator_UserColumnName="creator" msprop:Generator_ColumnVarNameInTable="columncreator" msprop:Generator_ColumnPropNameInRow="creator" msprop:Generator_ColumnPropNameInTable="creatorColumn" minOccurs="0"> + <xs:element name="childID" msdata:ReadOnly="true" msprop:Generator_UserColumnName="childID" msprop:Generator_ColumnPropNameInRow="childID" msprop:Generator_ColumnVarNameInTable="columnchildID" msprop:Generator_ColumnPropNameInTable="childIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="creator" msdata:ReadOnly="true" msprop:Generator_UserColumnName="creator" msprop:Generator_ColumnPropNameInRow="creator" msprop:Generator_ColumnVarNameInTable="columncreator" msprop:Generator_ColumnPropNameInTable="creatorColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="assigned" msdata:ReadOnly="true" msprop:Generator_UserColumnName="assigned" msprop:Generator_ColumnVarNameInTable="columnassigned" msprop:Generator_ColumnPropNameInRow="assigned" msprop:Generator_ColumnPropNameInTable="assignedColumn" minOccurs="0"> + <xs:element name="assigned" msdata:ReadOnly="true" msprop:Generator_UserColumnName="assigned" msprop:Generator_ColumnPropNameInRow="assigned" msprop:Generator_ColumnVarNameInTable="columnassigned" msprop:Generator_ColumnPropNameInTable="assignedColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="assignedID" msprop:Generator_UserColumnName="assignedID" msprop:Generator_ColumnVarNameInTable="columnassignedID" msprop:Generator_ColumnPropNameInRow="assignedID" msprop:Generator_ColumnPropNameInTable="assignedIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="dateAssigned" msprop:Generator_UserColumnName="dateAssigned" msprop:Generator_ColumnVarNameInTable="columndateAssigned" msprop:Generator_ColumnPropNameInRow="dateAssigned" msprop:Generator_ColumnPropNameInTable="dateAssignedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="dateDue" msprop:Generator_UserColumnName="dateDue" msprop:Generator_ColumnVarNameInTable="columndateDue" msprop:Generator_ColumnPropNameInRow="dateDue" msprop:Generator_ColumnPropNameInTable="dateDueColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="dateFinished" msprop:Generator_UserColumnName="dateFinished" msprop:Generator_ColumnVarNameInTable="columndateFinished" msprop:Generator_ColumnPropNameInRow="dateFinished" msprop:Generator_ColumnPropNameInTable="dateFinishedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="highPriority" msprop:Generator_UserColumnName="highPriority" msprop:Generator_ColumnVarNameInTable="columnhighPriority" msprop:Generator_ColumnPropNameInRow="highPriority" msprop:Generator_ColumnPropNameInTable="highPriorityColumn" type="xs:boolean" minOccurs="0" /> - <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> + <xs:element name="assignedID" msprop:Generator_UserColumnName="assignedID" msprop:Generator_ColumnPropNameInRow="assignedID" msprop:Generator_ColumnVarNameInTable="columnassignedID" msprop:Generator_ColumnPropNameInTable="assignedIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="dateAssigned" msprop:Generator_UserColumnName="dateAssigned" msprop:Generator_ColumnPropNameInRow="dateAssigned" msprop:Generator_ColumnVarNameInTable="columndateAssigned" msprop:Generator_ColumnPropNameInTable="dateAssignedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="dateDue" msprop:Generator_UserColumnName="dateDue" msprop:Generator_ColumnPropNameInRow="dateDue" msprop:Generator_ColumnVarNameInTable="columndateDue" msprop:Generator_ColumnPropNameInTable="dateDueColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="dateFinished" msprop:Generator_UserColumnName="dateFinished" msprop:Generator_ColumnPropNameInRow="dateFinished" msprop:Generator_ColumnVarNameInTable="columndateFinished" msprop:Generator_ColumnPropNameInTable="dateFinishedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="highPriority" msprop:Generator_UserColumnName="highPriority" msprop:Generator_ColumnPropNameInRow="highPriority" msprop:Generator_ColumnVarNameInTable="columnhighPriority" msprop:Generator_ColumnPropNameInTable="highPriorityColumn" type="xs:boolean" minOccurs="0" /> + <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="WOTotalTest" msprop:Generator_UserColumnName="WOTotalTest" msprop:Generator_ColumnVarNameInTable="columnWOTotalTest" msprop:Generator_ColumnPropNameInRow="WOTotalTest" msprop:Generator_ColumnPropNameInTable="WOTotalTestColumn" type="xs:int" minOccurs="0" /> - <xs:element name="WOPassRate" msdata:ReadOnly="true" msprop:Generator_UserColumnName="WOPassRate" msprop:Generator_ColumnVarNameInTable="columnWOPassRate" msprop:Generator_ColumnPropNameInRow="WOPassRate" msprop:Generator_ColumnPropNameInTable="WOPassRateColumn" minOccurs="0"> + <xs:element name="WOTotalTest" msprop:Generator_UserColumnName="WOTotalTest" msprop:Generator_ColumnPropNameInRow="WOTotalTest" msprop:Generator_ColumnVarNameInTable="columnWOTotalTest" msprop:Generator_ColumnPropNameInTable="WOTotalTestColumn" type="xs:int" minOccurs="0" /> + <xs:element name="WOPassRate" msdata:ReadOnly="true" msprop:Generator_UserColumnName="WOPassRate" msprop:Generator_ColumnPropNameInRow="WOPassRate" msprop:Generator_ColumnVarNameInTable="columnWOPassRate" msprop:Generator_ColumnPropNameInTable="WOPassRateColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="31" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="WOPass" msprop:Generator_UserColumnName="WOPass" msprop:Generator_ColumnVarNameInTable="columnWOPass" msprop:Generator_ColumnPropNameInRow="WOPass" msprop:Generator_ColumnPropNameInTable="WOPassColumn" type="xs:int" minOccurs="0" /> - <xs:element name="WOFail" msprop:Generator_UserColumnName="WOFail" msprop:Generator_ColumnVarNameInTable="columnWOFail" msprop:Generator_ColumnPropNameInRow="WOFail" msprop:Generator_ColumnPropNameInTable="WOFailColumn" type="xs:int" minOccurs="0" /> - <xs:element name="WOError" msprop:Generator_UserColumnName="WOError" msprop:Generator_ColumnVarNameInTable="columnWOError" msprop:Generator_ColumnPropNameInRow="WOError" msprop:Generator_ColumnPropNameInTable="WOErrorColumn" type="xs:int" minOccurs="0" /> - <xs:element name="aName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="aName" msprop:Generator_ColumnVarNameInTable="columnaName" msprop:Generator_ColumnPropNameInRow="aName" msprop:Generator_ColumnPropNameInTable="aNameColumn" minOccurs="0"> + <xs:element name="WOPass" msprop:Generator_UserColumnName="WOPass" msprop:Generator_ColumnPropNameInRow="WOPass" msprop:Generator_ColumnVarNameInTable="columnWOPass" msprop:Generator_ColumnPropNameInTable="WOPassColumn" type="xs:int" minOccurs="0" /> + <xs:element name="WOFail" msprop:Generator_UserColumnName="WOFail" msprop:Generator_ColumnPropNameInRow="WOFail" msprop:Generator_ColumnVarNameInTable="columnWOFail" msprop:Generator_ColumnPropNameInTable="WOFailColumn" type="xs:int" minOccurs="0" /> + <xs:element name="WOError" msprop:Generator_UserColumnName="WOError" msprop:Generator_ColumnPropNameInRow="WOError" msprop:Generator_ColumnVarNameInTable="columnWOError" msprop:Generator_ColumnPropNameInTable="WOErrorColumn" type="xs:int" minOccurs="0" /> + <xs:element name="aName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="aName" msprop:Generator_ColumnPropNameInRow="aName" msprop:Generator_ColumnVarNameInTable="columnaName" msprop:Generator_ColumnPropNameInTable="aNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> + <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_testPass" msprop:Generator_UserTableName="db_testPass" msprop:Generator_RowDeletedName="db_testPassRowDeleted" msprop:Generator_RowChangedName="db_testPassRowChanged" msprop:Generator_RowClassName="db_testPassRow" msprop:Generator_RowChangingName="db_testPassRowChanging" msprop:Generator_RowEvArgName="db_testPassRowChangeEvent" msprop:Generator_RowEvHandlerName="db_testPassRowChangeEventHandler" msprop:Generator_TableClassName="db_testPassDataTable" msprop:Generator_TableVarName="tabledb_testPass" msprop:Generator_RowDeletingName="db_testPassRowDeleting" msprop:Generator_TablePropName="db_testPass"> <xs:complexType> <xs:sequence> - <xs:element name="testPassID" msdata:ReadOnly="true" msdata:AutoIncrement="true" m... [truncated message content] |
From: <m_h...@us...> - 2006-07-27 22:51:31
|
Revision: 230 Author: m_hildebrand Date: 2006-07-27 15:51:17 -0700 (Thu, 27 Jul 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=230&view=rev Log Message: ----------- Fixed some CSS problems Reworked CSS file to be more generic to reduce code Removed formatting information hard coded around role information Modified Paths: -------------- Website/App_Code/Common.cs Website/App_Code/tcdbDataSet.xsd Website/App_Code/tcdbDataSet.xss Website/App_Themes/Python/python.css Website/Includes/Assignments.ascx Website/Includes/AssignmentsTree.ascx Website/Includes/Authenticate.ascx Website/Includes/Header_User.ascx Website/Includes/UserSettings.ascx Website/Includes/UserSettings.ascx.cs Modified: Website/App_Code/Common.cs =================================================================== --- Website/App_Code/Common.cs 2006-07-27 20:58:46 UTC (rev 229) +++ Website/App_Code/Common.cs 2006-07-27 22:51:17 UTC (rev 230) @@ -1079,7 +1079,7 @@ } else { - configAdapter.Insert(userID, name, "", value); + configAdapter.Insert(userID, name, value); } } public static void SaveConfigBool(int userID, String name, Boolean value) Modified: Website/App_Code/tcdbDataSet.xsd =================================================================== --- Website/App_Code/tcdbDataSet.xsd 2006-07-27 20:58:46 UTC (rev 229) +++ Website/App_Code/tcdbDataSet.xsd 2006-07-27 22:51:17 UTC (rev 230) @@ -462,8 +462,6 @@ </Parameter> <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@name" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumn="name" SourceColumnNullMapping="False" SourceVersion="Current"> </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@description" Precision="0" ProviderType="Text" Scale="0" Size="2147483647" SourceColumn="description" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@value" Precision="0" ProviderType="Text" Scale="0" Size="2147483647" SourceColumn="value" SourceColumnNullMapping="False" SourceVersion="Current"> </Parameter> </Parameters> @@ -856,172 +854,172 @@ <xs:element name="db_users" msprop:Generator_UserTableName="db_users" msprop:Generator_RowDeletedName="db_usersRowDeleted" msprop:Generator_RowChangedName="db_usersRowChanged" msprop:Generator_RowClassName="db_usersRow" msprop:Generator_RowChangingName="db_usersRowChanging" msprop:Generator_RowEvArgName="db_usersRowChangeEvent" msprop:Generator_RowEvHandlerName="db_usersRowChangeEventHandler" msprop:Generator_TableClassName="db_usersDataTable" msprop:Generator_TableVarName="tabledb_users" msprop:Generator_RowDeletingName="db_usersRowDeleting" msprop:Generator_TablePropName="db_users"> <xs:complexType> <xs:sequence> - <xs:element name="userID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="userID" msprop:Generator_ColumnPropNameInRow="userID" msprop:Generator_ColumnVarNameInTable="columnuserID" msprop:Generator_ColumnPropNameInTable="userIDColumn" type="xs:int" /> - <xs:element name="username" msprop:Generator_UserColumnName="username" msprop:Generator_ColumnPropNameInRow="username" msprop:Generator_ColumnVarNameInTable="columnusername" msprop:Generator_ColumnPropNameInTable="usernameColumn"> + <xs:element name="userID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="userID" msprop:Generator_ColumnVarNameInTable="columnuserID" msprop:Generator_ColumnPropNameInRow="userID" msprop:Generator_ColumnPropNameInTable="userIDColumn" type="xs:int" /> + <xs:element name="username" msprop:Generator_UserColumnName="username" msprop:Generator_ColumnVarNameInTable="columnusername" msprop:Generator_ColumnPropNameInRow="username" msprop:Generator_ColumnPropNameInTable="usernameColumn"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="email" msprop:Generator_UserColumnName="email" msprop:Generator_ColumnPropNameInRow="email" msprop:Generator_ColumnVarNameInTable="columnemail" msprop:Generator_ColumnPropNameInTable="emailColumn"> + <xs:element name="email" msprop:Generator_UserColumnName="email" msprop:Generator_ColumnVarNameInTable="columnemail" msprop:Generator_ColumnPropNameInRow="email" msprop:Generator_ColumnPropNameInTable="emailColumn"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="officePhone" msprop:Generator_UserColumnName="officePhone" msprop:Generator_ColumnPropNameInRow="officePhone" msprop:Generator_ColumnVarNameInTable="columnofficePhone" msprop:Generator_ColumnPropNameInTable="officePhoneColumn" minOccurs="0"> + <xs:element name="officePhone" msprop:Generator_UserColumnName="officePhone" msprop:Generator_ColumnVarNameInTable="columnofficePhone" msprop:Generator_ColumnPropNameInRow="officePhone" msprop:Generator_ColumnPropNameInTable="officePhoneColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="14" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="homePhone" msprop:Generator_UserColumnName="homePhone" msprop:Generator_ColumnPropNameInRow="homePhone" msprop:Generator_ColumnVarNameInTable="columnhomePhone" msprop:Generator_ColumnPropNameInTable="homePhoneColumn" minOccurs="0"> + <xs:element name="homePhone" msprop:Generator_UserColumnName="homePhone" msprop:Generator_ColumnVarNameInTable="columnhomePhone" msprop:Generator_ColumnPropNameInRow="homePhone" msprop:Generator_ColumnPropNameInTable="homePhoneColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="14" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="cellPhone" msprop:Generator_UserColumnName="cellPhone" msprop:Generator_ColumnPropNameInRow="cellPhone" msprop:Generator_ColumnVarNameInTable="columncellPhone" msprop:Generator_ColumnPropNameInTable="cellPhoneColumn" minOccurs="0"> + <xs:element name="cellPhone" msprop:Generator_UserColumnName="cellPhone" msprop:Generator_ColumnVarNameInTable="columncellPhone" msprop:Generator_ColumnPropNameInRow="cellPhone" msprop:Generator_ColumnPropNameInTable="cellPhoneColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="14" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="firstName" msprop:Generator_UserColumnName="firstName" msprop:Generator_ColumnPropNameInRow="firstName" msprop:Generator_ColumnVarNameInTable="columnfirstName" msprop:Generator_ColumnPropNameInTable="firstNameColumn"> + <xs:element name="firstName" msprop:Generator_UserColumnName="firstName" msprop:Generator_ColumnVarNameInTable="columnfirstName" msprop:Generator_ColumnPropNameInRow="firstName" msprop:Generator_ColumnPropNameInTable="firstNameColumn"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="24" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="lastName" msprop:Generator_UserColumnName="lastName" msprop:Generator_ColumnPropNameInRow="lastName" msprop:Generator_ColumnVarNameInTable="columnlastName" msprop:Generator_ColumnPropNameInTable="lastNameColumn"> + <xs:element name="lastName" msprop:Generator_UserColumnName="lastName" msprop:Generator_ColumnVarNameInTable="columnlastName" msprop:Generator_ColumnPropNameInRow="lastName" msprop:Generator_ColumnPropNameInTable="lastNameColumn"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="24" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="fullName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="fullName" msprop:Generator_ColumnPropNameInRow="fullName" msprop:Generator_ColumnVarNameInTable="columnfullName" msprop:Generator_ColumnPropNameInTable="fullNameColumn" minOccurs="0"> + <xs:element name="fullName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="fullName" msprop:Generator_ColumnVarNameInTable="columnfullName" msprop:Generator_ColumnPropNameInRow="fullName" msprop:Generator_ColumnPropNameInTable="fullNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="automation" msprop:Generator_UserColumnName="automation" msprop:Generator_ColumnPropNameInRow="automation" msprop:Generator_ColumnVarNameInTable="columnautomation" msprop:Generator_ColumnPropNameInTable="automationColumn" type="xs:boolean" /> + <xs:element name="automation" msprop:Generator_UserColumnName="automation" msprop:Generator_ColumnVarNameInTable="columnautomation" msprop:Generator_ColumnPropNameInRow="automation" msprop:Generator_ColumnPropNameInTable="automationColumn" type="xs:boolean" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_products" msprop:Generator_UserTableName="db_products" msprop:Generator_RowDeletedName="db_productsRowDeleted" msprop:Generator_RowChangedName="db_productsRowChanged" msprop:Generator_RowClassName="db_productsRow" msprop:Generator_RowChangingName="db_productsRowChanging" msprop:Generator_RowEvArgName="db_productsRowChangeEvent" msprop:Generator_RowEvHandlerName="db_productsRowChangeEventHandler" msprop:Generator_TableClassName="db_productsDataTable" msprop:Generator_TableVarName="tabledb_products" msprop:Generator_RowDeletingName="db_productsRowDeleting" msprop:Generator_TablePropName="db_products"> <xs:complexType> <xs:sequence> - <xs:element name="productID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" /> - <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> + <xs:element name="productID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" /> + <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> + <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="devManager" msprop:Generator_UserColumnName="devManager" msprop:Generator_ColumnPropNameInRow="devManager" msprop:Generator_ColumnVarNameInTable="columndevManager" msprop:Generator_ColumnPropNameInTable="devManagerColumn" type="xs:int" minOccurs="0" /> - <xs:element name="qaManager" msprop:Generator_UserColumnName="qaManager" msprop:Generator_ColumnPropNameInRow="qaManager" msprop:Generator_ColumnVarNameInTable="columnqaManager" msprop:Generator_ColumnPropNameInTable="qaManagerColumn" type="xs:int" minOccurs="0" /> - <xs:element name="devLead" msprop:Generator_UserColumnName="devLead" msprop:Generator_ColumnPropNameInRow="devLead" msprop:Generator_ColumnVarNameInTable="columndevLead" msprop:Generator_ColumnPropNameInTable="devLeadColumn" type="xs:int" minOccurs="0" /> - <xs:element name="qaLead" msprop:Generator_UserColumnName="qaLead" msprop:Generator_ColumnPropNameInRow="qaLead" msprop:Generator_ColumnVarNameInTable="columnqaLead" msprop:Generator_ColumnPropNameInTable="qaLeadColumn" type="xs:int" minOccurs="0" /> - <xs:element name="pm" msprop:Generator_UserColumnName="pm" msprop:Generator_ColumnPropNameInRow="pm" msprop:Generator_ColumnVarNameInTable="columnpm" msprop:Generator_ColumnPropNameInTable="pmColumn" type="xs:int" minOccurs="0" /> - <xs:element name="codeName" msprop:Generator_UserColumnName="codeName" msprop:Generator_ColumnPropNameInRow="codeName" msprop:Generator_ColumnVarNameInTable="columncodeName" msprop:Generator_ColumnPropNameInTable="codeNameColumn" minOccurs="0"> + <xs:element name="devManager" msprop:Generator_UserColumnName="devManager" msprop:Generator_ColumnVarNameInTable="columndevManager" msprop:Generator_ColumnPropNameInRow="devManager" msprop:Generator_ColumnPropNameInTable="devManagerColumn" type="xs:int" minOccurs="0" /> + <xs:element name="qaManager" msprop:Generator_UserColumnName="qaManager" msprop:Generator_ColumnVarNameInTable="columnqaManager" msprop:Generator_ColumnPropNameInRow="qaManager" msprop:Generator_ColumnPropNameInTable="qaManagerColumn" type="xs:int" minOccurs="0" /> + <xs:element name="devLead" msprop:Generator_UserColumnName="devLead" msprop:Generator_ColumnVarNameInTable="columndevLead" msprop:Generator_ColumnPropNameInRow="devLead" msprop:Generator_ColumnPropNameInTable="devLeadColumn" type="xs:int" minOccurs="0" /> + <xs:element name="qaLead" msprop:Generator_UserColumnName="qaLead" msprop:Generator_ColumnVarNameInTable="columnqaLead" msprop:Generator_ColumnPropNameInRow="qaLead" msprop:Generator_ColumnPropNameInTable="qaLeadColumn" type="xs:int" minOccurs="0" /> + <xs:element name="pm" msprop:Generator_UserColumnName="pm" msprop:Generator_ColumnVarNameInTable="columnpm" msprop:Generator_ColumnPropNameInRow="pm" msprop:Generator_ColumnPropNameInTable="pmColumn" type="xs:int" minOccurs="0" /> + <xs:element name="codeName" msprop:Generator_UserColumnName="codeName" msprop:Generator_ColumnVarNameInTable="columncodeName" msprop:Generator_ColumnPropNameInRow="codeName" msprop:Generator_ColumnPropNameInTable="codeNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="10" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> + <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_actionItems" msprop:Generator_UserTableName="db_actionItems" msprop:Generator_RowDeletedName="db_actionItemsRowDeleted" msprop:Generator_RowChangedName="db_actionItemsRowChanged" msprop:Generator_RowClassName="db_actionItemsRow" msprop:Generator_RowChangingName="db_actionItemsRowChanging" msprop:Generator_RowEvArgName="db_actionItemsRowChangeEvent" msprop:Generator_RowEvHandlerName="db_actionItemsRowChangeEventHandler" msprop:Generator_TableClassName="db_actionItemsDataTable" msprop:Generator_TableVarName="tabledb_actionItems" msprop:Generator_RowDeletingName="db_actionItemsRowDeleting" msprop:Generator_TablePropName="db_actionItems"> <xs:complexType> <xs:sequence> - <xs:element name="actionItemID" msprop:Generator_UserColumnName="actionItemID" msprop:Generator_ColumnVarNameInTable="columnactionItemID" msprop:Generator_ColumnPropNameInRow="actionItemID" msprop:Generator_ColumnPropNameInTable="actionItemIDColumn" type="xs:int" /> - <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> + <xs:element name="actionItemID" msprop:Generator_UserColumnName="actionItemID" msprop:Generator_ColumnPropNameInRow="actionItemID" msprop:Generator_ColumnVarNameInTable="columnactionItemID" msprop:Generator_ColumnPropNameInTable="actionItemIDColumn" type="xs:int" /> + <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> + <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="dateAssigned" msprop:Generator_UserColumnName="dateAssigned" msprop:Generator_ColumnVarNameInTable="columndateAssigned" msprop:Generator_ColumnPropNameInRow="dateAssigned" msprop:Generator_ColumnPropNameInTable="dateAssignedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="dateDue" msprop:Generator_UserColumnName="dateDue" msprop:Generator_ColumnVarNameInTable="columndateDue" msprop:Generator_ColumnPropNameInRow="dateDue" msprop:Generator_ColumnPropNameInTable="dateDueColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="percentComplete" msprop:Generator_UserColumnName="percentComplete" msprop:Generator_ColumnVarNameInTable="columnpercentComplete" msprop:Generator_ColumnPropNameInRow="percentComplete" msprop:Generator_ColumnPropNameInTable="percentCompleteColumn" type="xs:int" minOccurs="0" /> - <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> + <xs:element name="dateAssigned" msprop:Generator_UserColumnName="dateAssigned" msprop:Generator_ColumnPropNameInRow="dateAssigned" msprop:Generator_ColumnVarNameInTable="columndateAssigned" msprop:Generator_ColumnPropNameInTable="dateAssignedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="dateDue" msprop:Generator_UserColumnName="dateDue" msprop:Generator_ColumnPropNameInRow="dateDue" msprop:Generator_ColumnVarNameInTable="columndateDue" msprop:Generator_ColumnPropNameInTable="dateDueColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="percentComplete" msprop:Generator_UserColumnName="percentComplete" msprop:Generator_ColumnPropNameInRow="percentComplete" msprop:Generator_ColumnVarNameInTable="columnpercentComplete" msprop:Generator_ColumnPropNameInTable="percentCompleteColumn" type="xs:int" minOccurs="0" /> + <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="createdBy" msdata:ReadOnly="true" msprop:Generator_UserColumnName="createdBy" msprop:Generator_ColumnVarNameInTable="columncreatedBy" msprop:Generator_ColumnPropNameInRow="createdBy" msprop:Generator_ColumnPropNameInTable="createdByColumn" minOccurs="0"> + <xs:element name="createdBy" msdata:ReadOnly="true" msprop:Generator_UserColumnName="createdBy" msprop:Generator_ColumnPropNameInRow="createdBy" msprop:Generator_ColumnVarNameInTable="columncreatedBy" msprop:Generator_ColumnPropNameInTable="createdByColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="highPriority" msprop:Generator_UserColumnName="highPriority" msprop:Generator_ColumnVarNameInTable="columnhighPriority" msprop:Generator_ColumnPropNameInRow="highPriority" msprop:Generator_ColumnPropNameInTable="highPriorityColumn" type="xs:boolean" minOccurs="0" /> - <xs:element name="testPass" msprop:Generator_UserColumnName="testPass" msprop:Generator_ColumnPropNameInRow="testPass" msprop:Generator_ColumnVarNameInTable="columntestPass" msprop:Generator_ColumnPropNameInTable="testPassColumn" minOccurs="0"> + <xs:element name="highPriority" msprop:Generator_UserColumnName="highPriority" msprop:Generator_ColumnPropNameInRow="highPriority" msprop:Generator_ColumnVarNameInTable="columnhighPriority" msprop:Generator_ColumnPropNameInTable="highPriorityColumn" type="xs:boolean" minOccurs="0" /> + <xs:element name="testPass" msprop:Generator_UserColumnName="testPass" msprop:Generator_ColumnVarNameInTable="columntestPass" msprop:Generator_ColumnPropNameInRow="testPass" msprop:Generator_ColumnPropNameInTable="testPassColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="dateFinished" msprop:Generator_UserColumnName="dateFinished" msprop:Generator_ColumnPropNameInRow="dateFinished" msprop:Generator_ColumnVarNameInTable="columndateFinished" msprop:Generator_ColumnPropNameInTable="dateFinishedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="assignedID" msprop:Generator_UserColumnName="assignedID" msprop:Generator_ColumnPropNameInRow="assignedID" msprop:Generator_ColumnVarNameInTable="columnassignedID" msprop:Generator_ColumnPropNameInTable="assignedIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="assigned" msdata:ReadOnly="true" msprop:Generator_UserColumnName="assigned" msprop:Generator_ColumnPropNameInRow="assigned" msprop:Generator_ColumnVarNameInTable="columnassigned" msprop:Generator_ColumnPropNameInTable="assignedColumn" minOccurs="0"> + <xs:element name="dateFinished" msprop:Generator_UserColumnName="dateFinished" msprop:Generator_ColumnVarNameInTable="columndateFinished" msprop:Generator_ColumnPropNameInRow="dateFinished" msprop:Generator_ColumnPropNameInTable="dateFinishedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="assignedID" msprop:Generator_UserColumnName="assignedID" msprop:Generator_ColumnVarNameInTable="columnassignedID" msprop:Generator_ColumnPropNameInRow="assignedID" msprop:Generator_ColumnPropNameInTable="assignedIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="assigned" msdata:ReadOnly="true" msprop:Generator_UserColumnName="assigned" msprop:Generator_ColumnVarNameInTable="columnassigned" msprop:Generator_ColumnPropNameInRow="assigned" msprop:Generator_ColumnPropNameInTable="assignedColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="statusID" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="testPassID" msprop:Generator_UserColumnName="testPassID" msprop:Generator_ColumnVarNameInTable="columntestPassID" msprop:Generator_ColumnPropNameInRow="testPassID" msprop:Generator_ColumnPropNameInTable="testPassIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> - <xs:element name="creatorID" msprop:Generator_UserColumnName="creatorID" msprop:Generator_ColumnVarNameInTable="columncreatorID" msprop:Generator_ColumnPropNameInRow="creatorID" msprop:Generator_ColumnPropNameInTable="creatorIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="statusID" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="testPassID" msprop:Generator_UserColumnName="testPassID" msprop:Generator_ColumnPropNameInRow="testPassID" msprop:Generator_ColumnVarNameInTable="columntestPassID" msprop:Generator_ColumnPropNameInTable="testPassIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> + <xs:element name="creatorID" msprop:Generator_UserColumnName="creatorID" msprop:Generator_ColumnPropNameInRow="creatorID" msprop:Generator_ColumnVarNameInTable="columncreatorID" msprop:Generator_ColumnPropNameInTable="creatorIDColumn" type="xs:int" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_status" msprop:Generator_UserTableName="db_status" msprop:Generator_RowDeletedName="db_statusRowDeleted" msprop:Generator_RowChangedName="db_statusRowChanged" msprop:Generator_RowClassName="db_statusRow" msprop:Generator_RowChangingName="db_statusRowChanging" msprop:Generator_RowEvArgName="db_statusRowChangeEvent" msprop:Generator_RowEvHandlerName="db_statusRowChangeEventHandler" msprop:Generator_TableClassName="db_statusDataTable" msprop:Generator_TableVarName="tabledb_status" msprop:Generator_RowDeletingName="db_statusRowDeleting" msprop:Generator_TablePropName="db_status"> <xs:complexType> <xs:sequence> - <xs:element name="statusID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" /> - <xs:element name="Description" msprop:Generator_UserColumnName="Description" msprop:Generator_ColumnPropNameInRow="Description" msprop:Generator_ColumnVarNameInTable="columnDescription" msprop:Generator_ColumnPropNameInTable="DescriptionColumn" minOccurs="0"> + <xs:element name="statusID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" /> + <xs:element name="Description" msprop:Generator_UserColumnName="Description" msprop:Generator_ColumnVarNameInTable="columnDescription" msprop:Generator_ColumnPropNameInRow="Description" msprop:Generator_ColumnPropNameInTable="DescriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> + <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> @@ -1034,113 +1032,113 @@ <xs:element name="db_notes" msprop:Generator_UserTableName="db_notes" msprop:Generator_RowDeletedName="db_notesRowDeleted" msprop:Generator_RowChangedName="db_notesRowChanged" msprop:Generator_RowClassName="db_notesRow" msprop:Generator_RowChangingName="db_notesRowChanging" msprop:Generator_RowEvArgName="db_notesRowChangeEvent" msprop:Generator_RowEvHandlerName="db_notesRowChangeEventHandler" msprop:Generator_TableClassName="db_notesDataTable" msprop:Generator_TableVarName="tabledb_notes" msprop:Generator_RowDeletingName="db_notesRowDeleting" msprop:Generator_TablePropName="db_notes"> <xs:complexType> <xs:sequence> - <xs:element name="noteID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="noteID" msprop:Generator_ColumnPropNameInRow="noteID" msprop:Generator_ColumnVarNameInTable="columnnoteID" msprop:Generator_ColumnPropNameInTable="noteIDColumn" type="xs:int" /> - <xs:element name="dateCreated" msprop:Generator_UserColumnName="dateCreated" msprop:Generator_ColumnPropNameInRow="dateCreated" msprop:Generator_ColumnVarNameInTable="columndateCreated" msprop:Generator_ColumnPropNameInTable="dateCreatedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="noteField" msprop:Generator_UserColumnName="noteField" msprop:Generator_ColumnPropNameInRow="noteField" msprop:Generator_ColumnVarNameInTable="columnnoteField" msprop:Generator_ColumnPropNameInTable="noteFieldColumn" minOccurs="0"> + <xs:element name="noteID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="noteID" msprop:Generator_ColumnVarNameInTable="columnnoteID" msprop:Generator_ColumnPropNameInRow="noteID" msprop:Generator_ColumnPropNameInTable="noteIDColumn" type="xs:int" /> + <xs:element name="dateCreated" msprop:Generator_UserColumnName="dateCreated" msprop:Generator_ColumnVarNameInTable="columndateCreated" msprop:Generator_ColumnPropNameInRow="dateCreated" msprop:Generator_ColumnPropNameInTable="dateCreatedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="noteField" msprop:Generator_UserColumnName="noteField" msprop:Generator_ColumnVarNameInTable="columnnoteField" msprop:Generator_ColumnPropNameInRow="noteField" msprop:Generator_ColumnPropNameInTable="noteFieldColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="noteAuthor" msprop:Generator_UserColumnName="noteAuthor" msprop:Generator_ColumnPropNameInRow="noteAuthor" msprop:Generator_ColumnVarNameInTable="columnnoteAuthor" msprop:Generator_ColumnPropNameInTable="noteAuthorColumn" type="xs:int" minOccurs="0" /> + <xs:element name="noteAuthor" msprop:Generator_UserColumnName="noteAuthor" msprop:Generator_ColumnVarNameInTable="columnnoteAuthor" msprop:Generator_ColumnPropNameInRow="noteAuthor" msprop:Generator_ColumnPropNameInTable="noteAuthorColumn" type="xs:int" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_assignments" msprop:Generator_UserTableName="db_assignments" msprop:Generator_RowDeletedName="db_assignmentsRowDeleted" msprop:Generator_RowChangedName="db_assignmentsRowChanged" msprop:Generator_RowClassName="db_assignmentsRow" msprop:Generator_RowChangingName="db_assignmentsRowChanging" msprop:Generator_RowEvArgName="db_assignmentsRowChangeEvent" msprop:Generator_RowEvHandlerName="db_assignmentsRowChangeEventHandler" msprop:Generator_TableClassName="db_assignmentsDataTable" msprop:Generator_TableVarName="tabledb_assignments" msprop:Generator_RowDeletingName="db_assignmentsRowDeleting" msprop:Generator_TablePropName="db_assignments"> <xs:complexType> <xs:sequence> - <xs:element name="aType" msdata:ReadOnly="true" msprop:Generator_UserColumnName="aType" msprop:Generator_ColumnPropNameInRow="aType" msprop:Generator_ColumnVarNameInTable="columnaType" msprop:Generator_ColumnPropNameInTable="aTypeColumn" minOccurs="0"> + <xs:element name="aType" msdata:ReadOnly="true" msprop:Generator_UserColumnName="aType" msprop:Generator_ColumnVarNameInTable="columnaType" msprop:Generator_ColumnPropNameInRow="aType" msprop:Generator_ColumnPropNameInTable="aTypeColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="childID" msdata:ReadOnly="true" msprop:Generator_UserColumnName="childID" msprop:Generator_ColumnPropNameInRow="childID" msprop:Generator_ColumnVarNameInTable="columnchildID" msprop:Generator_ColumnPropNameInTable="childIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="creator" msdata:ReadOnly="true" msprop:Generator_UserColumnName="creator" msprop:Generator_ColumnPropNameInRow="creator" msprop:Generator_ColumnVarNameInTable="columncreator" msprop:Generator_ColumnPropNameInTable="creatorColumn" minOccurs="0"> + <xs:element name="childID" msdata:ReadOnly="true" msprop:Generator_UserColumnName="childID" msprop:Generator_ColumnVarNameInTable="columnchildID" msprop:Generator_ColumnPropNameInRow="childID" msprop:Generator_ColumnPropNameInTable="childIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="creator" msdata:ReadOnly="true" msprop:Generator_UserColumnName="creator" msprop:Generator_ColumnVarNameInTable="columncreator" msprop:Generator_ColumnPropNameInRow="creator" msprop:Generator_ColumnPropNameInTable="creatorColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="assigned" msdata:ReadOnly="true" msprop:Generator_UserColumnName="assigned" msprop:Generator_ColumnPropNameInRow="assigned" msprop:Generator_ColumnVarNameInTable="columnassigned" msprop:Generator_ColumnPropNameInTable="assignedColumn" minOccurs="0"> + <xs:element name="assigned" msdata:ReadOnly="true" msprop:Generator_UserColumnName="assigned" msprop:Generator_ColumnVarNameInTable="columnassigned" msprop:Generator_ColumnPropNameInRow="assigned" msprop:Generator_ColumnPropNameInTable="assignedColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="assignedID" msprop:Generator_UserColumnName="assignedID" msprop:Generator_ColumnPropNameInRow="assignedID" msprop:Generator_ColumnVarNameInTable="columnassignedID" msprop:Generator_ColumnPropNameInTable="assignedIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="dateAssigned" msprop:Generator_UserColumnName="dateAssigned" msprop:Generator_ColumnPropNameInRow="dateAssigned" msprop:Generator_ColumnVarNameInTable="columndateAssigned" msprop:Generator_ColumnPropNameInTable="dateAssignedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="dateDue" msprop:Generator_UserColumnName="dateDue" msprop:Generator_ColumnPropNameInRow="dateDue" msprop:Generator_ColumnVarNameInTable="columndateDue" msprop:Generator_ColumnPropNameInTable="dateDueColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="dateFinished" msprop:Generator_UserColumnName="dateFinished" msprop:Generator_ColumnPropNameInRow="dateFinished" msprop:Generator_ColumnVarNameInTable="columndateFinished" msprop:Generator_ColumnPropNameInTable="dateFinishedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="highPriority" msprop:Generator_UserColumnName="highPriority" msprop:Generator_ColumnPropNameInRow="highPriority" msprop:Generator_ColumnVarNameInTable="columnhighPriority" msprop:Generator_ColumnPropNameInTable="highPriorityColumn" type="xs:boolean" minOccurs="0" /> - <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> + <xs:element name="assignedID" msprop:Generator_UserColumnName="assignedID" msprop:Generator_ColumnVarNameInTable="columnassignedID" msprop:Generator_ColumnPropNameInRow="assignedID" msprop:Generator_ColumnPropNameInTable="assignedIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="dateAssigned" msprop:Generator_UserColumnName="dateAssigned" msprop:Generator_ColumnVarNameInTable="columndateAssigned" msprop:Generator_ColumnPropNameInRow="dateAssigned" msprop:Generator_ColumnPropNameInTable="dateAssignedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="dateDue" msprop:Generator_UserColumnName="dateDue" msprop:Generator_ColumnVarNameInTable="columndateDue" msprop:Generator_ColumnPropNameInRow="dateDue" msprop:Generator_ColumnPropNameInTable="dateDueColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="dateFinished" msprop:Generator_UserColumnName="dateFinished" msprop:Generator_ColumnVarNameInTable="columndateFinished" msprop:Generator_ColumnPropNameInRow="dateFinished" msprop:Generator_ColumnPropNameInTable="dateFinishedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="highPriority" msprop:Generator_UserColumnName="highPriority" msprop:Generator_ColumnVarNameInTable="columnhighPriority" msprop:Generator_ColumnPropNameInRow="highPriority" msprop:Generator_ColumnPropNameInTable="highPriorityColumn" type="xs:boolean" minOccurs="0" /> + <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="WOTotalTest" msprop:Generator_UserColumnName="WOTotalTest" msprop:Generator_ColumnPropNameInRow="WOTotalTest" msprop:Generator_ColumnVarNameInTable="columnWOTotalTest" msprop:Generator_ColumnPropNameInTable="WOTotalTestColumn" type="xs:int" minOccurs="0" /> - <xs:element name="WOPassRate" msdata:ReadOnly="true" msprop:Generator_UserColumnName="WOPassRate" msprop:Generator_ColumnPropNameInRow="WOPassRate" msprop:Generator_ColumnVarNameInTable="columnWOPassRate" msprop:Generator_ColumnPropNameInTable="WOPassRateColumn" minOccurs="0"> + <xs:element name="WOTotalTest" msprop:Generator_UserColumnName="WOTotalTest" msprop:Generator_ColumnVarNameInTable="columnWOTotalTest" msprop:Generator_ColumnPropNameInRow="WOTotalTest" msprop:Generator_ColumnPropNameInTable="WOTotalTestColumn" type="xs:int" minOccurs="0" /> + <xs:element name="WOPassRate" msdata:ReadOnly="true" msprop:Generator_UserColumnName="WOPassRate" msprop:Generator_ColumnVarNameInTable="columnWOPassRate" msprop:Generator_ColumnPropNameInRow="WOPassRate" msprop:Generator_ColumnPropNameInTable="WOPassRateColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="31" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="WOPass" msprop:Generator_UserColumnName="WOPass" msprop:Generator_ColumnPropNameInRow="WOPass" msprop:Generator_ColumnVarNameInTable="columnWOPass" msprop:Generator_ColumnPropNameInTable="WOPassColumn" type="xs:int" minOccurs="0" /> - <xs:element name="WOFail" msprop:Generator_UserColumnName="WOFail" msprop:Generator_ColumnPropNameInRow="WOFail" msprop:Generator_ColumnVarNameInTable="columnWOFail" msprop:Generator_ColumnPropNameInTable="WOFailColumn" type="xs:int" minOccurs="0" /> - <xs:element name="WOError" msprop:Generator_UserColumnName="WOError" msprop:Generator_ColumnPropNameInRow="WOError" msprop:Generator_ColumnVarNameInTable="columnWOError" msprop:Generator_ColumnPropNameInTable="WOErrorColumn" type="xs:int" minOccurs="0" /> - <xs:element name="aName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="aName" msprop:Generator_ColumnPropNameInRow="aName" msprop:Generator_ColumnVarNameInTable="columnaName" msprop:Generator_ColumnPropNameInTable="aNameColumn" minOccurs="0"> + <xs:element name="WOPass" msprop:Generator_UserColumnName="WOPass" msprop:Generator_ColumnVarNameInTable="columnWOPass" msprop:Generator_ColumnPropNameInRow="WOPass" msprop:Generator_ColumnPropNameInTable="WOPassColumn" type="xs:int" minOccurs="0" /> + <xs:element name="WOFail" msprop:Generator_UserColumnName="WOFail" msprop:Generator_ColumnVarNameInTable="columnWOFail" msprop:Generator_ColumnPropNameInRow="WOFail" msprop:Generator_ColumnPropNameInTable="WOFailColumn" type="xs:int" minOccurs="0" /> + <xs:element name="WOError" msprop:Generator_UserColumnName="WOError" msprop:Generator_ColumnVarNameInTable="columnWOError" msprop:Generator_ColumnPropNameInRow="WOError" msprop:Generator_ColumnPropNameInTable="WOErrorColumn" type="xs:int" minOccurs="0" /> + <xs:element name="aName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="aName" msprop:Generator_ColumnVarNameInTable="columnaName" msprop:Generator_ColumnPropNameInRow="aName" msprop:Generator_ColumnPropNameInTable="aNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> + <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_testPass" msprop:Generator_UserTableName="db_testPass" msprop:Generator_RowDeletedName="db_testPassRowDeleted" msprop:Generator_RowChangedName="db_testPassRowChanged" msprop:Generator_RowClassName="db_testPassRow" msprop:Generator_RowChangingName="db_testPassRowChanging" msprop:Generator_RowEvArgName="db_testPassRowChangeEvent" msprop:Generator_RowEvHandlerName="db_testPassRowChangeEventHandler" msprop:Generator_TableClassName="db_testPassDataTable" msprop:Generator_TableVarName="tabledb_testPass" msprop:Generator_RowDeletingName="db_testPassRowDeleting" msprop:Generator_TablePropName="db_testPass"> <xs:complexType> <xs:sequence> - <xs:element name="testPassID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="testPassID" msprop:Generator_ColumnVarNameInTable="columntestPassID" msprop:Generator_ColumnPropNameInRow="testPassID" msprop:Generator_ColumnPropNameInTable="testPassIDColumn" type="xs:int" /> - <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> + <xs:element name="testPassID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="testPassID" msprop:Generator_ColumnPropNameInRow="testPassID" msprop:Generator_ColumnVarNameInTable="columntestPassID" msprop:Generator_ColumnPropNameInTable="testPassIDColumn" type="xs:int" /> + <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="versionID" msprop:Generator_UserColumnName="versionID" msprop:Generator_ColumnVarNameInTable="columnversionID" msprop:Generator_ColumnPropNameInRow="versionID" msprop:Generator_ColumnPropNameInTable="versionIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="versionID" msprop:Generator_UserColumnName="versionID" msprop:Generator_ColumnPropNameInRow="versionID" msprop:Generator_ColumnVarNameInTable="columnversionID" msprop:Generator_ColumnPropNameInTable="versionIDColumn" type="xs:int" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_config" msprop:Generator_UserTableName="db_config" msprop:Generator_RowDeletedName="db_configRowDeleted" msprop:Generator_RowChangedName="db_configRowChanged" msprop:Generator_RowClassName="db_configRow" msprop:Generator_RowChangingName="db_configRowChanging" msprop:Generator_RowEvArgName="db_configRowChangeEvent" msprop:Generator_RowEvHandlerName="db_configRowChangeEventHandler" msprop:Generator_TableClassName="db_configDataTable" msprop:Generator_TableVarName="tabledb_config" msprop:Generator_RowDeletingName="db_configRowDeleting" msprop:Generator_TablePropName="db_config"> <xs:complexType> <xs:sequence> - <xs:element name="configID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="configID" msprop:Generator_ColumnVarNameInTable="columnconfigID" msprop:Generator_ColumnPropNameInRow="configID" msprop:Generator_ColumnPropNameInTable="configIDColumn" type="xs:int" /> - <xs:element name="userID" msprop:Generator_UserColumnName="userID" msprop:Generator_ColumnVarNameInTable="columnuserID" msprop:Generator_ColumnPropNameInRow="userID" msprop:Generator_ColumnPropNameInTable="userIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> + <xs:element name="configID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="configID" msprop:Generator_ColumnPropNameInRow="configID" msprop:Generator_ColumnVarNameInTable="columnconfigID" msprop:Generator_ColumnPropNameInTable="configIDColumn" type="xs:int" /> + <xs:element name="userID" msprop:Generator_UserColumnName="userID" msprop:Generator_ColumnPropNameInRow="userID" msprop:Generator_ColumnVarNameInTable="columnuserID" msprop:Generator_ColumnPropNameInTable="userIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="value" msprop:Generator_UserColumnName="value" msprop:Generator_ColumnVarNameInTable="columnvalue" msprop:Generator_ColumnPropNameInRow="value" msprop:Generator_ColumnPropNameInTable="valueColumn" minOccurs="0"> + <xs:element name="value" msprop:Generator_UserColumnName="value" msprop:Generator_ColumnPropNameInRow="value" msprop:Generator_ColumnVarNameInTable="columnvalue" msprop:Generator_ColumnPropNameInTable="valueColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> + <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> @@ -1153,93 +1151,93 @@ <xs:element name="db_version" msprop:Generator_UserTableName="db_version" msprop:Generator_RowDeletedName="db_versionRowDeleted" msprop:Generator_RowChangedName="db_versionRowChanged" msprop:Generator_RowClassName="db_versionRow" msprop:Generator_RowChangingName="db_versionRowChanging" msprop:Generator_RowEvArgName="db_versionRowChangeEvent" msprop:Generator_RowEvHandlerName="db_versionRowChangeEventHandler" msprop:Generator_TableClassName="db_versionDataTable" msprop:Generator_TableVarName="tabledb_version" msprop:Generator_RowDeletingName="db_versionRowDeleting" msprop:Generator_TablePropName="db_version"> <xs:complexType> <xs:sequence> - <xs:element name="versionID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="versionID" msprop:Generator_ColumnVarNameInTable="columnversionID" msprop:Generator_ColumnPropNameInRow="versionID" msprop:Generator_ColumnPropNameInTable="versionIDColumn" type="xs:int" /> - <xs:element name="productID" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="number" msprop:Generator_UserColumnName="number" msprop:Generator_ColumnVarNameInTable="columnnumber" msprop:Generator_ColumnPropNameInRow="number" msprop:Generator_ColumnPropNameInTable="numberColumn" minOccurs="0"> + <xs:element name="versionID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="versionID" msprop:Generator_ColumnPropNameInRow="versionID" msprop:Generator_ColumnVarNameInTable="columnversionID" msprop:Generator_ColumnPropNameInTable="versionIDColumn" type="xs:int" /> + <xs:element name="productID" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="number" msprop:Generator_UserColumnName="number" msprop:Generator_ColumnPropNameInRow="number" msprop:Generator_ColumnVarNameInTable="columnnumber" msprop:Generator_ColumnPropNameInTable="numberColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="code" msprop:Generator_UserColumnName="code" msprop:Generator_ColumnVarNameInTable="columncode" msprop:Generator_ColumnPropNameInRow="code" msprop:Generator_ColumnPropNameInTable="codeColumn" minOccurs="0"> + <xs:element name="code" msprop:Generator_UserColumnName="code" msprop:Generator_ColumnPropNameInRow="code" msprop:Generator_ColumnVarNameInTable="columncode" msprop:Generator_ColumnPropNameInTable="codeColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" minOccurs="0" /> - <xs:element name="dateCreated" msprop:Generator_UserColumnName="dateCreated" msprop:Generator_ColumnVarNameInTable="columndateCreated" msprop:Generator_ColumnPropNameInRow="dateCreated" msprop:Generator_ColumnPropNameInTable="dateCreatedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" minOccurs="0" /> + <xs:element name="dateCreated" msprop:Generator_UserColumnName="dateCreated" msprop:Generator_ColumnPropNameInRow="dateCreated" msprop:Generator_ColumnVarNameInTable="columndateCreated" msprop:Generator_ColumnPropNameInTable="dateCreatedColumn" type="xs:dateTime" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_rights" msprop:Generator_UserTableName="db_rights" msprop:Generator_RowDeletedName="db_rightsRowDeleted" msprop:Generator_RowChangedName="db_rightsRowChanged" msprop:Generator_RowClassName="db_rightsRow" msprop:Generator_RowChangingName="db_rightsRowChanging" msprop:Generator_RowEvArgName="db_rightsRowChangeEvent" msprop:Generator_RowEvHandlerName="db_rightsRowChangeEventHandler" msprop:Generator_TableClassName="db_rightsDataTable" msprop:Generator_TableVarName="tabledb_rights" msprop:Generator_RowDeletingName="db_rightsRowDeleting" msprop:Generator_TablePropName="db_rights"> <xs:complexType> <xs:sequence> - <xs:element name="rightsID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="rightsID" msprop:Generator_ColumnPropNameInRow="rightsID" msprop:Generator_ColumnVarNameInTable="columnrightsID" msprop:Generator_ColumnPropNameInTable="rightsIDColumn" type="xs:int" /> - <xs:element name="rightsName" msprop:Generator_UserColumnName="rightsName" msprop:Generator_ColumnPropNameInRow="rightsName" msprop:Generator_ColumnVarNameInTable="columnrightsName" msprop:Generator_ColumnPropNameInTable="rightsNameColumn" minOccurs="0"> + <xs:element name="rightsID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="rightsID" msprop:Generator_ColumnVarNameInTable="columnrightsID" msprop:Generator_ColumnPropNameInRow="rightsID" msprop:Generator_ColumnPropNameInTable="rightsIDColumn" type="xs:int" /> + <xs:element name="rightsName" msprop:Generator_UserColumnName="rightsName" msprop:Generator_ColumnVarNameInTable="columnrightsName" msprop:Generator_ColumnPropNameInRow="rightsName" msprop:Generator_ColumnPropNameInTable="rightsNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="rightDescription" msprop:Generator_UserColumnName="rightDescription" msprop:Generator_ColumnPropNameInRow="rightDescription" msprop:Generator_ColumnVarNameInTable="columnrightDescription" msprop:Generator_ColumnPropNameInTable="rightDescriptionColumn" minOccurs="0"> + <xs:element name="rightDescription" msprop:Generator_UserColumnName="rightDescription" msprop:G... [truncated message content] |
From: <ro...@us...> - 2006-07-28 17:14:57
|
Revision: 232 Author: rouquin Date: 2006-07-28 10:14:52 -0700 (Fri, 28 Jul 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=232&view=rev Log Message: ----------- Updated User Settings to show roles as a heirarchy Modified Paths: -------------- Website/Includes/UserSettings.ascx Website/Includes/UserSettings.ascx.cs Modified: Website/Includes/UserSettings.ascx =================================================================== --- Website/Includes/UserSettings.ascx 2006-07-28 16:44:32 UTC (rev 231) +++ Website/Includes/UserSettings.ascx 2006-07-28 17:14:52 UTC (rev 232) @@ -77,19 +77,7 @@ <div class="item"> <label> Roles:<br /> - </label> - <ew:MultiTextListBox ID="roleList" runat="server" DataSourceID="UserRolesDataSource" DataTextFields="productName,roleName" DataValueField="roleID" - DataTextFormatString="{0}: {1}" SelectionMode="Multiple"> - </ew:MultiTextListBox><asp:ObjectDataSource ID="UserRolesDataSource" runat="server" OldValuesParameterFormatString="original_{0}" - SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.db_roleUserProductTableAdapter"> - <SelectParameters> - <asp:SessionParameter Name="userID" SessionField="userID" Type="Int32" /> - <asp:Parameter Name="productID" Type="Int32" /> - <asp:Parameter DefaultValue="true" Name="active" Type="Boolean" /> - </SelectParameters> - </asp:ObjectDataSource> - - </div> + <asp:Literal ID="roleTree" runat="server" OnInit="roleTree_Init"></asp:Literal></label></div> </div> <div class="end"> </div> @@ -179,12 +167,11 @@ <div class="cm"> <div class="left"> <div class="item"> - <label> - Roles:</label><br /> - <label>Product: </label> <asp:DropDownList ID="productList" - runat="server" DataSourceID="ProductDataList" DataTextField="name" DataValueField="productID" OnDataBound="productListEdit_DataBound" OnSelectedIndexChanged="productList_SelectedIndexChanged" AutoPostBack="True"> - </asp:DropDownList><br /> - <asp:ListBox ID="roleList" runat="server" DataSourceID="RolesDataSource" DataTextField="roleName" DataValueField="roleID" OnDataBound="roleList_DataBound" OnSelectedIndexChanged="roleList_SelectedIndexChanged" AutoPostBack="True" SelectionMode="Multiple"></asp:ListBox> + <asp:TreeView ID="roleTree" runat="server" OnInit="roleTree_Init1" OnTreeNodePopulate="roleTree_TreeNodePopulate" ShowCheckBoxes="All" OnSelectedNodeChanged="roleTree_SelectedNodeChanged"> + <Nodes> + <asp:TreeNode SelectAction="SelectExpand" ShowCheckBox="True" Text="<strong>Roles</strong>" Value="Roles" PopulateOnDemand="True"></asp:TreeNode> + </Nodes> + </asp:TreeView> </div> </div> <div class="end"> @@ -259,11 +246,13 @@ </tr> <tr> <td align="left" valign="top"> - <label>Roles:</label><br /> - <label>Product:</label> <asp:DropDownList ID="productList" - runat="server" DataSourceID="ProductDataList" DataTextField="name" DataValueField="productID" OnDataBound="productListInsert_DataBound" AutoPostBack="True" OnSelectedIndexChanged="productList_SelectedIndexChanged"> - </asp:DropDownList><br /> - <asp:ListBox ID="roleList" runat="server" DataSourceID="RolesDateSource" DataTextField="roleName" DataValueField="roleID" AutoPostBack="True" OnDataBound="roleList_DataBound" OnSelectedIndexChanged="roleList_SelectedIndexChanged" SelectionMode="Multiple"></asp:ListBox> + <div class="item"> + <asp:TreeView ID="roleTree" runat="server" OnInit="roleTree_Init1" OnTreeNodePopulate="roleTree_TreeNodePopulate" ShowCheckBoxes="All" OnSelectedNodeChanged="roleTree_SelectedNodeChanged"> + <Nodes> + <asp:TreeNode SelectAction="SelectExpand" ShowCheckBox="True" Text="<strong>Roles</strong>" Value="Roles" PopulateOnDemand="True"></asp:TreeNode> + </Nodes> + </asp:TreeView> + </div> </td> <td> <asp:LinkButton ID="editConfig" runat="server" CommandName="editConfig" OnCommand="editConfig">Edit User Configuration Settings...</asp:LinkButton></td> Modified: Website/Includes/UserSettings.ascx.cs =================================================================== --- Website/Includes/UserSettings.ascx.cs 2006-07-28 16:44:32 UTC (rev 231) +++ Website/Includes/UserSettings.ascx.cs 2006-07-28 17:14:52 UTC (rev 232) @@ -159,96 +159,179 @@ } } } - protected void roleList_DataBound(object sender, EventArgs e) + protected void roleTree_Init(object sender, EventArgs e) { + Literal roleTree = (Literal)sender; + roleTree.ID = "roleTree"; + roleTree.Text = "<ul>\n"; + + // Initialize Product Roles + if (Session["ProductRoles"] == null) + Session.Add("ProductRoles", new Dictionary<String, ArrayList>()); Dictionary<String, ArrayList> ProductRoles = (Dictionary<String, ArrayList>)Session["ProductRoles"]; + ProductRoles.Clear(); - if (ProductRoles != null) + // Get products + tcdbDataSetTableAdapters.db_productsTableAdapter pAdapter = new tcdbDataSetTableAdapters.db_productsTableAdapter(); + tcdbDataSet.db_productsDataTable pTable = pAdapter.GetData(null, null); + + foreach (tcdbDataSet.db_productsRow pRow in pTable) { - ListBox roleList = (ListBox)sender; - DropDownList productList = (DropDownList)FormView1.FindControl("productList"); - String productID = productList.SelectedValue; - roleList.ClearSelection(); + // Get Roles + tcdbDataSetTableAdapters.db_roleUserProductTableAdapter rupAdapter = new tcdbDataSetTableAdapters.db_roleUserProductTableAdapter(); + tcdbDataSet.db_roleUserProductDataTable rupTable = rupAdapter.GetData(userID, pRow.productID, true); + ArrayList roles = new ArrayList(); - if (ProductRoles.ContainsKey(productID)) - { - foreach (String roleID in ProductRoles[productID]) - roleList.Items.FindByValue(roleID).Selected = true; - } + foreach (tcdbDataSet.db_roleUserProductRow rupRow in rupTable) + roles.Add(rupRow.roleName); + + if (roles.Count > 0) + ProductRoles[pRow.name] = roles; } + + // Setup list + foreach (String product in ProductRoles.Keys) + { + roleTree.Text += "\t<li><strong>" + product + "</strong>\n"; + roleTree.Text += "\t\t<ul>\n"; + + foreach (String role in ProductRoles[product]) + roleTree.Text += "\t\t\t<li>" + role + "</li>\n"; + + roleTree.Text += "\t\t</ul>\n"; + roleTree.Text += "\t</li>\n"; + } + + roleTree.Text += "</ul>\n"; } - protected void productListEdit_DataBound(object sender, EventArgs e) + protected void BuildProductList(TreeNode parent) { - DropDownList productList = (DropDownList)sender; - ListBox roleList = (ListBox)FormView1.FindControl("roleList"); + tcdbDataSetTableAdapters.db_productsTableAdapter pAdapter = new tcdbDataSetTableAdapters.db_productsTableAdapter(); + tcdbDataSet.db_productsDataTable pTable = pAdapter.GetData(true, null); - // Init ProductRoles - if (Session["ProductRoles"] == null) - Session.Add("ProductRoles", new Dictionary<String, ArrayList>()); + foreach (tcdbDataSet.db_productsRow row in pTable) + { + TreeNode child = new TreeNode(); + child.Text = "<strong>" + row.name + "</strong>"; + child.Value = row.productID.ToString(); + child.SelectAction = TreeNodeSelectAction.SelectExpand; + child.PopulateOnDemand = true; + child.ShowCheckBox = true; + + parent.ChildNodes.Add(child); + } + } + protected void BuildRoleList(TreeNode parent) + { + tcdbDataSetTableAdapters.db_roleTableAdapter rAdapter = new tcdbDataSetTableAdapters.db_roleTableAdapter(); + tcdbDataSet.db_roleDataTable rTable = rAdapter.GetData(null,null,true); Dictionary<String, ArrayList> ProductRoles = (Dictionary<String, ArrayList>)Session["ProductRoles"]; + int numChecked = 0; - ProductRoles.Clear(); - foreach (ListItem productItem in productList.Items) + foreach (tcdbDataSet.db_roleRow row in rTable) { - ArrayList roles = new ArrayList(); - String productID = productItem.Value; + TreeNode child = new TreeNode(); + child.Text = row.roleName; + child.Value = row.roleID.ToString(); + child.SelectAction = TreeNodeSelectAction.Expand; + child.ShowCheckBox = true; + if (ProductRoles.ContainsKey(parent.Value)) + { + if (ProductRoles[parent.Value].Contains(row.roleID.ToString())) + { + child.Checked = true; + numChecked++; + } + } - tcdbDataSetTableAdapters.db_roleUserProductTableAdapter rupAdapter = new tcdbDataSetTableAdapters.db_roleUserProductTableAdapter(); - tcdbDataSet.db_roleUserProductDataTable rupTable = rupAdapter.GetData(userID, Convert.ToInt32(productID), true); - - foreach (tcdbDataSet.db_roleUserProductRow row in rupTable) - roles.Add(row.roleID.ToString()); - - if (ProductRoles.ContainsKey(productID)) - ProductRoles[productID] = roles; - else - ProductRoles.Add(productID, roles); + parent.ChildNodes.Add(child); + if (numChecked == rTable.Count) + parent.Checked = true; } - if (product != null) - productList.SelectedValue = product; - roleList.DataBind(); } - protected void productListInsert_DataBound(object sender, EventArgs e) + protected void roleTree_TreeNodePopulate(object sender, TreeNodeEventArgs e) { - DropDownList productList = (DropDownList)sender; + switch (e.Node.Depth) + { + case 0: + BuildProductList(e.Node); + break; + case 1: + BuildRoleList(e.Node); + break; + default: + break; + } + } + protected void roleTree_Init1(object sender, EventArgs e) + { + TreeView roleTree = (TreeView) sender; // Initialize Product Roles if (Session["ProductRoles"] == null) Session.Add("ProductRoles", new Dictionary<String, ArrayList>()); Dictionary<String, ArrayList> ProductRoles = (Dictionary<String, ArrayList>)Session["ProductRoles"]; + ProductRoles.Clear(); - ProductRoles.Clear(); - foreach (ListItem productItem in productList.Items) + // Get products + tcdbDataSetTableAdapters.db_productsTableAdapter pAdapter = new tcdbDataSetTableAdapters.db_productsTableAdapter(); + tcdbDataSet.db_productsDataTable pTable = pAdapter.GetData(null, null); + + foreach (tcdbDataSet.db_productsRow pRow in pTable) { + // Get Roles + tcdbDataSetTableAdapters.db_roleUserProductTableAdapter rupAdapter = new tcdbDataSetTableAdapters.db_roleUserProductTableAdapter(); + tcdbDataSet.db_roleUserProductDataTable rupTable = rupAdapter.GetData(userID, pRow.productID, true); ArrayList roles = new ArrayList(); - String productID = productItem.Value; - if (ProductRoles.ContainsKey(productID)) - ProductRoles[productID] = roles; - else - ProductRoles.Add(productID, roles); + foreach (tcdbDataSet.db_roleUserProductRow rupRow in rupTable) + roles.Add(rupRow.roleID.ToString()); + + if (roles.Count > 0) + ProductRoles[pRow.productID.ToString()] = roles; } - - // Init productList - if (product != null) - productList.SelectedValue = product; } - protected void roleList_SelectedIndexChanged(object sender, EventArgs e) + protected void roleTree_TreeNodeCheckChanged(object sender, TreeNodeEventArgs e) { - ListBox roleList = (ListBox)sender; - DropDownList productList = (DropDownList)FormView1.FindControl("productList"); + TreeNode node = (TreeNode)e.Node; Dictionary<String, ArrayList> ProductRoles = (Dictionary<String, ArrayList>)Session["ProductRoles"]; - int[] indices = roleList.GetSelectedIndices(); - ArrayList roles = new ArrayList(); - String productID = productList.SelectedValue; - foreach (int index in indices) - roles.Add(roleList.Items[index].Value); - ProductRoles[productID] = roles; + // update ProductUsers + if (node.Parent != null && node.Parent.Value != "Roles"){ + String product = node.Parent.Value; + if (ProductRoles.ContainsKey(product)) + { + if (ProductRoles[product].Contains(node.Value) && node.Checked == false) + ProductRoles[node.Parent.Value].Remove(node.Value); + else if (!ProductRoles[product].Contains(node.Value) && node.Checked == true) + ProductRoles[product].Add(node.Value); + } + else if (node.Checked == true) + { + ArrayList roles = new ArrayList(); + roles.Add(node.Value); + + ProductRoles.Add(product, roles); + } + } + + foreach (TreeNode child in e.Node.ChildNodes) + { + child.Checked = (node.Checked == true) ? true : false; + roleTree_TreeNodeCheckChanged(child, new TreeNodeEventArgs(child)); + } } - protected void productList_SelectedIndexChanged(object sender, EventArgs e) + protected void roleTree_SelectedNodeChanged(object sender, EventArgs e) { - ListBox roleList = (ListBox)FormView1.FindControl("roleList"); - roleList.DataBind(); + TreeView tree = (TreeView)sender; + TreeNode node = tree.SelectedNode; + + node.Checked = (node.Checked == true) ? false : true; + foreach (TreeNode child in node.ChildNodes) + { + child.Selected = true; + child.Checked = (node.Checked == true) ? true : false; + roleTree_TreeNodeCheckChanged(child, new TreeNodeEventArgs(child)); + } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <m_h...@us...> - 2006-07-28 20:56:12
|
Revision: 231 Author: m_hildebrand Date: 2006-07-28 09:44:32 -0700 (Fri, 28 Jul 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=231&view=rev Log Message: ----------- Continued progress on cleaning up CSS. Including a fix to make the calendars look nice now Modified Paths: -------------- Website/App_Themes/Python/python.css Website/Includes/ActionItems.ascx Website/Includes/Assignments.ascx Website/Includes/Header_User.ascx Website/Includes/UserSettings.ascx Modified: Website/App_Themes/Python/python.css =================================================================== --- Website/App_Themes/Python/python.css 2006-07-27 22:51:17 UTC (rev 230) +++ Website/App_Themes/Python/python.css 2006-07-28 16:44:32 UTC (rev 231) @@ -1,10 +1,10 @@ /********** BEGIN Global Classes **********/ -html +HTML { height: 100%; } -body +BODY { height: 100%; margin: 0; @@ -29,7 +29,7 @@ color: blue; } -label +LABEL { font-weight: bold; margin-right: 5px; @@ -65,6 +65,19 @@ clear: both; } +.bottom +{ + position: absolute; + bottom: 0; + left: 0; +} + +* HTML .bottom +{ + position: static; + padding-top: 8px; +} + .hover:hover, TR.overdue:hover, TR.finished:hover { background-color: #eee; @@ -82,7 +95,28 @@ /********** END Global Classes **********/ +/********** BEGIN Calendar Classes **********/ +.calendar +{ + display: inline; + margin: 5px 0 5px 0; +} +.calendar LABEL +{ + font-weight: normal; +} + +.calendar IMG +{ + position: relative !important; + top: 6px !important; + padding-left: 5px !important; + margin: 0 0 3px 0 !important; +} +/********** END Calendar Classes ************/ + + /********** BEGIN Header Content **********/ #HeaderContent { @@ -165,14 +199,14 @@ /* A CSS hack that only applied to IE -- forces the height of NonFooter to be 100%, something that causes problems in Mozilla */ -* html #NonFooter +* HTML #NonFooter { height: 100%; } #FooterContent { - background-color: #022e66; + background-color: #022e66; color: white; padding: 6px 0 6px 0; vertical-align: middle; @@ -184,7 +218,7 @@ /* A CSS hack that only applies to IE -- specifies a different height for the footer and set the position to static so the background displays */ /* TODO: Figure out a way to keep the footer in IE from overlaping page content */ -* html #FooterContent +* HTML #FooterContent { position: static; margin-top: -2.3em; @@ -203,33 +237,33 @@ color: Red; } -.form label, .form A, .form input, .form select +.form LABEL, .form A, .form INPUT, .form SELECT { display: block; float: left; margin-bottom: 5px; } -.form label, .form A +.form LABEL, .form A { text-align: right; width: 110px; padding-right: 5px; } -.form input +.form INPUT { width: 150px; } -.form input, .form select +.form INPUT, .form SELECT { position: relative; top: -4px; text-align: left; } -.form .checkbox>input +.form .checkbox > INPUT { width: inherit; display: inline; @@ -238,12 +272,12 @@ left: -3px; } -* html .form .checkbox input +* HTML .form .checkbox INPUT { width: 15px; } -.form br +.form BR { clear: left; } @@ -355,13 +389,14 @@ display: block; } -.ch h2, #Filters h2 +.ch H2, #Filters H2 { display: inline; - left: 0px; + left: 0; + top: 0; padding-left: 15px; - margin-bottom: 0px; - padding-bottom: 0px; + margin-bottom: 0; + padding-bottom: 0; } .ch .buttons @@ -374,18 +409,55 @@ .ch .quickFilter { display: inline; - right: 0px; + right: 0; padding-right: 15px; position: relative; } -.ch .quickFilter input +.ch .quickFilter INPUT { position: relative; top: 3px; } /********* END Content Header ***********/ +/********* BEGIN Content Content ***********/ +.ct, .cb +{ + position: relative; +} + +* html .cb +{ + position: static; +} + +.ct .bottom +{ + bottom: 5px; +} + +* html .cb .bottom +{ + position: relative; + top: 5px; +} + +.ct H2 +{ + display: block; + left: 0px; + margin: 0px; + padding: 0px; + font-size: 16px; +} + +* html .ct H2 +{ + font-size: 16px; +} +/********* END Content Top ************/ + /********** BEGIN Assignments Content **********/ TD.colAssignment { @@ -412,7 +484,7 @@ padding-right: 15px; /*position: relative; */ } -.ch .status input +.ch .status INPUT { position: relative; top: 3px; @@ -432,7 +504,7 @@ display: inline; } -.filters .xboxcontent .right input +.filters .xboxcontent .right INPUT { position: relative; top: -3px; Modified: Website/Includes/ActionItems.ascx =================================================================== --- Website/Includes/ActionItems.ascx 2006-07-27 22:51:17 UTC (rev 230) +++ Website/Includes/ActionItems.ascx 2006-07-28 16:44:32 UTC (rev 231) @@ -57,60 +57,68 @@ <b class="xtop"><b class="xb1"></b><b class="xb2"></b><b class="xb3"></b><b class="xb4"> </b></b> <div class="xboxcontent"> - <div class="aiTop"> - <div class="ct"> - <div class="left"> + <div class="ct"> + <div class="left"> + <div class="top"> <h2> <asp:Literal ID="priority_high" runat="server" Visible='<%# Eval("highPriority") %>' - Text='<div class="priority_high">(!)</div>'></asp:Literal> - <asp:Label ID="nameLabel" runat="server" Text='<%# Eval("name") %>'></asp:Label></h2> + Text='<div class="priority_high"></div>'></asp:Literal> + <asp:Label ID="nameLabel" runat="server" Text='<%# Eval("name") %>'></asp:Label></h2> </div> - <div class="right"> + <div class="bottom"> <label> - Assigned:</label><asp:Label ID="dateAssignedLbl" runat="server" Text='<%# Eval("dateAssigned", "{0:d}") %>'></asp:Label><br /> + Test Pass:</label><asp:Label ID="testPassLbl" runat="server" Text='<%# Eval("testPass") %>'></asp:Label> + </div> + </div> + <div class="right"> + <div class="item"> <label> - Due:</label><asp:Label ID="dateDueLbl" runat="server" Text='<%# Eval("dateDue", "{0:d}") %>'></asp:Label><br /> + Assigned:</label><asp:Label ID="dateAssignedLbl" runat="server" Text='<%# Eval("dateAssigned", "{0:d}") %>'></asp:Label> + </div> + <div class="item"> <label> + Due:</label><asp:Label ID="dateDueLbl" runat="server" Text='<%# Eval("dateDue", "{0:d}") %>'></asp:Label> + </div> + <div class="item"> + <label> Finished:</label><asp:Label ID="dateFinished" runat="server" Text='<%# Eval("dateFinished", "{0:d}") %>'></asp:Label> </div> - <div class="end"> - </div> - <div class="hr"> - </div> </div> + <div class="end"> + </div> + <div class="hr"> + </div> </div> - <div class="aiMiddle"> - <div class="cm"> - <label> - Test Pass:</label><asp:Label ID="testPassLbl" runat="server" Text='<%# Eval("testPass") %>'></asp:Label><br /> - <label> - Description:</label><br /> - <asp:Label ID="descriptionLabel" runat="server" Text='<%# Eval("description") %>'></asp:Label> - </cm> - <div class="hr"> - </div> + <div class="cm"> + <label> + Description:</label><br /> + <asp:Label ID="descriptionLabel" runat="server" Text='<%# Eval("description") %>'></asp:Label> + <div class="hr"> </div> </div> - <div class="aiBottom"> - <div class="cb"> - <div class="left"> - <br /> + <div class="cb"> + <div class="left"> + <div class="bottom"> <asp:LinkButton ID="NewButton" runat="server" CausesValidation="False" CommandName="New" Text="New" /> | <asp:LinkButton ID="EditButton" runat="server" CausesValidation="False" CommandName="Edit" Text="Edit" /> | <asp:LinkButton ID="DeleteButton" runat="server" CausesValidation="False" CommandName="deleteItem" Text="Delete" OnCommand="deleteItem" /> </div> - <div class="right"> + </div> + <div class="right"> + <div class="item"> <label> Created By:</label><asp:Label ID="createdByLbl" runat="server" Font-Bold="False" - Text='<%# Eval("createdBy") %>'></asp:Label><br /> + Text='<%# Eval("createdBy") %>'></asp:Label> + </div> + <div class="item"> <label> Assigned To:</label><asp:Label ID="assignedToLbl" runat="server" Font-Bold="False" Text='<%# Eval("assigned") %>'></asp:Label> </div> - <div class="end"> - </div> </div> + <div class="end"> + </div> </div> </div> <b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b><b class="xb1"> @@ -123,80 +131,87 @@ <b class="xtop"><b class="xb1"></b><b class="xb2"></b><b class="xb3"></b><b class="xb4"> </b></b> <div class="xboxcontent"> - <div class="aiTop"> - <div class="ct"> - <div class="left"> - <asp:Literal ID="priority_high" runat="server" Visible='<%# Eval("highPriority") %>' - Text='<div class="priority_high"></div>'></asp:Literal> + <div class="ct"> + <div class="left"> + <div class="item"> <label> - Name</label><asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("name") %>' + Name:</label><asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("name") %>' Width="500px" /> - <br /> + </div> + <div class="item"> <label> - High Priority</label><asp:CheckBox ID="priorityBox" runat="server" Checked='<%# Bind("highPriority") %>' - Font-Bold="False" /><br /> + High Priority:</label><asp:CheckBox ID="priorityBox" runat="server" Checked='<%# Bind("highPriority") %>' + Font-Bold="False" CssClass="checkbox" /> + </div> + <div class="item"> <label> Test Pass:</label><asp:DropDownList ID="DropDownList1" runat="server" AppendDataBoundItems="True" DataSourceID="TestPassDataSource" DataTextField="name" DataValueField="testPassID" SelectedValue='<%# Bind("testPassID") %>'> <asp:ListItem Value="0" Selected="True"><none></asp:ListItem> - </asp:DropDownList> + </asp:DropDownList> </div> - <div class="right"> + </div> + <div class="right"> + <div class="item"> <label> Assigned:</label><asp:Label ID="dateAssignedLbl" runat="server" Font-Bold="False" - Text='<%# Eval("dateAssigned") %>'></asp:Label><br /> + Text='<%# Eval("dateAssigned") %>'></asp:Label> + </div> + <div class="item"> <label> - Due:</label><ew:CalendarPopup ID="dateDue" runat="server" PopupLocation="Left" ShowGoToToday="True" + Due:</label><div class="calendar"><ew:CalendarPopup ID="dateDue" runat="server" PopupLocation="Left" ShowGoToToday="True" ControlDisplay="LabelImage" ImageUrl="../App_Themes/Python/Images/calendar.gif" SelectedDate='<%# Bind("dateDue") %>' UpperBoundDate="12/31/9999 23:59:59" VisibleDate="2006-07-21"> - </ew:CalendarPopup> - <br /> + </ew:CalendarPopup></div> + </div> + <div class="item"> <label> - Finished:</label><ew:CalendarPopup ID="dateFinished" runat="server" PopupLocation="Left" + Finished:</label><div class="calendar"><ew:CalendarPopup ID="dateFinished" runat="server" PopupLocation="Left" ShowClearDate="true" ShowGoToToday="True" NullableLabelText="Select a date" ControlDisplay="LabelImage" ImageUrl="../App_Themes/Python/Images/calendar.gif" Nullable="True" OnDateChanged="dateFinished_DateChanged" SelectedDate="" UpperBoundDate="12/31/9999 23:59:59" VisibleDate="" AutoPostBack="True"> - </ew:CalendarPopup> + </ew:CalendarPopup></div> </div> - <div class="end"> - </div> - <div class="hr"> - </div> </div> + <div class="end"> + </div> + <div class="hr"> + </div> </div> - <div class="aiMiddle"> - <div class="cm"> - <label> - Description:</label><br /> - <FTB:FreeTextBox ID="FreeTextBox1" runat="server" SupportFolder="~" Text='<%# Bind("description") %>' - Height="300" Width="100%" /> - <div class="hr"> - </div> + <div class="cm"> + <label> + Description:</label><br /> + <FTB:FreeTextBox ID="FreeTextBox1" runat="server" SupportFolder="~" Text='<%# Bind("description") %>' + Height="300" Width="100%" /> + <div class="hr"> </div> </div> - <div class="aiBottom"> - <div class="cb"> - <div class="left"> - <br /> + <div class="cb"> + <div class="left"> + <div class="bottom"> <asp:LinkButton ID="UpdateButton" runat="server" CausesValidation="True" CommandName="Update" Text="Update"> - </asp:LinkButton> | + </asp:LinkButton> | <asp:LinkButton ID="UpdateCancelButton" runat="server" CausesValidation="False" CommandName="Cancel" Text="Cancel"> </asp:LinkButton> </div> - <div class="right"> + </div> + <div class="right"> + <div class="item"> <label> - Created By:</label><asp:Label ID="createdByLbl" runat="server" Text='<%# Eval("createdBy") %>'></asp:Label><br /> + Created By:</label><asp:Label ID="createdByLbl" runat="server" Text='<%# Eval("createdBy") %>'></asp:Label> + </div> + <div class="item"> <label> Assigned To:</label><asp:DropDownList ID="assignedTo" runat="server" DataSourceID="UserDataSource" DataTextField="fullName" DataValueField="userID" SelectedValue='<%# Bind("assignedID") %>'> </asp:DropDownList> </div> - <div class="end"> - </div> </div> + <div class="end"> + </div> </div> </div> <b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b><b class="xb1"> @@ -210,71 +225,74 @@ <b class="xtop"><b class="xb1"></b><b class="xb2"></b><b class="xb3"></b><b class="xb4"> </b></b> <div class="xboxcontent"> - <div class="aiTop"> - <div class="ct"> - <div class="left"> + <div class="ct"> + <div class="left"> + <div class="item"> <label> - Name</label><asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("name") %>' + Name:</label><asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("name") %>' Width="500px" /> - <br /> + </div> + <div class="item"> <label> - High Priority</label><asp:CheckBox ID="priorityBox" runat="server" Checked='<%# Bind("highPriority") %>' - Font-Bold="False" /><br /> + High Priority:</label><asp:CheckBox ID="priorityBox" runat="server" Checked='<%# Bind("highPriority") %>' + Font-Bold="False" /></div> + <div class="item"> <label> Test Pass:</label> <asp:DropDownList ID="testPassList" runat="server" AppendDataBoundItems="True" DataSourceID="TestPassDataSource" DataTextField="name" DataValueField="testPassID" SelectedValue='<%# Bind("testPassID") %>'> <asp:ListItem Value="0" Selected="True"><none></asp:ListItem> - </asp:DropDownList> - </div> - <div class="right"> + </asp:DropDownList></div> + </div> + <div class="right"> + <div class="item"> <label> Assigned:</label> - <asp:Label ID="dateAssignedLbl" runat="server"></asp:Label><br /> + <asp:Label ID="dateAssignedLbl" runat="server"></asp:Label> + </div> + <div class="item"> <label> - Due:</label><ew:CalendarPopup ID="dateDue" runat="server" PopupLocation="Left" ShowGoToToday="True" + Due:</label><div class="calendar"><ew:CalendarPopup ID="dateDue" runat="server" PopupLocation="Left" ShowGoToToday="True" ControlDisplay="LabelImage" ImageUrl="../App_Themes/Python/Images/calendar.gif" SelectedDate='<%# Bind("dateDue") %>' UpperBoundDate="12/31/9999 23:59:59" VisibleDate="2006-07-21"> - </ew:CalendarPopup> + </ew:CalendarPopup></div> </div> - <div class="end"> - </div> - <div class="hr"> - </div> </div> - </div> - <div class="aiMiddle"> - <div class="cm"> - <label> - Description:</label><br /> - <FTB:FreeTextBox ID="FreeTextBox1" runat="server" SupportFolder="~" Text='<%# Bind("description") %>' - Height="300" Width="100%" /> + <div class="end"> </div> <div class="hr"> </div> </div> - <div class="aiBottom"> - <div class="cb"> - <div class="left"> - <br /> + <div class="cm"> + <label> + Description:</label><br /> + <FTB:FreeTextBox ID="FreeTextBox1" runat="server" SupportFolder="~" Text='<%# Bind("description") %>' + Height="300" Width="100%" /> + <div class="hr"> + </div> + </div> + <div class="cb"> + <div class="left"> + <div class="bottom"> <asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True" CommandName="Insert" - Text="Insert"></asp:LinkButton> | - <asp:LinkButton ID="InsertCancelButton" runat="server" CausesValidation="False" CommandName="Cancel" - Text="Cancel"></asp:LinkButton> + Text="Insert"></asp:LinkButton> | <asp:LinkButton ID="InsertCancelButton" + runat="server" CausesValidation="False" CommandName="Cancel" Text="Cancel"></asp:LinkButton> </div> - <div class="right"> + </div> + <div class="right"> + <div class="item"> <label> Created By:</label><asp:Label ID="createdByLbl" runat="server" Font-Bold="False" - ToolTip='<%# Bind("creatorID") %>'></asp:Label><br /> + ToolTip='<%# Bind("creatorID") %>'></asp:Label></div> + <div class="item"> <label> Assigned To:</label><asp:DropDownList ID="assignedTo" runat="server" DataSourceID="UserDataSource" DataTextField="fullName" DataValueField="userID" AppendDataBoundItems="True" SelectedValue='<%# Bind("assignedID") %>'> - </asp:DropDownList> - </div> - <div class="end"> - </div> + </asp:DropDownList></div> </div> + <div class="end"> + </div> </div> </div> <b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b><b class="xb1"> @@ -326,5 +344,4 @@ <SelectParameters> <asp:Parameter Name="testPassID" Type="Int32" /> </SelectParameters> -</asp:ObjectDataSource> - \ No newline at end of file +</asp:ObjectDataSource> \ No newline at end of file Modified: Website/Includes/Assignments.ascx =================================================================== --- Website/Includes/Assignments.ascx 2006-07-27 22:51:17 UTC (rev 230) +++ Website/Includes/Assignments.ascx 2006-07-28 16:44:32 UTC (rev 231) @@ -151,17 +151,24 @@ </div> </div> <div class="cm"> - From: - <ew:CalendarPopup ID="fromDate" runat="server" PopupLocation="Bottom" ShowGoToToday="True" - ControlDisplay="LabelImage" SelectedDate="2006-01-01" AutoPostBack="true" OnDateChanged="update" - SkinID="calendar" PostedDate="1/1/2006" VisibleDate="2006-01-01" OnInit="fromDate_Init"> - </ew:CalendarPopup> - <br /> - To: - <ew:CalendarPopup ID="toDate" runat="server" PopupLocation="Bottom" ShowGoToToday="True" - ControlDisplay="LabelImage" SkinID="calendar" SelectedDate="1/1/3000 12:00:00 AM" - AutoPostBack="true" OnDateChanged="update" OnInit="toDate_Init"> - </ew:CalendarPopup> + <div class="item"> + <label> + From:</label><div class="calendar"> + <ew:CalendarPopup ID="fromDate" runat="server" PopupLocation="Bottom" ShowGoToToday="True" + ControlDisplay="LabelImage" SelectedDate="2006-01-01" AutoPostBack="true" OnDateChanged="update" + SkinID="calendar" PostedDate="1/1/2006" VisibleDate="2006-01-01" OnInit="fromDate_Init"> + </ew:CalendarPopup> + </div> + </div> + <div class="item"> + <label> + To:</label><div class="calendar"> + <ew:CalendarPopup ID="toDate" runat="server" PopupLocation="Bottom" ShowGoToToday="True" + ControlDisplay="LabelImage" SkinID="calendar" SelectedDate="1/1/3000 12:00:00 AM" + AutoPostBack="true" OnDateChanged="update" OnInit="toDate_Init"> + </ew:CalendarPopup> + </div> + </div> </div> </div> <b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b><b class="xb1"> @@ -185,17 +192,24 @@ </div> </div> <div class="cm"> - From: - <ew:CalendarPopup ID="fromDueDate" runat="server" PopupLocation="Bottom" ShowGoToToday="True" - ControlDisplay="LabelImage" SkinID="calendar" SelectedDate="2006-01-01" AutoPostBack="true" - OnDateChanged="update" OnInit="fromDueDate_Init"> - </ew:CalendarPopup> - <br /> - To: - <ew:CalendarPopup ID="toDueDate" runat="server" PopupLocation="Bottom" ShowGoToToday="True" - ControlDisplay="LabelImage" SkinID="calendar" SelectedDate="1/1/3000 12:00:00 AM" - AutoPostBack="true" OnDateChanged="update" OnInit="toDueDate_Init"> - </ew:CalendarPopup> + <div class="item"> + <label> + From:</label><div class="calendar"> + <ew:CalendarPopup ID="fromDueDate" runat="server" PopupLocation="Bottom" ShowGoToToday="True" + ControlDisplay="LabelImage" SkinID="calendar" SelectedDate="2006-01-01" AutoPostBack="true" + OnDateChanged="update" OnInit="fromDueDate_Init"> + </ew:CalendarPopup> + </div> + </div> + <div class="item"> + <label> + To:</label><div class="calendar"> + <ew:CalendarPopup ID="toDueDate" runat="server" PopupLocation="Bottom" ShowGoToToday="True" + ControlDisplay="LabelImage" SkinID="calendar" SelectedDate="1/1/3000 12:00:00 AM" + AutoPostBack="true" OnDateChanged="update" OnInit="toDueDate_Init"> + </ew:CalendarPopup> + </div> + </div> </div> </div> <b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b><b class="xb1"> @@ -218,17 +232,24 @@ </div> </div> <div class="cm"> - From: - <ew:CalendarPopup ID="fromFinishedDate" runat="server" PopupLocation="Bottom" ShowGoToToday="True" - ControlDisplay="LabelImage" SkinID="calendar" SelectedDate="2006-01-01" AutoPostBack="true" - OnDateChanged="update" OnInit="fromFinishedDate_Init"> - </ew:CalendarPopup> - <br /> - To: - <ew:CalendarPopup ID="toFinishedDate" runat="server" PopupLocation="Bottom" ShowGoToToday="True" - ControlDisplay="LabelImage" SkinID="calendar" SelectedDate="3000-01-01" AutoPostBack="true" - OnDateChanged="update" OnInit="toFinishedDate_Init"> - </ew:CalendarPopup> + <div class="item"> + <label> + From:</label><div class="calendar"> + <ew:CalendarPopup ID="fromFinishedDate" runat="server" PopupLocation="Bottom" ShowGoToToday="True" + ControlDisplay="LabelImage" SkinID="calendar" SelectedDate="2006-01-01" AutoPostBack="true" + OnDateChanged="update" OnInit="fromFinishedDate_Init"> + </ew:CalendarPopup> + </div> + </div> + <div class="item"> + <label> + To:</label><div class="calendar"> + <ew:CalendarPopup ID="toFinishedDate" runat="server" PopupLocation="Bottom" ShowGoToToday="True" + ControlDisplay="LabelImage" SkinID="calendar" SelectedDate="3000-01-01" AutoPostBack="true" + OnDateChanged="update" OnInit="toFinishedDate_Init"> + </ew:CalendarPopup> + </div> + </div> </div> </div> <b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b><b class="xb1"> @@ -254,10 +275,12 @@ </div> <div class="cm"> <div class="alignmiddle"> - <asp:CheckBox ID="cboShowActionItems" runat="server" Checked="true" AutoPostBack="True" - OnCheckedChanged="update" OnInit="cboShowActionItems_Init" />Action Items<br /> - <asp:CheckBox ID="cboShowWorkOrders" runat="server" Checked="true" AutoPostBack="True" - OnCheckedChanged="update" OnInit="cboShowWorkOrders_Init" />Work Orders + <div class="item"> + <asp:CheckBox ID="cboShowActionItems" runat="server" Checked="true" AutoPostBack="True" + OnCheckedChanged="update" OnInit="cboShowActionItems_Init" />Action Items</div> + <div class="item"> + <asp:CheckBox ID="cboShowWorkOrders" runat="server" Checked="true" AutoPostBack="True" + OnCheckedChanged="update" OnInit="cboShowWorkOrders_Init" />Work Orders</div> </div> </div> </div> @@ -283,10 +306,12 @@ </div> <div class="cm"> <div class="alignmiddle"> - <asp:CheckBox ID="cboHighPriority" runat="server" Checked="True" OnCheckedChanged="update" - AutoPostBack="True" OnInit="cboHighPriority_Init" />High<br /> - <asp:CheckBox ID="cboLowPriority" runat="server" Checked="true" OnCheckedChanged="update" - AutoPostBack="True" OnInit="cboLowPriority_Init" />Low + <div class="item"> + <asp:CheckBox ID="cboHighPriority" runat="server" Checked="True" OnCheckedChanged="update" + AutoPostBack="True" OnInit="cboHighPriority_Init" />High</div> + <div class="item"> + <asp:CheckBox ID="cboLowPriority" runat="server" Checked="true" OnCheckedChanged="update" + AutoPostBack="True" OnInit="cboLowPriority_Init" />Low</div> </div> </div> </div> Modified: Website/Includes/Header_User.ascx =================================================================== --- Website/Includes/Header_User.ascx 2006-07-27 22:51:17 UTC (rev 230) +++ Website/Includes/Header_User.ascx 2006-07-28 16:44:32 UTC (rev 231) @@ -1,8 +1,8 @@ <%@ Control Language="C#" AutoEventWireup="true" CodeFile="Header_User.ascx.cs" Inherits="Header_User" %> <%@ Import Namespace="TCDB.Common" %> -Welcome <div class="username"><%= m_user.FIRSTNAME %> <%= m_user.LASTNAME %></div> (<asp:LoginStatus ID="LoginStatus" runat="server" OnLoggingOut="LoginStatus_LoggingOut" CssClass="username" />) | <a -href="UserSettings.aspx?mode=read&<%= Constants.CODE_USER %>=<%= m_user.ID %>" >Settings</a> +Welcome <div class="username"><%= m_user.FIRSTNAME %> <%= m_user.LASTNAME %></div> (<asp:LoginStatus ID="LoginStatus" runat="server" OnLoggingOut="LoginStatus_LoggingOut" CssClass="username" />) | <a +href="UserSettings.aspx?mode=read&<%= Constants.CODE_USER %>=<%= m_user.ID %>" >Settings</a> <% if (m_user.HasRight(Constants.RIGHTS_SITEADMIN, Constants.PRODUCT_SITEID)) { %> | <a href="Administration.aspx">Admin</a> Modified: Website/Includes/UserSettings.ascx =================================================================== --- Website/Includes/UserSettings.ascx 2006-07-27 22:51:17 UTC (rev 230) +++ Website/Includes/UserSettings.ascx 2006-07-28 16:44:32 UTC (rev 231) @@ -37,6 +37,12 @@ Email:</label> <asp:Label ID="emailLabel" runat="server" Text='<%# Eval("email") %>'></asp:Label> </div> + <div class="item"> + <label> + Automation:</label> + <asp:CheckBox ID="automationCheckBox" runat="server" Checked='<%# Eval("automation") %>' + Enabled="false" /> + </div> </div> <div class="end"> </div> @@ -84,12 +90,6 @@ </asp:ObjectDataSource> </div> - <div class="item"> - <label> - Automation:</label> - <asp:CheckBox ID="automationCheckBox" runat="server" Checked='<%# Eval("automation") %>' - Enabled="false" /> - </div> </div> <div class="end"> </div> @@ -140,6 +140,11 @@ Email:</label> <asp:TextBox ID="emailBox" runat="server" Text='<%# Bind("email") %>'></asp:TextBox> </div> + <div class="item"> + <label> + Automation:</label> + <asp:CheckBox ID="automationBox" runat="server" Checked='<%# Bind("automation") %>' Enabled="true" /> + </div> </div> <div class="end"> </div> @@ -181,11 +186,6 @@ </asp:DropDownList><br /> <asp:ListBox ID="roleList" runat="server" DataSourceID="RolesDataSource" DataTextField="roleName" DataValueField="roleID" OnDataBound="roleList_DataBound" OnSelectedIndexChanged="roleList_SelectedIndexChanged" AutoPostBack="True" SelectionMode="Multiple"></asp:ListBox> </div> - <div class="item"> - <label> - Automation:</label> - <asp:CheckBox ID="automationBox" runat="server" Checked='<%# Bind("automation") %>' Enabled="true" /> - </div> </div> <div class="end"> </div> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2006-07-28 21:06:39
|
Revision: 233 Author: rouquin Date: 2006-07-28 14:06:32 -0700 (Fri, 28 Jul 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=233&view=rev Log Message: ----------- Added more site settings to admin tree such as all users. We might be able to incorporate this info into the TCDB product. Hmm, have to think about that. Modified Paths: -------------- Website/Includes/AdministrationTree.ascx.cs Website/Includes/UserSettings.ascx Website/Includes/UserSettings.ascx.cs Modified: Website/Includes/AdministrationTree.ascx.cs =================================================================== --- Website/Includes/AdministrationTree.ascx.cs 2006-07-28 17:14:52 UTC (rev 232) +++ Website/Includes/AdministrationTree.ascx.cs 2006-07-28 21:06:32 UTC (rev 233) @@ -53,7 +53,8 @@ newNode.SelectAction = TreeNodeSelectAction.Expand; newNode.NavigateUrl = "~/AdminConfig.aspx"; parent.ChildNodes.Add(newNode); - newNode.Expand(); + if (nodes.Contains(newNode.ValuePath)) + newNode.Expand(); if (productTable.Count > 0) { @@ -79,6 +80,61 @@ } } } + protected void BuildAdminList(TreeNode parent) + { + ArrayList nodes = (ArrayList)Session["AdminNodes"]; + TreeNode newNode; + + // Users + newNode = new TreeNode(); + newNode.Text = "<font color=black>Users</font>"; + newNode.Value = "users"; + newNode.PopulateOnDemand = true; + newNode.SelectAction = TreeNodeSelectAction.Expand; + parent.ChildNodes.Add(newNode); + if (nodes.Contains(newNode.ValuePath)) + newNode.Expand(); + + // Roles + newNode = new TreeNode(); + newNode.Text = "<font color=black>User Roles</font>"; + newNode.Value = "roles"; + newNode.PopulateOnDemand = true; + newNode.SelectAction = TreeNodeSelectAction.Expand; + parent.ChildNodes.Add(newNode); + if (nodes.Contains(newNode.ValuePath)) + newNode.Expand(); + + // Rights + newNode = new TreeNode(); + newNode.Text = "<font color=black>User Rights</font>"; + newNode.Value = "rights"; + newNode.PopulateOnDemand = true; + newNode.SelectAction = TreeNodeSelectAction.Expand; + parent.ChildNodes.Add(newNode); + if (nodes.Contains(newNode.ValuePath)) + newNode.Expand(); + + // Operating Systems + newNode = new TreeNode(); + newNode.Text = "<font color=black>Operating Systems</font>"; + newNode.Value = "os"; + newNode.PopulateOnDemand = true; + newNode.SelectAction = TreeNodeSelectAction.Expand; + parent.ChildNodes.Add(newNode); + if (nodes.Contains(newNode.ValuePath)) + newNode.Expand(); + + // Architectures + newNode = new TreeNode(); + newNode.Text = "<font color=black>Architectures</font>"; + newNode.Value = "arch"; + newNode.PopulateOnDemand = true; + newNode.SelectAction = TreeNodeSelectAction.Expand; + parent.ChildNodes.Add(newNode); + if (nodes.Contains(newNode.ValuePath)) + newNode.Expand(); + } protected void BuildReleaseList(TreeNode parent) { ArrayList nodes = (ArrayList)Session["AdminNodes"]; @@ -143,72 +199,69 @@ } protected void BuildCategoryList(TreeNode parent) { - if (parent.NavigateUrl.Contains("Product")) - { - ArrayList nodes = (ArrayList)Session["AdminNodes"]; - TreeNode newNode; + ArrayList nodes = (ArrayList)Session["AdminNodes"]; + TreeNode newNode; - // Versions - newNode = new TreeNode(); - newNode.Text = "<font color=black>Releases</font>"; - newNode.Value = "release"; - newNode.PopulateOnDemand = true; - newNode.SelectAction = TreeNodeSelectAction.Expand; - parent.ChildNodes.Add(newNode); - if (nodes.Contains(newNode.ValuePath)) - newNode.Expand(); + // Versions + newNode = new TreeNode(); + newNode.Text = "<font color=black>Releases</font>"; + newNode.Value = "release"; + newNode.PopulateOnDemand = true; + newNode.SelectAction = TreeNodeSelectAction.Expand; + parent.ChildNodes.Add(newNode); + if (nodes.Contains(newNode.ValuePath)) + newNode.Expand(); - // Tags - newNode = new TreeNode(); - newNode.Text = "<font color=black>Tags</font>"; - newNode.Value = "tag"; - newNode.PopulateOnDemand = true; - newNode.SelectAction = TreeNodeSelectAction.Expand; - parent.ChildNodes.Add(newNode); - if (nodes.Contains(newNode.ValuePath)) - newNode.Expand(); + // Tags + newNode = new TreeNode(); + newNode.Text = "<font color=black>Tags</font>"; + newNode.Value = "tag"; + newNode.PopulateOnDemand = true; + newNode.SelectAction = TreeNodeSelectAction.Expand; + parent.ChildNodes.Add(newNode); + if (nodes.Contains(newNode.ValuePath)) + newNode.Expand(); - // Status Labels - newNode = new TreeNode(); - newNode.Text = "<font color=black>Status Levels</font>"; - newNode.Value = "status"; - newNode.PopulateOnDemand = true; - newNode.SelectAction = TreeNodeSelectAction.Expand; - parent.ChildNodes.Add(newNode); - if (nodes.Contains(newNode.ValuePath)) - newNode.Expand(); + // Status Labels + newNode = new TreeNode(); + newNode.Text = "<font color=black>Status Levels</font>"; + newNode.Value = "status"; + newNode.PopulateOnDemand = true; + newNode.SelectAction = TreeNodeSelectAction.Expand; + parent.ChildNodes.Add(newNode); + if (nodes.Contains(newNode.ValuePath)) + newNode.Expand(); - // Labs - newNode = new TreeNode(); - newNode.Text = "<font color=black>Labs</font>"; - newNode.Value = "lab"; - newNode.PopulateOnDemand = true; - newNode.SelectAction = TreeNodeSelectAction.Expand; - parent.ChildNodes.Add(newNode); - if (nodes.Contains(newNode.ValuePath)) - newNode.Expand(); + // Labs + newNode = new TreeNode(); + newNode.Text = "<font color=black>Labs</font>"; + newNode.Value = "lab"; + newNode.PopulateOnDemand = true; + newNode.SelectAction = TreeNodeSelectAction.Expand; + parent.ChildNodes.Add(newNode); + if (nodes.Contains(newNode.ValuePath)) + newNode.Expand(); - // Roles - newNode = new TreeNode(); - newNode.Text = "<font color=black>Roles</font>"; - newNode.Value = "role"; - newNode.PopulateOnDemand = true; - newNode.SelectAction = TreeNodeSelectAction.Expand; - newNode.NavigateUrl = "~/AdminRole.aspx?"+Constants.CODE_PRODUCT+"=" + parent.Value; - parent.ChildNodes.Add(newNode); - if (nodes.Contains(newNode.ValuePath)) - newNode.Expand(); + // Roles + newNode = new TreeNode(); + newNode.Text = "<font color=black>Roles</font>"; + newNode.Value = "role"; + newNode.PopulateOnDemand = true; + newNode.SelectAction = TreeNodeSelectAction.Expand; + newNode.NavigateUrl = "~/AdminRole.aspx?" + Constants.CODE_PRODUCT + "=" + parent.Value; + parent.ChildNodes.Add(newNode); + if (nodes.Contains(newNode.ValuePath)) + newNode.Expand(); - // Users - newNode = new TreeNode(); - newNode.Text = "<font color=black>Users</font>"; - newNode.Value = "user"; - newNode.PopulateOnDemand = true; - newNode.SelectAction = TreeNodeSelectAction.Expand; - parent.ChildNodes.Add(newNode); - if (nodes.Contains(newNode.ValuePath)) - newNode.Expand(); - } + // Users + newNode = new TreeNode(); + newNode.Text = "<font color=black>Users</font>"; + newNode.Value = "user"; + newNode.PopulateOnDemand = true; + newNode.SelectAction = TreeNodeSelectAction.Expand; + parent.ChildNodes.Add(newNode); + if (nodes.Contains(newNode.ValuePath)) + newNode.Expand(); } protected void BuildStatusGroupList(TreeNode parent) { @@ -342,6 +395,85 @@ newNode.Expand(); } } + protected void BuildAllUserList(TreeNode parent) + { + tcdbDataSetTableAdapters.db_usersTableAdapter uAdapter = new tcdbDataSetTableAdapters.db_usersTableAdapter(); + tcdbDataSet.db_usersDataTable uTable = uAdapter.GetData(null, null); + + foreach (tcdbDataSet.db_usersRow row in uTable) + { + TreeNode child = new TreeNode(); + child.Text = "<FontInfo color=black>" + row.fullName + "</font>"; + child.Value = row.userID.ToString(); + child.NavigateUrl = "~/UserSettings.aspx?" + Constants.CODE_USER + "=" + child.Value; + + parent.ChildNodes.Add(child); + } + } + protected void BuildAllOSList(TreeNode parent) + { + /* + tcdbDataSetTableAdapters.db_usersTableAdapter uAdapter = new tcdbDataSetTableAdapters.db_usersTableAdapter(); + tcdbDataSet.db_usersDataTable uTable = uAdapter.GetData(null, null); + + foreach (tcdbDataSet.db_usersRow row in uTable) + { + TreeNode child = new TreeNode(); + child.Text = "<FontInfo color=black>" + row.fullName + "</font>"; + child.Value = row.userID.ToString(); + child.NavigateUrl = "~/UserSettings.aspx?" + Constants.CODE_USER + "=" + child.Value; + + parent.ChildNodes.Add(child); + } + * */ + } + protected void BuildAllArchList(TreeNode parent) + { + /* + tcdbDataSetTableAdapters.db_usersTableAdapter uAdapter = new tcdbDataSetTableAdapters.db_usersTableAdapter(); + tcdbDataSet.db_usersDataTable uTable = uAdapter.GetData(null, null); + + foreach (tcdbDataSet.db_usersRow row in uTable) + { + TreeNode child = new TreeNode(); + child.Text = "<FontInfo color=black>" + row.fullName + "</font>"; + child.Value = row.userID.ToString(); + child.NavigateUrl = "~/UserSettings.aspx?" + Constants.CODE_USER + "=" + child.Value; + + parent.ChildNodes.Add(child); + } + */ + } + protected void BuildAllRolesList(TreeNode parent) + { + tcdbDataSetTableAdapters.db_roleTableAdapter rAdapter = new tcdbDataSetTableAdapters.db_roleTableAdapter(); + tcdbDataSet.db_roleDataTable rTable = rAdapter.GetData(null, null, true); + + foreach (tcdbDataSet.db_roleRow row in rTable) + { + TreeNode child = new TreeNode(); + child.Text = "<FontInfo color=black>" + row.roleName + "</font>"; + child.Value = row.roleID.ToString(); + child.NavigateUrl = "~/Role.aspx?" + Constants.CODE_ROLE + "=" + child.Value; + + parent.ChildNodes.Add(child); + } + } + protected void BuildAllRightsList(TreeNode parent) + { + tcdbDataSetTableAdapters.db_rightsTableAdapter rAdapter = new tcdbDataSetTableAdapters.db_rightsTableAdapter(); + tcdbDataSet.db_rightsDataTable rTable = rAdapter.GetData(null, null, true); + + foreach (tcdbDataSet.db_rightsRow row in rTable) + { + TreeNode child = new TreeNode(); + child.Text = "<FontInfo color=black>" + row.rightsName + "</font>"; + child.Value = row.rightsID.ToString(); + child.NavigateUrl = "~/Right.aspx?" + Constants.CODE_RIGHT + "=" + child.Value; + + parent.ChildNodes.Add(child); + } + } protected void BuildVersionCategories(TreeNode parent) { ArrayList nodes = (ArrayList)Session["AdminNodes"]; @@ -655,7 +787,10 @@ BuildProductList(e.Node); break; case 1: - BuildCategoryList(e.Node); + if (e.Node.Value == "admin") + BuildAdminList(e.Node); + else + BuildCategoryList(e.Node); break; case 2: if (e.Node.Value == "release") @@ -670,6 +805,16 @@ BuildRoleList(e.Node); else if (e.Node.Value == "user") BuildUserList(e.Node); + else if (e.Node.Value == "users") + BuildAllUserList(e.Node); + else if (e.Node.Value == "os") + BuildAllOSList(e.Node); + else if (e.Node.Value == "arch") + BuildAllArchList(e.Node); + else if (e.Node.Value == "roles") + BuildAllRolesList(e.Node); + else if (e.Node.Value == "rights") + BuildAllRolesList(e.Node); break; case 3: if (e.Node.NavigateUrl.Contains("Version")) Modified: Website/Includes/UserSettings.ascx =================================================================== --- Website/Includes/UserSettings.ascx 2006-07-28 17:14:52 UTC (rev 232) +++ Website/Includes/UserSettings.ascx 2006-07-28 21:06:32 UTC (rev 233) @@ -1,5 +1,6 @@ <%@ Control Language="C#" AutoEventWireup="true" CodeFile="UserSettings.ascx.cs" Inherits="UserSettings" %> +<%@ Register Assembly="AtlasControlToolkit" Namespace="AtlasControlToolkit" TagPrefix="cc1" %> <%@ Register Assembly="eWorld.UI, Version=2.0.0.2148, Culture=neutral, PublicKeyToken=24d65337282035f2" Namespace="eWorld.UI" TagPrefix="ew" %> <div id="UserSettings"> Modified: Website/Includes/UserSettings.ascx.cs =================================================================== --- Website/Includes/UserSettings.ascx.cs 2006-07-28 17:14:52 UTC (rev 232) +++ Website/Includes/UserSettings.ascx.cs 2006-07-28 21:06:32 UTC (rev 233) @@ -121,8 +121,11 @@ // TODO: If m_user.PASSWORD is "" or null, we must prompt for a password somehow // or the AD authentication will fail String username = ((TextBox)FormView1.FindControl("usernameBox")).Text; - User curUser = AD_Authentication.AD_GetUserInfo(m_user.USERNAME, m_user.PASSWORD, username); - + String password = null; + if (m_user.PASSWORD != "") + password = m_user.PASSWORD; + User curUser = AD_Authentication.AD_GetUserInfo(m_user.USERNAME, password, username); + if (curUser.ID != -1) { TextBox tbx_firstName = (TextBox)FormView1.FindControl("firstNameBox"); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <m_h...@us...> - 2006-07-28 21:20:58
|
Revision: 234 Author: m_hildebrand Date: 2006-07-28 14:19:34 -0700 (Fri, 28 Jul 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=234&view=rev Log Message: ----------- Made some more CSS fixes Fixed a bug where updated/completed action items were not sending email notification Fixed a bug where config data was not pulling from the site defaults if it didn't exist for the specific user Modified Paths: -------------- Website/App_Code/Common.cs Website/App_Themes/Python/python.css Website/Includes/ActionItems.ascx Website/Includes/ActionItems.ascx.cs Website/Includes/UserConfig.ascx Website/Includes/UserConfig.ascx.cs Website/Includes/UserSettings.ascx Website/Includes/UserSettings.ascx.cs Modified: Website/App_Code/Common.cs =================================================================== --- Website/App_Code/Common.cs 2006-07-28 21:06:32 UTC (rev 233) +++ Website/App_Code/Common.cs 2006-07-28 21:19:34 UTC (rev 234) @@ -1062,6 +1062,11 @@ value = Help.DB_StringParse(dr["value"]); } + if (value == null && userID != Constants.ANONYMOUSUSERID) + { + value = GetConfigString(Constants.ANONYMOUSUSERID, name); + } + // TODO: Save this value to the cache return value; @@ -1261,11 +1266,10 @@ } //create the mail message - MailMessage mail = new MailMessage(); + MailAddress fromAddr = new MailAddress(from.EMAIL, to.FULLNAME); + MailAddress toAddr = new MailAddress(to.EMAIL, to.FULLNAME); + MailMessage mail = new MailMessage(fromAddr, toAddr); - mail.From = new MailAddress(from.EMAIL, from.FULLNAME); - mail.To.Add(new MailAddress(to.EMAIL, to.FULLNAME)); - //set the content mail.Subject = subject; mail.Body = body; Modified: Website/App_Themes/Python/python.css =================================================================== --- Website/App_Themes/Python/python.css 2006-07-28 21:06:32 UTC (rev 233) +++ Website/App_Themes/Python/python.css 2006-07-28 21:19:34 UTC (rev 234) @@ -93,6 +93,34 @@ color: Gray; } +.item .checkbox INPUT +{ + margin: 0; + padding: 0; + position: relative; + left: -5px; + top: 1px; +} + +* html .item .checkbox INPUT +{ + position: static; +} + +.item UL +{ + margin: 0; + padding-left: 20px; + list-style-type: none; +} + +.item UL UL +{ + padding-left: 20px; + margin: 0; + list-style-type: circle; +} + /********** END Global Classes **********/ /********** BEGIN Calendar Classes **********/ Modified: Website/Includes/ActionItems.ascx =================================================================== --- Website/Includes/ActionItems.ascx 2006-07-28 21:06:32 UTC (rev 233) +++ Website/Includes/ActionItems.ascx 2006-07-28 21:19:34 UTC (rev 234) @@ -7,9 +7,9 @@ <%@ Import Namespace="System.Data.SqlClient" %> <%@ Import Namespace="eWorld" %> <div id="ActionItem"> - <asp:FormView ID="FormView1" runat="server" DataSourceID="ActionItemDataSource" DataKeyNames="actionItemID" - CellPadding="4" ForeColor="#333333" OnDataBound="FormView1_DataBound" OnItemCommand="FormView1_ItemCommand" - Width="100%" OnItemInserted="FormView1_ItemInserted" OnItemUpdated="FormView1_ItemUpdated"> + <asp:FormView ID="ActionItemsView" runat="server" DataSourceID="ActionItemDataSource" DataKeyNames="actionItemID" + CellPadding="4" ForeColor="#333333" OnDataBound="ActionItemsView_DataBound" OnItemCommand="ActionItemsView_ItemCommand" + Width="100%" OnItemInserted="ActionItemsView_ItemInserted" OnItemUpdated="ActionItemsView_ItemUpdated"> <HeaderTemplate> <asp:ObjectDataSource ID="StatusDataSource" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.db_statusTableAdapter"> Modified: Website/Includes/ActionItems.ascx.cs =================================================================== --- Website/Includes/ActionItems.ascx.cs 2006-07-28 21:06:32 UTC (rev 233) +++ Website/Includes/ActionItems.ascx.cs 2006-07-28 21:19:34 UTC (rev 234) @@ -42,16 +42,17 @@ Session.Add("tableName", "tcdb_actionItem"); if (mode == "new") - FormView1.ChangeMode(FormViewMode.Insert); + ActionItemsView.ChangeMode(FormViewMode.Insert); } + protected void updateStatus() { - RadioButtonList percentList = (RadioButtonList)FormView1.FindControl("percentList"); - DropDownList statusList = (DropDownList)FormView1.FindControl("statusList"); - Object dateFinished = FormView1.FindControl("dateFinished"); + RadioButtonList percentList = (RadioButtonList)ActionItemsView.FindControl("percentList"); + DropDownList statusList = (DropDownList)ActionItemsView.FindControl("statusList"); + Object dateFinished = ActionItemsView.FindControl("dateFinished"); Nullable<DateTime> date; - if (FormView1.CurrentMode == FormViewMode.ReadOnly) + if (ActionItemsView.CurrentMode == FormViewMode.ReadOnly) { String finished = ((Label)dateFinished).Text; @@ -65,21 +66,24 @@ date = ((CalendarPopup)dateFinished).SelectedValue; } + // Update Database + tcdbDataSetTableAdapters.db_actionItemsTableAdapter aiAdapter = new tcdbDataSetTableAdapters.db_actionItemsTableAdapter(); + aiAdapter.upd_actionItemStatus(item_id, Convert.ToInt32(statusList.SelectedValue), Convert.ToInt32(percentList.SelectedValue), date); + + m_logg.Debug("Action Item updated, preparing to send email"); if (date == null) ActionItemDB.SendUpdatedActionItemMail(item_id, m_user); else ActionItemDB.SendCompletedActionItemMail(item_id, m_user); - // Update Database - tcdbDataSetTableAdapters.db_actionItemsTableAdapter aiAdapter = new tcdbDataSetTableAdapters.db_actionItemsTableAdapter(); - aiAdapter.upd_actionItemStatus(item_id, Convert.ToInt32(statusList.SelectedValue), Convert.ToInt32(percentList.SelectedValue), date); } + protected void dateFinished_DateChanged(object sender, EventArgs e) { - if (FormView1.CurrentMode != FormViewMode.Insert) + if (ActionItemsView.CurrentMode != FormViewMode.Insert) { - RadioButtonList percentList = (RadioButtonList)FormView1.FindControl("percentList"); - DropDownList statusList = (DropDownList)FormView1.FindControl("statusList"); + RadioButtonList percentList = (RadioButtonList)ActionItemsView.FindControl("percentList"); + DropDownList statusList = (DropDownList)ActionItemsView.FindControl("statusList"); CalendarPopup dateFinished = (CalendarPopup)sender; if (dateFinished.SelectedValue != null) @@ -95,33 +99,33 @@ percentList.SelectedValue = "75"; } - if (FormView1.CurrentMode == FormViewMode.ReadOnly) + if (ActionItemsView.CurrentMode == FormViewMode.ReadOnly) updateStatus(); } } + protected void percentChanged(object sender, EventArgs e) { - if (FormView1.CurrentMode != FormViewMode.Insert) + if (ActionItemsView.CurrentMode != FormViewMode.Insert) { RadioButtonList percentList = (RadioButtonList)sender; - DropDownList statusList = (DropDownList)FormView1.FindControl("statusList"); + DropDownList statusList = (DropDownList)ActionItemsView.FindControl("statusList"); if (percentList.SelectedValue == "100") { statusList.SelectedValue = statusList.Items.FindByText("Completed").Value; // Set finished Date - if (FormView1.CurrentMode == FormViewMode.ReadOnly) + if (ActionItemsView.CurrentMode == FormViewMode.ReadOnly) { - Label dateFinished = (Label)FormView1.FindControl("dateFinished"); + Label dateFinished = (Label)ActionItemsView.FindControl("dateFinished"); if (dateFinished.Text == "") dateFinished.Text = DateTime.Today.ToShortDateString(); - } else { - CalendarPopup dateFinished = (CalendarPopup)FormView1.FindControl("dateFinished"); + CalendarPopup dateFinished = (CalendarPopup)ActionItemsView.FindControl("dateFinished"); if (dateFinished.SelectedValue == null) dateFinished.SelectedValue = DateTime.Today; @@ -134,27 +138,28 @@ statusList.SelectedValue = statusList.Items.FindByText("Active").Value; // Unset finished Date - if (FormView1.CurrentMode == FormViewMode.ReadOnly) + if (ActionItemsView.CurrentMode == FormViewMode.ReadOnly) { - Label dateFinished = (Label)FormView1.FindControl("dateFinished"); + Label dateFinished = (Label)ActionItemsView.FindControl("dateFinished"); dateFinished.Text = ""; } else { - CalendarPopup dateFinished = (CalendarPopup)FormView1.FindControl("dateFinished"); + CalendarPopup dateFinished = (CalendarPopup)ActionItemsView.FindControl("dateFinished"); dateFinished.Clear(); dateFinished.PostedDate = ""; } } - if (FormView1.CurrentMode == FormViewMode.ReadOnly) + if (ActionItemsView.CurrentMode == FormViewMode.ReadOnly) updateStatus(); } } + protected void statusChanged(object sender, EventArgs e) { - if (FormView1.CurrentMode != FormViewMode.Insert) + if (ActionItemsView.CurrentMode != FormViewMode.Insert) { - RadioButtonList percentList = (RadioButtonList)FormView1.FindControl("percentList"); + RadioButtonList percentList = (RadioButtonList)ActionItemsView.FindControl("percentList"); DropDownList statusList = (DropDownList)sender; if (statusList.SelectedItem.Text == "Completed") @@ -162,15 +167,15 @@ percentList.SelectedValue = "100"; // Set finished Date - if (FormView1.CurrentMode == FormViewMode.ReadOnly) + if (ActionItemsView.CurrentMode == FormViewMode.ReadOnly) { - Label dateFinished = (Label)FormView1.FindControl("dateFinished"); + Label dateFinished = (Label)ActionItemsView.FindControl("dateFinished"); dateFinished.Text = DateTime.Today.ToShortDateString(); } else { - CalendarPopup dateFinished = (CalendarPopup)FormView1.FindControl("dateFinished"); + CalendarPopup dateFinished = (CalendarPopup)ActionItemsView.FindControl("dateFinished"); dateFinished.SelectedValue = DateTime.Today; } @@ -183,32 +188,33 @@ percentList.SelectedValue = "75"; // Unset finished Date - if (FormView1.CurrentMode == FormViewMode.ReadOnly) + if (ActionItemsView.CurrentMode == FormViewMode.ReadOnly) { - Label dateFinished = (Label)FormView1.FindControl("dateFinished"); + Label dateFinished = (Label)ActionItemsView.FindControl("dateFinished"); dateFinished.Text = ""; } else { - CalendarPopup dateFinished = (CalendarPopup)FormView1.FindControl("dateFinished"); + CalendarPopup dateFinished = (CalendarPopup)ActionItemsView.FindControl("dateFinished"); dateFinished.Clear(); dateFinished.PostedDate = ""; } } - if (FormView1.CurrentMode == FormViewMode.ReadOnly) + if (ActionItemsView.CurrentMode == FormViewMode.ReadOnly) updateStatus(); } } - protected void FormView1_DataBound(object sender, EventArgs e) + + protected void ActionItemsView_DataBound(object sender, EventArgs e) { - DataRowView data = (DataRowView)FormView1.DataItem; + DataRowView data = (DataRowView)ActionItemsView.DataItem; - if (FormView1.CurrentMode == FormViewMode.Edit && data != null) + if (ActionItemsView.CurrentMode == FormViewMode.Edit && data != null) { - CalendarPopup cal = (CalendarPopup)FormView1.FindControl("dateFinished"); + CalendarPopup cal = (CalendarPopup)ActionItemsView.FindControl("dateFinished"); - DataRowView row = (DataRowView)FormView1.DataItem; + DataRowView row = (DataRowView)ActionItemsView.DataItem; String date = row["dateFinished"].ToString(); if (date == "") @@ -221,16 +227,16 @@ cal.SelectedValue = (Nullable<DateTime>)row["dateFinished"]; } - if (FormView1.CurrentMode == FormViewMode.Insert) + if (ActionItemsView.CurrentMode == FormViewMode.Insert) { Page.Title = "TCDB: Insert Action Item"; - Label createdBy = (Label)FormView1.FindControl("createdByLbl"); - Label dateAssigned = (Label)FormView1.FindControl("dateAssignedLbl"); - DropDownList assignedTo = (DropDownList)FormView1.FindControl("assignedTo"); - DropDownList status = (DropDownList)FormView1.FindControl("statusList"); - RadioButtonList percent = (RadioButtonList)FormView1.FindControl("percentList"); - CalendarPopup dateDue = (CalendarPopup)FormView1.FindControl("dateDue"); + Label createdBy = (Label)ActionItemsView.FindControl("createdByLbl"); + Label dateAssigned = (Label)ActionItemsView.FindControl("dateAssignedLbl"); + DropDownList assignedTo = (DropDownList)ActionItemsView.FindControl("assignedTo"); + DropDownList status = (DropDownList)ActionItemsView.FindControl("statusList"); + RadioButtonList percent = (RadioButtonList)ActionItemsView.FindControl("percentList"); + CalendarPopup dateDue = (CalendarPopup)ActionItemsView.FindControl("dateDue"); createdBy.Text = m_user.FULLNAME; createdBy.ToolTip = m_user.ID.ToString(); @@ -247,9 +253,10 @@ else Response.Redirect("Assignments.aspx?" + Constants.CODE_USER + "=" + m_user.ID); } - protected void FormView1_ItemCommand(object sender, FormViewCommandEventArgs e) + + protected void ActionItemsView_ItemCommand(object sender, FormViewCommandEventArgs e) { - if (e.CommandName == "Cancel" && FormView1.CurrentMode == FormViewMode.Insert) + if (e.CommandName == "Cancel" && ActionItemsView.CurrentMode == FormViewMode.Insert) Response.Redirect("Assignments.aspx?" + Constants.CODE_USER + "=" + m_user.ID); } @@ -259,9 +266,8 @@ aiAdapter.Delete(item_id, 0); Response.Redirect("Assignments.aspx?" + Constants.CODE_USER + "=" + m_user.ID); } - - - protected void FormView1_ItemInserted(object sender, FormViewInsertedEventArgs e) + + protected void ActionItemsView_ItemInserted(object sender, FormViewInsertedEventArgs e) { tcdbDataSetTableAdapters.db_assignmentsTableAdapter aiAdapter = new tcdbDataSetTableAdapters.db_assignmentsTableAdapter(); tcdbDataSet.db_assignmentsDataTable aiTable = aiAdapter.GetData(Constants.CODE_AI, @@ -287,7 +293,7 @@ } } - protected void FormView1_ItemUpdated(object sender, FormViewUpdatedEventArgs e) + protected void ActionItemsView_ItemUpdated(object sender, FormViewUpdatedEventArgs e) { updateStatus(); Response.Redirect("ActionItem.aspx?" + Constants.CODE_AI + "=" + item_id.ToString()); Modified: Website/Includes/UserConfig.ascx =================================================================== --- Website/Includes/UserConfig.ascx 2006-07-28 21:06:32 UTC (rev 233) +++ Website/Includes/UserConfig.ascx 2006-07-28 21:19:34 UTC (rev 234) @@ -2,9 +2,12 @@ <%@ Import Namespace="TCDB.Users" %> <%@ Import Namespace="TCDB.Common" %> <%@ Import Namespace="System.Collections.Generic" %> -<h1> - User Configuration Settings</h1> -<br /> -<asp:LinkButton ID="returnBtn" runat="server" CommandName="returnToSettings" OnCommand="returnToSettings">Return To Settings</asp:LinkButton> -<br /><br /> - +<div class="ch"> + <div class="left"> + <h2> + User Configuration Settings</h2> + </div> + <div class="right"> + <asp:LinkButton ID="returnBtn" runat="server" CommandName="returnToSettings" OnCommand="returnToSettings">Return To Settings</asp:LinkButton></div> + <div class="end"></div> +</div> Modified: Website/Includes/UserConfig.ascx.cs =================================================================== --- Website/Includes/UserConfig.ascx.cs 2006-07-28 21:06:32 UTC (rev 233) +++ Website/Includes/UserConfig.ascx.cs 2006-07-28 21:19:34 UTC (rev 234) @@ -45,15 +45,15 @@ foreach (String group in settings.Keys) { html = new Literal(); - html.Text = "<h2>"; + html.Text = "<div class=\"ch\"><div class=\"left\"><h2>"; Controls.Add(html); - + Label groupLbl = new Label(); groupLbl.Text = group; Controls.Add(groupLbl); html = new Literal(); - html.Text = "</h2>\n" + + html.Text = "</h2></div></div>" + "<div class=\"xsnazzy\">\n" + "<b class=\"xtop\"><b class=\"xb1\"></b><b class=\"xb2\"></b><b class=\"xb3\"></b><b class=\"xb4\"></b></b>\n" + "<div class=\"xboxcontent\">\n" + @@ -201,21 +201,28 @@ Controls.Add(update2Btn); } + protected void test_load(object sender, EventArgs e) + { + } + void textboxChanged(Object sender, EventArgs args) { TextBox textbox = (TextBox)sender; ConfigDB.SaveConfigString(userID, textbox.ID, textbox.Text); } + void checkboxChanged(Object sender, EventArgs args) { CheckBox checkbox = (CheckBox)sender; ConfigDB.SaveConfigBool(userID, checkbox.ID, checkbox.Checked); } + void dropdownChanged(Object sender, EventArgs args) { DropDownList dropdown = (DropDownList)sender; ConfigDB.SaveConfigString(userID, dropdown.ID, dropdown.SelectedValue); } + void absoluteDateChanged(Object sender, EventArgs args) { CalendarPopup absDate = (CalendarPopup) sender; @@ -227,6 +234,7 @@ ConfigDB.SaveConfigString(userID, key, absDate.SelectedDate.ToString()); } } + void relativeDateChanged(Object sender, EventArgs args) { TextBox relDate = (TextBox)sender; @@ -238,10 +246,11 @@ ConfigDB.SaveConfigString(userID, key, "r: "+relDate.Text); } } + protected void returnToSettings(object sender, CommandEventArgs e) { if (mode == "read") - Response.Redirect("UserSettings.aspx?mode=read&" + Constants.CODE_USER + "=" + userID); + Response.Redirect("UserSettings.aspx?mode=read " + Constants.CODE_USER + "=" + userID); else Response.Redirect("UserSettings.aspx?" + Constants.CODE_USER + "=" + userID); } Modified: Website/Includes/UserSettings.ascx =================================================================== --- Website/Includes/UserSettings.ascx 2006-07-28 21:06:32 UTC (rev 233) +++ Website/Includes/UserSettings.ascx 2006-07-28 21:19:34 UTC (rev 234) @@ -4,13 +4,13 @@ <%@ Register Assembly="eWorld.UI, Version=2.0.0.2148, Culture=neutral, PublicKeyToken=24d65337282035f2" Namespace="eWorld.UI" TagPrefix="ew" %> <div id="UserSettings"> - <asp:FormView ID="FormView1" runat="server" DataSourceID="UserDataSource" DataKeyNames="userID" - OnItemDeleted="FormView1_ItemDeleted" OnItemCommand="FormView1_ItemCommand" OnItemInserted="FormView1_ItemInserted" - OnItemUpdated="FormView1_ItemUpdated" OnDataBound="FormView1_DataBound"> + <asp:FormView ID="UserSettingsView" runat="server" DataSourceID="UserDataSource" DataKeyNames="userID" + OnItemDeleted="UserSettingsView_ItemDeleted" OnItemCommand="UserSettingsView_ItemCommand" OnItemInserted="UserSettingsView_ItemInserted" + OnItemUpdated="UserSettingsView_ItemUpdated" OnDataBound="UserSettingsView_DataBound"> <HeaderTemplate> <div class="ch"> <h2> - User Settings</h2> + <asp:Label runat="server" ID="userSettingsTitle" Text="User Settings" /></h2> <div class="bottom"> </div> </div> @@ -42,7 +42,7 @@ <label> Automation:</label> <asp:CheckBox ID="automationCheckBox" runat="server" Checked='<%# Eval("automation") %>' - Enabled="false" /> + Enabled="false" CssClass="checkbox" /> </div> </div> <div class="end"> @@ -77,8 +77,8 @@ <div class="left"> <div class="item"> <label> - Roles:<br /> - <asp:Literal ID="roleTree" runat="server" OnInit="roleTree_Init"></asp:Literal></label></div> + Roles:</label> + <asp:Literal ID="roleTree" runat="server" OnInit="roleTreeView_Init" /></div> </div> <div class="end"> </div> @@ -132,7 +132,8 @@ <div class="item"> <label> Automation:</label> - <asp:CheckBox ID="automationBox" runat="server" Checked='<%# Bind("automation") %>' Enabled="true" /> + <asp:CheckBox ID="automationBox" runat="server" Checked='<%# Bind("automation") %>' + Enabled="true" CssClass="checkbox" /> </div> </div> <div class="end"> @@ -168,9 +169,11 @@ <div class="cm"> <div class="left"> <div class="item"> - <asp:TreeView ID="roleTree" runat="server" OnInit="roleTree_Init1" OnTreeNodePopulate="roleTree_TreeNodePopulate" ShowCheckBoxes="All" OnSelectedNodeChanged="roleTree_SelectedNodeChanged"> + <asp:TreeView ID="roleTree" runat="server" OnInit="roleTreeEdit_Init" OnTreeNodePopulate="roleTree_TreeNodePopulate" + ShowCheckBoxes="All" OnSelectedNodeChanged="roleTree_SelectedNodeChanged" > <Nodes> - <asp:TreeNode SelectAction="SelectExpand" ShowCheckBox="True" Text="<strong>Roles</strong>" Value="Roles" PopulateOnDemand="True"></asp:TreeNode> + <asp:TreeNode SelectAction="SelectExpand" Text="<label>Roles</label>" + Value="Roles" PopulateOnDemand="True" ShowCheckBox="false" /> </Nodes> </asp:TreeView> </div> @@ -204,77 +207,93 @@ <b class="xtop"><b class="xb1"></b><b class="xb2"></b><b class="xb3"></b><b class="xb4"> </b></b> <div class="xboxcontent"> - <table style="width: 700px"> - <tr> - <td colspan="2"> - <strong>username:</strong> + <div class="ct"> + <div class="left"> + <div class="item"> + <label> + User:</label> <asp:TextBox ID="usernameBox" runat="server" Text='<%# Bind("username") %>'></asp:TextBox> - <asp:Button ID="sync" runat="server" Text="Sync with AD" OnCommand="SyncWithAD" /></td> - </tr> - <tr> - <td class="hr" colspan="2"> - </td> - </tr> - <tr> - <td> - <strong>First Name: </strong> - <asp:TextBox ID="firstNameBox" runat="server" Text='<%# Bind("firstName") %>'></asp:TextBox></td> - <td> - <strong>Last Name:</strong> - <asp:TextBox ID="lastNameBox" runat="server" Text='<%# Bind("lastName") %>'></asp:TextBox></td> - </tr> - <tr> - <td colspan="2"> - <strong>Email Address:</strong> + </div> + <div class="item"> + <label> + Name: + </label> + <asp:TextBox ID="firstNameBox" runat="server" Text='<%# Bind("firstName") %>'></asp:TextBox> + <asp:TextBox ID="lastNameBox" runat="server" Text='<%# Bind("lastName") %>'></asp:TextBox> + </div> + <div class="item"> + <label> + Email:</label> <asp:TextBox ID="emailBox" runat="server" Text='<%# Bind("email") %>' Width="250"></asp:TextBox> - </td> - </tr> - <tr> - <td class="hr" colspan="2"> - </td> - </tr> - <tr> - <td colspan="2"> - <strong>Office Phone #:</strong> - <asp:TextBox ID="officePhoneBox" runat="server" Text='<%# Bind("officePhone") %>'> - </asp:TextBox><br /> - <strong>Home Phone #:</strong> - <asp:TextBox ID="homePhoneBox" runat="server" Text='<%# Bind("homePhone") %>'> - </asp:TextBox><br /> - <strong> Cell Phone #:</strong> - <asp:TextBox ID="cellPhoneBox" runat="server" Text='<%# Bind("cellPhone") %>'> - </asp:TextBox></td> - </tr> - <tr> - <td align="left" valign="top"> - <div class="item"> - <asp:TreeView ID="roleTree" runat="server" OnInit="roleTree_Init1" OnTreeNodePopulate="roleTree_TreeNodePopulate" ShowCheckBoxes="All" OnSelectedNodeChanged="roleTree_SelectedNodeChanged"> - <Nodes> - <asp:TreeNode SelectAction="SelectExpand" ShowCheckBox="True" Text="<strong>Roles</strong>" Value="Roles" PopulateOnDemand="True"></asp:TreeNode> - </Nodes> - </asp:TreeView> </div> - </td> - <td> - <asp:LinkButton ID="editConfig" runat="server" CommandName="editConfig" OnCommand="editConfig">Edit User Configuration Settings...</asp:LinkButton></td> - </tr> - <tr> - <td class="hr" colspan="2"> - </td> - </tr> - <tr> - <td> - <asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True" CommandName="Insert" - Text="Insert"> - </asp:LinkButton> | - <asp:LinkButton ID="UpdateCancelButton" runat="server" CausesValidation="False" CommandName="Cancel" - Text="Cancel"> - </asp:LinkButton></td> - <td> - <strong>Automation User: </strong> - <asp:CheckBox ID="CheckBox1" runat="server" Checked='<%# Bind("automation") %>' Enabled="true" /></td> - </tr> - </table> + <div class="item"> + <label> + Automation:</label> + <asp:CheckBox ID="CheckBox1" runat="server" Checked='<%# Bind("automation") %>' Enabled="true" + CssClass="checkbox" /> + </div> + </div> + <div class="end"> + </div> + <div class="hr"> + </div> + </div> + <div class="ct"> + <div class="left"> + <div class="item"> + <label> + Office #:</label> + <asp:TextBox ID="officePhoneBox" runat="server" Text='<%# Bind("officePhone") %>' /> + </div> + <div class="item"> + <label> + Home #:</label> + <asp:TextBox ID="homePhoneBox" runat="server" Text='<%# Bind("homePhone") %>' /> + </div> + <div class="item"> + <label> + Cell #:</label> + <asp:TextBox ID="cellPhoneBox" runat="server" Text='<%# Bind("cellPhone") %>' /> + </div> + </div> + <div class="end"> + </div> + <div class="hr"> + </div> + </div> + <div class="cm"> + <div class="left"> + <div class="item"> + <label> + Roles:<br /> + <asp:TreeView ID="roleTree" runat="server" OnInit="roleTreeEdit_Init" OnTreeNodePopulate="roleTree_TreeNodePopulate" + ShowCheckBoxes="All" OnSelectedNodeChanged="roleTree_SelectedNodeChanged"> + <Nodes> + <asp:TreeNode SelectAction="SelectExpand" Text="<label>Roles</label>" + Value="Roles" PopulateOnDemand="True" Selected="false" ShowCheckBox="false" /> + </Nodes> + </asp:TreeView> + </div> + </div> + <div class="end"> + </div> + <div class="hr"> + </div> + </div> + <div class="cb"> + <div class="left"> + <asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True" CommandName="Insert" + Text="Add User" /> + | + <asp:LinkButton ID="UpdateCancelButton" runat="server" CausesValidation="False" CommandName="Cancel" + Text="Cancel" /> | + <asp:LinkButton ID="sync" runat="server" Text="Sync with AD" OnCommand="SyncWithAD" /> + </div> + <div class="right"> + </div> + <div class="end"> + </div> + </div> </div> <b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b><b class="xb1"> </b></b> Modified: Website/Includes/UserSettings.ascx.cs =================================================================== --- Website/Includes/UserSettings.ascx.cs 2006-07-28 21:06:32 UTC (rev 233) +++ Website/Includes/UserSettings.ascx.cs 2006-07-28 21:19:34 UTC (rev 234) @@ -39,14 +39,14 @@ Session.Add("tableName", "tcdb_user"); if (mode == "new") - FormView1.ChangeMode(FormViewMode.Insert); + UserSettingsView.ChangeMode(FormViewMode.Insert); } protected void deleteButton_Load(object sender, EventArgs e) { if (mode == "read") { - LinkButton deleteButton = (LinkButton)FormView1.FindControl("New"); + LinkButton deleteButton = (LinkButton)UserSettingsView.FindControl("New"); deleteButton.Visible = false; } } @@ -55,7 +55,7 @@ { if (mode == "read") { - LinkButton deleteButton = (LinkButton)FormView1.FindControl("Delete"); + LinkButton deleteButton = (LinkButton)UserSettingsView.FindControl("Delete"); deleteButton.Visible = false; } } @@ -64,7 +64,7 @@ { if (mode == "read") { - Label deleteLabel = (Label)FormView1.FindControl("newLabel"); + Label deleteLabel = (Label)UserSettingsView.FindControl("newLabel"); deleteLabel.Visible = false; } } @@ -73,24 +73,24 @@ { if (mode == "read") { - Label deleteLabel = (Label)FormView1.FindControl("deleteLabel"); + Label deleteLabel = (Label)UserSettingsView.FindControl("deleteLabel"); deleteLabel.Visible = false; } } - protected void FormView1_ItemDeleted(object sender, FormViewDeletedEventArgs e) + protected void UserSettingsView_ItemDeleted(object sender, FormViewDeletedEventArgs e) { // Can only delete in Adminstration mode Response.Redirect("Administration.aspx"); } - protected void FormView1_ItemCommand(object sender, FormViewCommandEventArgs e) + protected void UserSettingsView_ItemCommand(object sender, FormViewCommandEventArgs e) { - if (FormView1.CurrentMode == FormViewMode.Insert && e.CommandName=="Cancel") + if (UserSettingsView.CurrentMode == FormViewMode.Insert && e.CommandName == "Cancel") Response.Redirect("Administration.aspx"); } - protected void FormView1_ItemInserted(object sender, FormViewInsertedEventArgs e) + protected void UserSettingsView_ItemInserted(object sender, FormViewInsertedEventArgs e) { if (e.Exception == null) { @@ -103,7 +103,7 @@ } } - protected void FormView1_ItemUpdated(object sender, FormViewUpdatedEventArgs e) + protected void UserSettingsView_ItemUpdated(object sender, FormViewUpdatedEventArgs e) { updateRoles(); if (mode == "read") @@ -120,7 +120,7 @@ { // TODO: If m_user.PASSWORD is "" or null, we must prompt for a password somehow // or the AD authentication will fail - String username = ((TextBox)FormView1.FindControl("usernameBox")).Text; + String username = ((TextBox)UserSettingsView.FindControl("usernameBox")).Text; String password = null; if (m_user.PASSWORD != "") password = m_user.PASSWORD; @@ -128,12 +128,12 @@ if (curUser.ID != -1) { - TextBox tbx_firstName = (TextBox)FormView1.FindControl("firstNameBox"); - TextBox tbx_lastName = (TextBox)FormView1.FindControl("lastNameBox"); - TextBox tbx_email = (TextBox)FormView1.FindControl("emailBox"); - TextBox tbx_officePhone = (TextBox)FormView1.FindControl("officePhoneBox"); - TextBox tbx_homePhone = (TextBox)FormView1.FindControl("homePhoneBox"); - TextBox tbx_cellPhone = (TextBox)FormView1.FindControl("cellPhoneBox"); + TextBox tbx_firstName = (TextBox)UserSettingsView.FindControl("firstNameBox"); + TextBox tbx_lastName = (TextBox)UserSettingsView.FindControl("lastNameBox"); + TextBox tbx_email = (TextBox)UserSettingsView.FindControl("emailBox"); + TextBox tbx_officePhone = (TextBox)UserSettingsView.FindControl("officePhoneBox"); + TextBox tbx_homePhone = (TextBox)UserSettingsView.FindControl("homePhoneBox"); + TextBox tbx_cellPhone = (TextBox)UserSettingsView.FindControl("cellPhoneBox"); tbx_firstName.Text = curUser.FIRSTNAME; tbx_lastName.Text = curUser.LASTNAME; @@ -151,18 +151,20 @@ else Response.Redirect("UserConfig.aspx?" + Constants.CODE_USER + "=" + userID); } - protected void FormView1_DataBound(object sender, EventArgs e) + + protected void UserSettingsView_DataBound(object sender, EventArgs e) { - if (FormView1.CurrentMode == FormViewMode.Edit) + if (UserSettingsView.CurrentMode == FormViewMode.Edit) { if (mode == "read") { - TextBox username = (TextBox)FormView1.FindControl("usernameBox"); + TextBox username = (TextBox)UserSettingsView.FindControl("usernameBox"); username.Enabled = false; } } } - protected void roleTree_Init(object sender, EventArgs e) + + protected void roleTreeView_Init(object sender, EventArgs e) { Literal roleTree = (Literal)sender; roleTree.ID = "roleTree"; @@ -207,6 +209,36 @@ roleTree.Text += "</ul>\n"; } + + protected void roleTreeEdit_Init(object sender, EventArgs e) + { + TreeView roleTree = (TreeView)sender; + + // Initialize Product Roles + if (Session["ProductRoles"] == null) + Session.Add("ProductRoles", new Dictionary<String, ArrayList>()); + Dictionary<String, ArrayList> ProductRoles = (Dictionary<String, ArrayList>)Session["ProductRoles"]; + ProductRoles.Clear(); + + // Get products + tcdbDataSetTableAdapters.db_productsTableAdapter pAdapter = new tcdbDataSetTableAdapters.db_productsTableAdapter(); + tcdbDataSet.db_productsDataTable pTable = pAdapter.GetData(null, null); + + foreach (tcdbDataSet.db_productsRow pRow in pTable) + { + // Get Roles + tcdbDataSetTableAdapters.db_roleUserProductTableAdapter rupAdapter = new tcdbDataSetTableAdapters.db_roleUserProductTableAdapter(); + tcdbDataSet.db_roleUserProductDataTable rupTable = rupAdapter.GetData(userID, pRow.productID, true); + ArrayList roles = new ArrayList(); + + foreach (tcdbDataSet.db_roleUserProductRow rupRow in rupTable) + roles.Add(rupRow.roleID.ToString()); + + if (roles.Count > 0) + ProductRoles[pRow.productID.ToString()] = roles; + } + } + protected void BuildProductList(TreeNode parent) { tcdbDataSetTableAdapters.db_productsTableAdapter pAdapter = new tcdbDataSetTableAdapters.db_productsTableAdapter(); @@ -215,19 +247,20 @@ foreach (tcdbDataSet.db_productsRow row in pTable) { TreeNode child = new TreeNode(); - child.Text = "<strong>" + row.name + "</strong>"; + child.Text = "<label>" + row.name + "</label>"; child.Value = row.productID.ToString(); child.SelectAction = TreeNodeSelectAction.SelectExpand; child.PopulateOnDemand = true; - child.ShowCheckBox = true; + child.ShowCheckBox = false; parent.ChildNodes.Add(child); } } + protected void BuildRoleList(TreeNode parent) { tcdbDataSetTableAdapters.db_roleTableAdapter rAdapter = new tcdbDataSetTableAdapters.db_roleTableAdapter(); - tcdbDataSet.db_roleDataTable rTable = rAdapter.GetData(null,null,true); + tcdbDataSet.db_roleDataTable rTable = rAdapter.GetData(null, null, true); Dictionary<String, ArrayList> ProductRoles = (Dictionary<String, ArrayList>)Session["ProductRoles"]; int numChecked = 0; @@ -238,12 +271,15 @@ child.Value = row.roleID.ToString(); child.SelectAction = TreeNodeSelectAction.Expand; child.ShowCheckBox = true; - if (ProductRoles.ContainsKey(parent.Value)) + if (UserSettingsView.CurrentMode == FormViewMode.Edit) { - if (ProductRoles[parent.Value].Contains(row.roleID.ToString())) + if (ProductRoles.ContainsKey(parent.Value)) { - child.Checked = true; - numChecked++; + if (ProductRoles[parent.Value].Contains(row.roleID.ToString())) + { + child.Checked = true; + numChecked++; + } } } @@ -252,6 +288,7 @@ parent.Checked = true; } } + protected void roleTree_TreeNodePopulate(object sender, TreeNodeEventArgs e) { switch (e.Node.Depth) @@ -266,41 +303,15 @@ break; } } - protected void roleTree_Init1(object sender, EventArgs e) - { - TreeView roleTree = (TreeView) sender; - // Initialize Product Roles - if (Session["ProductRoles"] == null) - Session.Add("ProductRoles", new Dictionary<String, ArrayList>()); - Dictionary<String, ArrayList> ProductRoles = (Dictionary<String, ArrayList>)Session["ProductRoles"]; - ProductRoles.Clear(); - - // Get products - tcdbDataSetTableAdapters.db_productsTableAdapter pAdapter = new tcdbDataSetTableAdapters.db_productsTableAdapter(); - tcdbDataSet.db_productsDataTable pTable = pAdapter.GetData(null, null); - - foreach (tcdbDataSet.db_productsRow pRow in pTable) - { - // Get Roles - tcdbDataSetTableAdapters.db_roleUserProductTableAdapter rupAdapter = new tcdbDataSetTableAdapters.db_roleUserProductTableAdapter(); - tcdbDataSet.db_roleUserProductDataTable rupTable = rupAdapter.GetData(userID, pRow.productID, true); - ArrayList roles = new ArrayList(); - - foreach (tcdbDataSet.db_roleUserProductRow rupRow in rupTable) - roles.Add(rupRow.roleID.ToString()); - - if (roles.Count > 0) - ProductRoles[pRow.productID.ToString()] = roles; - } - } protected void roleTree_TreeNodeCheckChanged(object sender, TreeNodeEventArgs e) { TreeNode node = (TreeNode)e.Node; Dictionary<String, ArrayList> ProductRoles = (Dictionary<String, ArrayList>)Session["ProductRoles"]; // update ProductUsers - if (node.Parent != null && node.Parent.Value != "Roles"){ + if (node.Parent != null && node.Parent.Value != "Roles") + { String product = node.Parent.Value; if (ProductRoles.ContainsKey(product)) { @@ -324,11 +335,12 @@ roleTree_TreeNodeCheckChanged(child, new TreeNodeEventArgs(child)); } } + protected void roleTree_SelectedNodeChanged(object sender, EventArgs e) { TreeView tree = (TreeView)sender; TreeNode node = tree.SelectedNode; - + node.Checked = (node.Checked == true) ? false : true; foreach (TreeNode child in node.ChildNodes) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2006-07-28 22:16:13
|
Revision: 235 Author: rouquin Date: 2006-07-28 15:15:58 -0700 (Fri, 28 Jul 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=235&view=rev Log Message: ----------- Added password prompt for when password is lost between sessions. Modified Paths: -------------- Website/Includes/UserSettings.ascx Website/Includes/UserSettings.ascx.cs Modified: Website/Includes/UserSettings.ascx =================================================================== --- Website/Includes/UserSettings.ascx 2006-07-28 21:19:34 UTC (rev 234) +++ Website/Includes/UserSettings.ascx 2006-07-28 22:15:58 UTC (rev 235) @@ -4,13 +4,14 @@ <%@ Register Assembly="eWorld.UI, Version=2.0.0.2148, Culture=neutral, PublicKeyToken=24d65337282035f2" Namespace="eWorld.UI" TagPrefix="ew" %> <div id="UserSettings"> - <asp:FormView ID="UserSettingsView" runat="server" DataSourceID="UserDataSource" DataKeyNames="userID" - OnItemDeleted="UserSettingsView_ItemDeleted" OnItemCommand="UserSettingsView_ItemCommand" OnItemInserted="UserSettingsView_ItemInserted" - OnItemUpdated="UserSettingsView_ItemUpdated" OnDataBound="UserSettingsView_DataBound"> + <asp:FormView ID="UserSettingsView" runat="server" DataSourceID="UserDataSource" + DataKeyNames="userID" OnItemDeleted="UserSettingsView_ItemDeleted" OnItemCommand="UserSettingsView_ItemCommand" + OnItemInserted="UserSettingsView_ItemInserted" OnItemUpdated="UserSettingsView_ItemUpdated" + OnDataBound="UserSettingsView_DataBound"> <HeaderTemplate> <div class="ch"> <h2> - <asp:Label runat="server" ID="userSettingsTitle" Text="User Settings" /></h2> + <asp:Label runat="server" ID="userSettingsTitle" Text="User Settings" /></h2> <div class="bottom"> </div> </div> @@ -170,10 +171,10 @@ <div class="left"> <div class="item"> <asp:TreeView ID="roleTree" runat="server" OnInit="roleTreeEdit_Init" OnTreeNodePopulate="roleTree_TreeNodePopulate" - ShowCheckBoxes="All" OnSelectedNodeChanged="roleTree_SelectedNodeChanged" > + ShowCheckBoxes="All" OnSelectedNodeChanged="roleTree_SelectedNodeChanged"> <Nodes> <asp:TreeNode SelectAction="SelectExpand" Text="<label>Roles</label>" - Value="Roles" PopulateOnDemand="True" ShowCheckBox="false" /> + Value="Roles" PopulateOnDemand="True" ShowCheckBox="false" /> </Nodes> </asp:TreeView> </div> @@ -191,6 +192,9 @@ <asp:LinkButton ID="UpdateCancelButton" runat="server" CausesValidation="False" CommandName="Cancel" Text="Cancel" /> | <asp:LinkButton ID="sync" runat="server" Text="Sync with AD" OnCommand="SyncWithAD" /> + + <asp:Label ID="passwordLbl" runat="server" Text="Password: "></asp:Label><asp:TextBox + ID="passwordBox" runat="server" TextMode="Password"></asp:TextBox> </div> <div class="right"> </div> @@ -201,6 +205,7 @@ <b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b><b class="xb1"> </b></b> </div> + <asp:Label ID="errorLbl" runat="server"></asp:Label> </EditItemTemplate> <InsertItemTemplate> <div class="xsnazzy"> @@ -288,6 +293,9 @@ <asp:LinkButton ID="UpdateCancelButton" runat="server" CausesValidation="False" CommandName="Cancel" Text="Cancel" /> | <asp:LinkButton ID="sync" runat="server" Text="Sync with AD" OnCommand="SyncWithAD" /> + + <asp:Label ID="passwordLbl" runat="server" Text="Password: "></asp:Label><asp:TextBox + ID="passwordBox" runat="server" TextMode="Password"></asp:TextBox> </div> <div class="right"> </div> @@ -298,6 +306,7 @@ <b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b><b class="xb1"> </b></b> </div> + <asp:Label ID="errorLbl" runat="server"></asp:Label> </InsertItemTemplate> </asp:FormView> Modified: Website/Includes/UserSettings.ascx.cs =================================================================== --- Website/Includes/UserSettings.ascx.cs 2006-07-28 21:19:34 UTC (rev 234) +++ Website/Includes/UserSettings.ascx.cs 2006-07-28 22:15:58 UTC (rev 235) @@ -118,14 +118,33 @@ protected void SyncWithAD(object sender, CommandEventArgs e) { - // TODO: If m_user.PASSWORD is "" or null, we must prompt for a password somehow - // or the AD authentication will fail + TextBox passwordBox = (TextBox)UserSettingsView.FindControl("passwordBox"); + String username = ((TextBox)UserSettingsView.FindControl("usernameBox")).Text; + if (username == "") + { + Label errorLbl = (Label)UserSettingsView.FindControl("errorLbl"); + + m_logg.Info("Could not sync with AD. No username specified"); + errorLbl.Text = "<font color=red>Please provide username to search for.</font>"; + return; + } + String password = null; if (m_user.PASSWORD != "") password = m_user.PASSWORD; + else if (passwordBox.Text != "") + password = passwordBox.Text; + else + { + Label errorLbl = (Label)UserSettingsView.FindControl("errorLbl"); + + m_logg.Info("Could not sync with AD. No password provided."); + errorLbl.Text = "<font color=red>Please provide password to authenticate with AD</font>"; + return; + } + User curUser = AD_Authentication.AD_GetUserInfo(m_user.USERNAME, password, username); - if (curUser.ID != -1) { TextBox tbx_firstName = (TextBox)UserSettingsView.FindControl("firstNameBox"); @@ -162,6 +181,22 @@ username.Enabled = false; } } + if (UserSettingsView.CurrentMode != FormViewMode.ReadOnly) + { + Label passwordLbl = (Label)UserSettingsView.FindControl("passwordLbl"); + TextBox passwordBox = (TextBox) UserSettingsView.FindControl("passwordBox"); + + if (m_user.PASSWORD != "") + { + passwordBox.Visible = false; + passwordLbl.Visible = false; + } + else + { + passwordBox.Visible = true; + passwordLbl.Visible = true; + } + } } protected void roleTreeView_Init(object sender, EventArgs e) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2006-07-28 23:04:26
|
Revision: 236 Author: rouquin Date: 2006-07-28 16:04:20 -0700 (Fri, 28 Jul 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=236&view=rev Log Message: ----------- I hid the root of the role tree. You can still do select alls, but not expand collapse. It's one or the other. Modified Paths: -------------- Website/Includes/UserSettings.ascx Website/Includes/UserSettings.ascx.cs Modified: Website/Includes/UserSettings.ascx =================================================================== --- Website/Includes/UserSettings.ascx 2006-07-28 22:15:58 UTC (rev 235) +++ Website/Includes/UserSettings.ascx 2006-07-28 23:04:20 UTC (rev 236) @@ -171,9 +171,9 @@ <div class="left"> <div class="item"> <asp:TreeView ID="roleTree" runat="server" OnInit="roleTreeEdit_Init" OnTreeNodePopulate="roleTree_TreeNodePopulate" - ShowCheckBoxes="All" OnSelectedNodeChanged="roleTree_SelectedNodeChanged"> + ShowCheckBoxes="All" OnSelectedNodeChanged="roleTree_SelectedNodeChanged" ShowExpandCollapse="false"> <Nodes> - <asp:TreeNode SelectAction="SelectExpand" Text="<label>Roles</label>" + <asp:TreeNode Text="" Value="Roles" PopulateOnDemand="True" ShowCheckBox="false" /> </Nodes> </asp:TreeView> @@ -269,12 +269,10 @@ <div class="cm"> <div class="left"> <div class="item"> - <label> - Roles:<br /> <asp:TreeView ID="roleTree" runat="server" OnInit="roleTreeEdit_Init" OnTreeNodePopulate="roleTree_TreeNodePopulate" - ShowCheckBoxes="All" OnSelectedNodeChanged="roleTree_SelectedNodeChanged"> + ShowCheckBoxes="All" OnSelectedNodeChanged="roleTree_SelectedNodeChanged" ShowExpandCollapse="false"> <Nodes> - <asp:TreeNode SelectAction="SelectExpand" Text="<label>Roles</label>" + <asp:TreeNode Text="" Value="Roles" PopulateOnDemand="True" Selected="false" ShowCheckBox="false" /> </Nodes> </asp:TreeView> Modified: Website/Includes/UserSettings.ascx.cs =================================================================== --- Website/Includes/UserSettings.ascx.cs 2006-07-28 22:15:58 UTC (rev 235) +++ Website/Includes/UserSettings.ascx.cs 2006-07-28 23:04:20 UTC (rev 236) @@ -284,7 +284,7 @@ TreeNode child = new TreeNode(); child.Text = "<label>" + row.name + "</label>"; child.Value = row.productID.ToString(); - child.SelectAction = TreeNodeSelectAction.SelectExpand; + child.SelectAction = TreeNodeSelectAction.Select; child.PopulateOnDemand = true; child.ShowCheckBox = false; @@ -304,7 +304,6 @@ TreeNode child = new TreeNode(); child.Text = row.roleName; child.Value = row.roleID.ToString(); - child.SelectAction = TreeNodeSelectAction.Expand; child.ShowCheckBox = true; if (UserSettingsView.CurrentMode == FormViewMode.Edit) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <m_h...@us...> - 2006-07-28 23:08:41
|
Revision: 237 Author: m_hildebrand Date: 2006-07-28 16:08:31 -0700 (Fri, 28 Jul 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=237&view=rev Log Message: ----------- Theme changes Removed rights from administration tree Modified Paths: -------------- Website/App_Code/Common.cs Website/App_Code/SiteMaster.cs Website/App_Code/Users.cs Website/App_Themes/Python/python.css Website/Includes/AdministrationTree.ascx.cs Website/Includes/UserSettings.ascx Website/Includes/UserSettings.ascx.cs Modified: Website/App_Code/Common.cs =================================================================== --- Website/App_Code/Common.cs 2006-07-28 23:04:20 UTC (rev 236) +++ Website/App_Code/Common.cs 2006-07-28 23:08:31 UTC (rev 237) @@ -1201,6 +1201,7 @@ public static int NOTREGISTERED = -1; public static int NEWUSER = -1; + // Defaults in the database public static int ANONYMOUSUSERID = 1; public static int PRODUCT_SITEID = 1; Modified: Website/App_Code/SiteMaster.cs =================================================================== --- Website/App_Code/SiteMaster.cs 2006-07-28 23:04:20 UTC (rev 236) +++ Website/App_Code/SiteMaster.cs 2006-07-28 23:08:31 UTC (rev 237) @@ -7,6 +7,7 @@ using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; +using System.Web.Configuration; using TCDB.Users; using TCDB.Common; using log4net; @@ -30,7 +31,12 @@ //TimeSpan d = DateTime.Now - m_startTime; //d.Milliseconds; - } + }/* + else + { + PagesSection ps = (PagesSection)WebConfigurationManager.OpenWebConfiguration("").GetSection("system.web/pages"); + ps.ValidateRequest = false; + }*/ } public DateTime LoadStartTime() @@ -41,6 +47,7 @@ } return DateTime.Now; + } public User LoadSessionUser() Modified: Website/App_Code/Users.cs =================================================================== --- Website/App_Code/Users.cs 2006-07-28 23:04:20 UTC (rev 236) +++ Website/App_Code/Users.cs 2006-07-28 23:08:31 UTC (rev 237) @@ -386,6 +386,11 @@ return p_username.Trim(); } + public bool HasRight(string right) + { + return HasRight(right, Constants.PRODUCT_SITEID); + } + public bool HasRight(string right, int productID) { if (p_rights.ContainsKey(productID)) Modified: Website/App_Themes/Python/python.css =================================================================== --- Website/App_Themes/Python/python.css 2006-07-28 23:04:20 UTC (rev 236) +++ Website/App_Themes/Python/python.css 2006-07-28 23:08:31 UTC (rev 237) @@ -311,6 +311,29 @@ } /*********** END Form Content ***********/ +/********** BEGIN User Settings **************/ +#fullname input +{ + width: 75px; +} + +#fullname input + input +{ + width: 100px; +} + +* html #fullname input +{ + width: 100px; +} + +#email input +{ + width: 200px; +} + +/********** END User Settings *************/ + /********** BEGIN Box Content **********/ /* Snazzy borders by Stu Nicholls (http://www.cssplay.co.uk/boxes/snazzy.html) */ .xsnazzy Modified: Website/Includes/AdministrationTree.ascx.cs =================================================================== --- Website/Includes/AdministrationTree.ascx.cs 2006-07-28 23:04:20 UTC (rev 236) +++ Website/Includes/AdministrationTree.ascx.cs 2006-07-28 23:08:31 UTC (rev 237) @@ -47,7 +47,7 @@ // Add Admin Settings TreeNode newNode = new TreeNode(); - newNode.Text = "<font color=green>Site Settings</font>"; + newNode.Text = "Site Settings"; newNode.Value = "admin"; newNode.PopulateOnDemand = true; newNode.SelectAction = TreeNodeSelectAction.Expand; @@ -87,7 +87,7 @@ // Users newNode = new TreeNode(); - newNode.Text = "<font color=black>Users</font>"; + newNode.Text = "Users"; newNode.Value = "users"; newNode.PopulateOnDemand = true; newNode.SelectAction = TreeNodeSelectAction.Expand; @@ -97,7 +97,7 @@ // Roles newNode = new TreeNode(); - newNode.Text = "<font color=black>User Roles</font>"; + newNode.Text = "User Roles"; newNode.Value = "roles"; newNode.PopulateOnDemand = true; newNode.SelectAction = TreeNodeSelectAction.Expand; @@ -106,18 +106,18 @@ newNode.Expand(); // Rights - newNode = new TreeNode(); - newNode.Text = "<font color=black>User Rights</font>"; + /*newNode = new TreeNode(); + newNode.Text = "User Rights"; newNode.Value = "rights"; newNode.PopulateOnDemand = true; newNode.SelectAction = TreeNodeSelectAction.Expand; parent.ChildNodes.Add(newNode); if (nodes.Contains(newNode.ValuePath)) - newNode.Expand(); + newNode.Expand();*/ // Operating Systems newNode = new TreeNode(); - newNode.Text = "<font color=black>Operating Systems</font>"; + newNode.Text = "Operating Systems"; newNode.Value = "os"; newNode.PopulateOnDemand = true; newNode.SelectAction = TreeNodeSelectAction.Expand; @@ -127,7 +127,7 @@ // Architectures newNode = new TreeNode(); - newNode.Text = "<font color=black>Architectures</font>"; + newNode.Text = "Architectures"; newNode.Value = "arch"; newNode.PopulateOnDemand = true; newNode.SelectAction = TreeNodeSelectAction.Expand; @@ -204,7 +204,7 @@ // Versions newNode = new TreeNode(); - newNode.Text = "<font color=black>Releases</font>"; + newNode.Text = "Releases"; newNode.Value = "release"; newNode.PopulateOnDemand = true; newNode.SelectAction = TreeNodeSelectAction.Expand; @@ -214,7 +214,7 @@ // Tags newNode = new TreeNode(); - newNode.Text = "<font color=black>Tags</font>"; + newNode.Text = "Tags"; newNode.Value = "tag"; newNode.PopulateOnDemand = true; newNode.SelectAction = TreeNodeSelectAction.Expand; @@ -224,7 +224,7 @@ // Status Labels newNode = new TreeNode(); - newNode.Text = "<font color=black>Status Levels</font>"; + newNode.Text = "Status Levels"; newNode.Value = "status"; newNode.PopulateOnDemand = true; newNode.SelectAction = TreeNodeSelectAction.Expand; @@ -234,7 +234,7 @@ // Labs newNode = new TreeNode(); - newNode.Text = "<font color=black>Labs</font>"; + newNode.Text = "Labs"; newNode.Value = "lab"; newNode.PopulateOnDemand = true; newNode.SelectAction = TreeNodeSelectAction.Expand; @@ -244,7 +244,7 @@ // Roles newNode = new TreeNode(); - newNode.Text = "<font color=black>Roles</font>"; + newNode.Text = "Roles"; newNode.Value = "role"; newNode.PopulateOnDemand = true; newNode.SelectAction = TreeNodeSelectAction.Expand; @@ -255,7 +255,7 @@ // Users newNode = new TreeNode(); - newNode.Text = "<font color=black>Users</font>"; + newNode.Text = "Users"; newNode.Value = "user"; newNode.PopulateOnDemand = true; newNode.SelectAction = TreeNodeSelectAction.Expand; @@ -270,7 +270,7 @@ // Action Item newNode = new TreeNode(); - newNode.Text = "<font color=black>Action Item</font>"; + newNode.Text = "Action Item"; newNode.Value = "ActionItem"; newNode.PopulateOnDemand = true; newNode.SelectAction = TreeNodeSelectAction.Expand; @@ -280,7 +280,7 @@ // WorkOrder newNode = new TreeNode(); - newNode.Text = "<font color=black>Work Order</font>"; + newNode.Text = "Work Order"; newNode.Value = "WorkOrder"; newNode.PopulateOnDemand = true; newNode.SelectAction = TreeNodeSelectAction.Expand; @@ -290,7 +290,7 @@ // Objective newNode = new TreeNode(); - newNode.Text = "<font color=black>Objective</font>"; + newNode.Text = "Objective"; newNode.Value = "objective"; newNode.PopulateOnDemand = true; newNode.SelectAction = TreeNodeSelectAction.Expand; @@ -300,7 +300,7 @@ // TestCase newNode = new TreeNode(); - newNode.Text = "<font color=black>Testcase</font>"; + newNode.Text = "Testcase"; newNode.Value = "testcase"; newNode.PopulateOnDemand = true; newNode.SelectAction = TreeNodeSelectAction.Expand; @@ -353,7 +353,7 @@ { // Create the new node. TreeNode newNode = new TreeNode(); - newNode.Text = "<font color=blue>" + row.roleName + "</font>"; + newNode.Text = row.roleName; newNode.Value = row.roleID.ToString(); // Set the PopulateOnDemand property to true so that the child nodes can be @@ -379,7 +379,7 @@ { // Create the new node. TreeNode newNode = new TreeNode(); - newNode.Text = "<font color=blue>" + row.fullName + "</font>"; + newNode.Text = row.fullName; newNode.Value = row.userID.ToString(); ; // Set the PopulateOnDemand property to true so that the child nodes can be @@ -403,7 +403,7 @@ foreach (tcdbDataSet.db_usersRow row in uTable) { TreeNode child = new TreeNode(); - child.Text = "<FontInfo color=black>" + row.fullName + "</font>"; + child.Text = row.fullName; child.Value = row.userID.ToString(); child.NavigateUrl = "~/UserSettings.aspx?" + Constants.CODE_USER + "=" + child.Value; @@ -452,13 +452,14 @@ foreach (tcdbDataSet.db_roleRow row in rTable) { TreeNode child = new TreeNode(); - child.Text = "<FontInfo color=black>" + row.roleName + "</font>"; + child.Text = row.roleName; child.Value = row.roleID.ToString(); child.NavigateUrl = "~/Role.aspx?" + Constants.CODE_ROLE + "=" + child.Value; parent.ChildNodes.Add(child); } } + /* protected void BuildAllRightsList(TreeNode parent) { tcdbDataSetTableAdapters.db_rightsTableAdapter rAdapter = new tcdbDataSetTableAdapters.db_rightsTableAdapter(); @@ -467,13 +468,14 @@ foreach (tcdbDataSet.db_rightsRow row in rTable) { TreeNode child = new TreeNode(); - child.Text = "<FontInfo color=black>" + row.rightsName + "</font>"; + child.Text = row.rightsName; child.Value = row.rightsID.ToString(); child.NavigateUrl = "~/Right.aspx?" + Constants.CODE_RIGHT + "=" + child.Value; parent.ChildNodes.Add(child); } } + */ protected void BuildVersionCategories(TreeNode parent) { ArrayList nodes = (ArrayList)Session["AdminNodes"]; @@ -481,7 +483,7 @@ // Test Pass newNode = new TreeNode(); - newNode.Text = "<font color=black>Test Passes</font>"; + newNode.Text = "Test Passes"; newNode.Value = "testpass"; newNode.PopulateOnDemand = true; newNode.SelectAction = TreeNodeSelectAction.Expand; @@ -491,7 +493,7 @@ // Builds newNode = new TreeNode(); - newNode.Text = "<font color=black>Builds</font>"; + newNode.Text = "Builds"; newNode.Value = "build"; newNode.PopulateOnDemand = true; newNode.SelectAction = TreeNodeSelectAction.Expand; @@ -501,7 +503,7 @@ // Systems newNode = new TreeNode(); - newNode.Text = "<font color=black>Supported Systems</font>"; + newNode.Text = "Supported Systems"; newNode.Value = "system"; newNode.PopulateOnDemand = true; newNode.SelectAction = TreeNodeSelectAction.Expand; @@ -575,6 +577,7 @@ } */ } + /* protected void BuildRightsList(TreeNode parent) { ArrayList nodes = (ArrayList)Session["AdminNodes"]; @@ -586,7 +589,7 @@ { // Create the new node. TreeNode newNode = new TreeNode(); - newNode.Text = "<font color=green>Right: </font><font color=blue>" + row.rightName + "</font>"; + newNode.Text = "Right: " + row.rightName; newNode.Value = row.rightsID.ToString(); // Set the PopulateOnDemand property to true so that the child nodes can be @@ -602,6 +605,7 @@ newNode.Expand(); } } + */ protected void BuildBuildList(TreeNode parent) { ArrayList nodes = (ArrayList)Session["AdminNodes"]; @@ -813,8 +817,8 @@ BuildAllArchList(e.Node); else if (e.Node.Value == "roles") BuildAllRolesList(e.Node); - else if (e.Node.Value == "rights") - BuildAllRolesList(e.Node); + /*else if (e.Node.Value == "rights") + BuildAllRightsList(e.Node);*/ break; case 3: if (e.Node.NavigateUrl.Contains("Version")) @@ -823,8 +827,8 @@ BuildStatusList(e.Node); else if (e.Node.NavigateUrl.Contains("Lab")) BuildComputerList(e.Node); - else if (e.Node.NavigateUrl.Contains("Role")) - BuildRightsList(e.Node); + /*else if (e.Node.NavigateUrl.Contains("Role")) + BuildRightsList(e.Node);*/ break; case 4: if (e.Node.Value == "build") Modified: Website/Includes/UserSettings.ascx =================================================================== --- Website/Includes/UserSettings.ascx 2006-07-28 23:04:20 UTC (rev 236) +++ Website/Includes/UserSettings.ascx 2006-07-28 23:08:31 UTC (rev 237) @@ -113,19 +113,19 @@ <div class="xboxcontent"> <div class="ct"> <div class="left"> - <div class="item"> + <div class="item" id="username"> <label> User:</label> <asp:TextBox ID="usernameBox" runat="server" Text='<%# Bind("username") %>'></asp:TextBox> </div> - <div class="item"> + <div class="item" id="fullname"> <label> Name: </label> <asp:TextBox ID="firstNameBox" runat="server" Text='<%# Bind("firstName") %>'></asp:TextBox> <asp:TextBox ID="lastNameBox" runat="server" Text='<%# Bind("lastName") %>'></asp:TextBox> </div> - <div class="item"> + <div class="item" id="email"> <label> Email:</label> <asp:TextBox ID="emailBox" runat="server" Text='<%# Bind("email") %>'></asp:TextBox> @@ -144,18 +144,18 @@ </div> <div class="ct"> <div class="left"> - <div class="item"> + <div class="item" id="office"> <label> Office #:</label> <asp:TextBox ID="officePhoneBox" runat="server" Text='<%# Bind("officePhone") %>'></asp:TextBox> </div> - <div class="item"> + <div class="item" id="home"> <label> Home #:</label> <asp:TextBox ID="homePhoneBox" runat="server" Text='<%# Bind("homePhone") %>'> </asp:TextBox> </div> - <div class="item"> + <div class="item" id="cell"> <label> Cell #:</label> <asp:TextBox ID="cellPhoneBox" runat="server" Text='<%# Bind("cellPhone") %>'> Modified: Website/Includes/UserSettings.ascx.cs =================================================================== --- Website/Includes/UserSettings.ascx.cs 2006-07-28 23:04:20 UTC (rev 236) +++ Website/Includes/UserSettings.ascx.cs 2006-07-28 23:08:31 UTC (rev 237) @@ -249,29 +249,38 @@ { TreeView roleTree = (TreeView)sender; - // Initialize Product Roles - if (Session["ProductRoles"] == null) - Session.Add("ProductRoles", new Dictionary<String, ArrayList>()); - Dictionary<String, ArrayList> ProductRoles = (Dictionary<String, ArrayList>)Session["ProductRoles"]; - ProductRoles.Clear(); + // Only display the rights tree if the user has permissions to access this + if (m_user.HasRight(Constants.RIGHTS_ASSIGNPERMISSION) || m_user.HasRight(Constants.RIGHTS_SITEADMIN)) + { + roleTree.Visible = true; + // Initialize Product Roles + if (Session["ProductRoles"] == null) + Session.Add("ProductRoles", new Dictionary<String, ArrayList>()); + Dictionary<String, ArrayList> ProductRoles = (Dictionary<String, ArrayList>)Session["ProductRoles"]; + ProductRoles.Clear(); - // Get products - tcdbDataSetTableAdapters.db_productsTableAdapter pAdapter = new tcdbDataSetTableAdapters.db_productsTableAdapter(); - tcdbDataSet.db_productsDataTable pTable = pAdapter.GetData(null, null); + // Get products + tcdbDataSetTableAdapters.db_productsTableAdapter pAdapter = new tcdbDataSetTableAdapters.db_productsTableAdapter(); + tcdbDataSet.db_productsDataTable pTable = pAdapter.GetData(null, null); - foreach (tcdbDataSet.db_productsRow pRow in pTable) - { - // Get Roles - tcdbDataSetTableAdapters.db_roleUserProductTableAdapter rupAdapter = new tcdbDataSetTableAdapters.db_roleUserProductTableAdapter(); - tcdbDataSet.db_roleUserProductDataTable rupTable = rupAdapter.GetData(userID, pRow.productID, true); - ArrayList roles = new ArrayList(); + foreach (tcdbDataSet.db_productsRow pRow in pTable) + { + // Get Roles + tcdbDataSetTableAdapters.db_roleUserProductTableAdapter rupAdapter = new tcdbDataSetTableAdapters.db_roleUserProductTableAdapter(); + tcdbDataSet.db_roleUserProductDataTable rupTable = rupAdapter.GetData(userID, pRow.productID, true); + ArrayList roles = new ArrayList(); - foreach (tcdbDataSet.db_roleUserProductRow rupRow in rupTable) - roles.Add(rupRow.roleID.ToString()); + foreach (tcdbDataSet.db_roleUserProductRow rupRow in rupTable) + roles.Add(rupRow.roleID.ToString()); - if (roles.Count > 0) - ProductRoles[pRow.productID.ToString()] = roles; + if (roles.Count > 0) + ProductRoles[pRow.productID.ToString()] = roles; + } } + else + { + roleTree.Visible = false; + } } protected void BuildProductList(TreeNode parent) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <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. |
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: <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-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: <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 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: <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: <m_h...@us...> - 2006-08-04 17:59:12
|
Revision: 269 Author: m_hildebrand Date: 2006-08-04 10:59:01 -0700 (Fri, 04 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=269&view=rev Log Message: ----------- Links no longer use default colors :) Modified Paths: -------------- Website/App_Themes/Python/python.css Website/Includes/AssignmentsTree.ascx.cs Modified: Website/App_Themes/Python/python.css =================================================================== --- Website/App_Themes/Python/python.css 2006-08-04 17:03:21 UTC (rev 268) +++ Website/App_Themes/Python/python.css 2006-08-04 17:59:01 UTC (rev 269) @@ -14,6 +14,11 @@ position: relative; } +A:hover, A:active, A:link, A:visited +{ + color: #0000EE; +} + .hidden { display: none; Modified: Website/Includes/AssignmentsTree.ascx.cs =================================================================== --- Website/Includes/AssignmentsTree.ascx.cs 2006-08-04 17:03:21 UTC (rev 268) +++ Website/Includes/AssignmentsTree.ascx.cs 2006-08-04 17:59:01 UTC (rev 269) @@ -375,7 +375,6 @@ } } - protected void statusComplete_CheckedChanged(object sender, EventArgs e) { ArrayList nodes = (ArrayList)Session["AssignmentNodes"]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2006-08-04 19:31:44
|
Revision: 272 Author: rouquin Date: 2006-08-04 12:31:36 -0700 (Fri, 04 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=272&view=rev Log Message: ----------- Fixed some tree permissions and filter remembering code. Added permissions to trees so that we don't need to add the authentication/permissions check to every page. Modified Paths: -------------- Website/Includes/ActionItems.ascx.cs Website/Includes/AdministrationTree.ascx.cs Website/Includes/Assignments.ascx.cs Website/Includes/AssignmentsTree.ascx.cs Modified: Website/Includes/ActionItems.ascx.cs =================================================================== --- Website/Includes/ActionItems.ascx.cs 2006-08-04 18:54:57 UTC (rev 271) +++ Website/Includes/ActionItems.ascx.cs 2006-08-04 19:31:36 UTC (rev 272) @@ -27,7 +27,6 @@ protected void Page_Load(object sender, EventArgs e) { - if (!m_user.ISAUTHENTICATED) { return; } if (productID == 0) productID = Constants.PRODUCT_SITEID; Modified: Website/Includes/AdministrationTree.ascx.cs =================================================================== --- Website/Includes/AdministrationTree.ascx.cs 2006-08-04 18:54:57 UTC (rev 271) +++ Website/Includes/AdministrationTree.ascx.cs 2006-08-04 19:31:36 UTC (rev 272) @@ -18,6 +18,13 @@ { private static ILog m_logg = LogManager.GetLogger("Page:AdministrationTree"); + protected void Page_Load(object sender, EventArgs e) + { + if (!m_user.ISAUTHENTICATED) { return; } + if (!m_user.HasRight("view_admin", Constants.PRODUCT_ANYID)) + Response.Redirect("~/Assignments.aspx?" + Constants.CODE_USER + "=" + m_user.ID); + } + protected void AdminTree_Init(object sender, EventArgs args) { m_logg.Debug("Initializing admin tree"); @@ -821,4 +828,5 @@ break; } } + } Modified: Website/Includes/Assignments.ascx.cs =================================================================== --- Website/Includes/Assignments.ascx.cs 2006-08-04 18:54:57 UTC (rev 271) +++ Website/Includes/Assignments.ascx.cs 2006-08-04 19:31:36 UTC (rev 272) @@ -138,7 +138,7 @@ if (mode == "created" && ai.CREATOR.ID != m_user.ID) return false; - if (!cboShowActionItems.Checked) + if (cboTypeFilter.Checked && !cboShowActionItems.Checked) return false; } else if (type == Constants.CODE_WO) @@ -162,7 +162,7 @@ if (mode == "created" && wo.CREATOR.ID != m_user.ID) return false; - if (!cboShowWorkOrders.Checked) + if (cboTypeFilter.Checked && !cboShowWorkOrders.Checked) return false; } else @@ -549,7 +549,7 @@ Session["showAICompleted"] = aiStatusList.Items.FindByText("Completed").Selected; } else - aiStatusList.Items.FindByText("Completed").Selected = Convert.ToBoolean(Session["showAIComplete"]); + aiStatusList.Items.FindByText("Completed").Selected = Convert.ToBoolean(Session["showAICompleted"]); if (Session["showAINotStarted"] == null) { aiStatusList.Items.FindByText("Not Started").Selected = m_user.GetConfigBool("filter_show_ai_not_started"); @@ -584,11 +584,11 @@ woStatusList.Items.FindByText("Inactive").Selected = Convert.ToBoolean(Session["showWOInactive"]); if (Session["showWOCompleted"] == null) { - woStatusList.Items.FindByText("Completed").Selected = m_user.GetConfigBool("filter_show_wo_complete"); + woStatusList.Items.FindByText("Completed").Selected = m_user.GetConfigBool("filter_show_wo_completed"); Session["showWOCompleted"] = woStatusList.Items.FindByText("Completed").Selected; } else - woStatusList.Items.FindByText("Completed").Selected = Convert.ToBoolean(Session["showWOComplete"]); + woStatusList.Items.FindByText("Completed").Selected = Convert.ToBoolean(Session["showWOCompleted"]); if (Session["showWONotStarted"] == null) { woStatusList.Items.FindByText("Not Started").Selected = m_user.GetConfigBool("filter_show_wo_not_started"); @@ -606,63 +606,81 @@ protected void toDate_Init(object sender, EventArgs e) { - if (Session["toDate"] == null) + if (!IsPostBack) { - toDate.SelectedDate = m_user.GetConfigDate("filter_show_to_assigned_date"); - Session["toDate"] = toDate.SelectedDate; + if (Session["toDate"] == null) + { + toDate.SelectedDate = m_user.GetConfigDate("filter_show_to_assigned_date"); + Session["toDate"] = toDate.SelectedDate; + } + else + toDate.SelectedDate = Convert.ToDateTime(Session["toDate"]); } - else - toDate.SelectedDate = Convert.ToDateTime(Session["toDate"]); } protected void toDueDate_Init(object sender, EventArgs e) { - if (Session["toDueDate"] == null) + if (!IsPostBack) { - toDueDate.SelectedDate = m_user.GetConfigDate("filter_show_to_due_date"); - Session["toDueDate"] = toDueDate.SelectedDate; + if (Session["toDueDate"] == null) + { + toDueDate.SelectedDate = m_user.GetConfigDate("filter_show_to_due_date"); + Session["toDueDate"] = toDueDate.SelectedDate; + } + else + toDueDate.SelectedDate = Convert.ToDateTime(Session["toDueDate"]); } - else - toDueDate.SelectedDate = Convert.ToDateTime(Session["toDueDate"]); } protected void toFinishedDate_Init(object sender, EventArgs e) { - if (Session["toFinishedDate"] == null) + if (!IsPostBack) { - toFinishedDate.SelectedDate = m_user.GetConfigDate("filter_show_to_finished_dates"); - Session["toFinishedDate"] = toFinishedDate.SelectedDate; + if (Session["toFinishedDate"] == null) + { + toFinishedDate.SelectedDate = m_user.GetConfigDate("filter_show_to_finished_dates"); + Session["toFinishedDate"] = toFinishedDate.SelectedDate; + } + else + toFinishedDate.SelectedDate = Convert.ToDateTime(Session["toFinishedDate"]); } - else - toFinishedDate.SelectedDate = Convert.ToDateTime(Session["toFinishedDate"]); } protected void fromDate_Init(object sender, EventArgs e) { - if (Session["fromDate"] == null) + if (!IsPostBack) { - fromDate.SelectedDate = m_user.GetConfigDate("filter_show_from_assigned_date"); - Session["fromDate"] = fromDate.SelectedDate; + if (Session["fromDate"] == null) + { + fromDate.SelectedDate = m_user.GetConfigDate("filter_show_from_assigned_date"); + Session["fromDate"] = fromDate.SelectedDate; + } + else + fromDate.SelectedDate = Convert.ToDateTime(Session["fromDate"]); } - else - fromDate.SelectedDate = Convert.ToDateTime(Session["fromDate"]); } protected void fromDueDate_Init(object sender, EventArgs e) { - if (Session["fromDueDate"] == null) + if (!IsPostBack) { - fromDueDate.SelectedDate = m_user.GetConfigDate("filter_show_from_due_date"); - Session["fromDueDate"] = fromDueDate.SelectedDate; + if (Session["fromDueDate"] == null) + { + fromDueDate.SelectedDate = m_user.GetConfigDate("filter_show_from_due_date"); + Session["fromDueDate"] = fromDueDate.SelectedDate; + } + else + fromDueDate.SelectedDate = Convert.ToDateTime(Session["fromDueDate"]); } - else - fromDueDate.SelectedDate = Convert.ToDateTime(Session["fromDueDate"]); } protected void fromFinishedDate_Init(object sender, EventArgs e) { - if (Session["fromFinishedDate"] == null) + if (!IsPostBack) { - fromFinishedDate.SelectedDate = m_user.GetConfigDate("filter_show_from_finished_date"); - Session["fromFinishedDate"] = fromFinishedDate.SelectedDate; + if (Session["fromFinishedDate"] == null) + { + fromFinishedDate.SelectedDate = m_user.GetConfigDate("filter_show_from_finished_date"); + Session["fromFinishedDate"] = fromFinishedDate.SelectedDate; + } + else + fromFinishedDate.SelectedDate = Convert.ToDateTime(Session["fromFinishedDate"]); } - else - fromFinishedDate.SelectedDate = Convert.ToDateTime(Session["fromFinishedDate"]); } protected void cboShowActionItems_Init(object sender, EventArgs e) { Modified: Website/Includes/AssignmentsTree.ascx.cs =================================================================== --- Website/Includes/AssignmentsTree.ascx.cs 2006-08-04 18:54:57 UTC (rev 271) +++ Website/Includes/AssignmentsTree.ascx.cs 2006-08-04 19:31:36 UTC (rev 272) @@ -175,16 +175,12 @@ else AssignmentTree_TreeNodePopulate(AssignmentTree, new TreeNodeEventArgs(child)); } - /* TODO: Do we really want to hide the tree? - // If there are no children - if (parent.ChildNodes.Count == 0) - AssignmentTree.Visible = false; - else + + // *************************** + // My assignments node + // *************************** + if (m_user.HasRight("view_my_ai", Constants.PRODUCT_ANYID) || m_user.HasRight("view_my_wo", Constants.PRODUCT_ANYID)) { - */ - // *************************** - // My assignments node - // *************************** TreeNode mine = new TreeNode(); mine.Text = "My Assignments"; mine.Value = Constants.PRODUCT_MINE.ToString(); @@ -195,11 +191,13 @@ parent.ChildNodes.Add(mine); if (nodes.Contains(mine.ValuePath)) mine.Expand(); - + } - // *************************** - // My Created assignments node - // *************************** + // *************************** + // My Created assignments node + // *************************** + if (m_user.HasRight("view_created_ai", Constants.PRODUCT_ANYID) || m_user.HasRight("view_created_wo", Constants.PRODUCT_ANYID)) + { TreeNode created = new TreeNode(); created.Text = "My Created Assignments"; created.Value = Constants.PRODUCT_CREATED.ToString(); @@ -210,21 +208,7 @@ parent.ChildNodes.Add(created); if (nodes.Contains(created.ValuePath)) created.Expand(); - - /* TODO: Do we really want to remove the root node? - } - - // if there's only one - if (parent.ChildNodes.Count == 1) - { - TreeNode root = parent.ChildNodes[0]; - - root.NavigateUrl = "~/Assignments.aspx?" + Constants.CODE_PRODUCT + "=" + root.Value; - AssignmentTree.Nodes[0].Text = ""; - AssignmentTree.ShowExpandCollapse = false; - root.Expand(); - } - */ + } } private void BuildMyUserList(TreeNode parent) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |