From: <ro...@us...> - 2006-08-07 14:01:22
|
Revision: 276 Author: rouquin Date: 2006-08-07 07:01:13 -0700 (Mon, 07 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=276&view=rev Log Message: ----------- Added rights enforcement to rights page and tweaked the roles & roleAdmin. Modified Paths: -------------- Website/Includes/Rights.ascx Website/Includes/Rights.ascx.cs Website/Includes/RoleAdmin.ascx.cs Website/Includes/Roles.ascx Website/Includes/Roles.ascx.cs Modified: Website/Includes/Rights.ascx =================================================================== --- Website/Includes/Rights.ascx 2006-08-05 19:00:23 UTC (rev 275) +++ Website/Includes/Rights.ascx 2006-08-07 14:01:13 UTC (rev 276) @@ -3,8 +3,13 @@ <asp:FormView ID="FormView1" runat="server" DataKeyNames="rightsID" DataSourceID="RightsDataSource" OnItemCommand="FormView1_ItemCommand" OnItemInserted="FormView1_ItemInserted" OnItemUpdated="FormView1_ItemUpdated"> - <EditItemTemplate> - <asp:RequiredFieldValidator ID="nameValidator" runat="server" ErrorMessage="You must enter a right name." ControlToValidate="nameBox"></asp:RequiredFieldValidator> + <HeaderTemplate> + <div align="left"> + <h2> + User Rights</h2> + </div> + </HeaderTemplate> + <ItemTemplate> <div class="xsnazzy"> <b class="xtop"><b class="xb1"></b><b class="xb2"></b><b class="xb3"></b><b class="xb4"> </b></b> @@ -13,7 +18,7 @@ <tr> <td align="left" colspan="6"> <strong>Name:</strong> - <asp:TextBox ID="nameBox" runat="server" Text='<%# Bind("rightsName") %>' Width="70%"></asp:TextBox></td> + <asp:Label ID="nameLabel" runat="server" Text='<%# Eval("rightsName") %>'></asp:Label></td> </tr> <tr> <td class="hr" colspan="6"> @@ -22,22 +27,25 @@ <tr> <td align="left" colspan="6" valign="top"> <strong>Description:</strong><br /> - <FTB:FreeTextBox ID="FreeTextBox1" runat="server" Height="200px" SupportFolder="~/aspnet_client/FreeTextBox/" - Text='<%# Bind("rightsDescription") %>' Width="100%" EnableHtmlMode="True"> - </FTB:FreeTextBox> - </td> + <asp:Label ID="descriptionLbl" runat="server" Text='<%# Eval("rightsDescription") %>'></asp:Label></td> </tr> <tr> - <td class="hr" colspan="6"> + <td class="hr" colspan="6" style="height: 1px"> </td> </tr> <tr> <td align="left" colspan="2" valign="top" width="33%"> <strong>Roles:<br /> - </strong> <asp:ListBox ID="roleList" runat="server" OnDataBound="roleList_DataBound" - DataSourceID="RolesDataSource" DataTextField="roleName" DataValueField="roleID" - SelectionMode="Multiple"></asp:ListBox> - </td> + </strong> <asp:ListBox ID="roleList" runat="server" DataSourceID="RightRolesDataSource" + DataTextField="roleName" DataValueField="roleID"></asp:ListBox><asp:ObjectDataSource + ID="RightRolesDataSource" runat="server" OldValuesParameterFormatString="original_{0}" + SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.db_rightRoleTableAdapter"> + <SelectParameters> + <asp:SessionParameter Name="rightID" SessionField="rightsID" Type="Int32" /> + <asp:Parameter DefaultValue="true" Name="active" Type="Boolean" /> + </SelectParameters> + </asp:ObjectDataSource> + </td> <td align="left" colspan="2" valign="top" width="33%"> </td> <td align="left" colspan="2" valign="top" width="34%"> @@ -49,22 +57,21 @@ </tr> <tr> <td align="left" colspan="6"> - <asp:LinkButton ID="UpdateButton" runat="server" CausesValidation="True" CommandName="Update" - Text="Update"> - </asp:LinkButton> - | - <asp:LinkButton ID="UpdateCancelButton" runat="server" CausesValidation="False" CommandName="Cancel" - Text="Cancel"> - </asp:LinkButton></td> + <asp:LinkButton ID="New" runat="server" CommandName="new" OnInit="New_Init">New</asp:LinkButton><asp:Label + ID="newLbl" runat="server" Text="Label"> | </asp:Label><asp:LinkButton + ID="Edit" runat="server" CommandName="edit">Edit</asp:LinkButton><asp:Label ID="deleteLbl" + runat="server" Text="Label"> | </asp:Label><asp:LinkButton ID="Delete" + runat="server" CommandName="deleteCmd" OnCommand="deleteCmd">Delete</asp:LinkButton></td> </tr> </table> </div> <b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b><b class="xb1"> </b></b> </div> - </EditItemTemplate> - <InsertItemTemplate> - <asp:RequiredFieldValidator ID="nameValidator" runat="server" ErrorMessage="You must enter a right name." ControlToValidate="nameBox"></asp:RequiredFieldValidator> + </ItemTemplate> + <EditItemTemplate> + <asp:RequiredFieldValidator ID="nameValidator" runat="server" ErrorMessage="You must enter a right name." + ControlToValidate="nameBox"></asp:RequiredFieldValidator> <div class="xsnazzy"> <b class="xtop"><b class="xb1"></b><b class="xb2"></b><b class="xb3"></b><b class="xb4"> </b></b> @@ -73,7 +80,8 @@ <tr> <td align="left" colspan="6"> <strong>Name:</strong> - <asp:TextBox ID="nameBox" runat="server" Text='<%# Bind("rightsName") %>' Width="70%"></asp:TextBox></td> + <asp:TextBox ID="nameBox" runat="server" Text='<%# Bind("rightsName") %>' Width="70%" OnLoad="nameBox_Load"></asp:TextBox> + <asp:Label ID="nameLbl" runat="server" Text='<%# Eval("rightsName") %>' Visible="False"></asp:Label></td> </tr> <tr> <td class="hr" colspan="6"> @@ -82,10 +90,10 @@ <tr> <td align="left" colspan="6" valign="top"> <strong>Description:</strong><br /> - <FTB:FreeTextBox ID="FreeTextBox1" runat="server" Height="200px" SupportFolder="~/aspnet_client/FreeTextBox/" + <FTB:FreeTextBox ID="descriptionBox" runat="server" Height="200px" SupportFolder="~/aspnet_client/FreeTextBox/" Text='<%# Bind("rightsDescription") %>' Width="100%" EnableHtmlMode="True"> </FTB:FreeTextBox> - </td> + <asp:Label ID="descriptionLbl" runat="server" Text='<%# Eval("rightsDescription") %>' Visible="false"></asp:Label></td> </tr> <tr> <td class="hr" colspan="6"> @@ -109,8 +117,9 @@ </tr> <tr> <td align="left" colspan="6"> - <asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True" CommandName="Insert" - Text="Insert"></asp:LinkButton> + <asp:LinkButton ID="UpdateButton" runat="server" CausesValidation="True" CommandName="Update" + Text="Update"> + </asp:LinkButton> | <asp:LinkButton ID="UpdateCancelButton" runat="server" CausesValidation="False" CommandName="Cancel" Text="Cancel"> @@ -121,8 +130,10 @@ <b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b><b class="xb1"> </b></b> </div> - </InsertItemTemplate> - <ItemTemplate> + </EditItemTemplate> + <InsertItemTemplate> + <asp:RequiredFieldValidator ID="nameValidator" runat="server" ErrorMessage="You must enter a right name." + ControlToValidate="nameBox"></asp:RequiredFieldValidator> <div class="xsnazzy"> <b class="xtop"><b class="xb1"></b><b class="xb2"></b><b class="xb3"></b><b class="xb4"> </b></b> @@ -131,7 +142,7 @@ <tr> <td align="left" colspan="6"> <strong>Name:</strong> - <asp:Label ID="nameLabel" runat="server" Text='<%# Eval("rightsName") %>'></asp:Label></td> + <asp:TextBox ID="nameBox" runat="server" Text='<%# Bind("rightsName") %>' Width="70%"></asp:TextBox></td> </tr> <tr> <td class="hr" colspan="6"> @@ -140,25 +151,22 @@ <tr> <td align="left" colspan="6" valign="top"> <strong>Description:</strong><br /> - <asp:Label ID="descriptionLbl" runat="server" Text='<%# Eval("rightsDescription") %>'></asp:Label></td> + <FTB:FreeTextBox ID="FreeTextBox1" runat="server" Height="200px" SupportFolder="~/aspnet_client/FreeTextBox/" + Text='<%# Bind("rightsDescription") %>' Width="100%" EnableHtmlMode="True"> + </FTB:FreeTextBox> + </td> </tr> <tr> - <td class="hr" colspan="6" style="height: 1px"> + <td class="hr" colspan="6"> </td> </tr> <tr> <td align="left" colspan="2" valign="top" width="33%"> <strong>Roles:<br /> - </strong> <asp:ListBox ID="roleList" runat="server" DataSourceID="RightRolesDataSource" - DataTextField="roleName" DataValueField="roleID"></asp:ListBox><asp:ObjectDataSource - ID="RightRolesDataSource" runat="server" OldValuesParameterFormatString="original_{0}" - SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.db_rightRoleTableAdapter"> - <SelectParameters> - <asp:SessionParameter Name="rightID" SessionField="rightsID" Type="Int32" /> - <asp:Parameter DefaultValue="true" Name="active" Type="Boolean" /> - </SelectParameters> - </asp:ObjectDataSource> - </td> + </strong> <asp:ListBox ID="roleList" runat="server" OnDataBound="roleList_DataBound" + DataSourceID="RolesDataSource" DataTextField="roleName" DataValueField="roleID" + SelectionMode="Multiple"></asp:ListBox> + </td> <td align="left" colspan="2" valign="top" width="33%"> </td> <td align="left" colspan="2" valign="top" width="34%"> @@ -170,28 +178,23 @@ </tr> <tr> <td align="left" colspan="6"> - <asp:LinkButton ID="New" runat="server" CommandName="new">New</asp:LinkButton> + <asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True" CommandName="Insert" + Text="Insert"></asp:LinkButton> | - <asp:LinkButton ID="Edit" runat="server" CommandName="edit">Edit</asp:LinkButton> - | - <asp:LinkButton ID="Delete" runat="server" CommandName="deleteCmd" OnCommand="deleteCmd">Delete</asp:LinkButton></td> + <asp:LinkButton ID="UpdateCancelButton" runat="server" CausesValidation="False" CommandName="Cancel" + Text="Cancel"> + </asp:LinkButton></td> </tr> </table> </div> <b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b><b class="xb1"> </b></b> </div> - </ItemTemplate> - <HeaderTemplate> - <div align="left"> - <h2> - User Rights</h2> - </div> - </HeaderTemplate> + </InsertItemTemplate> </asp:FormView> -<asp:ObjectDataSource ID="RightsDataSource" runat="server" - SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.db_rightsTableAdapter" - InsertMethod="Insert" UpdateMethod="Update" OldValuesParameterFormatString="original_{0}"> +<asp:ObjectDataSource ID="RightsDataSource" runat="server" SelectMethod="GetData" + TypeName="tcdbDataSetTableAdapters.db_rightsTableAdapter" InsertMethod="Insert" + UpdateMethod="Update" OldValuesParameterFormatString="original_{0}"> <SelectParameters> <asp:SessionParameter Name="rightsID" SessionField="rightsID" Type="Int32" /> <asp:Parameter Name="rightsName" Type="String" /> @@ -209,7 +212,8 @@ </InsertParameters> </asp:ObjectDataSource> <asp:ObjectDataSource ID="RolesDataSource" runat="server" OldValuesParameterFormatString="original_{0}" - SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.db_roleTableAdapter" InsertMethod="Insert" UpdateMethod="Update"> + SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.db_roleTableAdapter" + InsertMethod="Insert" UpdateMethod="Update"> <SelectParameters> <asp:Parameter Name="roleID" Type="Int32" /> <asp:Parameter Name="roleName" Type="String" /> Modified: Website/Includes/Rights.ascx.cs =================================================================== --- Website/Includes/Rights.ascx.cs 2006-08-05 19:00:23 UTC (rev 275) +++ Website/Includes/Rights.ascx.cs 2006-08-07 14:01:13 UTC (rev 276) @@ -35,14 +35,16 @@ Response.Redirect("~/Administration.aspx"); } } + if (!m_user.HasRight("view_rights", Constants.PRODUCT_ANYID)) + Response.Redirect("~/Administration.aspx"); Session.Add("rightsID", rightsID); right = RightDB.GetRightInfo(rightsID); Session.Add("tableName", "tcdb_rights"); - if (mode == "new") + if (mode == "new" && m_user.HasRight("dev_access")) FormView1.ChangeMode(FormViewMode.Insert); - else if (mode == "edit") + else if (mode == "edit" && (m_user.HasRight("dev_access") || m_user.HasRight("edit_role",Constants.PRODUCT_ANYID))) FormView1.ChangeMode(FormViewMode.Edit); } @@ -130,4 +132,37 @@ roleList.SelectedValue = role; } } + protected void New_Init(object sender, EventArgs e) + { + LinkButton newBtn = (LinkButton)sender; + LinkButton editBtn = (LinkButton)FormView1.FindControl("Edit"); + LinkButton deleteBtn = (LinkButton)FormView1.FindControl("Delete"); + Label newLbl = (Label)FormView1.FindControl("newLbl"); + Label deleteLbl = (Label)FormView1.FindControl("deleteLbl"); + + if (!m_user.HasRight("dev_access")) + { + newBtn.Visible = false; + deleteBtn.Visible = false; + newLbl.Visible = false; + deleteLbl.Visible = false; + } + if (!m_user.HasRight("edit_role",Constants.PRODUCT_ANYID)) + editBtn.Visible = false; + } + protected void nameBox_Load(object sender, EventArgs e) + { + TextBox nameBox = (TextBox)FormView1.FindControl("nameBox"); + FreeTextBoxControls.FreeTextBox descriptionBox = (FreeTextBoxControls.FreeTextBox)FormView1.FindControl("descriptionBox"); + Label nameLbl = (Label)FormView1.FindControl("nameLbl"); + Label descriptionLbl = (Label)FormView1.FindControl("descriptionLbl"); + + if (!m_user.HasRight("dev_access")) + { + nameBox.Visible = false; + descriptionBox.Visible = false; + nameLbl.Visible = true; + descriptionLbl.Visible = true; + } + } } \ No newline at end of file Modified: Website/Includes/RoleAdmin.ascx.cs =================================================================== --- Website/Includes/RoleAdmin.ascx.cs 2006-08-05 19:00:23 UTC (rev 275) +++ Website/Includes/RoleAdmin.ascx.cs 2006-08-07 14:01:13 UTC (rev 276) @@ -69,6 +69,26 @@ foreach (tcdbDataSet.db_roleRow row in rTable) roleList.Items.Add(new ListItem(row.roleName, row.roleID.ToString())); } + protected void rightsList_Init(object sender, EventArgs e) + { + if (!m_user.HasRight("view_rights",Constants.PRODUCT_ANYID)) + { + rightsList.Visible = false; + viewRightBtn.Visible = false; + editRightsBtn.Visible = false; + + return; + } + if (!m_user.HasRight("edit_role",Constants.PRODUCT_ANYID) && !m_user.HasRight("dev_access")) + editRightsBtn.Visible = false; + + tcdbDataSetTableAdapters.db_rightsTableAdapter rAdapter = new tcdbDataSetTableAdapters.db_rightsTableAdapter(); + tcdbDataSet.db_rightsDataTable rTable = rAdapter.GetData(null, null, active); + + foreach (tcdbDataSet.db_rightsRow row in rTable) + rightsList.Items.Add(new ListItem(row.rightsName, row.rightsID.ToString())); + } + protected void addRoleBtn_Load(object sender, EventArgs e) { String role = roleList.SelectedItem.Text; @@ -85,21 +105,4 @@ viewRoleBtn.Visible = false; } - protected void rightsList_Init(object sender, EventArgs e) - { - if (!m_user.HasRight("dev_access")) - { - rightsList.Visible = false; - viewRightBtn.Visible = false; - editRightsBtn.Visible = false; - - return; - } - - tcdbDataSetTableAdapters.db_rightsTableAdapter rAdapter = new tcdbDataSetTableAdapters.db_rightsTableAdapter(); - tcdbDataSet.db_rightsDataTable rTable = rAdapter.GetData(null, null, active); - - foreach (tcdbDataSet.db_rightsRow row in rTable) - rightsList.Items.Add(new ListItem(row.rightsName, row.rightsID.ToString())); - } } Modified: Website/Includes/Roles.ascx =================================================================== --- Website/Includes/Roles.ascx 2006-08-05 19:00:23 UTC (rev 275) +++ Website/Includes/Roles.ascx 2006-08-07 14:01:13 UTC (rev 276) @@ -81,7 +81,8 @@ <tr> <td align="left" colspan="6"> <strong>Name:</strong> - <asp:TextBox ID="nameBox" runat="server" Text='<%# Bind("roleName") %>' Width="70%" OnInit="nameBox_Init"></asp:TextBox></td> + <asp:TextBox ID="nameBox" runat="server" Text='<%# Bind("roleName") %>' Width="70%" OnLoad="nameBox_Load"></asp:TextBox> + <asp:Label ID="nameLbl" runat="server" Text='<%# Eval("roleName") %>' Visible="False"></asp:Label></td> </tr> <tr> <td class="hr" colspan="6"> @@ -92,9 +93,10 @@ <strong>Description:</strong><br /> <FTB:FreeTextBox ID="descriptionBox" runat="server" SupportFolder="~/aspnet_client/FreeTextBox/" Width="100%" Text='<%# Bind("roleDescription") %>' Height="200px" EnableHtmlMode="true" - DisableIEBackButton="False" OnInit="descriptionBox_Init"> + DisableIEBackButton="False"> </FTB:FreeTextBox> - </td> + <asp:Label ID="descriptionLbl" runat="server" Text='<%# Eval("roleDescription") %>' + Visible="False"></asp:Label></td> </tr> <tr> <td class="hr" colspan="6"> Modified: Website/Includes/Roles.ascx.cs =================================================================== --- Website/Includes/Roles.ascx.cs 2006-08-05 19:00:23 UTC (rev 275) +++ Website/Includes/Roles.ascx.cs 2006-08-07 14:01:13 UTC (rev 276) @@ -354,20 +354,6 @@ } } } - protected void nameBox_Init(object sender, EventArgs e) - { - TextBox nameBox = (TextBox)sender; - - if (!m_user.HasRight("edit_role", Constants.PRODUCT_ANYID)) - nameBox.Enabled = false; - } - protected void descriptionBox_Init(object sender, EventArgs e) - { - FreeTextBoxControls.FreeTextBox descriptionBox = (FreeTextBoxControls.FreeTextBox)sender; - - if (!m_user.HasRight("edit_role", Constants.PRODUCT_ANYID)) - descriptionBox.Visible = false; - } protected void rightsList_Init(object sender, EventArgs e) { ListBox rightsList = (ListBox)sender; @@ -430,4 +416,19 @@ userList_populate(); } + protected void nameBox_Load(object sender, EventArgs e) + { + TextBox nameBox = (TextBox)FormView1.FindControl("nameBox"); + FreeTextBoxControls.FreeTextBox descriptionBox = (FreeTextBoxControls.FreeTextBox)FormView1.FindControl("descriptionBox"); + Label nameLbl = (Label)FormView1.FindControl("nameLbl"); + Label descriptionLbl = (Label)FormView1.FindControl("descriptionLbl"); + + if (!m_user.HasRight("edit_role",Constants.PRODUCT_ANYID)) + { + nameBox.Visible = false; + descriptionBox.Visible = false; + nameLbl.Visible = true; + descriptionLbl.Visible = true; + } + } } \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2006-08-07 15:45:34
|
Revision: 277 Author: rouquin Date: 2006-08-07 08:45:20 -0700 (Mon, 07 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=277&view=rev Log Message: ----------- I gave TCDB developers rights to view and edit deleted things. Modified Paths: -------------- Website/App_Code/Assignments.cs Website/App_Code/Right.cs Website/App_Code/Users.cs Website/App_Themes/Python/python.css Website/Includes/ActionItems.ascx Website/Includes/ActionItems.ascx.cs Website/Includes/AdministrationTree.ascx.cs Website/Includes/Assignments.ascx Website/Includes/Assignments.ascx.cs Website/Includes/AssignmentsTree.ascx.cs Website/Includes/Rights.ascx Website/Includes/Rights.ascx.cs Website/Includes/RoleAdmin.ascx.cs Website/Includes/Roles.ascx Website/Includes/Roles.ascx.cs Modified: Website/App_Code/Assignments.cs =================================================================== --- Website/App_Code/Assignments.cs 2006-08-07 14:01:13 UTC (rev 276) +++ Website/App_Code/Assignments.cs 2006-08-07 15:45:20 UTC (rev 277) @@ -19,21 +19,22 @@ { private static ILog m_logg = LogManager.GetLogger("TCDB.Assignments.AssignmentDB"); - public static List<Assignment> GetAssignmentList(string aType, int finished, int assignedID, string highPriority, Nullable<int> creatorID) + public static List<Assignment> GetAssignmentList(string aType, int finished, int assignedID, string highPriority, Nullable<int> creatorID, Nullable<bool> active) { tcdbDataSetTableAdapters.db_assignmentsTableAdapter ta = new tcdbDataSetTableAdapters.db_assignmentsTableAdapter(); tcdbDataSet.db_assignmentsDataTable aTable; if (finished == Constants.ASSIGNMENT_FINISHEDANDUNFINISHED) - aTable = ta.GetData(aType, null, assignedID, null, true); + aTable = ta.GetData(aType, null, assignedID, null, active); else - aTable = ta.GetData(aType, finished, assignedID, null, true); + aTable = ta.GetData(aType, finished, assignedID, null, active); List<Assignment> assignmentList = new List<Assignment>(); foreach (tcdbDataSet.db_assignmentsRow row in aTable) { Assignment assignment = new Assignment(); + assignment.DELETED = !row.active; assignment.NAME = row.aName; assignment.DATEASSIGNED = row.dateAssigned; try @@ -52,7 +53,7 @@ string type = row.aType; if (type == Constants.CODE_AI) { - assignment.ACTIONITEM = ActionItemDB.GetActionItem(row.childID); + assignment.ACTIONITEM = ActionItemDB.GetActionItem(row.childID, active); assignment.WOTOTALTEST = 0; assignment.WOPASSRATE = 0; assignment.WOPASS = 0; @@ -94,7 +95,7 @@ try { m_logg.Debug("Getting Action Item information for id [" + id.ToString() + "]"); - ActionItem ai = ActionItemDB.GetActionItem(id); + ActionItem ai = ActionItemDB.GetActionItem(id, null); return SendNewActionItemMail(ai); } catch { @@ -126,7 +127,7 @@ { try { - ActionItem ai = ActionItemDB.GetActionItem(id); + ActionItem ai = ActionItemDB.GetActionItem(id, null); return SendUpdatedActionItemMail(ai, updatingUser); } catch { return false; } @@ -170,7 +171,7 @@ { try { - ActionItem ai = ActionItemDB.GetActionItem(id); + ActionItem ai = ActionItemDB.GetActionItem(id, null); return SendCompletedActionItemMail(ai, updatingUser); } catch { return false; } @@ -212,24 +213,22 @@ return result; } - public static ActionItem GetActionItem(int id) + public static ActionItem GetActionItem(int id, Nullable<bool> active) { - tcdbDataSet ds = new tcdbDataSet(); tcdbDataSetTableAdapters.db_actionItemsTableAdapter ta = new tcdbDataSetTableAdapters.db_actionItemsTableAdapter(); - ta.GetData(id, true); - ta.Fill(ds.db_actionItems, id, true); - + tcdbDataSet.db_actionItemsDataTable aiTable = ta.GetData(id, active); ActionItem ai = new ActionItem(); - DataTableReader dr = ds.db_actionItems.CreateDataReader(); - if (dr.HasRows && dr.Read()) + if (aiTable.Count > 0) { - ai.ID = Help.DB_IntParse(dr["actionItemID"], 0); - ai.NAME = Help.DB_StringParse(dr["name"], ""); - ai.DESCRIPTION = Help.DB_StringParse(dr["description"], ""); - ai.CREATOR = new User(Help.DB_IntParse(dr["creatorID"], Constants.ANONYMOUSUSERID)); - ai.ASSIGNED = new User(Help.DB_IntParse(dr["assignedID"], Constants.ANONYMOUSUSERID)); - ai.PERCENTCOMPLETE = Help.DB_IntParse(dr["percentComplete"], 0); + tcdbDataSet.db_actionItemsRow row = aiTable[0]; + + ai.ID = row.actionItemID; + ai.NAME = row.name; + ai.DESCRIPTION = row.description; + ai.CREATOR = new User(row.creatorID); + ai.ASSIGNED = new User(row.assignedID); + ai.PERCENTCOMPLETE = row.percentComplete; } return ai; @@ -308,6 +307,7 @@ private int p_woPass; private int p_woFail; private int p_woError; + private bool p_deleted; public Assignment() { @@ -327,6 +327,7 @@ p_woPass = 0; p_woFail = 0; p_woError = 0; + p_deleted = false; } public int ID @@ -428,6 +429,18 @@ } } + public bool DELETED + { + get + { + return p_deleted; + } + set + { + p_deleted = value; + } + } + public int WOTOTALTEST { get { return p_woTotalTest; } Modified: Website/App_Code/Right.cs =================================================================== --- Website/App_Code/Right.cs 2006-08-07 14:01:13 UTC (rev 276) +++ Website/App_Code/Right.cs 2006-08-07 15:45:20 UTC (rev 277) @@ -33,7 +33,7 @@ public static Right GetRightInfo(string name) { tcdbDataSetTableAdapters.db_rightsTableAdapter rightsAdapter = new tcdbDataSetTableAdapters.db_rightsTableAdapter(); - tcdbDataSet.db_rightsDataTable rightsTable = rightsAdapter.GetData(null, name, true); + tcdbDataSet.db_rightsDataTable rightsTable = rightsAdapter.GetData(null, name, null); if (rightsTable.Count > 0) { @@ -48,7 +48,7 @@ public static Right GetRightInfo(int id) { tcdbDataSetTableAdapters.db_rightsTableAdapter rightsAdapter = new tcdbDataSetTableAdapters.db_rightsTableAdapter(); - tcdbDataSet.db_rightsDataTable rightsTable = rightsAdapter.GetData(id, null, true); + tcdbDataSet.db_rightsDataTable rightsTable = rightsAdapter.GetData(id, null, null); if (rightsTable.Count > 0) { @@ -70,7 +70,7 @@ public static Role GetRoleInfo(string name) { tcdbDataSetTableAdapters.db_roleTableAdapter roleAdapter = new tcdbDataSetTableAdapters.db_roleTableAdapter(); - tcdbDataSet.db_roleDataTable roleTable = roleAdapter.GetData(null,name,true); + tcdbDataSet.db_roleDataTable roleTable = roleAdapter.GetData(null,name,null); if (roleTable.Count > 0) { @@ -92,7 +92,7 @@ public static Role GetRoleInfo(int id) { tcdbDataSetTableAdapters.db_roleTableAdapter roleAdapter = new tcdbDataSetTableAdapters.db_roleTableAdapter(); - tcdbDataSet.db_roleDataTable roleTable = roleAdapter.GetData(id,null,true); + tcdbDataSet.db_roleDataTable roleTable = roleAdapter.GetData(id,null,null); if (roleTable.Count > 0) { @@ -104,10 +104,10 @@ return new Role(); } - public static List<Right> TCDB_GetRightList() + public static List<Right> TCDB_GetRightList(Nullable<bool> active) { tcdbDataSetTableAdapters.db_rightsTableAdapter rightsAdapter = new tcdbDataSetTableAdapters.db_rightsTableAdapter(); - tcdbDataSet.db_rightsDataTable rightsTable = rightsAdapter.GetData(null, null, true); + tcdbDataSet.db_rightsDataTable rightsTable = rightsAdapter.GetData(null, null, active); List<Right> rightsList = new List<Right>(); foreach (tcdbDataSet.db_rightsRow row in rightsTable) @@ -116,10 +116,10 @@ return rightsList; } - public static List<String> TCDB_GetUserRights(int productID, int userID) + public static List<String> TCDB_GetUserRights(int productID, int userID, Nullable<bool> active) { tcdbDataSetTableAdapters.db_userRightsTableAdapter userRightsAdapter = new tcdbDataSetTableAdapters.db_userRightsTableAdapter(); - tcdbDataSet.db_userRightsDataTable userRightsTable = userRightsAdapter.GetData(userID,productID,null,null,true); + tcdbDataSet.db_userRightsDataTable userRightsTable = userRightsAdapter.GetData(userID,productID,null,null,active); List<String> rightsList = new List<String>(); foreach (tcdbDataSet.db_userRightsRow row in userRightsTable) @@ -128,10 +128,10 @@ return rightsList; } - public static Right TCDB_GetUserRight(int productID, int userID, String rightsName) + public static Right TCDB_GetUserRight(int productID, int userID, String rightsName, Nullable<bool> active) { tcdbDataSetTableAdapters.db_userRightsTableAdapter userRightsAdapter = new tcdbDataSetTableAdapters.db_userRightsTableAdapter(); - tcdbDataSet.db_userRightsDataTable userRightsTable = userRightsAdapter.GetData(userID, productID, null, rightsName, true); + tcdbDataSet.db_userRightsDataTable userRightsTable = userRightsAdapter.GetData(userID, productID, null, rightsName, active); if (userRightsTable.Count > 0) { @@ -143,10 +143,10 @@ return null; } - public static List<String> TCDB_GetUserRoles(int productID, int userID) + public static List<String> TCDB_GetUserRoles(int productID, int userID, Nullable<bool> active) { tcdbDataSetTableAdapters.db_roleUserProductTableAdapter userRoleAdapter = new tcdbDataSetTableAdapters.db_roleUserProductTableAdapter(); - tcdbDataSet.db_roleUserProductDataTable userRoleTable = userRoleAdapter.GetData(userID, productID, true); + tcdbDataSet.db_roleUserProductDataTable userRoleTable = userRoleAdapter.GetData(userID, productID, active); List<String> roleList = new List<String>(); foreach (tcdbDataSet.db_roleUserProductRow row in userRoleTable) @@ -154,10 +154,10 @@ return roleList; } - public static Role TCDB_GetUserRoles(int productID, int userID, String roleName) + public static Role TCDB_GetUserRoles(int productID, int userID, String roleName, Nullable<bool> active) { tcdbDataSetTableAdapters.db_roleUserProductTableAdapter userRoleAdapter = new tcdbDataSetTableAdapters.db_roleUserProductTableAdapter(); - tcdbDataSet.db_roleUserProductDataTable userRoleTable = userRoleAdapter.GetData(userID, productID, true); + tcdbDataSet.db_roleUserProductDataTable userRoleTable = userRoleAdapter.GetData(userID, productID, active); foreach (tcdbDataSet.db_roleUserProductRow row in userRoleTable) if (row.roleName == roleName) Modified: Website/App_Code/Users.cs =================================================================== --- Website/App_Code/Users.cs 2006-08-07 14:01:13 UTC (rev 276) +++ Website/App_Code/Users.cs 2006-08-07 15:45:20 UTC (rev 277) @@ -340,12 +340,12 @@ // Problem: I think that it was caused because creating an anon user calls this, // which in turn creates an anon user. // Solution: Only calling this if we're not dealing with the anon user. - if (user.ID != Constants.ANONYMOUSUSERID) - { + //if (user.ID != Constants.ANONYMOUSUSERID) + //{ // Anything that we have to Get based on userID should happen // in this block so that we avoid an infinate loop //p_assignments = user.GetAssignments(false, Constants.ASSIGNMENT_FINISHEDANDUNFINISHED); - } + //} p_assignments = null; p_rights = new Dictionary<int, List<String>>(); p_roles = new Dictionary<int, List<String>>(); @@ -459,7 +459,7 @@ // Specified product if (!p_rights.ContainsKey(productID)) - p_rights[productID] = RightDB.TCDB_GetUserRights(productID,p_id); + p_rights[productID] = RightDB.TCDB_GetUserRights(productID,p_id, true); if (p_rights[productID].Contains(right)) return true; @@ -467,7 +467,7 @@ if (productID != Constants.PRODUCT_SITEID) { if (!p_rights.ContainsKey(Constants.PRODUCT_SITEID)) - p_rights[Constants.PRODUCT_SITEID] = RightDB.TCDB_GetUserRights(Constants.PRODUCT_SITEID, p_id); + p_rights[Constants.PRODUCT_SITEID] = RightDB.TCDB_GetUserRights(Constants.PRODUCT_SITEID, p_id, true); if (p_rights[Constants.PRODUCT_SITEID].Contains(right)) return true; } @@ -490,7 +490,7 @@ // Specified product if (!p_rights.ContainsKey(productID)) - p_rights[productID] = RightDB.TCDB_GetUserRights(productID, p_id); + p_rights[productID] = RightDB.TCDB_GetUserRights(productID, p_id, true); if (user.HasRights(productID) && p_rights[productID].Contains(right)) return true; @@ -498,7 +498,7 @@ if (productID != Constants.PRODUCT_SITEID) { if (!p_rights.ContainsKey(Constants.PRODUCT_SITEID)) - p_rights[Constants.PRODUCT_SITEID] = RightDB.TCDB_GetUserRights(Constants.PRODUCT_SITEID, p_id); + p_rights[Constants.PRODUCT_SITEID] = RightDB.TCDB_GetUserRights(Constants.PRODUCT_SITEID, p_id, true); if (user.HasRights(Constants.PRODUCT_SITEID) && p_rights[Constants.PRODUCT_SITEID].Contains(right)) return true; } @@ -507,7 +507,7 @@ } public static bool HasRight(int userID, string right, int productID) { - return (RightDB.TCDB_GetUserRight(productID, userID, right) != null); + return (RightDB.TCDB_GetUserRight(productID, userID, right, true) != null); } public bool HasRights(int productID) { @@ -524,7 +524,7 @@ } if (!p_rights.ContainsKey(productID)) - p_rights[productID] = RightDB.TCDB_GetUserRights(productID, p_id); + p_rights[productID] = RightDB.TCDB_GetUserRights(productID, p_id, true); if (p_rights[productID].Count > 0) return true; @@ -533,7 +533,7 @@ } public static bool HasRights(int userID, int productID) { - return (RightDB.TCDB_GetUserRights(productID, userID).Count > 0); + return (RightDB.TCDB_GetUserRights(productID, userID, true).Count > 0); } public void AddRole(String role, int productID) @@ -566,7 +566,7 @@ // Specified product if (!p_roles.ContainsKey(productID)) - p_roles[productID] = RightDB.TCDB_GetUserRoles(productID, p_id); + p_roles[productID] = RightDB.TCDB_GetUserRoles(productID, p_id, true); if (p_roles[productID].Contains(role)) return true; @@ -574,7 +574,7 @@ if (productID != Constants.PRODUCT_SITEID) { if (!p_roles.ContainsKey(Constants.PRODUCT_SITEID)) - p_roles[Constants.PRODUCT_SITEID] = RightDB.TCDB_GetUserRoles(Constants.PRODUCT_SITEID, p_id); + p_roles[Constants.PRODUCT_SITEID] = RightDB.TCDB_GetUserRoles(Constants.PRODUCT_SITEID, p_id, true); if (p_roles[Constants.PRODUCT_SITEID].Contains(role)) return true; } @@ -583,7 +583,7 @@ } public static bool HasRole(int userID, string role, int productID) { - return (RightDB.TCDB_GetUserRoles(productID, userID, role) != null); + return (RightDB.TCDB_GetUserRoles(productID, userID, role, true) != null); } public bool HasRoles(int productID) { @@ -600,7 +600,7 @@ } if (!p_roles.ContainsKey(productID)) - p_roles[productID] = RightDB.TCDB_GetUserRoles(productID, p_id); + p_roles[productID] = RightDB.TCDB_GetUserRoles(productID, p_id, true); if (p_roles[productID].Count > 0) return true; @@ -609,15 +609,15 @@ } public static bool HasRoles(int userID, int productID) { - return (RightDB.TCDB_GetUserRoles(productID, userID).Count > 0); + return (RightDB.TCDB_GetUserRoles(productID, userID, true).Count > 0); } - public List<Assignment> GetAssignments(bool reload, int statusFilter) + public List<Assignment> GetAssignments(bool reload, int statusFilter, Nullable<bool> active) { // TODO: This list needs to be able to reflect filters! if (p_assignments == null || reload) { - p_assignments = AssignmentDB.GetAssignmentList(null, statusFilter, ID, null, null); + p_assignments = AssignmentDB.GetAssignmentList(null, statusFilter, ID, null, null, active); } return p_assignments; Modified: Website/App_Themes/Python/python.css =================================================================== --- Website/App_Themes/Python/python.css 2006-08-07 14:01:13 UTC (rev 276) +++ Website/App_Themes/Python/python.css 2006-08-07 15:45:20 UTC (rev 277) @@ -92,6 +92,14 @@ color: Gray; } +.deleted +{ + color: black; + font-style: italic; + text-decoration: line-through; + font-family: 'Arial Narrow'; +} + .item .checkbox INPUT { margin: 0; Modified: Website/Includes/ActionItems.ascx =================================================================== --- Website/Includes/ActionItems.ascx 2006-08-07 14:01:13 UTC (rev 276) +++ Website/Includes/ActionItems.ascx 2006-08-07 15:45:20 UTC (rev 277) @@ -47,7 +47,9 @@ <asp:ListItem>75</asp:ListItem> <asp:ListItem>100</asp:ListItem> </asp:RadioButtonList></div> - </div> + <asp:Label ID="deletedLbl" runat="server" Text="Deleted: "></asp:Label><strong></strong><asp:CheckBox + ID="activeBox" runat="server" AutoPostBack="True" Checked='<%# Eval("active") %>' + OnCheckedChanged="activeBox_CheckedChanged" OnInit="activeBox_Init" /></div> <div class="end"> </div> </div> @@ -317,10 +319,10 @@ </div> <asp:ObjectDataSource ID="ActionItemDataSource" runat="server" SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.db_actionItemsTableAdapter" InsertMethod="Insert" - UpdateMethod="Update" DeleteMethod="Delete"> + UpdateMethod="Update" DeleteMethod="Delete" OldValuesParameterFormatString="original_{0}"> <SelectParameters> <asp:SessionParameter Name="actionItemID" SessionField="item_id" Type="Int32" /> - <asp:Parameter DefaultValue="true" Name="active" Type="Boolean" /> + <asp:SessionParameter DefaultValue="" Name="active" SessionField="active" Type="Boolean" /> </SelectParameters> <InsertParameters> <asp:Parameter Name="name" Type="String" /> Modified: Website/Includes/ActionItems.ascx.cs =================================================================== --- Website/Includes/ActionItems.ascx.cs 2006-08-07 14:01:13 UTC (rev 276) +++ Website/Includes/ActionItems.ascx.cs 2006-08-07 15:45:20 UTC (rev 277) @@ -42,7 +42,7 @@ } else { - ai = ActionItemDB.GetActionItem(Convert.ToInt32(item_id)); + ai = ActionItemDB.GetActionItem(Convert.ToInt32(item_id),active); if (ai != null && (!m_user.HasRight("view_other_ai", productID) && @@ -277,6 +277,7 @@ DropDownList status = (DropDownList)ActionItemsView.FindControl("statusList"); RadioButtonList percent = (RadioButtonList)ActionItemsView.FindControl("percentList"); CalendarPopup dateDue = (CalendarPopup)ActionItemsView.FindControl("dateDue"); + CheckBox activeBox = (CheckBox)ActionItemsView.FindControl("activeBox"); createdBy.Text = m_user.FULLNAME; createdBy.ToolTip = m_user.ID.ToString(); @@ -287,9 +288,15 @@ percent.SelectedIndex = 0; status.Enabled = false; percent.Enabled = false; + activeBox.Enabled = false; } else if (data != null) + { + CheckBox activeBox = (CheckBox)ActionItemsView.FindControl("activeBox"); + Page.Title = "TCDB: " + data["name"].ToString(); + activeBox.Checked = !activeBox.Checked; + } else Response.Redirect("Assignments.aspx?" + Constants.CODE_USER + "=" + m_user.ID); } @@ -399,7 +406,7 @@ protected void assignedTo_Init(object sender, EventArgs e) { DropDownList assignedTo = (DropDownList)sender; - if (ai == null) ai = ActionItemDB.GetActionItem(Convert.ToInt32(item_id)); + if (ai == null) ai = ActionItemDB.GetActionItem(Convert.ToInt32(item_id),active); if (!(ActionItemsView.CurrentMode == FormViewMode.Insert && m_user.HasRight("create_other_ai", Constants.PRODUCT_ANYID)) && !(ActionItemsView.CurrentMode == FormViewMode.Edit && m_user.HasRight("reassign_other_ai", ai.CREATOR, Constants.PRODUCT_ANYID))) @@ -439,4 +446,25 @@ } } + protected void activeBox_Init(object sender, EventArgs e) + { + CheckBox activeBox = (CheckBox)sender; + Label deletedLbl = (Label)ActionItemsView.FindControl("deletedLbl"); + + if (!m_user.HasRight("dev_access")) + { + activeBox.Visible = false; + deletedLbl.Visible = false; + } + } + protected void activeBox_CheckedChanged(object sender, EventArgs e) + { + CheckBox activeBox = (CheckBox)sender; + int deleted = (activeBox.Checked) ? 0:1; + + tcdbDataSetTableAdapters.db_actionItemsTableAdapter aiAdapter = new tcdbDataSetTableAdapters.db_actionItemsTableAdapter(); + aiAdapter.Delete(Convert.ToInt32(item_id), deleted); + + Response.Redirect(Request.RawUrl); + } } Modified: Website/Includes/AdministrationTree.ascx.cs =================================================================== --- Website/Includes/AdministrationTree.ascx.cs 2006-08-07 14:01:13 UTC (rev 276) +++ Website/Includes/AdministrationTree.ascx.cs 2006-08-07 15:45:20 UTC (rev 277) @@ -50,7 +50,7 @@ { ArrayList nodes = (ArrayList)Session["AdminNodes"]; tcdbDataSetTableAdapters.db_productsTableAdapter productAdapter = new tcdbDataSetTableAdapters.db_productsTableAdapter(); - tcdbDataSet.db_productsDataTable productTable = productAdapter.GetData(true, null); + tcdbDataSet.db_productsDataTable productTable = productAdapter.GetData(active, null); if (productTable.Count > 0) { @@ -70,6 +70,8 @@ // Set additional properties for the node. newNode.SelectAction = TreeNodeSelectAction.Expand; newNode.NavigateUrl = "~/Product.aspx?" + Constants.CODE_PRODUCT + "=" + newNode.Value; + if (!row.active) + newNode.Text = "<font class='deleted'>" + newNode.Text + "</font>"; // Add the new node to the ChildNodes collection of the parent node. parent.ChildNodes.Add(newNode); @@ -439,7 +441,7 @@ protected void BuildAllRolesList(TreeNode parent) { tcdbDataSetTableAdapters.db_roleTableAdapter rAdapter = new tcdbDataSetTableAdapters.db_roleTableAdapter(); - tcdbDataSet.db_roleDataTable rTable = rAdapter.GetData(null, null, true); + tcdbDataSet.db_roleDataTable rTable = rAdapter.GetData(null, null, active); foreach (tcdbDataSet.db_roleRow row in rTable) { @@ -447,6 +449,8 @@ child.Text = row.roleName; child.Value = row.roleID.ToString(); child.NavigateUrl = "~/Role.aspx?" + Constants.CODE_ROLE + "=" + child.Value; + if (!row.active) + child.Text = "<font class='deleted'>" + child.Text + "</font>"; parent.ChildNodes.Add(child); } @@ -454,7 +458,7 @@ protected void BuildAllRightsList(TreeNode parent) { tcdbDataSetTableAdapters.db_rightsTableAdapter rAdapter = new tcdbDataSetTableAdapters.db_rightsTableAdapter(); - tcdbDataSet.db_rightsDataTable rTable = rAdapter.GetData(null, null, true); + tcdbDataSet.db_rightsDataTable rTable = rAdapter.GetData(null, null, active); foreach (tcdbDataSet.db_rightsRow row in rTable) { @@ -462,6 +466,8 @@ child.Text = row.rightsName; child.Value = row.rightsID.ToString(); child.NavigateUrl = "~/Right.aspx?" + Constants.CODE_RIGHT + "=" + child.Value; + if (!row.active) + child.Text = "<font class='deleted'>" + child.Text + "</font>"; parent.ChildNodes.Add(child); } Modified: Website/Includes/Assignments.ascx =================================================================== --- Website/Includes/Assignments.ascx 2006-08-07 14:01:13 UTC (rev 276) +++ Website/Includes/Assignments.ascx 2006-08-07 15:45:20 UTC (rev 277) @@ -10,7 +10,7 @@ <asp:Parameter Name="finished" Type="Int32" /> <asp:SessionParameter Name="assignedID" SessionField="uid" Type="Int32" /> <asp:Parameter Name="highPriority" Type="Boolean" /> - <asp:Parameter DefaultValue="true" Name="active" Type="Boolean" /> + <asp:SessionParameter DefaultValue="" Name="active" SessionField="active" Type="Boolean" /> </SelectParameters> </asp:ObjectDataSource> <div id="Assignments"> Modified: Website/Includes/Assignments.ascx.cs =================================================================== --- Website/Includes/Assignments.ascx.cs 2006-08-07 14:01:13 UTC (rev 276) +++ Website/Includes/Assignments.ascx.cs 2006-08-07 15:45:20 UTC (rev 277) @@ -119,10 +119,10 @@ gRow.Cells[1].ToolTip = name; if (type == Constants.CODE_AI) { - ActionItem ai = ActionItemDB.GetActionItem(cid); + ActionItem ai = ActionItemDB.GetActionItem(cid,active); // action item exists - if (ai != null && + if (ai.ID != 0 && // It's not mine, the assignee doesn't belong to this product group, or I don't have rights to see other users' Action Items !(ai.ASSIGNED.ID != m_user.ID && m_user.HasRight("view_other_ai",ai.ASSIGNED,productID)) && @@ -146,7 +146,7 @@ WorkOrder wo = WorkOrderDB.TCDB_GetWorkOrder(cid); // work order exists - if (wo != null && + if (wo.ID != 0 && // It's not mine, the assignee doesn't belong to this product group, or I don't have rights to see other users' work orders !(wo.ASSIGNED.ID != m_user.ID && m_user.HasRight("view_other_wo", wo.ASSIGNED, productID)) && @@ -253,6 +253,10 @@ if ((dateFinished < from) || (dateFinished > to)) return false; } + if (Convert.ToBoolean(data["active"]) == false) + { + gRow.Cells[1].Font.Strikeout = true; + } return true; } Modified: Website/Includes/AssignmentsTree.ascx.cs =================================================================== --- Website/Includes/AssignmentsTree.ascx.cs 2006-08-07 14:01:13 UTC (rev 276) +++ Website/Includes/AssignmentsTree.ascx.cs 2006-08-07 15:45:20 UTC (rev 277) @@ -157,7 +157,7 @@ { ArrayList nodes = (ArrayList)Session["AssignmentNodes"]; tcdbDataSetTableAdapters.db_productsTableAdapter pAdapter = new tcdbDataSetTableAdapters.db_productsTableAdapter(); - tcdbDataSet.db_productsDataTable pTable = pAdapter.GetData(true, null); + tcdbDataSet.db_productsDataTable pTable = pAdapter.GetData(active, null); foreach (tcdbDataSet.db_productsRow row in pTable) { @@ -169,6 +169,9 @@ child.Value = row.productID.ToString(); child.PopulateOnDemand = true; child.SelectAction = TreeNodeSelectAction.Select; + if (!row.active) + child.Text = "<font class='deleted'>" + child.Text + "</font>"; + parent.ChildNodes.Add(child); if (nodes.Contains(child.ValuePath)) child.Expand(); @@ -224,7 +227,7 @@ foreach (tcdbDataSet.db_usersRow row in uTable) { - if (AssignmentDB.GetAssignmentList(null, status, row.userID, null, m_user.ID).Count == 0) + if (AssignmentDB.GetAssignmentList(null, status, row.userID, null, m_user.ID,active).Count == 0) continue; // User name @@ -260,7 +263,7 @@ continue; else lastID = row.userID; - if (AssignmentDB.GetAssignmentList(null, status, row.userID, null, null).Count == 0) + if (AssignmentDB.GetAssignmentList(null, status, row.userID, null, null,active).Count == 0) continue; // Create the new child node. @@ -298,7 +301,7 @@ // Set status and get assignment list if (statusComplete.Checked) status = Constants.ASSIGNMENT_FINISHEDANDUNFINISHED; - List<Assignment> assignmentList = UserDB.GetUserInfo(Convert.ToInt32(parent.Value)).GetAssignments(false, status); + List<Assignment> assignmentList = UserDB.GetUserInfo(Convert.ToInt32(parent.Value)).GetAssignments(false, status,active); m_logg.Debug("There are currently [" + assignmentList.Count.ToString() + "] assignments"); if (assignmentList.Count > 0) @@ -340,6 +343,10 @@ } else continue; } + if (a.DELETED) + { + child.Text = "<font class='deleted'>" + child.Text + "</font>"; + } // Add the new child node to the ChildNodes collection of the parent node. parent.ChildNodes.Add(child); Modified: Website/Includes/Rights.ascx =================================================================== --- Website/Includes/Rights.ascx 2006-08-07 14:01:13 UTC (rev 276) +++ Website/Includes/Rights.ascx 2006-08-07 15:45:20 UTC (rev 277) @@ -7,7 +7,9 @@ <div align="left"> <h2> User Rights</h2> - </div> + </div><div align="right"> + <asp:Label ID="activeLbl" runat="server" Text="Active"></asp:Label> + <asp:CheckBox ID="activeBox" runat="server" AutoPostBack="True" Checked='<%# Eval("active") %>' OnCheckedChanged="activeBox_CheckedChanged" OnInit="activeBox_Init" /></div> </HeaderTemplate> <ItemTemplate> <div class="xsnazzy"> Modified: Website/Includes/Rights.ascx.cs =================================================================== --- Website/Includes/Rights.ascx.cs 2006-08-07 14:01:13 UTC (rev 276) +++ Website/Includes/Rights.ascx.cs 2006-08-07 15:45:20 UTC (rev 277) @@ -165,4 +165,23 @@ descriptionLbl.Visible = true; } } + + protected void activeBox_Init(object sender, EventArgs e) + { + CheckBox activeBox = (CheckBox)sender; + Label activeLbl = (Label)FormView1.FindControl("activeLbl"); + + if (!m_user.HasRight("dev_access")) + { + activeBox.Visible = false; + activeLbl.Visible = false; + } + } + protected void activeBox_CheckedChanged(object sender, EventArgs e) + { + CheckBox activeBox = (CheckBox)sender; + + tcdbDataSetTableAdapters.db_rightsTableAdapter rAdapter = new tcdbDataSetTableAdapters.db_rightsTableAdapter(); + rAdapter.Update(right.ID, right.NAME, right.DESCRIPTION, activeBox.Checked); + } } \ No newline at end of file Modified: Website/Includes/RoleAdmin.ascx.cs =================================================================== --- Website/Includes/RoleAdmin.ascx.cs 2006-08-07 14:01:13 UTC (rev 276) +++ Website/Includes/RoleAdmin.ascx.cs 2006-08-07 15:45:20 UTC (rev 277) @@ -67,7 +67,13 @@ tcdbDataSet.db_roleDataTable rTable = rAdapter.GetData(null, null, active); foreach (tcdbDataSet.db_roleRow row in rTable) - roleList.Items.Add(new ListItem(row.roleName, row.roleID.ToString())); + { + ListItem item = new ListItem(row.roleName, row.roleID.ToString()); + if (!row.active) + item.Attributes.CssStyle.Add("text-decoration", "line-through"); + + roleList.Items.Add(item); + } } protected void rightsList_Init(object sender, EventArgs e) { @@ -86,7 +92,13 @@ tcdbDataSet.db_rightsDataTable rTable = rAdapter.GetData(null, null, active); foreach (tcdbDataSet.db_rightsRow row in rTable) - rightsList.Items.Add(new ListItem(row.rightsName, row.rightsID.ToString())); + { + ListItem item = new ListItem(row.rightsName, row.rightsID.ToString()); + if (!row.active) + item.Attributes.CssStyle.Add("text-decoration", "line-through"); + + rightsList.Items.Add(item); + } } protected void addRoleBtn_Load(object sender, EventArgs e) Modified: Website/Includes/Roles.ascx =================================================================== --- Website/Includes/Roles.ascx 2006-08-07 14:01:13 UTC (rev 276) +++ Website/Includes/Roles.ascx 2006-08-07 15:45:20 UTC (rev 277) @@ -7,7 +7,9 @@ <div align="left"> <h2> User Role</h2> - </div> + </div><div align="right"> + <asp:Label ID="activeLbl" runat="server" Text="Active"></asp:Label> + <asp:CheckBox ID="activeBox" runat="server" AutoPostBack="True" Checked='<%# Eval("active") %>' OnCheckedChanged="activeBox_CheckedChanged" OnInit="activeBox_Init" /></div> </HeaderTemplate> <ItemTemplate> <div class="xsnazzy"> Modified: Website/Includes/Roles.ascx.cs =================================================================== --- Website/Includes/Roles.ascx.cs 2006-08-07 14:01:13 UTC (rev 276) +++ Website/Includes/Roles.ascx.cs 2006-08-07 15:45:20 UTC (rev 277) @@ -158,6 +158,8 @@ protected void deleteCmd(object sender, CommandEventArgs e) { tcdbDataSetTableAdapters.db_roleTableAdapter rAdapter = new tcdbDataSetTableAdapters.db_roleTableAdapter(); + if (role == null) role = RightDB.GetRoleInfo(roleID); + rAdapter.Update(roleID, role.NAME, role.DESCRIPTION, false); Session.Remove("tableName"); Response.Redirect("~/Administration.aspx"); @@ -431,4 +433,22 @@ descriptionLbl.Visible = true; } } + protected void activeBox_Init(object sender, EventArgs e) + { + CheckBox activeBox = (CheckBox) sender; + Label activeLbl = (Label) FormView1.FindControl("activeLbl"); + + if (!m_user.HasRight("dev_access")) + { + activeBox.Visible = false; + activeLbl.Visible = false; + } + } + protected void activeBox_CheckedChanged(object sender, EventArgs e) + { + CheckBox activeBox = (CheckBox)sender; + + tcdbDataSetTableAdapters.db_roleTableAdapter rAdapter = new tcdbDataSetTableAdapters.db_roleTableAdapter(); + rAdapter.Update(role.ID, role.NAME, role.DESCRIPTION, activeBox.Checked); + } } \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2006-08-08 15:28:55
|
Revision: 280 Author: rouquin Date: 2006-08-08 08:28:43 -0700 (Tue, 08 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=280&view=rev Log Message: ----------- Fixed a bug that Matt found with the TCDB user list. Also fixed a few other little things with assignments and ActionItems that I broke. Modified Paths: -------------- Website/App_Code/Assignments.cs Website/App_Code/tcdbDataSet.xsd Website/App_Code/tcdbDataSet.xss Website/Includes/ActionItems.ascx Website/Includes/ActionItems.ascx.cs Website/Includes/AdministrationTree.ascx.cs Website/Includes/Assignments.ascx Website/Includes/Assignments.ascx.cs Modified: Website/App_Code/Assignments.cs =================================================================== --- Website/App_Code/Assignments.cs 2006-08-07 20:35:11 UTC (rev 279) +++ Website/App_Code/Assignments.cs 2006-08-08 15:28:43 UTC (rev 280) @@ -25,9 +25,9 @@ tcdbDataSet.db_assignmentsDataTable aTable; if (finished == Constants.ASSIGNMENT_FINISHEDANDUNFINISHED) - aTable = ta.GetData(aType, null, assignedID, null, active); + aTable = ta.GetData(aType, null, assignedID, creatorID, null, active); else - aTable = ta.GetData(aType, finished, assignedID, null, active); + aTable = ta.GetData(aType, finished, assignedID, creatorID, null, active); List<Assignment> assignmentList = new List<Assignment>(); @@ -75,8 +75,6 @@ assignment.ASSIGNED = assignment.WORKORDER.ASSIGNED; assignment.CREATOR = assignment.WORKORDER.CREATOR; } - if (creatorID != null && assignment.CREATOR.ID != creatorID) - continue; assignmentList.Add(assignment); } Modified: Website/App_Code/tcdbDataSet.xsd =================================================================== --- Website/App_Code/tcdbDataSet.xsd 2006-08-07 20:35:11 UTC (rev 279) +++ Website/App_Code/tcdbDataSet.xsd 2006-08-08 15:28:43 UTC (rev 280) @@ -285,6 +285,8 @@ </Parameter> <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@assignedID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@creatorID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@highPriority" Precision="1" ProviderType="Bit" Scale="0" Size="1" SourceColumnNullMapping="False" SourceVersion="Current"> </Parameter> <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@active" Precision="1" ProviderType="Bit" Scale="0" Size="1" SourceColumnNullMapping="False" SourceVersion="Current"> @@ -312,6 +314,9 @@ <Mapping SourceColumn="WOFail" DataSetColumn="WOFail" /> <Mapping SourceColumn="WOError" DataSetColumn="WOError" /> <Mapping SourceColumn="active" DataSetColumn="active" /> + <Mapping SourceColumn="creatorID" DataSetColumn="creatorID" /> + <Mapping SourceColumn="numAI" DataSetColumn="numAI" /> + <Mapping SourceColumn="numWO" DataSetColumn="numWO" /> </Mappings> <Sources> </Sources> @@ -944,108 +949,108 @@ <xs:element name="db_products" msprop:Generator_UserTableName="db_products" msprop:Generator_RowDeletedName="db_productsRowDeleted" msprop:Generator_RowChangedName="db_productsRowChanged" msprop:Generator_RowClassName="db_productsRow" msprop:Generator_RowChangingName="db_productsRowChanging" msprop:Generator_RowEvArgName="db_productsRowChangeEvent" msprop:Generator_RowEvHandlerName="db_productsRowChangeEventHandler" msprop:Generator_TableClassName="db_productsDataTable" msprop:Generator_TableVarName="tabledb_products" msprop:Generator_RowDeletingName="db_productsRowDeleting" msprop:Generator_TablePropName="db_products"> <xs:complexType> <xs:sequence> - <xs:element name="productID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" /> - <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> + <xs:element name="productID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" /> + <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> + <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="devManager" msprop:Generator_UserColumnName="devManager" msprop:Generator_ColumnVarNameInTable="columndevManager" msprop:Generator_ColumnPropNameInRow="devManager" msprop:Generator_ColumnPropNameInTable="devManagerColumn" type="xs:int" minOccurs="0" /> - <xs:element name="qaManager" msprop:Generator_UserColumnName="qaManager" msprop:Generator_ColumnVarNameInTable="columnqaManager" msprop:Generator_ColumnPropNameInRow="qaManager" msprop:Generator_ColumnPropNameInTable="qaManagerColumn" type="xs:int" minOccurs="0" /> - <xs:element name="devLead" msprop:Generator_UserColumnName="devLead" msprop:Generator_ColumnVarNameInTable="columndevLead" msprop:Generator_ColumnPropNameInRow="devLead" msprop:Generator_ColumnPropNameInTable="devLeadColumn" type="xs:int" minOccurs="0" /> - <xs:element name="qaLead" msprop:Generator_UserColumnName="qaLead" msprop:Generator_ColumnVarNameInTable="columnqaLead" msprop:Generator_ColumnPropNameInRow="qaLead" msprop:Generator_ColumnPropNameInTable="qaLeadColumn" type="xs:int" minOccurs="0" /> - <xs:element name="pm" msprop:Generator_UserColumnName="pm" msprop:Generator_ColumnVarNameInTable="columnpm" msprop:Generator_ColumnPropNameInRow="pm" msprop:Generator_ColumnPropNameInTable="pmColumn" type="xs:int" minOccurs="0" /> - <xs:element name="codeName" msprop:Generator_UserColumnName="codeName" msprop:Generator_ColumnVarNameInTable="columncodeName" msprop:Generator_ColumnPropNameInRow="codeName" msprop:Generator_ColumnPropNameInTable="codeNameColumn" minOccurs="0"> + <xs:element name="devManager" msprop:Generator_UserColumnName="devManager" msprop:Generator_ColumnPropNameInRow="devManager" msprop:Generator_ColumnVarNameInTable="columndevManager" msprop:Generator_ColumnPropNameInTable="devManagerColumn" type="xs:int" minOccurs="0" /> + <xs:element name="qaManager" msprop:Generator_UserColumnName="qaManager" msprop:Generator_ColumnPropNameInRow="qaManager" msprop:Generator_ColumnVarNameInTable="columnqaManager" msprop:Generator_ColumnPropNameInTable="qaManagerColumn" type="xs:int" minOccurs="0" /> + <xs:element name="devLead" msprop:Generator_UserColumnName="devLead" msprop:Generator_ColumnPropNameInRow="devLead" msprop:Generator_ColumnVarNameInTable="columndevLead" msprop:Generator_ColumnPropNameInTable="devLeadColumn" type="xs:int" minOccurs="0" /> + <xs:element name="qaLead" msprop:Generator_UserColumnName="qaLead" msprop:Generator_ColumnPropNameInRow="qaLead" msprop:Generator_ColumnVarNameInTable="columnqaLead" msprop:Generator_ColumnPropNameInTable="qaLeadColumn" type="xs:int" minOccurs="0" /> + <xs:element name="pm" msprop:Generator_UserColumnName="pm" msprop:Generator_ColumnPropNameInRow="pm" msprop:Generator_ColumnVarNameInTable="columnpm" msprop:Generator_ColumnPropNameInTable="pmColumn" type="xs:int" minOccurs="0" /> + <xs:element name="codeName" msprop:Generator_UserColumnName="codeName" msprop:Generator_ColumnPropNameInRow="codeName" msprop:Generator_ColumnVarNameInTable="columncodeName" msprop:Generator_ColumnPropNameInTable="codeNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="10" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> + <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_actionItems" msprop:Generator_UserTableName="db_actionItems" msprop:Generator_RowDeletedName="db_actionItemsRowDeleted" msprop:Generator_RowChangedName="db_actionItemsRowChanged" msprop:Generator_RowClassName="db_actionItemsRow" msprop:Generator_RowChangingName="db_actionItemsRowChanging" msprop:Generator_RowEvArgName="db_actionItemsRowChangeEvent" msprop:Generator_RowEvHandlerName="db_actionItemsRowChangeEventHandler" msprop:Generator_TableClassName="db_actionItemsDataTable" msprop:Generator_TableVarName="tabledb_actionItems" msprop:Generator_RowDeletingName="db_actionItemsRowDeleting" msprop:Generator_TablePropName="db_actionItems"> <xs:complexType> <xs:sequence> - <xs:element name="actionItemID" msprop:Generator_UserColumnName="actionItemID" msprop:Generator_ColumnPropNameInRow="actionItemID" msprop:Generator_ColumnVarNameInTable="columnactionItemID" msprop:Generator_ColumnPropNameInTable="actionItemIDColumn" type="xs:int" /> - <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> + <xs:element name="actionItemID" msprop:Generator_UserColumnName="actionItemID" msprop:Generator_ColumnVarNameInTable="columnactionItemID" msprop:Generator_ColumnPropNameInRow="actionItemID" msprop:Generator_ColumnPropNameInTable="actionItemIDColumn" type="xs:int" /> + <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> + <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="dateAssigned" msprop:Generator_UserColumnName="dateAssigned" msprop:Generator_ColumnPropNameInRow="dateAssigned" msprop:Generator_ColumnVarNameInTable="columndateAssigned" msprop:Generator_ColumnPropNameInTable="dateAssignedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="dateDue" msprop:Generator_UserColumnName="dateDue" msprop:Generator_ColumnPropNameInRow="dateDue" msprop:Generator_ColumnVarNameInTable="columndateDue" msprop:Generator_ColumnPropNameInTable="dateDueColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="percentComplete" msprop:Generator_UserColumnName="percentComplete" msprop:Generator_ColumnPropNameInRow="percentComplete" msprop:Generator_ColumnVarNameInTable="columnpercentComplete" msprop:Generator_ColumnPropNameInTable="percentCompleteColumn" type="xs:int" minOccurs="0" /> - <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> + <xs:element name="dateAssigned" msprop:Generator_UserColumnName="dateAssigned" msprop:Generator_ColumnVarNameInTable="columndateAssigned" msprop:Generator_ColumnPropNameInRow="dateAssigned" msprop:Generator_ColumnPropNameInTable="dateAssignedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="dateDue" msprop:Generator_UserColumnName="dateDue" msprop:Generator_ColumnVarNameInTable="columndateDue" msprop:Generator_ColumnPropNameInRow="dateDue" msprop:Generator_ColumnPropNameInTable="dateDueColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="percentComplete" msprop:Generator_UserColumnName="percentComplete" msprop:Generator_ColumnVarNameInTable="columnpercentComplete" msprop:Generator_ColumnPropNameInRow="percentComplete" msprop:Generator_ColumnPropNameInTable="percentCompleteColumn" type="xs:int" minOccurs="0" /> + <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="createdBy" msdata:ReadOnly="true" msprop:Generator_UserColumnName="createdBy" msprop:Generator_ColumnPropNameInRow="createdBy" msprop:Generator_ColumnVarNameInTable="columncreatedBy" msprop:Generator_ColumnPropNameInTable="createdByColumn" minOccurs="0"> + <xs:element name="createdBy" msdata:ReadOnly="true" msprop:Generator_UserColumnName="createdBy" msprop:Generator_ColumnVarNameInTable="columncreatedBy" msprop:Generator_ColumnPropNameInRow="createdBy" msprop:Generator_ColumnPropNameInTable="createdByColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="highPriority" msprop:Generator_UserColumnName="highPriority" msprop:Generator_ColumnPropNameInRow="highPriority" msprop:Generator_ColumnVarNameInTable="columnhighPriority" msprop:Generator_ColumnPropNameInTable="highPriorityColumn" type="xs:boolean" minOccurs="0" /> - <xs:element name="testPass" msprop:Generator_UserColumnName="testPass" msprop:Generator_ColumnVarNameInTable="columntestPass" msprop:Generator_ColumnPropNameInRow="testPass" msprop:Generator_ColumnPropNameInTable="testPassColumn" minOccurs="0"> + <xs:element name="highPriority" msprop:Generator_UserColumnName="highPriority" msprop:Generator_ColumnVarNameInTable="columnhighPriority" msprop:Generator_ColumnPropNameInRow="highPriority" msprop:Generator_ColumnPropNameInTable="highPriorityColumn" type="xs:boolean" minOccurs="0" /> + <xs:element name="testPass" msprop:Generator_UserColumnName="testPass" msprop:Generator_ColumnPropNameInRow="testPass" msprop:Generator_ColumnVarNameInTable="columntestPass" msprop:Generator_ColumnPropNameInTable="testPassColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="dateFinished" msprop:Generator_UserColumnName="dateFinished" msprop:Generator_ColumnVarNameInTable="columndateFinished" msprop:Generator_ColumnPropNameInRow="dateFinished" msprop:Generator_ColumnPropNameInTable="dateFinishedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="assignedID" msprop:Generator_UserColumnName="assignedID" msprop:Generator_ColumnVarNameInTable="columnassignedID" msprop:Generator_ColumnPropNameInRow="assignedID" msprop:Generator_ColumnPropNameInTable="assignedIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="assigned" msdata:ReadOnly="true" msprop:Generator_UserColumnName="assigned" msprop:Generator_ColumnVarNameInTable="columnassigned" msprop:Generator_ColumnPropNameInRow="assigned" msprop:Generator_ColumnPropNameInTable="assignedColumn" minOccurs="0"> + <xs:element name="dateFinished" msprop:Generator_UserColumnName="dateFinished" msprop:Generator_ColumnPropNameInRow="dateFinished" msprop:Generator_ColumnVarNameInTable="columndateFinished" msprop:Generator_ColumnPropNameInTable="dateFinishedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="assignedID" msprop:Generator_UserColumnName="assignedID" msprop:Generator_ColumnPropNameInRow="assignedID" msprop:Generator_ColumnVarNameInTable="columnassignedID" msprop:Generator_ColumnPropNameInTable="assignedIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="assigned" msdata:ReadOnly="true" msprop:Generator_UserColumnName="assigned" msprop:Generator_ColumnPropNameInRow="assigned" msprop:Generator_ColumnVarNameInTable="columnassigned" msprop:Generator_ColumnPropNameInTable="assignedColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="statusID" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="testPassID" msprop:Generator_UserColumnName="testPassID" msprop:Generator_ColumnPropNameInRow="testPassID" msprop:Generator_ColumnVarNameInTable="columntestPassID" msprop:Generator_ColumnPropNameInTable="testPassIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> - <xs:element name="creatorID" msprop:Generator_UserColumnName="creatorID" msprop:Generator_ColumnPropNameInRow="creatorID" msprop:Generator_ColumnVarNameInTable="columncreatorID" msprop:Generator_ColumnPropNameInTable="creatorIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="statusID" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="testPassID" msprop:Generator_UserColumnName="testPassID" msprop:Generator_ColumnVarNameInTable="columntestPassID" msprop:Generator_ColumnPropNameInRow="testPassID" msprop:Generator_ColumnPropNameInTable="testPassIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> + <xs:element name="creatorID" msprop:Generator_UserColumnName="creatorID" msprop:Generator_ColumnVarNameInTable="columncreatorID" msprop:Generator_ColumnPropNameInRow="creatorID" msprop:Generator_ColumnPropNameInTable="creatorIDColumn" type="xs:int" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_status" msprop:Generator_UserTableName="db_status" msprop:Generator_RowDeletedName="db_statusRowDeleted" msprop:Generator_RowChangedName="db_statusRowChanged" msprop:Generator_RowClassName="db_statusRow" msprop:Generator_RowChangingName="db_statusRowChanging" msprop:Generator_RowEvArgName="db_statusRowChangeEvent" msprop:Generator_RowEvHandlerName="db_statusRowChangeEventHandler" msprop:Generator_TableClassName="db_statusDataTable" msprop:Generator_TableVarName="tabledb_status" msprop:Generator_RowDeletingName="db_statusRowDeleting" msprop:Generator_TablePropName="db_status"> <xs:complexType> <xs:sequence> - <xs:element name="statusID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" /> - <xs:element name="Description" msprop:Generator_UserColumnName="Description" msprop:Generator_ColumnVarNameInTable="columnDescription" msprop:Generator_ColumnPropNameInRow="Description" msprop:Generator_ColumnPropNameInTable="DescriptionColumn" minOccurs="0"> + <xs:element name="statusID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" /> + <xs:element name="Description" msprop:Generator_UserColumnName="Description" msprop:Generator_ColumnPropNameInRow="Description" msprop:Generator_ColumnVarNameInTable="columnDescription" msprop:Generator_ColumnPropNameInTable="DescriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> + <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> @@ -1058,113 +1063,116 @@ <xs:element name="db_notes" msprop:Generator_UserTableName="db_notes" msprop:Generator_RowDeletedName="db_notesRowDeleted" msprop:Generator_RowChangedName="db_notesRowChanged" msprop:Generator_RowClassName="db_notesRow" msprop:Generator_RowChangingName="db_notesRowChanging" msprop:Generator_RowEvArgName="db_notesRowChangeEvent" msprop:Generator_RowEvHandlerName="db_notesRowChangeEventHandler" msprop:Generator_TableClassName="db_notesDataTable" msprop:Generator_TableVarName="tabledb_notes" msprop:Generator_RowDeletingName="db_notesRowDeleting" msprop:Generator_TablePropName="db_notes"> <xs:complexType> <xs:sequence> - <xs:element name="noteID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="noteID" msprop:Generator_ColumnVarNameInTable="columnnoteID" msprop:Generator_ColumnPropNameInRow="noteID" msprop:Generator_ColumnPropNameInTable="noteIDColumn" type="xs:int" /> - <xs:element name="dateCreated" msprop:Generator_UserColumnName="dateCreated" msprop:Generator_ColumnVarNameInTable="columndateCreated" msprop:Generator_ColumnPropNameInRow="dateCreated" msprop:Generator_ColumnPropNameInTable="dateCreatedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="noteField" msprop:Generator_UserColumnName="noteField" msprop:Generator_ColumnVarNameInTable="columnnoteField" msprop:Generator_ColumnPropNameInRow="noteField" msprop:Generator_ColumnPropNameInTable="noteFieldColumn" minOccurs="0"> + <xs:element name="noteID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="noteID" msprop:Generator_ColumnPropNameInRow="noteID" msprop:Generator_ColumnVarNameInTable="columnnoteID" msprop:Generator_ColumnPropNameInTable="noteIDColumn" type="xs:int" /> + <xs:element name="dateCreated" msprop:Generator_UserColumnName="dateCreated" msprop:Generator_ColumnPropNameInRow="dateCreated" msprop:Generator_ColumnVarNameInTable="columndateCreated" msprop:Generator_ColumnPropNameInTable="dateCreatedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="noteField" msprop:Generator_UserColumnName="noteField" msprop:Generator_ColumnPropNameInRow="noteField" msprop:Generator_ColumnVarNameInTable="columnnoteField" msprop:Generator_ColumnPropNameInTable="noteFieldColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="noteAuthor" msprop:Generator_UserColumnName="noteAuthor" msprop:Generator_ColumnVarNameInTable="columnnoteAuthor" msprop:Generator_ColumnPropNameInRow="noteAuthor" msprop:Generator_ColumnPropNameInTable="noteAuthorColumn" type="xs:int" minOccurs="0" /> + <xs:element name="noteAuthor" msprop:Generator_UserColumnName="noteAuthor" msprop:Generator_ColumnPropNameInRow="noteAuthor" msprop:Generator_ColumnVarNameInTable="columnnoteAuthor" msprop:Generator_ColumnPropNameInTable="noteAuthorColumn" type="xs:int" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_assignments" msprop:Generator_UserTableName="db_assignments" msprop:Generator_RowDeletedName="db_assignmentsRowDeleted" msprop:Generator_RowChangedName="db_assignmentsRowChanged" msprop:Generator_RowClassName="db_assignmentsRow" msprop:Generator_RowChangingName="db_assignmentsRowChanging" msprop:Generator_RowEvArgName="db_assignmentsRowChangeEvent" msprop:Generator_RowEvHandlerName="db_assignmentsRowChangeEventHandler" msprop:Generator_TableClassName="db_assignmentsDataTable" msprop:Generator_TableVarName="tabledb_assignments" msprop:Generator_RowDeletingName="db_assignmentsRowDeleting" msprop:Generator_TablePropName="db_assignments"> <xs:complexType> <xs:sequence> - <xs:element name="aType" msdata:ReadOnly="true" msprop:Generator_UserColumnName="aType" msprop:Generator_ColumnVarNameInTable="columnaType" msprop:Generator_ColumnPropNameInRow="aType" msprop:Generator_ColumnPropNameInTable="aTypeColumn" minOccurs="0"> + <xs:element name="aType" msdata:ReadOnly="true" msprop:Generator_UserColumnName="aType" msprop:Generator_ColumnPropNameInRow="aType" msprop:Generator_ColumnVarNameInTable="columnaType" msprop:Generator_ColumnPropNameInTable="aTypeColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="childID" msdata:ReadOnly="true" msprop:Generator_UserColumnName="childID" msprop:Generator_ColumnVarNameInTable="columnchildID" msprop:Generator_ColumnPropNameInRow="childID" msprop:Generator_ColumnPropNameInTable="childIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="creator" msdata:ReadOnly="true" msprop:Generator_UserColumnName="creator" msprop:Generator_ColumnVarNameInTable="columncreator" msprop:Generator_ColumnPropNameInRow="creator" msprop:Generator_ColumnPropNameInTable="creatorColumn" minOccurs="0"> + <xs:element name="childID" msdata:ReadOnly="true" msprop:Generator_UserColumnName="childID" msprop:Generator_ColumnPropNameInRow="childID" msprop:Generator_ColumnVarNameInTable="columnchildID" msprop:Generator_ColumnPropNameInTable="childIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="creator" msdata:ReadOnly="true" msprop:Generator_UserColumnName="creator" msprop:Generator_ColumnPropNameInRow="creator" msprop:Generator_ColumnVarNameInTable="columncreator" msprop:Generator_ColumnPropNameInTable="creatorColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="assigned" msdata:ReadOnly="true" msprop:Generator_UserColumnName="assigned" msprop:Generator_ColumnVarNameInTable="columnassigned" msprop:Generator_ColumnPropNameInRow="assigned" msprop:Generator_ColumnPropNameInTable="assignedColumn" minOccurs="0"> + <xs:element name="assigned" msdata:ReadOnly="true" msprop:Generator_UserColumnName="assigned" msprop:Generator_ColumnPropNameInRow="assigned" msprop:Generator_ColumnVarNameInTable="columnassigned" msprop:Generator_ColumnPropNameInTable="assignedColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="assignedID" msprop:Generator_UserColumnName="assignedID" msprop:Generator_ColumnVarNameInTable="columnassignedID" msprop:Generator_ColumnPropNameInRow="assignedID" msprop:Generator_ColumnPropNameInTable="assignedIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="dateAssigned" msprop:Generator_UserColumnName="dateAssigned" msprop:Generator_ColumnVarNameInTable="columndateAssigned" msprop:Generator_ColumnPropNameInRow="dateAssigned" msprop:Generator_ColumnPropNameInTable="dateAssignedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="dateDue" msprop:Generator_UserColumnName="dateDue" msprop:Generator_ColumnVarNameInTable="columndateDue" msprop:Generator_ColumnPropNameInRow="dateDue" msprop:Generator_ColumnPropNameInTable="dateDueColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="dateFinished" msprop:Generator_UserColumnName="dateFinished" msprop:Generator_ColumnVarNameInTable="columndateFinished" msprop:Generator_ColumnPropNameInRow="dateFinished" msprop:Generator_ColumnPropNameInTable="dateFinishedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="highPriority" msprop:Generator_UserColumnName="highPriority" msprop:Generator_ColumnVarNameInTable="columnhighPriority" msprop:Generator_ColumnPropNameInRow="highPriority" msprop:Generator_ColumnPropNameInTable="highPriorityColumn" type="xs:boolean" minOccurs="0" /> - <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> + <xs:element name="assignedID" msprop:Generator_UserColumnName="assignedID" msprop:Generator_ColumnPropNameInRow="assignedID" msprop:Generator_ColumnVarNameInTable="columnassignedID" msprop:Generator_ColumnPropNameInTable="assignedIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="dateAssigned" msprop:Generator_UserColumnName="dateAssigned" msprop:Generator_ColumnPropNameInRow="dateAssigned" msprop:Generator_ColumnVarNameInTable="columndateAssigned" msprop:Generator_ColumnPropNameInTable="dateAssignedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="dateDue" msprop:Generator_UserColumnName="dateDue" msprop:Generator_ColumnPropNameInRow="dateDue" msprop:Generator_ColumnVarNameInTable="columndateDue" msprop:Generator_ColumnPropNameInTable="dateDueColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="dateFinished" msprop:Generator_UserColumnName="dateFinished" msprop:Generator_ColumnPropNameInRow="dateFinished" msprop:Generator_ColumnVarNameInTable="columndateFinished" msprop:Generator_ColumnPropNameInTable="dateFinishedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="highPriority" msprop:Generator_UserColumnName="highPriority" msprop:Generator_ColumnPropNameInRow="highPriority" msprop:Generator_ColumnVarNameInTable="columnhighPriority" msprop:Generator_ColumnPropNameInTable="highPriorityColumn" type="xs:boolean" minOccurs="0" /> + <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="WOTotalTest" msprop:Generator_UserColumnName="WOTotalTest" msprop:Generator_ColumnVarNameInTable="columnWOTotalTest" msprop:Generator_ColumnPropNameInRow="WOTotalTest" msprop:Generator_ColumnPropNameInTable="WOTotalTestColumn" type="xs:int" minOccurs="0" /> - <xs:element name="WOPassRate" msdata:ReadOnly="true" msprop:Generator_UserColumnName="WOPassRate" msprop:Generator_ColumnVarNameInTable="columnWOPassRate" msprop:Generator_ColumnPropNameInRow="WOPassRate" msprop:Generator_ColumnPropNameInTable="WOPassRateColumn" minOccurs="0"> + <xs:element name="WOTotalTest" msprop:Generator_UserColumnName="WOTotalTest" msprop:Generator_ColumnPropNameInRow="WOTotalTest" msprop:Generator_ColumnVarNameInTable="columnWOTotalTest" msprop:Generator_ColumnPropNameInTable="WOTotalTestColumn" type="xs:int" minOccurs="0" /> + <xs:element name="WOPassRate" msdata:ReadOnly="true" msprop:Generator_UserColumnName="WOPassRate" msprop:Generator_ColumnPropNameInRow="WOPassRate" msprop:Generator_ColumnVarNameInTable="columnWOPassRate" msprop:Generator_ColumnPropNameInTable="WOPassRateColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="31" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="WOPass" msprop:Generator_UserColumnName="WOPass" msprop:Generator_ColumnVarNameInTable="columnWOPass" msprop:Generator_ColumnPropNameInRow="WOPass" msprop:Generator_ColumnPropNameInTable="WOPassColumn" type="xs:int" minOccurs="0" /> - <xs:element name="WOFail" msprop:Generator_UserColumnName="WOFail" msprop:Generator_ColumnVarNameInTable="columnWOFail" msprop:Generator_ColumnPropNameInRow="WOFail" msprop:Generator_ColumnPropNameInTable="WOFailColumn" type="xs:int" minOccurs="0" /> - <xs:element name="WOError" msprop:Generator_UserColumnName="WOError" msprop:Generator_ColumnVarNameInTable="columnWOError" msprop:Generator_ColumnPropNameInRow="WOError" msprop:Generator_ColumnPropNameInTable="WOErrorColumn" type="xs:int" minOccurs="0" /> - <xs:element name="aName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="aName" msprop:Generator_ColumnVarNameInTable="columnaName" msprop:Generator_ColumnPropNameInRow="aName" msprop:Generator_ColumnPropNameInTable="aNameColumn" minOccurs="0"> + <xs:element name="WOPass" msprop:Generator_UserColumnName="WOPass" msprop:Generator_ColumnPropNameInRow="WOPass" msprop:Generator_ColumnVarNameInTable="columnWOPass" msprop:Generator_ColumnPropNameInTable="WOPassColumn" type="xs:int" minOccurs="0" /> + <xs:element name="WOFail" msprop:Generator_UserColumnName="WOFail" msprop:Generator_ColumnPropNameInRow="WOFail" msprop:Generator_ColumnVarNameInTable="columnWOFail" msprop:Generator_ColumnPropNameInTable="WOFailColumn" type="xs:int" minOccurs="0" /> + <xs:element name="WOError" msprop:Generator_UserColumnName="WOError" msprop:Generator_ColumnPropNameInRow="WOError" msprop:Generator_ColumnVarNameInTable="columnWOError" msprop:Generator_ColumnPropNameInTable="WOErrorColumn" type="xs:int" minOccurs="0" /> + <xs:element name="aName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="aName" msprop:Generator_ColumnPropNameInRow="aName" msprop:Generator_ColumnVarNameInTable="columnaName" msprop:Generator_ColumnPropNameInTable="aNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> + <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> + <xs:element name="creatorID" msprop:Generator_UserColumnName="creatorID" msprop:Generator_ColumnPropNameInRow="creatorID" msprop:Generator_ColumnVarNameInTable="columncreatorID" msprop:Generator_ColumnPropNameInTable="creatorIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="numAI" msdata:ReadOnly="true" msprop:Generator_UserColumnName="numAI" msprop:Generator_ColumnPropNameInRow="numAI" msprop:Generator_ColumnVarNameInTable="columnnumAI" msprop:Generator_ColumnPropNameInTable="numAIColumn" type="xs:int" minOccurs="0" /> + <xs:element name="numWO" msdata:ReadOnly="true" msprop:Generator_UserColumnName="numWO" msprop:Generator_ColumnPropNameInRow="numWO" msprop:Generator_ColumnVarNameInTable="columnnumWO" msprop:Generator_ColumnPropNameInTable="numWOColumn" type="xs:int" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_testPass" msprop:Generator_UserTableName="db_testPass" msprop:Generator_RowDeletedName="db_testPassRowDeleted" msprop:Generator_RowChangedName="db_testPassRowChanged" msprop:Generator_RowClassName="db_testPassRow" msprop:Generator_RowChangingName="db_testPassRowChanging" msprop:Generator_RowEvArgName="db_testPassRowChangeEvent" msprop:Generator_RowEvHandlerName="db_testPassRowChangeEventHandler" msprop:Generator_TableClassName="db_testPassDataTable" msprop:Generator_TableVarName="tabledb_testPass" msprop:Generator_RowDeletingName="db_testPassRowDeleting" msprop:Generator_TablePropName="db_testPass"> <xs:complexType> <xs:sequence> - <xs:element name="testPassID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="testPassID" msprop:Generator_ColumnPropNameInRow="testPassID" msprop:Generator_ColumnVarNameInTable="columntestPassID" msprop:Generator_ColumnPropNameInTable="testPassIDColumn" type="xs:int" /> - <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> + <xs:element name="testPassID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="testPassID" msprop:Generator_ColumnVarNameInTable="columntestPassID" msprop:Generator_ColumnPropNameInRow="testPassID" msprop:Generator_ColumnPropNameInTable="testPassIDColumn" type="xs:int" /> + <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="versionID" msprop:Generator_UserColumnName="versionID" msprop:Generator_ColumnPropNameInRow="versionID" msprop:Generator_ColumnVarNameInTable="columnversionID" msprop:Generator_ColumnPropNameInTable="versionIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="versionID" msprop:Generator_UserColumnName="versionID" msprop:Generator_ColumnVarNameInTable="columnversionID" msprop:Generator_ColumnPropNameInRow="versionID" msprop:Generator_ColumnPropNameInTable="versionIDColumn" type="xs:int" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_config" msprop:Generator_UserTableName="db_config" msprop:Generator_RowDeletedName="db_configRowDeleted" msprop:Generator_RowChangedName="db_configRowChanged" msprop:Generator_RowClassName="db_configRow" msprop:Generator_RowChangingName="db_configRowChanging" msprop:Generator_RowEvArgName="db_configRowChangeEvent" msprop:Generator_RowEvHandlerName="db_configRowChangeEventHandler" msprop:Generator_TableClassName="db_configDataTable" msprop:Generator_TableVarName="tabledb_config" msprop:Generator_RowDeletingName="db_configRowDeleting" msprop:Generator_TablePropName="db_config"> <xs:complexType> <xs:sequence> - <xs:element name="configID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="configID" msprop:Generator_ColumnPropNameInRow="configID" msprop:Generator_ColumnVarNameInTable="columnconfigID" msprop:Generator_ColumnPropNameInTable="configIDColumn" type="xs:int" /> - <xs:element name="userID" msprop:Generator_UserColumnName="userID" msprop:Generator_ColumnPropNameInRow="userID" msprop:Generator_ColumnVarNameInTable="columnuserID" msprop:Generator_ColumnPropNameInTable="userIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> + <xs:element name="configID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="configID" msprop:Generator_ColumnVarNameInTable="columnconfigID" msprop:Generator_ColumnPropNameInRow="configID" msprop:Generator_ColumnPropNameInTable="configIDColumn" type="xs:int" /> + <xs:element name="userID" msprop:Generator_UserColumnName="userID" msprop:Generator_ColumnVarNameInTable="columnuserID" msprop:Generator_ColumnPropNameInRow="userID" msprop:Generator_ColumnPropNameInTable="userIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="value" msprop:Generator_UserColumnName="value" msprop:Generator_ColumnPropNameInRow="value" msprop:Generator_ColumnVarNameInTable="columnvalue" msprop:Generator_ColumnPropNameInTable="valueColumn" minOccurs="0"> + <xs:element name="value" msprop:Generator_UserColumnName="value" msprop:Generator_ColumnVarNameInTable="columnvalue" msprop:Generator_ColumnPropNameInRow="value" msprop:Generator_ColumnPropNameInTable="valueColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> + <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> @@ -1177,47 +1185,47 @@ <xs:element name="db_version" msprop:Generator_UserTableName="db_version" msprop:Generator_RowDeletedName="db_versionRowDeleted" msprop:Generator_RowChangedName="db_versionRowChanged" msprop:Generator_RowClassName="db_versionRow" msprop:Generator_RowChangingName="db_versionRowChanging" msprop:Generator_RowEvArgName="db_versionRowChangeEvent" msprop:Generator_RowEvHandlerName="db_versionRowChangeEventHandler" msprop:Generator_TableClassName="db_versionDataTable" msprop:Generator_TableVarName="tabledb_version" msprop:Generator_RowDeletingName="db_versionRowDeleting" msprop:Generator_TablePropName="db_version"> <xs:complexType> <xs:sequence> - <xs:element name="versionID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="versionID" msprop:Generator_ColumnPropNameInRow="versionID" msprop:Generator_ColumnVarNameInTable="columnversionID" msprop:Generator_ColumnPropNameInTable="versionIDColumn" type="xs:int" /> - <xs:element name="productID" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="number" msprop:Generator_UserColumnName="number" msprop:Generator_ColumnPropNameInRow="number" msprop:Generator_ColumnVarNameInTable="columnnumber" msprop:Generator_ColumnPropNameInTable="numberColumn" minOccurs="0"> + <xs:element name="versionID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="versionID" msprop:Generator_ColumnVarNameInTable="columnversionID" msprop:Generator_ColumnPropNameInRow="versionID" msprop:Generator_ColumnPropNameInTable="versionIDColumn" type="xs:int" /> + <xs:element name="productID" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="number" msprop:Generator_UserColumnName="number" msprop:Generator_ColumnVarNameInTable="columnnumber" msprop:Generator_ColumnPropNameInRow="number" msprop:Generator_ColumnPropNameInTable="numberColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="code" msprop:Generator_UserColumnName="code" msprop:Generator_ColumnPropNameInRow="code" msprop:Generator_ColumnVarNameInTable="columncode" msprop:Generator_ColumnPropNameInTable="codeColumn" minOccurs="0"> + <xs:element name="code" msprop:Generator_UserColumnName="code" msprop:Generator_ColumnVarNameInTable="columncode" msprop:Generator_ColumnPropNameInRow="code" msprop:Generator_ColumnPropNameInTable="codeColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" minOccurs="0" /> - <xs:element name="dateCreated" msprop:Generator_UserColumnName="dateCreated" msprop:Generator_ColumnPropNameInRow="dateCreated" msprop:Generator_ColumnVarNameInTable="columndateCreated" msprop:Generator_ColumnPropNameInTable="dateCreatedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" minOccurs="0" /> + <xs:element name="dateCreated" msprop:Generator_UserColumnName="dateCreated" msprop:Generator_ColumnVarNameInTable="columndateCreated" msprop:Generator_ColumnPropNameInRow="dateCreated" msprop:Generator_ColumnPropNameInTable="dateCreatedColumn" type="xs:dateTime" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_rights" msprop:Generator_UserTableName="db_rights" msprop:Generator_RowDeletedName="db_rightsRowDeleted" msprop:Generator_RowChangedName="db_rightsRowChanged" msprop:Generator_RowClassName="db_rightsRow" msprop:Generator_RowChangingName="db_rightsRowChanging" msprop:Generator_RowEvArgName="db_rightsRowChangeEvent" msprop:Generator_RowEvHandlerName="db_rightsRowChangeEventHandler" msprop:Generator_TableClassName="db_rightsDataTable" msprop:Generator_TableVarName="tabledb_rights" msprop:Generator_RowDeletingName="db_rightsRowDeleting" msprop:Generator_TablePropName="db_rights"> <xs:complexType> <xs:sequence> - <xs:element name="rightsID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="rightsID" msprop:Generator_ColumnVarNameInTable="columnrightsID" msprop:Generator_ColumnPropNameInRow="rightsID" msprop:Generator_ColumnPropNameInTable="rightsIDColumn" type="xs:int" /> - <xs:element name="rightsName" msprop:Generator_UserColumnName="rightsName" msprop:Generator_ColumnVarNameInTable="columnrightsName" msprop:Generator_ColumnPropNameInRow="rightsName" msprop:Generator_ColumnPropNameInTable="rightsNameColumn" minOccurs="0"> + <xs:element name="rightsID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="rightsID" msprop:Generator_ColumnPropNameInRow="rightsID" msprop:Generator_ColumnVarNameInTable="columnrightsID" msprop:Generator_ColumnPropNameInTable="rightsIDColumn" type="xs:int" /> + <xs:element name="rightsName" msprop:Generator_UserColumnName="rightsName" msprop:Generator_ColumnPropNameInRow="rightsName" msprop:Generator_ColumnVarNameInTable="columnrightsName" msprop:Generator_ColumnPropNameInTable="rightsNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="rightDescription" msprop:Generator_UserColumnName="rightDescription" msprop:Generator_ColumnVarNameInTable="columnrightDescription" msprop:Generator_ColumnPropNameInRow="rightDescription" msprop:Generator_ColumnPropNameInTable="rightDescriptionColumn" minOccurs="0"> + <xs:element name="rightDescription" msprop:Generator_UserColumnName="rightDescription" msprop:Generator_ColumnPropNameInRow="rightDescription" msprop:Generator_ColumnVarNameInTable="columnrightDescription" msprop:Generator_ColumnPropNameInTable="rightDescriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> - <xs:element name="rightsDescription" msprop:Generator_UserColumnName="rightsDescription" msprop:Generator_ColumnVarNameInTable="columnrightsDescription" msprop:Generator_ColumnPropNameInRow="rightsDescription" msprop:Generator_ColumnPropNameInTable="rightsDescriptionColumn" minOccurs="0"> + <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> + <xs:element name="rightsDescription" msprop:Generator_UserColumnName="rightsDescription" msprop:Generator_ColumnPropNameInRow="rightsDescription" msprop:Generator_ColumnVarNameInTable="columnrightsDescription" msprop:Generator_ColumnPropNameInTable="rightsDescriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> @@ -1230,25 +1238,25 @@ <xs:element name="db_roleProductUser" msprop:Generator_UserTableName="db_roleProductUser" msprop:Generator_RowDeletedName="db_roleProductUserRowDeleted" msprop:Generator_RowChangedName="db_roleProductUserRowChanged" msprop:Generator_RowClassName="db_roleProductUserRow" msprop:Generator_RowChangingName="db_roleProductUserRowChanging" msprop:Generator_RowEvArgName="db_roleProductUserRowChangeEvent" msprop:Generator_RowEvHandlerName="db_roleProductUserRowChangeEventHandler" msprop:Generator_TableClassName="db_roleProductUserDataTable" msprop:Generator_TableVarName="tabledb_roleProductUser" msprop:Generator_RowDeletingName="db_roleProductUserRowDeleting" msprop:Generator_TablePropName="db_roleProductUser"> <xs:complexType> <xs:sequence> - <xs:element name="userID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="userID" msprop:Generator_ColumnPropNameInRow="userID" msprop:Generator_ColumnVarNameInTable="columnuserID" msprop:Generator_ColumnPropNameInTable="userIDColumn" type="xs:int" /> - <xs:element name="fullName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="fullName" msprop:Generator_ColumnPropNameInRow="fullName" msprop:Generator_ColumnVarNameInTable="columnfullName" msprop:Generator_ColumnPropNameInTable="fullNameColumn" minOccurs="0"> + <xs:element name="userID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="userID" msprop:Generator_ColumnVarNameInTable="columnuserID" msprop:Generator_ColumnPropNameInRow="userID" msprop:Generator_ColumnPropNameInTable="userIDColumn" type="xs:int" /> + <xs:element name="fullName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="fullName" msprop:Generator_ColumnVarNameInTable="columnfullName" msprop:Generator_ColumnPropNameInRow="fullName" msprop:Generator_ColumnPropNameInTable="fullNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="roleID" msprop:Generator_UserColumnName="roleID" msprop:Generator_ColumnPropNameInRow="roleID" msprop:Generator_ColumnVarNameInTable="columnroleID" msprop:Generator_ColumnPropNameInTable="roleIDColumn" type="xs:int" /> - <xs:element name="productID" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" /> - <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> + <xs:element name="roleID" msprop:Generator_UserColumnName="roleID" msprop:Generator_ColumnVarNameInTable="columnroleID" msprop:Generator_ColumnPropNameInRow="roleID" msprop:Generator_ColumnPropNameInTable="roleIDColumn" type="xs:int" /> + <xs:element name="productID" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" /> + <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_roleProduct" msprop:Generator_UserTableName="db_roleProduct" msprop:Generator_RowDeletedName="db_roleProductRowDeleted" msprop:Generator_RowChangedName="db_roleProductRowChanged" msprop:Generator_RowClassName="db_roleProductRow" msprop:Generator_RowC... [truncated message content] |
From: <ro...@us...> - 2006-08-08 18:40:01
|
Revision: 281 Author: rouquin Date: 2006-08-08 11:39:41 -0700 (Tue, 08 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=281&view=rev Log Message: ----------- Quite a bit of refactoring and a few bug fixes too. Modified Paths: -------------- Website/App_Code/Common.cs Website/App_Code/Products.cs Website/App_Code/Right.cs Website/App_Code/Versions.cs Website/App_Code/tcdbDataSet.xsd Website/App_Code/tcdbDataSet.xss Website/Includes/ActionItems.ascx Website/Includes/ActionItems.ascx.cs Website/Includes/AdministrationTree.ascx.cs Website/Includes/Assignments.ascx.cs Website/Includes/AssignmentsTree.ascx.cs Website/Includes/Authenticate.ascx.cs Website/Includes/FeaturesTree.ascx.cs Website/Includes/Notes.ascx Website/Includes/Products.ascx Website/Includes/Products.ascx.cs Website/Includes/Rights.ascx Website/Includes/Rights.ascx.cs Website/Includes/RoleAdmin.ascx.cs Website/Includes/Roles.ascx Website/Includes/Roles.ascx.cs Website/Includes/UserSettings.ascx.cs Modified: Website/App_Code/Common.cs =================================================================== --- Website/App_Code/Common.cs 2006-08-08 15:28:43 UTC (rev 280) +++ Website/App_Code/Common.cs 2006-08-08 18:39:41 UTC (rev 281) @@ -1125,7 +1125,7 @@ } else { - configAdapter.Insert(userID, name, value); + configAdapter.Insert(userID, name, value, "u"); } } } Modified: Website/App_Code/Products.cs =================================================================== --- Website/App_Code/Products.cs 2006-08-08 15:28:43 UTC (rev 280) +++ Website/App_Code/Products.cs 2006-08-08 18:39:41 UTC (rev 281) @@ -20,13 +20,18 @@ { public static Product GetProduct(int productID) { - return GetProduct(true, productID); + return GetProduct(true, productID, null); } - public static Product GetProduct(bool isActive, int productID) + public static Product GetProduct(String productname) { + return GetProduct(true, null, productname); + } + + public static Product GetProduct(Nullable<bool> isActive, Nullable<int> productID, String productName) + { tcdbDataSetTableAdapters.db_productsTableAdapter ta = new tcdbDataSetTableAdapters.db_productsTableAdapter(); - tcdbDataSet.db_productsDataTable pTable = ta.GetData(isActive, productID); + tcdbDataSet.db_productsDataTable pTable = ta.GetData(isActive, productID, productName); Product product = new Product(); if (pTable.Count > 0){ @@ -38,10 +43,10 @@ return product; } - public static List<Product> GetProductList(bool isActive) + public static List<Product> GetProductList(Nullable<bool> isActive) { tcdbDataSetTableAdapters.db_productsTableAdapter ta = new tcdbDataSetTableAdapters.db_productsTableAdapter(); - tcdbDataSet.db_productsDataTable pTable = ta.GetData(isActive, null); + tcdbDataSet.db_productsDataTable pTable = ta.GetData(isActive, null, null); List<Product> productList = new List<Product>(); foreach (tcdbDataSet.db_productsRow row in pTable) Modified: Website/App_Code/Right.cs =================================================================== --- Website/App_Code/Right.cs 2006-08-08 15:28:43 UTC (rev 280) +++ Website/App_Code/Right.cs 2006-08-08 18:39:41 UTC (rev 281) @@ -30,25 +30,20 @@ { private static ILog m_logg = LogManager.GetLogger("TCDB.Rights.RightDB"); - public static Right GetRightInfo(string name) + public static Right GetRightInfo(String code) { - tcdbDataSetTableAdapters.db_rightsTableAdapter rightsAdapter = new tcdbDataSetTableAdapters.db_rightsTableAdapter(); - tcdbDataSet.db_rightsDataTable rightsTable = rightsAdapter.GetData(null, name, null); - - if (rightsTable.Count > 0) - { - tcdbDataSet.db_rightsRow row = rightsTable[0]; - - return new Right(row.rightsID, row.rightsName, row.rightsDescription); - } - else - return new Right(); + return GetRightInfo(null, code, null, null); } public static Right GetRightInfo(int id) { + return GetRightInfo(id, null, null, null); + } + + public static Right GetRightInfo(Nullable<int> id, String name, String code, Nullable<bool> active) + { tcdbDataSetTableAdapters.db_rightsTableAdapter rightsAdapter = new tcdbDataSetTableAdapters.db_rightsTableAdapter(); - tcdbDataSet.db_rightsDataTable rightsTable = rightsAdapter.GetData(id, null, null); + tcdbDataSet.db_rightsDataTable rightsTable = rightsAdapter.GetData(id, code, name, active); if (rightsTable.Count > 0) { @@ -61,7 +56,7 @@ } catch { } - return new Right(row.rightsID, row.rightsName, description); + return new Right(row.rightsID, row.rightsName, row.rightsCode, description, row.active); } else return new Right(); @@ -107,12 +102,21 @@ public static List<Right> TCDB_GetRightList(Nullable<bool> active) { tcdbDataSetTableAdapters.db_rightsTableAdapter rightsAdapter = new tcdbDataSetTableAdapters.db_rightsTableAdapter(); - tcdbDataSet.db_rightsDataTable rightsTable = rightsAdapter.GetData(null, null, active); + tcdbDataSet.db_rightsDataTable rightsTable = rightsAdapter.GetData(null, null, null, active); List<Right> rightsList = new List<Right>(); foreach (tcdbDataSet.db_rightsRow row in rightsTable) - rightsList.Add(new Right(row.rightsID,row.rightsName,row.rightDescription)); + { + String description = ""; + try + { + description = row.rightsDescription; + } + catch { } + rightsList.Add(new Right(row.rightsID, row.rightsName, row.rightsCode, description, row.active)); + } + return rightsList; } @@ -137,7 +141,7 @@ { tcdbDataSet.db_userRightsRow row = userRightsTable[0]; - return new Right(row.rightsID, row.rightsName, row.rightDescription); + return GetRightInfo(row.rightsID); } else return null; @@ -171,7 +175,7 @@ tcdbDataSetTableAdapters.db_rightsTableAdapter rightsAdapter = new tcdbDataSetTableAdapters.db_rightsTableAdapter(); try { - rightsAdapter.Insert(right.NAME,right.DESCRIPTION); + rightsAdapter.Insert(right.CODE, right.NAME, right.DESCRIPTION); } catch (Exception e) { @@ -208,18 +212,22 @@ private int p_id; private string p_name; + private string p_code; private string p_description; + private bool p_active; public Right() { p_id = 0; p_name = ""; + p_code = ""; p_description = ""; + p_active = true; } - public Right(string name) + public Right(string code) { - BuildRight(RightDB.GetRightInfo(name)); + BuildRight(RightDB.GetRightInfo(code)); } public Right(int id) @@ -227,18 +235,22 @@ BuildRight(RightDB.GetRightInfo(id)); } - public Right(int id, string name, string description) + public Right(int id, string name, string code, string description, bool active) { p_id = id; p_name = name; + p_code = code; p_description = description; + p_active = active; } private void BuildRight(Right right) { p_id = right.ID; p_name = right.NAME; - p_description = right.DESCRIPTION; + p_code = right.CODE; + p_description = right.DESCRIPTION; + p_active = right.ACTIVE; } public int ID @@ -253,11 +265,23 @@ set { p_name = value.Trim(); } } + public string CODE + { + get { return p_code.Trim(); } + set { p_code = value.Trim(); } + } + public string DESCRIPTION { get { return p_description.Trim(); } set { p_description = value.Trim(); } } + + public bool ACTIVE + { + get { return p_active; } + set { p_active = value; } + } } /// <summary> Modified: Website/App_Code/Versions.cs =================================================================== --- Website/App_Code/Versions.cs 2006-08-08 15:28:43 UTC (rev 280) +++ Website/App_Code/Versions.cs 2006-08-08 18:39:41 UTC (rev 281) @@ -68,7 +68,7 @@ public Version(int versionID, int productID, string number, string code, bool active, DateTime dateCreated) { p_versionid = versionID; - p_product = ProductDB.GetProduct(true,productID); + p_product = ProductDB.GetProduct(true,productID,null); p_number = number; p_code = code; p_active = active; @@ -78,7 +78,7 @@ public Version(tcdbDataSet.db_versionRow row) { p_versionid = row.versionID; - p_product = ProductDB.GetProduct(true, row.productID); + p_product = ProductDB.GetProduct(true, row.productID, null); p_number = row.number; p_code = row.code; p_active = row.active; Modified: Website/App_Code/tcdbDataSet.xsd =================================================================== --- Website/App_Code/tcdbDataSet.xsd 2006-08-08 15:28:43 UTC (rev 280) +++ Website/App_Code/tcdbDataSet.xsd 2006-08-08 18:39:41 UTC (rev 281) @@ -48,6 +48,8 @@ </Parameter> <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@productID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@productName" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> </Parameters> </DbCommand> </SelectCommand> @@ -266,6 +268,7 @@ <Mapping SourceColumn="dateCreated" DataSetColumn="dateCreated" /> <Mapping SourceColumn="noteField" DataSetColumn="noteField" /> <Mapping SourceColumn="noteAuthor" DataSetColumn="noteAuthor" /> + <Mapping SourceColumn="noteAuthorName" DataSetColumn="noteAuthorName" /> </Mappings> <Sources> </Sources> @@ -358,77 +361,6 @@ <Sources> </Sources> </TableAdapter> - <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="db_configTableAdapter" GeneratorDataComponentClassName="db_configTableAdapter" Name="db_config" UserDataComponentName="db_configTableAdapter"> - <MainSource> - <DbSource ConnectionRef="tcdbConnectionString (Web.config)" DbObjectName="tcdb.dbo.sel_config" DbObjectType="StoredProcedure" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="True" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="False" UserGetMethodName="GetData" UserSourceName="Fill"> - <DeleteCommand> - <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> - <CommandText>dbo.del_config</CommandText> - <Parameters> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@configID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumn="configID" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - </Parameters> - </DbCommand> - </DeleteCommand> - <InsertCommand> - <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> - <CommandText>dbo.ins_config</CommandText> - <Parameters> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@userID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumn="userID" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@name" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumn="name" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@value" Precision="0" ProviderType="Text" Scale="0" Size="2147483647" SourceColumn="value" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - </Parameters> - </DbCommand> - </InsertCommand> - <SelectCommand> - <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> - <CommandText>dbo.sel_config</CommandText> - <Parameters> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@userID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@name" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - </Parameters> - </DbCommand> - </SelectCommand> - <UpdateCommand> - <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> - <CommandText>dbo.upd_config</CommandText> - <Parameters> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@configID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumn="configID" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@userID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumn="userID" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@name" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumn="name" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@value" Precision="0" ProviderType="Text" Scale="0" Size="2147483647" SourceColumn="value" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - </Parameters> - </DbCommand> - </UpdateCommand> - </DbSource> - </MainSource> - <Mappings> - <Mapping SourceColumn="configID" DataSetColumn="configID" /> - <Mapping SourceColumn="userID" DataSetColumn="userID" /> - <Mapping SourceColumn="name" DataSetColumn="name" /> - <Mapping SourceColumn="value" DataSetColumn="value" /> - <Mapping SourceColumn="description" DataSetColumn="description" /> - </Mappings> - <Sources> - </Sources> - </TableAdapter> <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="db_versionTableAdapter" GeneratorDataComponentClassName="db_versionTableAdapter" Name="db_version" UserDataComponentName="db_versionTableAdapter"> <MainSource> <DbSource ConnectionRef="tcdbConnectionString (Web.config)" DbObjectName="tcdb.dbo.sel_version" DbObjectType="StoredProcedure" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="True" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="False" UserGetMethodName="GetData" UserSourceName="Fill"> @@ -501,6 +433,8 @@ <Parameters> <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@rightsCode" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumn="rightsCode" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@rightsName" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumn="rightsName" SourceColumnNullMapping="False" SourceVersion="Current"> </Parameter> <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@rightsDescription" Precision="0" ProviderType="Text" Scale="0" Size="2147483647" SourceColumn="rightsDescription" SourceColumnNullMapping="False" SourceVersion="Current"> @@ -516,6 +450,8 @@ </Parameter> <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@rightsID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@rightsCode" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@rightsName" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumnNullMapping="False" SourceVersion="Current"> </Parameter> <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@active" Precision="1" ProviderType="Bit" Scale="0" Size="1" SourceColumnNullMapping="False" SourceVersion="Current"> @@ -531,6 +467,8 @@ </Parameter> <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@rightsID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumn="rightsID" SourceColumnNullMapping="False" SourceVersion="Current"> </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@rightsCode" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumn="rightsCode" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@rightsName" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumn="rightsName" SourceColumnNullMapping="False" SourceVersion="Current"> </Parameter> <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@rightsDescription" Precision="0" ProviderType="Text" Scale="0" Size="2147483647" SourceColumn="rightsDescription" SourceColumnNullMapping="False" SourceVersion="Current"> @@ -548,6 +486,7 @@ <Mapping SourceColumn="rightDescription" DataSetColumn="rightDescription" /> <Mapping SourceColumn="active" DataSetColumn="active" /> <Mapping SourceColumn="rightsDescription" DataSetColumn="rightsDescription" /> + <Mapping SourceColumn="rightsCode" DataSetColumn="rightsCode" /> </Mappings> <Sources> </Sources> @@ -696,6 +635,7 @@ <Mapping SourceColumn="rightsID" DataSetColumn="rightsID" /> <Mapping SourceColumn="rightName" DataSetColumn="rightName" /> <Mapping SourceColumn="active" DataSetColumn="active" /> + <Mapping SourceColumn="rightCode" DataSetColumn="rightCode" /> </Mappings> <Sources> <DbSource ConnectionRef="tcdbConnectionString (Web.config)" DbObjectName="tcdb.dbo.del_roleRight" DbObjectType="StoredProcedure" GenerateShortCommands="True" GeneratorSourceName="DeleteRoleRights" Modifier="Public" Name="DeleteRoleRights" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="True" UserGetMethodName="GetDataBy" UserSourceName="DeleteRoleRights"> @@ -937,6 +877,79 @@ <Sources> </Sources> </TableAdapter> + <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="db_configTableAdapter" GeneratorDataComponentClassName="db_configTableAdapter" Name="db_config" UserDataComponentName="db_configTableAdapter"> + <MainSource> + <DbSource ConnectionRef="tcdbConnectionString (Web.config)" DbObjectName="tcdb.dbo.sel_config" DbObjectType="StoredProcedure" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="True" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="False" UserGetMethodName="GetData" UserSourceName="Fill"> + <DeleteCommand> + <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> + <CommandText>dbo.del_config</CommandText> + <Parameters> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@configID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumn="configID" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + </Parameters> + </DbCommand> + </DeleteCommand> + <InsertCommand> + <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> + <CommandText>dbo.ins_config</CommandText> + <Parameters> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@userID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumn="userID" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@name" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumn="name" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@value" Precision="0" ProviderType="Text" Scale="0" Size="2147483647" SourceColumn="value" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@configLevel" Precision="0" ProviderType="VarChar" Scale="0" Size="1" SourceColumn="configLevel" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + </Parameters> + </DbCommand> + </InsertCommand> + <SelectCommand> + <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> + <CommandText>dbo.sel_config</CommandText> + <Parameters> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@userID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@name" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + </Parameters> + </DbCommand> + </SelectCommand> + <UpdateCommand> + <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> + <CommandText>dbo.upd_config</CommandText> + <Parameters> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@configID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumn="configID" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@userID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumn="userID" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@name" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumn="name" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@value" Precision="0" ProviderType="Text" Scale="0" Size="2147483647" SourceColumn="value" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + </Parameters> + </DbCommand> + </UpdateCommand> + </DbSource> + </MainSource> + <Mappings> + <Mapping SourceColumn="configID" DataSetColumn="configID" /> + <Mapping SourceColumn="userID" DataSetColumn="userID" /> + <Mapping SourceColumn="name" DataSetColumn="name" /> + <Mapping SourceColumn="value" DataSetColumn="value" /> + <Mapping SourceColumn="configLevel" DataSetColumn="configLevel" /> + </Mappings> + <Sources> + </Sources> + </TableAdapter> </Tables> <Sources> </Sources> @@ -1073,6 +1086,13 @@ </xs:simpleType> </xs:element> <xs:element name="noteAuthor" msprop:Generator_UserColumnName="noteAuthor" msprop:Generator_ColumnPropNameInRow="noteAuthor" msprop:Generator_ColumnVarNameInTable="columnnoteAuthor" msprop:Generator_ColumnPropNameInTable="noteAuthorColumn" type="xs:int" minOccurs="0" /> + <xs:element name="noteAuthorName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="noteAuthorName" msprop:Generator_ColumnVarNameInTable="columnnoteAuthorName" msprop:Generator_ColumnPropNameInRow="noteAuthorName" msprop:Generator_ColumnPropNameInTable="noteAuthorNameColumn" minOccurs="0"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:maxLength value="49" /> + </xs:restriction> + </xs:simpleType> + </xs:element> </xs:sequence> </xs:complexType> </xs:element> @@ -1153,35 +1173,6 @@ </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="db_config" msprop:Generator_UserTableName="db_config" msprop:Generator_RowDeletedName="db_configRowDeleted" msprop:Generator_RowChangedName="db_configRowChanged" msprop:Generator_RowClassName="db_configRow" msprop:Generator_RowChangingName="db_configRowChanging" msprop:Generator_RowEvArgName="db_configRowChangeEvent" msprop:Generator_RowEvHandlerName="db_configRowChangeEventHandler" msprop:Generator_TableClassName="db_configDataTable" msprop:Generator_TableVarName="tabledb_config" msprop:Generator_RowDeletingName="db_configRowDeleting" msprop:Generator_TablePropName="db_config"> - <xs:complexType> - <xs:sequence> - <xs:element name="configID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="configID" msprop:Generator_ColumnVarNameInTable="columnconfigID" msprop:Generator_ColumnPropNameInRow="configID" msprop:Generator_ColumnPropNameInTable="configIDColumn" type="xs:int" /> - <xs:element name="userID" msprop:Generator_UserColumnName="userID" msprop:Generator_ColumnVarNameInTable="columnuserID" msprop:Generator_ColumnPropNameInRow="userID" msprop:Generator_ColumnPropNameInTable="userIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> - <xs:simpleType> - <xs:restriction base="xs:string"> - <xs:maxLength value="255" /> - </xs:restriction> - </xs:simpleType> - </xs:element> - <xs:element name="value" msprop:Generator_UserColumnName="value" msprop:Generator_ColumnVarNameInTable="columnvalue" msprop:Generator_ColumnPropNameInRow="value" msprop:Generator_ColumnPropNameInTable="valueColumn" minOccurs="0"> - <xs:simpleType> - <xs:restriction base="xs:string"> - <xs:maxLength value="2147483647" /> - </xs:restriction> - </xs:simpleType> - </xs:element> - <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> - <xs:simpleType> - <xs:restriction base="xs:string"> - <xs:maxLength value="2147483647" /> - </xs:restriction> - </xs:simpleType> - </xs:element> - </xs:sequence> - </xs:complexType> - </xs:element> <xs:element name="db_version" msprop:Generator_UserTableName="db_version" msprop:Generator_RowDeletedName="db_versionRowDeleted" msprop:Generator_RowChangedName="db_versionRowChanged" msprop:Generator_RowClassName="db_versionRow" msprop:Generator_RowChangingName="db_versionRowChanging" msprop:Generator_RowEvArgName="db_versionRowChangeEvent" msprop:Generator_RowEvHandlerName="db_versionRowChangeEventHandler" msprop:Generator_TableClassName="db_versionDataTable" msprop:Generator_TableVarName="tabledb_version" msprop:Generator_RowDeletingName="db_versionRowDeleting" msprop:Generator_TablePropName="db_version"> <xs:complexType> <xs:sequence> @@ -1232,6 +1223,13 @@ </xs:restriction> </xs:simpleType> </xs:element> + <xs:element name="rightsCode" msprop:Generator_UserColumnName="rightsCode" msprop:Generator_ColumnPropNameInRow="rightsCode" msprop:Generator_ColumnVarNameInTable="columnrightsCode" msprop:Generator_ColumnPropNameInTable="rightsCodeColumn" minOccurs="0"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:maxLength value="255" /> + </xs:restriction> + </xs:simpleType> + </xs:element> </xs:sequence> </xs:complexType> </xs:element> @@ -1302,6 +1300,13 @@ </xs:simpleType> </xs:element> <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> + <xs:element name="rightCode" msprop:Generator_UserColumnName="rightCode" msprop:Generator_ColumnPropNameInRow="rightCode" msprop:Generator_ColumnVarNameInTable="columnrightCode" msprop:Generator_ColumnPropNameInTable="rightCodeColumn" minOccurs="0"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:maxLength value="255" /> + </xs:restriction> + </xs:simpleType> + </xs:element> </xs:sequence> </xs:complexType> </xs:element> @@ -1444,6 +1449,35 @@ </xs:sequence> </xs:complexType> </xs:element> + <xs:element name="db_config" msprop:Generator_UserTableName="db_config" msprop:Generator_RowDeletedName="db_configRowDeleted" msprop:Generator_TableClassName="db_configDataTable" msprop:Generator_RowChangedName="db_configRowChanged" msprop:Generator_RowClassName="db_configRow" msprop:Generator_RowChangingName="db_configRowChanging" msprop:Generator_RowEvArgName="db_configRowChangeEvent" msprop:Generator_RowEvHandlerName="db_configRowChangeEventHandler" msprop:Generator_TablePropName="db_config" msprop:Generator_TableVarName="tabledb_config" msprop:Generator_RowDeletingName="db_configRowDeleting"> + <xs:complexType> + <xs:sequence> + <xs:element name="configID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="configID" msprop:Generator_ColumnPropNameInRow="configID" msprop:Generator_ColumnVarNameInTable="columnconfigID" msprop:Generator_ColumnPropNameInTable="configIDColumn" type="xs:int" /> + <xs:element name="userID" msprop:Generator_UserColumnName="userID" msprop:Generator_ColumnPropNameInRow="userID" msprop:Generator_ColumnVarNameInTable="columnuserID" msprop:Generator_ColumnPropNameInTable="userIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:maxLength value="255" /> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element name="value" msprop:Generator_UserColumnName="value" msprop:Generator_ColumnPropNameInRow="value" msprop:Generator_ColumnVarNameInTable="columnvalue" msprop:Generator_ColumnPropNameInTable="valueColumn" minOccurs="0"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:maxLength value="2147483647" /> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element name="configLevel" msprop:Generator_UserColumnName="configLevel" msprop:Generator_ColumnPropNameInRow="configLevel" msprop:Generator_ColumnVarNameInTable="columnconfigLevel" msprop:Generator_ColumnPropNameInTable="configLevelColumn" minOccurs="0"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:maxLength value="1" /> + </xs:restriction> + </xs:simpleType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> </xs:choice> </xs:complexType> <xs:unique name="Constraint1" msdata:PrimaryKey="true"> Modified: Website/App_Code/tcdbDataSet.xss =================================================================== --- Website/App_Code/tcdbDataSet.xss 2006-08-08 15:28:43 UTC (rev 280) +++ Website/App_Code/tcdbDataSet.xss 2006-08-08 18:39:41 UTC (rev 281) @@ -4,25 +4,25 @@ Changes to this file may cause incorrect behavior and will be lost if the code is regenerated. </autogenerated>--> -<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="23" ViewPortY="-10" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout"> +<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="-10" ViewPortY="286" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout"> <Shapes> <Shape ID="DesignTable:db_products" ZOrder="17" X="28" Y="453" Height="241" Width="213" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="194" /> <Shape ID="DesignTable:db_actionItems" ZOrder="16" X="619" Y="9" Height="292" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="228" SplitterPosition="228" /> <Shape ID="DesignTable:db_status" ZOrder="15" X="272" Y="369" Height="122" Width="296" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="75" /> - <Shape ID="DesignTable:db_notes" ZOrder="14" X="309" Y="56" Height="139" Width="208" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="92" /> + <Shape ID="DesignTable:db_notes" ZOrder="14" X="309" Y="11" Height="156" Width="208" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="109" /> <Shape ID="DesignTable:db_assignments" ZOrder="13" X="636" Y="368" Height="275" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="228" /> <Shape ID="DesignTable:db_testPass" ZOrder="12" X="25" Y="317" Height="122" Width="211" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="75" /> - <Shape ID="DesignTable:db_config" ZOrder="11" X="382" Y="203" Height="156" Width="198" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="109" /> - <Shape ID="DesignTable:db_version" ZOrder="10" X="268" Y="539" Height="173" Width="216" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="126" /> - <Shape ID="DesignTable:db_rights" ZOrder="9" X="599" Y="657" Height="156" Width="260" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="109" /> - <Shape ID="DesignTable:db_roleProductUser" ZOrder="8" X="903" Y="671" Height="156" Width="255" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="109" /> - <Shape ID="DesignTable:db_roleProduct" ZOrder="7" X="904" Y="843" Height="105" Width="231" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="58" /> - <Shape ID="DesignTable:db_roleUserProduct" ZOrder="6" X="593" Y="838" Height="190" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="109" /> - <Shape ID="DesignTable:db_roleRight" ZOrder="5" X="61" Y="768" Height="173" Width="216" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="92" /> - <Shape ID="DesignTable:db_userRights" ZOrder="4" X="938" Y="13" Height="190" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="143" /> - <Shape ID="DesignTable:db_rightRole" ZOrder="3" X="272" Y="942" Height="139" Width="217" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="92" /> - <Shape ID="DesignTable:db_role" ZOrder="2" X="306" Y="769" Height="139" Width="242" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="92" /> - <Shape ID="DesignTable:db_users" ZOrder="1" X="54" Y="33" Height="241" Width="201" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="194" /> + <Shape ID="DesignTable:db_version" ZOrder="11" X="268" Y="539" Height="173" Width="216" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="126" /> + <Shape ID="DesignTable:db_rights" ZOrder="10" X="599" Y="657" Height="173" Width="260" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="126" /> + <Shape ID="DesignTable:db_roleProductUser" ZOrder="9" X="903" Y="671" Height="156" Width="255" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="109" /> + <Shape ID="DesignTable:db_roleProduct" ZOrder="8" X="904" Y="843" Height="105" Width="231" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="58" /> + <Shape ID="DesignTable:db_roleUserProduct" ZOrder="7" X="593" Y="838" Height="190" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="109" /> + <Shape ID="DesignTable:db_roleRight" ZOrder="6" X="38" Y="760" Height="190" Width="216" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="109" /> + <Shape ID="DesignTable:db_userRights" ZOrder="5" X="938" Y="13" Height="190" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="143" /> + <Shape ID="DesignTable:db_rightRole" ZOrder="4" X="272" Y="942" Height="139" Width="217" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="92" /> + <Shape ID="DesignTable:db_role" ZOrder="3" X="306" Y="769" Height="139" Width="242" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="92" /> + <Shape ID="DesignTable:db_users" ZOrder="2" X="54" Y="33" Height="241" Width="201" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="194" /> + <Shape ID="DesignTable:db_config" ZOrder="1" X="311" Y="178" Height="156" Width="200" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="109" /> </Shapes> <Connectors /> </DiagramLayout> \ No newline at end of file Modified: Website/Includes/ActionItems.ascx =================================================================== --- Website/Includes/ActionItems.ascx 2006-08-08 15:28:43 UTC (rev 280) +++ Website/Includes/ActionItems.ascx 2006-08-08 18:39:41 UTC (rev 281) @@ -171,7 +171,7 @@ Due:</label><div class="calendar"> <ew:CalendarPopup ID="dateDue" runat="server" PopupLocation="Left" ShowGoToToday="True" ControlDisplay="LabelImage" ImageUrl="../App_Themes/Python/Images/calendar.gif" - SelectedDate='<%# Bind("dateDue") %>' UpperBoundDate="12/31/9999 23:59:59" VisibleDate="2006-07-21"> + SelectedDate='<%# Bind("dateDue") %>' UpperBoundDate="12/31/9999 23:59:59"> </ew:CalendarPopup> </div> </div> Modified: Website/Includes/ActionItems.ascx.cs =================================================================== --- Website/Includes/ActionItems.ascx.cs 2006-08-08 15:28:43 UTC (rev 280) +++ Website/Includes/ActionItems.ascx.cs 2006-08-08 18:39:41 UTC (rev 281) @@ -14,6 +14,7 @@ using TCDB.Assignments; using TCDB.Common; using TCDB.Users; +using TCDB.Products; using eWorld.UI; using log4net; @@ -103,11 +104,13 @@ if (dateFinished.SelectedValue != null) { + dateFinished.ClearDateText = "Clear Date"; statusList.SelectedValue = statusList.Items.FindByText("Completed").Value; percentList.SelectedValue = "100"; } else { + dateFinished.ClearDateText = ""; if (statusList.SelectedItem.Text == "Completed") statusList.SelectedValue = statusList.Items.FindByText("Active").Value; if (percentList.SelectedValue == "100") @@ -151,6 +154,7 @@ if (dateFinished.SelectedValue == null) dateFinished.SelectedValue = DateTime.Today; + dateFinished.ClearDateText = "Clear Date"; } } else { @@ -170,6 +174,7 @@ CalendarPopup dateFinished = (CalendarPopup)ActionItemsView.FindControl("dateFinished"); dateFinished.Clear(); dateFinished.PostedDate = ""; + dateFinished.ClearDateText = ""; } } if (ActionItemsView.CurrentMode == FormViewMode.ReadOnly) @@ -207,6 +212,7 @@ CalendarPopup dateFinished = (CalendarPopup)ActionItemsView.FindControl("dateFinished"); dateFinished.SelectedValue = DateTime.Today; + dateFinished.ClearDateText = "Clear Date"; } } else @@ -227,6 +233,7 @@ CalendarPopup dateFinished = (CalendarPopup)ActionItemsView.FindControl("dateFinished"); dateFinished.Clear(); dateFinished.PostedDate = ""; + dateFinished.ClearDateText = ""; } } @@ -263,6 +270,7 @@ createdBy.ToolTip = m_user.ID.ToString(); dateAssigned.Text = DateTime.Today.ToShortDateString(); dateDue.SelectedDate = DateTime.Today; + dateDue.VisibleDate = dateDue.SelectedDate; assignedTo.SelectedValue = m_user.ID.ToString(); status.SelectedIndex = 0; percent.SelectedIndex = 0; @@ -278,17 +286,21 @@ Page.Title = "TCDB: " + data["name"].ToString(); if (ActionItemsView.CurrentMode == FormViewMode.Edit) { - CalendarPopup cal = (CalendarPopup)ActionItemsView.FindControl("dateFinished"); - String date = data["dateFinished"].ToString(); + CalendarPopup dateDue = (CalendarPopup)ActionItemsView.FindControl("dateDue"); + CalendarPopup dateFinished = (CalendarPopup)ActionItemsView.FindControl("dateFinished"); - if (date == "") + if (data["dateFinished"].ToString() == "") { - cal.SelectedValue = null; - cal.ClearDateText = " "; - cal.Clear(); + dateFinished.SelectedValue = null; + dateFinished.ClearDateText = " "; + dateFinished.Clear(); } else - cal.SelectedValue = (Nullable<DateTime>)data["dateFinished"]; + { + dateFinished.SelectedValue = (Nullable<DateTime>)data["dateFinished"]; + dateFinished.VisibleDate = dateFinished.SelectedDate; + } + dateDue.VisibleDate = dateDue.SelectedDate; } else { @@ -420,16 +432,15 @@ { assignedTo.Enabled = true; - tcdbDataSetTableAdapters.db_productsTableAdapter pAdapter = new tcdbDataSetTableAdapters.db_productsTableAdapter(); - tcdbDataSet.db_productsDataTable pTable = pAdapter.GetData(true, null); + List<Product> products = ProductDB.GetProductList(true); tcdbDataSetTableAdapters.db_roleProductUserTableAdapter rpuAdapter = new tcdbDataSetTableAdapters.db_roleProductUserTableAdapter(); - foreach (tcdbDataSet.db_productsRow pRow in pTable) + foreach (Product product in products) { - if ((ActionItemsView.CurrentMode == FormViewMode.Insert && m_user.HasRight("create_other_ai", pRow.productID)) || - (ActionItemsView.CurrentMode == FormViewMode.Edit && m_user.HasRight("reassign_other_ai", ai.CREATOR, pRow.productID))) + if ((ActionItemsView.CurrentMode == FormViewMode.Insert && m_user.HasRight("create_other_ai", product.ID)) || + (ActionItemsView.CurrentMode == FormViewMode.Edit && m_user.HasRight("reassign_other_ai", ai.CREATOR, product.ID))) { - tcdbDataSet.db_roleProductUserDataTable rpuTable = rpuAdapter.GetData(null, pRow.productID, true); + tcdbDataSet.db_roleProductUserDataTable rpuTable = rpuAdapter.GetData(null, product.ID, true); int lastID = -1; foreach (tcdbDataSet.db_roleProductUserRow rpuRow in rpuTable) Modified: Website/Includes/AdministrationTree.ascx.cs =================================================================== --- Website/Includes/AdministrationTree.ascx.cs 2006-08-08 15:28:43 UTC (rev 280) +++ Website/Includes/AdministrationTree.ascx.cs 2006-08-08 18:39:41 UTC (rev 281) @@ -11,6 +11,8 @@ using TCDB.Assignments; using TCDB.Common; using TCDB.Users; +using TCDB.Products; +using TCDB.Rights; using log4net; using System.Collections; @@ -49,35 +51,31 @@ protected void BuildProductList(TreeNode parent) { ArrayList nodes = (ArrayList)Session["AdminNodes"]; - tcdbDataSetTableAdapters.db_productsTableAdapter productAdapter = new tcdbDataSetTableAdapters.db_productsTableAdapter(); - tcdbDataSet.db_productsDataTable productTable = productAdapter.GetData(active, null); - - if (productTable.Count > 0) + List<Product> products = ProductDB.GetProductList(active); + + foreach (Product product in products) { - foreach (tcdbDataSet.db_productsRow row in productTable) + if (m_user.HasRight("view_product", product.ID)) { - if (m_user.HasRight("view_product", row.productID)) - { - // Create the new node. - TreeNode newNode = new TreeNode(); - newNode.Text = "<product>" + row.name + "</product>"; - newNode.Value = row.productID.ToString(); + // Create the new node. + TreeNode newNode = new TreeNode(); + newNode.Text = "<product>" + product.NAME + "</product>"; + newNode.Value = product.ID.ToString(); - // Set the PopulateOnDemand property to true so that the child nodes can be - // dynamically populated. - newNode.PopulateOnDemand = true; + // Set the PopulateOnDemand property to true so that the child nodes can be + // dynamically populated. + newNode.PopulateOnDemand = true; - // Set additional properties for the node. - newNode.SelectAction = TreeNodeSelectAction.Expand; - newNode.NavigateUrl = "~/Product.aspx?" + Constants.CODE_PRODUCT + "=" + newNode.Value; - if (!row.active) - newNode.Text = "<font class='deleted'>" + newNode.Text + "</font>"; + // Set additional properties for the node. + newNode.SelectAction = TreeNodeSelectAction.Expand; + newNode.NavigateUrl = "~/Product.aspx?" + Constants.CODE_PRODUCT + "=" + newNode.Value; + if (!product.ACTIVE) + newNode.Text = "<font class='deleted'>" + newNode.Text + "</font>"; - // Add the new node to the ChildNodes collection of the parent node. - parent.ChildNodes.Add(newNode); - if (nodes.Contains(newNode.ValuePath)) - newNode.Expand(); - } + // Add the new node to the ChildNodes collection of the parent node. + parent.ChildNodes.Add(newNode); + if (nodes.Contains(newNode.ValuePath)) + newNode.Expand(); } } } @@ -457,16 +455,15 @@ } protected void BuildAllRightsList(TreeNode parent) { - tcdbDataSetTableAdapters.db_rightsTableAdapter rAdapter = new tcdbDataSetTableAdapters.db_rightsTableAdapter(); - tcdbDataSet.db_rightsDataTable rTable = rAdapter.GetData(null, null, active); + List<Right> rights = RightDB.TCDB_GetRightList(active); - foreach (tcdbDataSet.db_rightsRow row in rTable) + foreach (Right right in rights) { TreeNode child = new TreeNode(); - child.Text = row.rightsName; - child.Value = row.rightsID.ToString(); + child.Text = right.NAME; + child.Value = right.ID.ToString(); child.NavigateUrl = "~/Right.aspx?" + Constants.CODE_RIGHT + "=" + child.Value; - if (!row.active) + if (!right.ACTIVE) child.Text = "<font class='deleted'>" + child.Text + "</font>"; parent.ChildNodes.Add(child); Modified: Website/Includes/Assignments.ascx.cs =================================================================== --- Website/Includes/Assignments.ascx.cs 2006-08-08 15:28:43 UTC (rev 280) +++ Website/Includes/Assignments.ascx.cs 2006-08-08 18:39:41 UTC (rev 281) @@ -43,7 +43,7 @@ if (m_user.HasRight("view_other_ai", productID) || m_user.HasRight("view_created_ai", productID) || m_user.HasRight("view_other_wo", productID) || m_user.HasRight("view_created_wo", productID)) { - Product product = ProductDB.GetProduct(true, Convert.ToInt32(productID)); + Product product = ProductDB.GetProduct(true, Convert.ToInt32(productID), null); if (product != null) { Modified: Website/Includes/AssignmentsTree.ascx.cs =============================================... [truncated message content] |
From: <ro...@us...> - 2006-08-08 19:12:13
|
Revision: 282 Author: rouquin Date: 2006-08-08 12:11:55 -0700 (Tue, 08 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=282&view=rev Log Message: ----------- Fixed some more bugs. Remove delete button if active box is available. Product page schema update. Modified Paths: -------------- Website/Includes/ActionItems.ascx Website/Includes/ActionItems.ascx.cs Website/Includes/Products.ascx Website/Includes/Products.ascx.cs Website/Includes/Rights.ascx Website/Includes/Rights.ascx.cs Website/Includes/RoleAdmin.ascx.cs Website/Includes/Roles.ascx.cs Modified: Website/Includes/ActionItems.ascx =================================================================== --- Website/Includes/ActionItems.ascx 2006-08-08 18:39:41 UTC (rev 281) +++ Website/Includes/ActionItems.ascx 2006-08-08 19:11:55 UTC (rev 282) @@ -70,8 +70,8 @@ <asp:Label ID="nameLbl" runat="server" Text='<%# Eval("name") %>' ToolTip='<%# Eval("name") %>'></asp:Label></h2> </div> <div class="bottom"> - <asp:Label ID="tpLbl" runat="server" Visible="false">Test Pass:</asp:Label><asp:Label ID="testPassLbl" - runat="server" Text='<%# Eval("testPass") %>' Visible="false"></asp:Label> + <asp:Label ID="tpLbl" runat="server" Visible="false">Test Pass:</asp:Label><asp:Label + ID="testPassLbl" runat="server" Text='<%# Eval("testPass") %>' Visible="false"></asp:Label> </div> </div> <div class="right"> @@ -104,8 +104,9 @@ <div class="left"> <div class="bottom"> <asp:LinkButton ID="NewButton" runat="server" CausesValidation="False" CommandName="New" - Text="New" OnInit="NewButton_Init" /> | <asp:LinkButton ID="EditButton" - runat="server" CausesValidation="False" CommandName="Edit" Text="Edit" OnInit="EditButton_Init" /> | <asp:LinkButton + Text="New" OnInit="NewButton_Init" /><asp:Label ID="newLbl" runat="server"> | </asp:Label><asp:LinkButton + ID="EditButton" runat="server" CausesValidation="False" CommandName="Edit" Text="Edit" + OnInit="EditButton_Init" /><asp:Label ID="deleteLbl" runat="server"> | </asp:Label><asp:LinkButton ID="DeleteButton" runat="server" CausesValidation="False" CommandName="deleteItem" Text="Delete" OnCommand="deleteItem" OnInit="DeleteButton_Init" /> </div> @@ -255,7 +256,8 @@ <asp:Label ID="tpLbl" runat="server" Visible="false"> Test Pass:</asp:Label> <asp:DropDownList ID="testPassList" runat="server" AppendDataBoundItems="True" DataSourceID="TestPassDataSource" - DataTextField="name" DataValueField="testPassID" SelectedValue='<%# Bind("testPassID") %>' Visible="false"> + DataTextField="name" DataValueField="testPassID" SelectedValue='<%# Bind("testPassID") %>' + Visible="false"> <asp:ListItem Value="0" Selected="True"><none></asp:ListItem> </asp:DropDownList></div> </div> Modified: Website/Includes/ActionItems.ascx.cs =================================================================== --- Website/Includes/ActionItems.ascx.cs 2006-08-08 18:39:41 UTC (rev 281) +++ Website/Includes/ActionItems.ascx.cs 2006-08-08 19:11:55 UTC (rev 282) @@ -389,10 +389,14 @@ protected void NewButton_Init(object sender, EventArgs e) { LinkButton newBtn = (LinkButton)sender; + Label newLbl = (Label)ActionItemsView.FindControl("newLbl"); - if (ai != null && + if (ai != null && !m_user.HasRight("create_my_ai", Constants.PRODUCT_ANYID) && !m_user.HasRight("create_other_ai", Constants.PRODUCT_ANYID)) + { newBtn.Visible = false; + newLbl.Visible = false; + } } protected void EditButton_Init(object sender, EventArgs e) { @@ -407,12 +411,17 @@ protected void DeleteButton_Init(object sender, EventArgs e) { LinkButton deleteBtn = (LinkButton)sender; + Label deleteLbl = (Label)ActionItemsView.FindControl("deleteLbl"); + Label deletedLbl = (Label)ActionItemsView.FindControl("deletedLbl"); - if (ai != null && + if (deletedLbl.Visible || (ai != null && !m_user.HasRight("delete_other_ai", productID) && !(ai.ASSIGNED.ID == m_user.ID && m_user.HasRight("delete_my_ai", productID)) && - !(ai.CREATOR.ID == m_user.ID && m_user.HasRight("delete_created_ai", productID))) + !(ai.CREATOR.ID == m_user.ID && m_user.HasRight("delete_created_ai", productID)))) + { deleteBtn.Visible = false; + deleteLbl.Visible = false; + } } protected void assignedTo_Init(object sender, EventArgs e) { Modified: Website/Includes/Products.ascx =================================================================== --- Website/Includes/Products.ascx 2006-08-08 18:39:41 UTC (rev 281) +++ Website/Includes/Products.ascx 2006-08-08 19:11:55 UTC (rev 282) @@ -211,7 +211,7 @@ </FooterTemplate> </asp:FormView> <asp:ObjectDataSource ID="ProductData" runat="server" InsertMethod="Insert" SelectMethod="GetData" - TypeName="tcdbDataSetTableAdapters.db_productsTableAdapter" UpdateMethod="Update"> + TypeName="tcdbDataSetTableAdapters.db_productsTableAdapter" UpdateMethod="Update" OldValuesParameterFormatString="original_{0}"> <UpdateParameters> <asp:Parameter Name="productID" Type="Int32" /> <asp:Parameter Name="name" Type="String" /> @@ -227,6 +227,7 @@ <SelectParameters> <asp:SessionParameter DefaultValue="" Name="active" SessionField="active" Type="Boolean" /> <asp:SessionParameter Name="productID" SessionField="productID" Type="Int32" /> + <asp:Parameter Name="productName" Type="String" /> </SelectParameters> <InsertParameters> <asp:Parameter Name="name" Type="String" /> Modified: Website/Includes/Products.ascx.cs =================================================================== --- Website/Includes/Products.ascx.cs 2006-08-08 18:39:41 UTC (rev 281) +++ Website/Includes/Products.ascx.cs 2006-08-08 19:11:55 UTC (rev 282) @@ -182,8 +182,9 @@ { LinkButton deleteBtn = (LinkButton)sender; Label deleteLbl = (Label)ProductsView.FindControl("deleteLbl"); + Label activeLbl = (Label)ProductsView.FindControl("activeLbl"); - if (mode == "read" || (!m_user.HasRight("delete_product",productID))) + if (mode == "read" || activeLbl.Visible || (!m_user.HasRight("delete_product",productID))) { deleteBtn.Visible = false; deleteLbl.Visible = false; Modified: Website/Includes/Rights.ascx =================================================================== --- Website/Includes/Rights.ascx 2006-08-08 18:39:41 UTC (rev 281) +++ Website/Includes/Rights.ascx 2006-08-08 19:11:55 UTC (rev 282) @@ -59,9 +59,7 @@ <td align="left" colspan="6"> <asp:LinkButton ID="New" runat="server" CommandName="new" OnInit="New_Init">New</asp:LinkButton><asp:Label ID="newLbl" runat="server" Text="Label"> | </asp:Label><asp:LinkButton - ID="Edit" runat="server" CommandName="edit">Edit</asp:LinkButton><asp:Label ID="deleteLbl" - runat="server" Text="Label"> | </asp:Label><asp:LinkButton ID="Delete" - runat="server" CommandName="deleteCmd" OnCommand="deleteCmd">Delete</asp:LinkButton></td> + ID="Edit" runat="server" CommandName="edit">Edit</asp:LinkButton></td> </tr> </table> </div> @@ -105,22 +103,6 @@ </td> </tr> <tr> - <td align="left" colspan="2" valign="top" width="33%"> - <strong>Roles:<br /> - </strong> <asp:ListBox ID="roleList" runat="server" OnDataBound="roleList_DataBound" - DataSourceID="RolesDataSource" DataTextField="roleName" DataValueField="roleID" - SelectionMode="Multiple" Height="150px" Width="150px"></asp:ListBox> - </td> - <td align="left" colspan="2" valign="top" width="33%"> - </td> - <td align="left" colspan="2" valign="top" width="34%"> - </td> - </tr> - <tr> - <td class="hr" colspan="6"> - </td> - </tr> - <tr> <td align="left" colspan="6"> <asp:LinkButton ID="UpdateButton" runat="server" CausesValidation="True" CommandName="Update" Text="Update"> @@ -171,22 +153,6 @@ </td> </tr> <tr> - <td align="left" colspan="2" valign="top" width="33%"> - <strong>Roles:<br /> - </strong> <asp:ListBox ID="roleList" runat="server" OnDataBound="roleList_DataBound" - DataSourceID="RolesDataSource" DataTextField="roleName" DataValueField="roleID" - SelectionMode="Multiple"></asp:ListBox> - </td> - <td align="left" colspan="2" valign="top" width="33%"> - </td> - <td align="left" colspan="2" valign="top" width="34%"> - </td> - </tr> - <tr> - <td class="hr" colspan="6"> - </td> - </tr> - <tr> <td align="left" colspan="6"> <asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True" CommandName="Insert" Text="Insert"></asp:LinkButton> Modified: Website/Includes/Rights.ascx.cs =================================================================== --- Website/Includes/Rights.ascx.cs 2006-08-08 18:39:41 UTC (rev 281) +++ Website/Includes/Rights.ascx.cs 2006-08-08 19:11:55 UTC (rev 282) @@ -48,22 +48,6 @@ FormView1.ChangeMode(FormViewMode.Edit); } - protected void updateRoles() - { - ListBox roleList = (ListBox)FormView1.FindControl("roleList"); - - // there is a more efficient way of doing this, but no one wants it - tcdbDataSetTableAdapters.db_roleRightTableAdapter rrAdapter = new tcdbDataSetTableAdapters.db_roleRightTableAdapter(); - foreach (ListItem item in roleList.Items) - { - int roleID = Convert.ToInt32(item.Value); - - if (item.Selected) - rrAdapter.InsertRoleRights(roleID, rightsID); - else - rrAdapter.DeleteRoleRights(roleID, rightsID); - } - } protected void FormView1_ItemInserted(object sender, FormViewInsertedEventArgs e) { Right right = RightDB.GetRightInfo(null, e.Values["rightsName"].ToString(), e.Values["rightsCode"].ToString(), true); @@ -72,7 +56,6 @@ { rightsID = right.ID; - updateRoles(); Response.Redirect("~/Right.aspx?" + Constants.CODE_RIGHT + "=" + rightsID); } else @@ -81,16 +64,8 @@ Response.Redirect("~/Administration.aspx"); } } - protected void deleteCmd(object sender, CommandEventArgs e) - { - tcdbDataSetTableAdapters.db_rightsTableAdapter rAdapter = new tcdbDataSetTableAdapters.db_rightsTableAdapter(); - rAdapter.Update(rightsID, right.CODE, right.NAME, right.DESCRIPTION, false); - - Response.Redirect("~/Administration.aspx"); - } protected void FormView1_ItemUpdated(object sender, FormViewUpdatedEventArgs e) { - updateRoles(); Response.Redirect("~/Right.aspx?"+Constants.CODE_RIGHT+"="+rightsID); } protected void FormView1_ItemCommand(object sender, FormViewCommandEventArgs e) @@ -103,19 +78,14 @@ { LinkButton newBtn = (LinkButton)sender; LinkButton editBtn = (LinkButton)FormView1.FindControl("Edit"); - LinkButton deleteBtn = (LinkButton)FormView1.FindControl("Delete"); Label newLbl = (Label)FormView1.FindControl("newLbl"); - Label deleteLbl = (Label)FormView1.FindControl("deleteLbl"); if (!m_user.HasRight("dev_access")) { newBtn.Visible = false; - deleteBtn.Visible = false; newLbl.Visible = false; - deleteLbl.Visible = false; - } - if (!m_user.HasRight("edit_role",Constants.PRODUCT_ANYID)) editBtn.Visible = false; + } } protected void nameBox_Load(object sender, EventArgs e) { @@ -151,6 +121,7 @@ tcdbDataSetTableAdapters.db_rightsTableAdapter rAdapter = new tcdbDataSetTableAdapters.db_rightsTableAdapter(); rAdapter.Update(right.ID, right.CODE, right.NAME, right.DESCRIPTION, activeBox.Checked); } + protected void FormView1_DataBound(object sender, EventArgs e) { CheckBox activeBox = (CheckBox)FormView1.FindControl("activeBox"); @@ -177,28 +148,4 @@ roleList.Items.Add(item); } } - protected void roleList_DataBound(object sender, EventArgs e) - { - ListBox roleList = (ListBox)sender; - - if (FormView1.CurrentMode == FormViewMode.Edit) - { - tcdbDataSetTableAdapters.db_rightRoleTableAdapter rrAdapter = new tcdbDataSetTableAdapters.db_rightRoleTableAdapter(); - tcdbDataSet.db_rightRoleDataTable rrTable = rrAdapter.GetData(rightsID, active); - - foreach (tcdbDataSet.db_rightRoleRow row in rrTable) - { - ListItem item = roleList.Items.FindByValue(row.roleID.ToString()); - - item.Selected = true; - if (!row.active) - item.Attributes.CssStyle.Add("text_decoration", "line-through"); - } - } - else - { - if (role != null) - roleList.SelectedValue = role; - } - } } \ No newline at end of file Modified: Website/Includes/RoleAdmin.ascx.cs =================================================================== --- Website/Includes/RoleAdmin.ascx.cs 2006-08-08 18:39:41 UTC (rev 281) +++ Website/Includes/RoleAdmin.ascx.cs 2006-08-08 19:11:55 UTC (rev 282) @@ -86,7 +86,7 @@ return; } - if (!m_user.HasRight("edit_role",Constants.PRODUCT_ANYID) && !m_user.HasRight("dev_access")) + if (!m_user.HasRight("dev_access")) editRightsBtn.Visible = false; List<Right> rights = RightDB.TCDB_GetRightList(active); Modified: Website/Includes/Roles.ascx.cs =================================================================== --- Website/Includes/Roles.ascx.cs 2006-08-08 18:39:41 UTC (rev 281) +++ Website/Includes/Roles.ascx.cs 2006-08-08 19:11:55 UTC (rev 282) @@ -349,12 +349,13 @@ { LinkButton deleteBtn = (LinkButton)sender; Label deleteLbl = (Label)FormView1.FindControl("deleteLbl"); + Label activeLbl = (Label)FormView1.FindControl("activeLbl"); updateProductUsers(); Dictionary<String, ArrayList> ProductUsers = (Dictionary<String, ArrayList>)Session["ProductUsers"]; foreach (String productID in ProductUsers.Keys) { - if ( (ProductUsers[productID].Count > 0) && !m_user.HasRight("delete_role", Convert.ToInt32(productID))) + if ( activeLbl.Visible == true || ((ProductUsers[productID].Count > 0) && !m_user.HasRight("delete_role", Convert.ToInt32(productID)))) { deleteBtn.Visible = false; deleteLbl.Visible = false; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2006-08-09 14:55:13
|
Revision: 286 Author: rouquin Date: 2006-08-09 07:54:57 -0700 (Wed, 09 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=286&view=rev Log Message: ----------- Changed split rights list to unassigned and assigned rights. Modified Paths: -------------- Website/App_Code/Right.cs Website/Includes/UserRoles.ascx Website/Includes/UserRoles.ascx.cs Modified: Website/App_Code/Right.cs =================================================================== --- Website/App_Code/Right.cs 2006-08-09 04:47:23 UTC (rev 285) +++ Website/App_Code/Right.cs 2006-08-09 14:54:57 UTC (rev 286) @@ -117,6 +117,20 @@ return rightsList; } + public static List<Right> TCDB_GetRoleRights(Nullable<int> roleID, Nullable<bool> active) + { + tcdbDataSetTableAdapters.db_roleRightTableAdapter rrAdapter = new tcdbDataSetTableAdapters.db_roleRightTableAdapter(); + tcdbDataSet.db_roleRightDataTable rrTable = rrAdapter.GetData(roleID, active); + List<Right> rightsList = new List<Right>(); + + foreach (tcdbDataSet.db_roleRightRow row in rrTable) + { + rightsList.Add(new Right(row.rightsID, row.rightName, row.rightCode, "", row.active)); + } + + return rightsList; + } + public static List<String> TCDB_GetUserRights(int productID, int userID, Nullable<bool> active) { tcdbDataSetTableAdapters.db_userRightsTableAdapter userRightsAdapter = new tcdbDataSetTableAdapters.db_userRightsTableAdapter(); @@ -250,6 +264,28 @@ p_active = right.ACTIVE; } + public override bool Equals(Object obj) + { + bool result = false; + + try + { + Right right = (Right)obj; + + if (right.ID == p_id) + result = true; + } + catch + { + } + return result; + } + + public override int GetHashCode() + { + return base.GetHashCode(); + } + public int ID { get { return p_id; } Modified: Website/Includes/UserRoles.ascx =================================================================== --- Website/Includes/UserRoles.ascx 2006-08-09 04:47:23 UTC (rev 285) +++ Website/Includes/UserRoles.ascx 2006-08-09 14:54:57 UTC (rev 286) @@ -48,7 +48,7 @@ </td> <td colspan="2" align="left" valign="top" width="34%" style="height: 132px"> <strong>Rights:</strong><br /> - <asp:ListBox ID="rightsList" runat="server" Height="150px" Width="150px" OnInit="rightsList_Init1"> + <asp:ListBox ID="rightsList" runat="server" Height="150px" Width="150px" OnInit="rightsList_Init"> </asp:ListBox> </td> </tr> @@ -102,24 +102,26 @@ </td> </tr> <tr> - <td colspan="2" align="left" valign="top" width="33%"> - </td> - <td colspan="2" align="left" valign="top" width="33%"> - </td> - <td colspan="2" align="left" valign="top" width="34%"> - <strong>Rights:<br /> - <asp:LinkButton ID="newRight" runat="server" CommandName="newRight" OnCommand="newRight">New Right</asp:LinkButton><br /> - </strong> <asp:ListBox ID="rightsList" runat="server" DataSourceID="RightsDataSource" - DataTextField="rightsName" DataValueField="rightsID" SelectionMode="Multiple" - Height="150px" OnDataBound="rightsList_DataBound" Width="150px"> - </asp:ListBox> </td> - </tr> + <td colspan="2" width="45%" valign="top" height="200" align="center"> + <strong>Unassigned Rights:</strong><br /> + <asp:ListBox ID="unassignedList" runat="server" Height="100%" SelectionMode="Multiple" + Width="300px"></asp:ListBox> + </td> + <td colspan="2" height="200" width="10%" valign="middle" align="center"> + <asp:Button ID="assignButton" runat="server" OnCommand="assignSelected" Text="-->" /><br /> + <asp:Button ID="unassignButton" runat="server" OnCommand="unassignSelected" Text="<--" /></td> + <td colspan="2" width="45%" valign="top" height="200" align="center"> + <strong>Assigned Rights:</strong><br /> + <asp:ListBox ID="assignedList" runat="server" Height="100%" SelectionMode="Multiple" + AppendDataBoundItems="True" Width="300px"></asp:ListBox> + </td> + </tr> <tr> <td class="hr" colspan="6"> </td> </tr> <tr> - <td align="left" colspan="6"> + <td align="left" colspan="4"> <asp:LinkButton ID="UpdateButton" runat="server" CausesValidation="True" CommandName="Update" Text="Update"> </asp:LinkButton> @@ -127,6 +129,7 @@ <asp:LinkButton ID="UpdateCancelButton" runat="server" CausesValidation="False" CommandName="Cancel" Text="Cancel"> </asp:LinkButton></td> + <td align="right" colspan="2"><asp:LinkButton CommandName="newRight" ID="newRight" OnCommand="newRight" runat="server" >New Right</asp:LinkButton></td> </tr> </table> </div> @@ -164,18 +167,20 @@ </td> </tr> <tr> - <td colspan="2" align="left" valign="top" width="33%"> - </td> - <td colspan="2" align="left" valign="top" width="33%"> - </td> - <td colspan="2" align="left" valign="top" width="34%"> - <strong>Rights: - <asp:LinkButton ID="newRight" runat="server" CommandName="newRight" OnCommand="newRight">New Right</asp:LinkButton><br /> - </strong> <asp:ListBox ID="rightsList" runat="server" DataSourceID="RightsDataSource" - DataTextField="rightsName" DataValueField="rightsID" SelectionMode="Multiple" - Height="150px" Width="150px"></asp:ListBox> - </td> - </tr> + <td colspan="2" width="45%" valign="top" height="200" align="center"> + <strong>Unassigned Rights:</strong><br /> + <asp:ListBox ID="unassignedList" runat="server" Height="100%" SelectionMode="Multiple" + Width="300px"></asp:ListBox> + </td> + <td colspan="2" height="200" width="10%" valign="middle" align="center"> + <asp:Button ID="assignButton" runat="server" OnCommand="assignSelected" Text="-->" /><br /> + <asp:Button ID="unassignButton" runat="server" OnCommand="unassignSelected" Text="<--" /></td> + <td colspan="2" width="45%" valign="top" height="200" align="center"> + <strong>Assigned Rights:</strong><br /> + <asp:ListBox ID="assignedList" runat="server" Height="100%" SelectionMode="Multiple" + AppendDataBoundItems="True" Width="300px"></asp:ListBox> + </td> + </tr> <tr> <td class="hr" colspan="6"> </td> Modified: Website/Includes/UserRoles.ascx.cs =================================================================== --- Website/Includes/UserRoles.ascx.cs 2006-08-09 04:47:23 UTC (rev 285) +++ Website/Includes/UserRoles.ascx.cs 2006-08-09 14:54:57 UTC (rev 286) @@ -81,12 +81,14 @@ } protected void updateRoleRights() { - ListBox rightsList = (ListBox)FormView1.FindControl("rightsList"); + ListBox rightsList = (ListBox)FormView1.FindControl("assignedList"); // Clear roles tcdbDataSetTableAdapters.db_roleRightTableAdapter rrAdapter = new tcdbDataSetTableAdapters.db_roleRightTableAdapter(); rrAdapter.DeleteRoleRights(roleID, null); + foreach (ListItem item in rightsList.Items) + rrAdapter.InsertRoleRights(roleID, Convert.ToInt32(item.Value)); } protected void FormView1_ItemInserted(object sender, FormViewInsertedEventArgs e) @@ -136,21 +138,6 @@ } } - protected void rightsList_DataBound(object sender, EventArgs e) - { - ListBox rightsList = (ListBox)sender; - - tcdbDataSetTableAdapters.db_roleRightTableAdapter roleRightAdapter = new tcdbDataSetTableAdapters.db_roleRightTableAdapter(); - tcdbDataSet.db_roleRightDataTable roleRightTable = roleRightAdapter.GetData(roleID, true); - - foreach (tcdbDataSet.db_roleRightRow row in roleRightTable) - { - ListItem item = rightsList.Items.FindByValue(row.rightsID.ToString()); - item.Selected = true; - if (!row.active) - item.Attributes.CssStyle.Add("text-decoration", "line-through"); - } - } protected void newRight(object sender, CommandEventArgs e) { Response.Redirect("Right.aspx?mode=new&" + Constants.CODE_ROLE + "=" + roleID); @@ -269,26 +256,80 @@ } else activeBox.Enabled = false; + + if (FormView1.CurrentMode != FormViewMode.ReadOnly) + { + ListBox unassigned = (ListBox)FormView1.FindControl("unassignedList"); + ListBox assigned = (ListBox)FormView1.FindControl("assignedList"); + + // init + unassigned.Items.Clear(); + assigned.Items.Clear(); + + List<Right> roleRights = RightDB.TCDB_GetRoleRights(roleID, active); + List<Right> rights = RightDB.TCDB_GetRightList(active); + foreach (Right right in rights) + { + ListItem item = new ListItem(right.NAME, right.ID.ToString()); + if (!right.ACTIVE) + item.Attributes.CssStyle.Add("text-decoration", "line-through"); + + if (roleRights.Contains(right)) + assigned.Items.Add(item); + else + unassigned.Items.Add(item); + } + } } - protected void rightsList_Init1(object sender, EventArgs e) + protected void editAssignments_Command(object sender, CommandEventArgs e) { + Response.Redirect("~/RoleAssignments.aspx?" + Constants.CODE_PRODUCT + "=" + productID + "&" + Constants.CODE_ROLE + "=" + roleID); + } + + protected void assignSelected(object sender, CommandEventArgs e) + { + ListBox unassigned = (ListBox)FormView1.FindControl("unassignedList"); + ListBox assigned = (ListBox)FormView1.FindControl("assignedList"); + + int[] indices = unassigned.GetSelectedIndices(); + for (int index = indices.Length-1; index >= 0; index--) + { + ListItem item = unassigned.Items[indices[index]]; + + unassigned.Items.Remove(item); + assigned.Items.Add(item); + item.Selected = false; + } + } + protected void unassignSelected(object sender, CommandEventArgs e) + { + ListBox unassigned = (ListBox)FormView1.FindControl("unassignedList"); + ListBox assigned = (ListBox)FormView1.FindControl("assignedList"); + + int[] indices = assigned.GetSelectedIndices(); + for (int index = indices.Length-1; index >= 0; index--) + { + ListItem item = assigned.Items[indices[index]]; + + assigned.Items.Remove(item); + unassigned.Items.Add(item); + item.Selected = false; + } + } + protected void rightsList_Init(object sender, EventArgs e) + { ListBox rightsList = (ListBox)sender; - tcdbDataSetTableAdapters.db_roleRightTableAdapter rrAdapter = new tcdbDataSetTableAdapters.db_roleRightTableAdapter(); - tcdbDataSet.db_roleRightDataTable rrTable = rrAdapter.GetData(roleID, active); - foreach (tcdbDataSet.db_roleRightRow row in rrTable) + List<Right> rights = RightDB.TCDB_GetRoleRights(roleID, active); + foreach (Right right in rights) { - ListItem item = new ListItem(row.rightName, row.rightsID.ToString()); - if (!row.active) + ListItem item = new ListItem(right.NAME, right.ID.ToString()); + if (!right.ACTIVE) item.Attributes.CssStyle.Add("text-decoration", "line-through"); rightsList.Items.Add(item); } } - protected void editAssignments_Command(object sender, CommandEventArgs e) - { - Response.Redirect("~/RoleAssignments.aspx?" + Constants.CODE_PRODUCT + "=" + productID + "&" + Constants.CODE_ROLE + "=" + roleID); - } - } } +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2006-08-09 15:47:30
|
Revision: 287 Author: rouquin Date: 2006-08-09 08:47:18 -0700 (Wed, 09 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=287&view=rev Log Message: ----------- Changed rights/Role list views to text lists so that Matt can beautify them. Modified Paths: -------------- Website/App_Code/Right.cs Website/App_Code/Versions.cs Website/App_Code/tcdbDataSet.xsd Website/App_Code/tcdbDataSet.xss Website/Includes/AdministrationTree.ascx.cs Website/Includes/FeaturesTree.ascx.cs Website/Includes/Rights.ascx Website/Includes/Rights.ascx.cs Website/Includes/UserRoles.ascx Website/Includes/UserRoles.ascx.cs Website/Includes/Versions.ascx Website/Includes/Versions.ascx.cs Modified: Website/App_Code/Right.cs =================================================================== --- Website/App_Code/Right.cs 2006-08-09 14:54:57 UTC (rev 286) +++ Website/App_Code/Right.cs 2006-08-09 15:47:18 UTC (rev 287) @@ -75,7 +75,7 @@ } catch { } - return new Role(row.roleID, row.roleName, description); + return new Role(row.roleID, row.roleName, description, row.active); } else return new Role(); @@ -90,7 +90,7 @@ { tcdbDataSet.db_roleRow row = roleTable[0]; - return new Role(row.roleID, row.roleName, row.roleDescription); + return new Role(row.roleID, row.roleName, row.roleDescription, row.active); } else return new Role(); @@ -117,6 +117,27 @@ return rightsList; } + public static List<Role> TCDB_GetRoleList(Nullable<bool> active) + { + tcdbDataSetTableAdapters.db_roleTableAdapter roleAdapter = new tcdbDataSetTableAdapters.db_roleTableAdapter(); + tcdbDataSet.db_roleDataTable roleTable = roleAdapter.GetData(null, null, active); + List<Role> roleList = new List<Role>(); + + foreach (tcdbDataSet.db_roleRow row in roleTable) + { + String description = ""; + try + { + description = row.roleDescription; + } + catch { } + + roleList.Add(new Role(row.roleID, row.roleName, row.roleDescription, row.active)); + } + + return roleList; + } + public static List<Right> TCDB_GetRoleRights(Nullable<int> roleID, Nullable<bool> active) { tcdbDataSetTableAdapters.db_roleRightTableAdapter rrAdapter = new tcdbDataSetTableAdapters.db_roleRightTableAdapter(); @@ -131,6 +152,20 @@ return rightsList; } + public static List<Role> TCDB_GetRightRoles(Nullable<int> rightsID, Nullable<bool> active) + { + tcdbDataSetTableAdapters.db_rightRoleTableAdapter rrAdapter = new tcdbDataSetTableAdapters.db_rightRoleTableAdapter(); + tcdbDataSet.db_rightRoleDataTable rrTable = rrAdapter.GetData(rightsID, active); + List<Role> rolesList = new List<Role>(); + + foreach (tcdbDataSet.db_rightRoleRow row in rrTable) + { + rolesList.Add(new Role(row.roleID,row.roleName,"",row.active)); + } + + return rolesList; + } + public static List<String> TCDB_GetUserRights(int productID, int userID, Nullable<bool> active) { tcdbDataSetTableAdapters.db_userRightsTableAdapter userRightsAdapter = new tcdbDataSetTableAdapters.db_userRightsTableAdapter(); @@ -327,12 +362,14 @@ private int p_id; private string p_name; private string p_description; + private bool p_active; public Role() { p_id = 0; p_name = ""; p_description = ""; + p_active = true; } public Role(string name) @@ -345,11 +382,12 @@ BuildRole(RightDB.GetRoleInfo(id)); } - public Role(int id, string name, string description) + public Role(int id, string name, string description, bool active) { p_id = id; p_name = name; p_description = description; + p_active = active; } private void BuildRole(Role role) @@ -357,6 +395,7 @@ p_id = role.ID; p_name = role.NAME; p_description = role.DESCRIPTION; + p_active = role.ACTIVE; } public int ID @@ -376,5 +415,11 @@ get { return p_description.Trim(); } set { p_description = value.Trim(); } } + + public bool ACTIVE + { + get { return p_active; } + set { p_active = value; } + } } } Modified: Website/App_Code/Versions.cs =================================================================== --- Website/App_Code/Versions.cs 2006-08-09 14:54:57 UTC (rev 286) +++ Website/App_Code/Versions.cs 2006-08-09 15:47:18 UTC (rev 287) @@ -19,7 +19,7 @@ public static Version GetVersion(int VersionID) { tcdbDataSetTableAdapters.db_versionTableAdapter versionAdapter = new tcdbDataSetTableAdapters.db_versionTableAdapter(); - tcdbDataSet.db_versionDataTable versionTable = versionAdapter.GetData(VersionID,null); + tcdbDataSet.db_versionDataTable versionTable = versionAdapter.GetData(VersionID, null, true); Version version = new Version(); if (versionTable.Count > 0) @@ -31,7 +31,7 @@ public static List<Version> GetVersionList(int ProductID) { tcdbDataSetTableAdapters.db_versionTableAdapter versionAdapter = new tcdbDataSetTableAdapters.db_versionTableAdapter(); - tcdbDataSet.db_versionDataTable versionTable = versionAdapter.GetData(null,ProductID); + tcdbDataSet.db_versionDataTable versionTable = versionAdapter.GetData(null, ProductID, true); List<Version> versionList = new List<Version>(); foreach (tcdbDataSet.db_versionRow row in versionTable) Modified: Website/App_Code/tcdbDataSet.xsd =================================================================== --- Website/App_Code/tcdbDataSet.xsd 2006-08-09 14:54:57 UTC (rev 286) +++ Website/App_Code/tcdbDataSet.xsd 2006-08-09 15:47:18 UTC (rev 287) @@ -391,6 +391,8 @@ </Parameter> <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@productID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@active" Precision="1" ProviderType="Bit" Scale="0" Size="1" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> </Parameters> </DbCommand> </SelectCommand> @@ -420,6 +422,7 @@ <Mapping SourceColumn="code" DataSetColumn="code" /> <Mapping SourceColumn="active" DataSetColumn="active" /> <Mapping SourceColumn="dateCreated" DataSetColumn="dateCreated" /> + <Mapping SourceColumn="productName" DataSetColumn="productName" /> </Mappings> <Sources> </Sources> @@ -962,108 +965,108 @@ <xs:element name="db_products" msprop:Generator_UserTableName="db_products" msprop:Generator_RowDeletedName="db_productsRowDeleted" msprop:Generator_RowChangedName="db_productsRowChanged" msprop:Generator_RowClassName="db_productsRow" msprop:Generator_RowChangingName="db_productsRowChanging" msprop:Generator_RowEvArgName="db_productsRowChangeEvent" msprop:Generator_RowEvHandlerName="db_productsRowChangeEventHandler" msprop:Generator_TableClassName="db_productsDataTable" msprop:Generator_TableVarName="tabledb_products" msprop:Generator_RowDeletingName="db_productsRowDeleting" msprop:Generator_TablePropName="db_products"> <xs:complexType> <xs:sequence> - <xs:element name="productID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" /> - <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> + <xs:element name="productID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" /> + <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> + <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="devManager" msprop:Generator_UserColumnName="devManager" msprop:Generator_ColumnPropNameInRow="devManager" msprop:Generator_ColumnVarNameInTable="columndevManager" msprop:Generator_ColumnPropNameInTable="devManagerColumn" type="xs:int" minOccurs="0" /> - <xs:element name="qaManager" msprop:Generator_UserColumnName="qaManager" msprop:Generator_ColumnPropNameInRow="qaManager" msprop:Generator_ColumnVarNameInTable="columnqaManager" msprop:Generator_ColumnPropNameInTable="qaManagerColumn" type="xs:int" minOccurs="0" /> - <xs:element name="devLead" msprop:Generator_UserColumnName="devLead" msprop:Generator_ColumnPropNameInRow="devLead" msprop:Generator_ColumnVarNameInTable="columndevLead" msprop:Generator_ColumnPropNameInTable="devLeadColumn" type="xs:int" minOccurs="0" /> - <xs:element name="qaLead" msprop:Generator_UserColumnName="qaLead" msprop:Generator_ColumnPropNameInRow="qaLead" msprop:Generator_ColumnVarNameInTable="columnqaLead" msprop:Generator_ColumnPropNameInTable="qaLeadColumn" type="xs:int" minOccurs="0" /> - <xs:element name="pm" msprop:Generator_UserColumnName="pm" msprop:Generator_ColumnPropNameInRow="pm" msprop:Generator_ColumnVarNameInTable="columnpm" msprop:Generator_ColumnPropNameInTable="pmColumn" type="xs:int" minOccurs="0" /> - <xs:element name="codeName" msprop:Generator_UserColumnName="codeName" msprop:Generator_ColumnPropNameInRow="codeName" msprop:Generator_ColumnVarNameInTable="columncodeName" msprop:Generator_ColumnPropNameInTable="codeNameColumn" minOccurs="0"> + <xs:element name="devManager" msprop:Generator_UserColumnName="devManager" msprop:Generator_ColumnVarNameInTable="columndevManager" msprop:Generator_ColumnPropNameInRow="devManager" msprop:Generator_ColumnPropNameInTable="devManagerColumn" type="xs:int" minOccurs="0" /> + <xs:element name="qaManager" msprop:Generator_UserColumnName="qaManager" msprop:Generator_ColumnVarNameInTable="columnqaManager" msprop:Generator_ColumnPropNameInRow="qaManager" msprop:Generator_ColumnPropNameInTable="qaManagerColumn" type="xs:int" minOccurs="0" /> + <xs:element name="devLead" msprop:Generator_UserColumnName="devLead" msprop:Generator_ColumnVarNameInTable="columndevLead" msprop:Generator_ColumnPropNameInRow="devLead" msprop:Generator_ColumnPropNameInTable="devLeadColumn" type="xs:int" minOccurs="0" /> + <xs:element name="qaLead" msprop:Generator_UserColumnName="qaLead" msprop:Generator_ColumnVarNameInTable="columnqaLead" msprop:Generator_ColumnPropNameInRow="qaLead" msprop:Generator_ColumnPropNameInTable="qaLeadColumn" type="xs:int" minOccurs="0" /> + <xs:element name="pm" msprop:Generator_UserColumnName="pm" msprop:Generator_ColumnVarNameInTable="columnpm" msprop:Generator_ColumnPropNameInRow="pm" msprop:Generator_ColumnPropNameInTable="pmColumn" type="xs:int" minOccurs="0" /> + <xs:element name="codeName" msprop:Generator_UserColumnName="codeName" msprop:Generator_ColumnVarNameInTable="columncodeName" msprop:Generator_ColumnPropNameInRow="codeName" msprop:Generator_ColumnPropNameInTable="codeNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="10" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> + <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_actionItems" msprop:Generator_UserTableName="db_actionItems" msprop:Generator_RowDeletedName="db_actionItemsRowDeleted" msprop:Generator_RowChangedName="db_actionItemsRowChanged" msprop:Generator_RowClassName="db_actionItemsRow" msprop:Generator_RowChangingName="db_actionItemsRowChanging" msprop:Generator_RowEvArgName="db_actionItemsRowChangeEvent" msprop:Generator_RowEvHandlerName="db_actionItemsRowChangeEventHandler" msprop:Generator_TableClassName="db_actionItemsDataTable" msprop:Generator_TableVarName="tabledb_actionItems" msprop:Generator_RowDeletingName="db_actionItemsRowDeleting" msprop:Generator_TablePropName="db_actionItems"> <xs:complexType> <xs:sequence> - <xs:element name="actionItemID" msprop:Generator_UserColumnName="actionItemID" msprop:Generator_ColumnVarNameInTable="columnactionItemID" msprop:Generator_ColumnPropNameInRow="actionItemID" msprop:Generator_ColumnPropNameInTable="actionItemIDColumn" type="xs:int" /> - <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> + <xs:element name="actionItemID" msprop:Generator_UserColumnName="actionItemID" msprop:Generator_ColumnPropNameInRow="actionItemID" msprop:Generator_ColumnVarNameInTable="columnactionItemID" msprop:Generator_ColumnPropNameInTable="actionItemIDColumn" type="xs:int" /> + <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> + <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="dateAssigned" msprop:Generator_UserColumnName="dateAssigned" msprop:Generator_ColumnVarNameInTable="columndateAssigned" msprop:Generator_ColumnPropNameInRow="dateAssigned" msprop:Generator_ColumnPropNameInTable="dateAssignedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="dateDue" msprop:Generator_UserColumnName="dateDue" msprop:Generator_ColumnVarNameInTable="columndateDue" msprop:Generator_ColumnPropNameInRow="dateDue" msprop:Generator_ColumnPropNameInTable="dateDueColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="percentComplete" msprop:Generator_UserColumnName="percentComplete" msprop:Generator_ColumnVarNameInTable="columnpercentComplete" msprop:Generator_ColumnPropNameInRow="percentComplete" msprop:Generator_ColumnPropNameInTable="percentCompleteColumn" type="xs:int" minOccurs="0" /> - <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> + <xs:element name="dateAssigned" msprop:Generator_UserColumnName="dateAssigned" msprop:Generator_ColumnPropNameInRow="dateAssigned" msprop:Generator_ColumnVarNameInTable="columndateAssigned" msprop:Generator_ColumnPropNameInTable="dateAssignedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="dateDue" msprop:Generator_UserColumnName="dateDue" msprop:Generator_ColumnPropNameInRow="dateDue" msprop:Generator_ColumnVarNameInTable="columndateDue" msprop:Generator_ColumnPropNameInTable="dateDueColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="percentComplete" msprop:Generator_UserColumnName="percentComplete" msprop:Generator_ColumnPropNameInRow="percentComplete" msprop:Generator_ColumnVarNameInTable="columnpercentComplete" msprop:Generator_ColumnPropNameInTable="percentCompleteColumn" type="xs:int" minOccurs="0" /> + <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="createdBy" msdata:ReadOnly="true" msprop:Generator_UserColumnName="createdBy" msprop:Generator_ColumnVarNameInTable="columncreatedBy" msprop:Generator_ColumnPropNameInRow="createdBy" msprop:Generator_ColumnPropNameInTable="createdByColumn" minOccurs="0"> + <xs:element name="createdBy" msdata:ReadOnly="true" msprop:Generator_UserColumnName="createdBy" msprop:Generator_ColumnPropNameInRow="createdBy" msprop:Generator_ColumnVarNameInTable="columncreatedBy" msprop:Generator_ColumnPropNameInTable="createdByColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="highPriority" msprop:Generator_UserColumnName="highPriority" msprop:Generator_ColumnVarNameInTable="columnhighPriority" msprop:Generator_ColumnPropNameInRow="highPriority" msprop:Generator_ColumnPropNameInTable="highPriorityColumn" type="xs:boolean" minOccurs="0" /> - <xs:element name="testPass" msprop:Generator_UserColumnName="testPass" msprop:Generator_ColumnPropNameInRow="testPass" msprop:Generator_ColumnVarNameInTable="columntestPass" msprop:Generator_ColumnPropNameInTable="testPassColumn" minOccurs="0"> + <xs:element name="highPriority" msprop:Generator_UserColumnName="highPriority" msprop:Generator_ColumnPropNameInRow="highPriority" msprop:Generator_ColumnVarNameInTable="columnhighPriority" msprop:Generator_ColumnPropNameInTable="highPriorityColumn" type="xs:boolean" minOccurs="0" /> + <xs:element name="testPass" msprop:Generator_UserColumnName="testPass" msprop:Generator_ColumnVarNameInTable="columntestPass" msprop:Generator_ColumnPropNameInRow="testPass" msprop:Generator_ColumnPropNameInTable="testPassColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="dateFinished" msprop:Generator_UserColumnName="dateFinished" msprop:Generator_ColumnPropNameInRow="dateFinished" msprop:Generator_ColumnVarNameInTable="columndateFinished" msprop:Generator_ColumnPropNameInTable="dateFinishedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="assignedID" msprop:Generator_UserColumnName="assignedID" msprop:Generator_ColumnPropNameInRow="assignedID" msprop:Generator_ColumnVarNameInTable="columnassignedID" msprop:Generator_ColumnPropNameInTable="assignedIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="assigned" msdata:ReadOnly="true" msprop:Generator_UserColumnName="assigned" msprop:Generator_ColumnPropNameInRow="assigned" msprop:Generator_ColumnVarNameInTable="columnassigned" msprop:Generator_ColumnPropNameInTable="assignedColumn" minOccurs="0"> + <xs:element name="dateFinished" msprop:Generator_UserColumnName="dateFinished" msprop:Generator_ColumnVarNameInTable="columndateFinished" msprop:Generator_ColumnPropNameInRow="dateFinished" msprop:Generator_ColumnPropNameInTable="dateFinishedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="assignedID" msprop:Generator_UserColumnName="assignedID" msprop:Generator_ColumnVarNameInTable="columnassignedID" msprop:Generator_ColumnPropNameInRow="assignedID" msprop:Generator_ColumnPropNameInTable="assignedIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="assigned" msdata:ReadOnly="true" msprop:Generator_UserColumnName="assigned" msprop:Generator_ColumnVarNameInTable="columnassigned" msprop:Generator_ColumnPropNameInRow="assigned" msprop:Generator_ColumnPropNameInTable="assignedColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="statusID" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="testPassID" msprop:Generator_UserColumnName="testPassID" msprop:Generator_ColumnVarNameInTable="columntestPassID" msprop:Generator_ColumnPropNameInRow="testPassID" msprop:Generator_ColumnPropNameInTable="testPassIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> - <xs:element name="creatorID" msprop:Generator_UserColumnName="creatorID" msprop:Generator_ColumnVarNameInTable="columncreatorID" msprop:Generator_ColumnPropNameInRow="creatorID" msprop:Generator_ColumnPropNameInTable="creatorIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="statusID" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="testPassID" msprop:Generator_UserColumnName="testPassID" msprop:Generator_ColumnPropNameInRow="testPassID" msprop:Generator_ColumnVarNameInTable="columntestPassID" msprop:Generator_ColumnPropNameInTable="testPassIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> + <xs:element name="creatorID" msprop:Generator_UserColumnName="creatorID" msprop:Generator_ColumnPropNameInRow="creatorID" msprop:Generator_ColumnVarNameInTable="columncreatorID" msprop:Generator_ColumnPropNameInTable="creatorIDColumn" type="xs:int" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_status" msprop:Generator_UserTableName="db_status" msprop:Generator_RowDeletedName="db_statusRowDeleted" msprop:Generator_RowChangedName="db_statusRowChanged" msprop:Generator_RowClassName="db_statusRow" msprop:Generator_RowChangingName="db_statusRowChanging" msprop:Generator_RowEvArgName="db_statusRowChangeEvent" msprop:Generator_RowEvHandlerName="db_statusRowChangeEventHandler" msprop:Generator_TableClassName="db_statusDataTable" msprop:Generator_TableVarName="tabledb_status" msprop:Generator_RowDeletingName="db_statusRowDeleting" msprop:Generator_TablePropName="db_status"> <xs:complexType> <xs:sequence> - <xs:element name="statusID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" /> - <xs:element name="Description" msprop:Generator_UserColumnName="Description" msprop:Generator_ColumnPropNameInRow="Description" msprop:Generator_ColumnVarNameInTable="columnDescription" msprop:Generator_ColumnPropNameInTable="DescriptionColumn" minOccurs="0"> + <xs:element name="statusID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" /> + <xs:element name="Description" msprop:Generator_UserColumnName="Description" msprop:Generator_ColumnVarNameInTable="columnDescription" msprop:Generator_ColumnPropNameInRow="Description" msprop:Generator_ColumnPropNameInTable="DescriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> + <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> @@ -1076,17 +1079,17 @@ <xs:element name="db_notes" msprop:Generator_UserTableName="db_notes" msprop:Generator_RowDeletedName="db_notesRowDeleted" msprop:Generator_RowChangedName="db_notesRowChanged" msprop:Generator_RowClassName="db_notesRow" msprop:Generator_RowChangingName="db_notesRowChanging" msprop:Generator_RowEvArgName="db_notesRowChangeEvent" msprop:Generator_RowEvHandlerName="db_notesRowChangeEventHandler" msprop:Generator_TableClassName="db_notesDataTable" msprop:Generator_TableVarName="tabledb_notes" msprop:Generator_RowDeletingName="db_notesRowDeleting" msprop:Generator_TablePropName="db_notes"> <xs:complexType> <xs:sequence> - <xs:element name="noteID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="noteID" msprop:Generator_ColumnPropNameInRow="noteID" msprop:Generator_ColumnVarNameInTable="columnnoteID" msprop:Generator_ColumnPropNameInTable="noteIDColumn" type="xs:int" /> - <xs:element name="dateCreated" msprop:Generator_UserColumnName="dateCreated" msprop:Generator_ColumnPropNameInRow="dateCreated" msprop:Generator_ColumnVarNameInTable="columndateCreated" msprop:Generator_ColumnPropNameInTable="dateCreatedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="noteField" msprop:Generator_UserColumnName="noteField" msprop:Generator_ColumnPropNameInRow="noteField" msprop:Generator_ColumnVarNameInTable="columnnoteField" msprop:Generator_ColumnPropNameInTable="noteFieldColumn" minOccurs="0"> + <xs:element name="noteID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="noteID" msprop:Generator_ColumnVarNameInTable="columnnoteID" msprop:Generator_ColumnPropNameInRow="noteID" msprop:Generator_ColumnPropNameInTable="noteIDColumn" type="xs:int" /> + <xs:element name="dateCreated" msprop:Generator_UserColumnName="dateCreated" msprop:Generator_ColumnVarNameInTable="columndateCreated" msprop:Generator_ColumnPropNameInRow="dateCreated" msprop:Generator_ColumnPropNameInTable="dateCreatedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="noteField" msprop:Generator_UserColumnName="noteField" msprop:Generator_ColumnVarNameInTable="columnnoteField" msprop:Generator_ColumnPropNameInRow="noteField" msprop:Generator_ColumnPropNameInTable="noteFieldColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="noteAuthor" msprop:Generator_UserColumnName="noteAuthor" msprop:Generator_ColumnPropNameInRow="noteAuthor" msprop:Generator_ColumnVarNameInTable="columnnoteAuthor" msprop:Generator_ColumnPropNameInTable="noteAuthorColumn" type="xs:int" minOccurs="0" /> - <xs:element name="noteAuthorName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="noteAuthorName" msprop:Generator_ColumnVarNameInTable="columnnoteAuthorName" msprop:Generator_ColumnPropNameInRow="noteAuthorName" msprop:Generator_ColumnPropNameInTable="noteAuthorNameColumn" minOccurs="0"> + <xs:element name="noteAuthor" msprop:Generator_UserColumnName="noteAuthor" msprop:Generator_ColumnVarNameInTable="columnnoteAuthor" msprop:Generator_ColumnPropNameInRow="noteAuthor" msprop:Generator_ColumnPropNameInTable="noteAuthorColumn" type="xs:int" minOccurs="0" /> + <xs:element name="noteAuthorName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="noteAuthorName" msprop:Generator_ColumnPropNameInRow="noteAuthorName" msprop:Generator_ColumnVarNameInTable="columnnoteAuthorName" msprop:Generator_ColumnPropNameInTable="noteAuthorNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> @@ -1099,131 +1102,138 @@ <xs:element name="db_assignments" msprop:Generator_UserTableName="db_assignments" msprop:Generator_RowDeletedName="db_assignmentsRowDeleted" msprop:Generator_RowChangedName="db_assignmentsRowChanged" msprop:Generator_RowClassName="db_assignmentsRow" msprop:Generator_RowChangingName="db_assignmentsRowChanging" msprop:Generator_RowEvArgName="db_assignmentsRowChangeEvent" msprop:Generator_RowEvHandlerName="db_assignmentsRowChangeEventHandler" msprop:Generator_TableClassName="db_assignmentsDataTable" msprop:Generator_TableVarName="tabledb_assignments" msprop:Generator_RowDeletingName="db_assignmentsRowDeleting" msprop:Generator_TablePropName="db_assignments"> <xs:complexType> <xs:sequence> - <xs:element name="aType" msdata:ReadOnly="true" msprop:Generator_UserColumnName="aType" msprop:Generator_ColumnPropNameInRow="aType" msprop:Generator_ColumnVarNameInTable="columnaType" msprop:Generator_ColumnPropNameInTable="aTypeColumn" minOccurs="0"> + <xs:element name="aType" msdata:ReadOnly="true" msprop:Generator_UserColumnName="aType" msprop:Generator_ColumnVarNameInTable="columnaType" msprop:Generator_ColumnPropNameInRow="aType" msprop:Generator_ColumnPropNameInTable="aTypeColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="childID" msdata:ReadOnly="true" msprop:Generator_UserColumnName="childID" msprop:Generator_ColumnPropNameInRow="childID" msprop:Generator_ColumnVarNameInTable="columnchildID" msprop:Generator_ColumnPropNameInTable="childIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="creator" msdata:ReadOnly="true" msprop:Generator_UserColumnName="creator" msprop:Generator_ColumnPropNameInRow="creator" msprop:Generator_ColumnVarNameInTable="columncreator" msprop:Generator_ColumnPropNameInTable="creatorColumn" minOccurs="0"> + <xs:element name="childID" msdata:ReadOnly="true" msprop:Generator_UserColumnName="childID" msprop:Generator_ColumnVarNameInTable="columnchildID" msprop:Generator_ColumnPropNameInRow="childID" msprop:Generator_ColumnPropNameInTable="childIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="creator" msdata:ReadOnly="true" msprop:Generator_UserColumnName="creator" msprop:Generator_ColumnVarNameInTable="columncreator" msprop:Generator_ColumnPropNameInRow="creator" msprop:Generator_ColumnPropNameInTable="creatorColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="assigned" msdata:ReadOnly="true" msprop:Generator_UserColumnName="assigned" msprop:Generator_ColumnPropNameInRow="assigned" msprop:Generator_ColumnVarNameInTable="columnassigned" msprop:Generator_ColumnPropNameInTable="assignedColumn" minOccurs="0"> + <xs:element name="assigned" msdata:ReadOnly="true" msprop:Generator_UserColumnName="assigned" msprop:Generator_ColumnVarNameInTable="columnassigned" msprop:Generator_ColumnPropNameInRow="assigned" msprop:Generator_ColumnPropNameInTable="assignedColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="assignedID" msprop:Generator_UserColumnName="assignedID" msprop:Generator_ColumnPropNameInRow="assignedID" msprop:Generator_ColumnVarNameInTable="columnassignedID" msprop:Generator_ColumnPropNameInTable="assignedIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="dateAssigned" msprop:Generator_UserColumnName="dateAssigned" msprop:Generator_ColumnPropNameInRow="dateAssigned" msprop:Generator_ColumnVarNameInTable="columndateAssigned" msprop:Generator_ColumnPropNameInTable="dateAssignedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="dateDue" msprop:Generator_UserColumnName="dateDue" msprop:Generator_ColumnPropNameInRow="dateDue" msprop:Generator_ColumnVarNameInTable="columndateDue" msprop:Generator_ColumnPropNameInTable="dateDueColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="dateFinished" msprop:Generator_UserColumnName="dateFinished" msprop:Generator_ColumnPropNameInRow="dateFinished" msprop:Generator_ColumnVarNameInTable="columndateFinished" msprop:Generator_ColumnPropNameInTable="dateFinishedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="highPriority" msprop:Generator_UserColumnName="highPriority" msprop:Generator_ColumnPropNameInRow="highPriority" msprop:Generator_ColumnVarNameInTable="columnhighPriority" msprop:Generator_ColumnPropNameInTable="highPriorityColumn" type="xs:boolean" minOccurs="0" /> - <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> + <xs:element name="assignedID" msprop:Generator_UserColumnName="assignedID" msprop:Generator_ColumnVarNameInTable="columnassignedID" msprop:Generator_ColumnPropNameInRow="assignedID" msprop:Generator_ColumnPropNameInTable="assignedIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="dateAssigned" msprop:Generator_UserColumnName="dateAssigned" msprop:Generator_ColumnVarNameInTable="columndateAssigned" msprop:Generator_ColumnPropNameInRow="dateAssigned" msprop:Generator_ColumnPropNameInTable="dateAssignedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="dateDue" msprop:Generator_UserColumnName="dateDue" msprop:Generator_ColumnVarNameInTable="columndateDue" msprop:Generator_ColumnPropNameInRow="dateDue" msprop:Generator_ColumnPropNameInTable="dateDueColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="dateFinished" msprop:Generator_UserColumnName="dateFinished" msprop:Generator_ColumnVarNameInTable="columndateFinished" msprop:Generator_ColumnPropNameInRow="dateFinished" msprop:Generator_ColumnPropNameInTable="dateFinishedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="highPriority" msprop:Generator_UserColumnName="highPriority" msprop:Generator_ColumnVarNameInTable="columnhighPriority" msprop:Generator_ColumnPropNameInRow="highPriority" msprop:Generator_ColumnPropNameInTable="highPriorityColumn" type="xs:boolean" minOccurs="0" /> + <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="WOTotalTest" msprop:Generator_UserColumnName="WOTotalTest" msprop:Generator_ColumnPropNameInRow="WOTotalTest" msprop:Generator_ColumnVarNameInTable="columnWOTotalTest" msprop:Generator_ColumnPropNameInTable="WOTotalTestColumn" type="xs:int" minOccurs="0" /> - <xs:element name="WOPassRate" msdata:ReadOnly="true" msprop:Generator_UserColumnName="WOPassRate" msprop:Generator_ColumnPropNameInRow="WOPassRate" msprop:Generator_ColumnVarNameInTable="columnWOPassRate" msprop:Generator_ColumnPropNameInTable="WOPassRateColumn" minOccurs="0"> + <xs:element name="WOTotalTest" msprop:Generator_UserColumnName="WOTotalTest" msprop:Generator_ColumnVarNameInTable="columnWOTotalTest" msprop:Generator_ColumnPropNameInRow="WOTotalTest" msprop:Generator_ColumnPropNameInTable="WOTotalTestColumn" type="xs:int" minOccurs="0" /> + <xs:element name="WOPassRate" msdata:ReadOnly="true" msprop:Generator_UserColumnName="WOPassRate" msprop:Generator_ColumnVarNameInTable="columnWOPassRate" msprop:Generator_ColumnPropNameInRow="WOPassRate" msprop:Generator_ColumnPropNameInTable="WOPassRateColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="31" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="WOPass" msprop:Generator_UserColumnName="WOPass" msprop:Generator_ColumnPropNameInRow="WOPass" msprop:Generator_ColumnVarNameInTable="columnWOPass" msprop:Generator_ColumnPropNameInTable="WOPassColumn" type="xs:int" minOccurs="0" /> - <xs:element name="WOFail" msprop:Generator_UserColumnName="WOFail" msprop:Generator_ColumnPropNameInRow="WOFail" msprop:Generator_ColumnVarNameInTable="columnWOFail" msprop:Generator_ColumnPropNameInTable="WOFailColumn" type="xs:int" minOccurs="0" /> - <xs:element name="WOError" msprop:Generator_UserColumnName="WOError" msprop:Generator_ColumnPropNameInRow="WOError" msprop:Generator_ColumnVarNameInTable="columnWOError" msprop:Generator_ColumnPropNameInTable="WOErrorColumn" type="xs:int" minOccurs="0" /> - <xs:element name="aName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="aName" msprop:Generator_ColumnPropNameInRow="aName" msprop:Generator_ColumnVarNameInTable="columnaName" msprop:Generator_ColumnPropNameInTable="aNameColumn" minOccurs="0"> + <xs:element name="WOPass" msprop:Generator_UserColumnName="WOPass" msprop:Generator_ColumnVarNameInTable="columnWOPass" msprop:Generator_ColumnPropNameInRow="WOPass" msprop:Generator_ColumnPropNameInTable="WOPassColumn" type="xs:int" minOccurs="0" /> + <xs:element name="WOFail" msprop:Generator_UserColumnName="WOFail" msprop:Generator_ColumnVarNameInTable="columnWOFail" msprop:Generator_ColumnPropNameInRow="WOFail" msprop:Generator_ColumnPropNameInTable="WOFailColumn" type="xs:int" minOccurs="0" /> + <xs:element name="WOError" msprop:Generator_UserColumnName="WOError" msprop:Generator_ColumnVarNameInTable="columnWOError" msprop:Generator_ColumnPropNameInRow="WOError" msprop:Generator_ColumnPropNameInTable="WOErrorColumn" type="xs:int" minOccurs="0" /> + <xs:element name="aName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="aName" msprop:Generator_ColumnVarNameInTable="columnaName" msprop:Generator_ColumnPropNameInRow="aName" msprop:Generator_ColumnPropNameInTable="aNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> - <xs:element name="creatorID" msprop:Generator_UserColumnName="creatorID" msprop:Generator_ColumnPropNameInRow="creatorID" msprop:Generator_ColumnVarNameInTable="columncreatorID" msprop:Generator_ColumnPropNameInTable="creatorIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="numAI" msdata:ReadOnly="true" msprop:Generator_UserColumnName="numAI" msprop:Generator_ColumnPropNameInRow="numAI" msprop:Generator_ColumnVarNameInTable="columnnumAI" msprop:Generator_ColumnPropNameInTable="numAIColumn" type="xs:int" minOccurs="0" /> - <xs:element name="numWO" msdata:ReadOnly="true" msprop:Generator_UserColumnName="numWO" msprop:Generator_ColumnPropNameInRow="numWO" msprop:Generator_ColumnVarNameInTable="columnnumWO" msprop:Generator_ColumnPropNameInTable="numWOColumn" type="xs:int" minOccurs="0" /> + <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> + <xs:element name="creatorID" msprop:Generator_UserColumnName="creatorID" msprop:Generator_ColumnVarNameInTable="columncreatorID" msprop:Generator_ColumnPropNameInRow="creatorID" msprop:Generator_ColumnPropNameInTable="creatorIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="numAI" msdata:ReadOnly="true" msprop:Generator_UserColumnName="numAI" msprop:Generator_ColumnVarNameInTable="columnnumAI" msprop:Generator_ColumnPropNameInRow="numAI" msprop:Generator_ColumnPropNameInTable="numAIColumn" type="xs:int" minOccurs="0" /> + <xs:element name="numWO" msdata:ReadOnly="true" msprop:Generator_UserColumnName="numWO" msprop:Generator_ColumnVarNameInTable="columnnumWO" msprop:Generator_ColumnPropNameInRow="numWO" msprop:Generator_ColumnPropNameInTable="numWOColumn" type="xs:int" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_testPass" msprop:Generator_UserTableName="db_testPass" msprop:Generator_RowDeletedName="db_testPassRowDeleted" msprop:Generator_RowChangedName="db_testPassRowChanged" msprop:Generator_RowClassName="db_testPassRow" msprop:Generator_RowChangingName="db_testPassRowChanging" msprop:Generator_RowEvArgName="db_testPassRowChangeEvent" msprop:Generator_RowEvHandlerName="db_testPassRowChangeEventHandler" msprop:Generator_TableClassName="db_testPassDataTable" msprop:Generator_TableVarName="tabledb_testPass" msprop:Generator_RowDeletingName="db_testPassRowDeleting" msprop:Generator_TablePropName="db_testPass"> <xs:complexType> <xs:sequence> - <xs:element name="testPassID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="testPassID" msprop:Generator_ColumnVarNameInTable="columntestPassID" msprop:Generator_ColumnPropNameInRow="testPassID" msprop:Generator_ColumnPropNameInTable="testPassIDColumn" type="xs:int" /> - <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> + <xs:element name="testPassID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="testPassID" msprop:Generator_ColumnPropNameInRow="testPassID" msprop:Generator_ColumnVarNameInTable="columntestPassID" msprop:Generator_ColumnPropNameInTable="testPassIDColumn" type="xs:int" /> + <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="versionID" msprop:Generator_UserColumnName="versionID" msprop:Generator_ColumnVarNameInTable="columnversionID" msprop:Generator_ColumnPropNameInRow="versionID" msprop:Generator_ColumnPropNameInTable="versionIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="versionID" msprop:Generator_UserColumnName="versionID" msprop:Generator_ColumnPropNameInRow="versionID" msprop:Generator_ColumnVarNameInTable="columnversionID" msprop:Generator_ColumnPropNameInTable="versionIDColumn" type="xs:int" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_version" msprop:Generator_UserTableName="db_version" msprop:Generator_RowDeletedName="db_versionRowDeleted" msprop:Generator_RowChangedName="db_versionRowChanged" msprop:Generator_RowClassName="db_versionRow" msprop:Generator_RowChangingName="db_versionRowChanging" msprop:Generator_RowEvArgName="db_versionRowChangeEvent" msprop:Generator_RowEvHandlerName="db_versionRowChangeEventHandler" msprop:Generator_TableClassName="db_versionDataTable" msprop:Generator_TableVarName="tabledb_version" msprop:Generator_RowDeletingName="db_versionRowDeleting" msprop:Generator_TablePropName="db_version"> <xs:complexType> <xs:sequence> - <xs:element name="versionID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="versionID" msprop:Generator_ColumnVarNameInTable="columnversionID" msprop:Generator_ColumnPropNameInRow="versionID" msprop:Generator_ColumnPropNameInTable="versionIDColumn" type="xs:int" /> - <xs:element name="productID" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="number" msprop:Generator_UserColumnName="number" msprop:Generator_ColumnVarNameInTable="columnnumber" msprop:Generator_ColumnPropNameInRow="number" msprop:Generator_ColumnPropNameInTable="numberColumn" minOccurs="0"> + <xs:element name="versionID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="versionID" msprop:Generator_ColumnPropNameInRow="versionID" msprop:Generator_ColumnVarNameInTable="columnversionID" msprop:Generator_ColumnPropNameInTable="versionIDColumn" type="xs:int" /> + <xs:element name="productID" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="number" msprop:Generator_UserColumnName="number" msprop:Generator_ColumnPropNameInRow="number" msprop:Generator_ColumnVarNameInTable="columnnumber" msprop:Generator_ColumnPropNameInTable="numberColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="code" msprop:Generator_UserColumnName="code" msprop:Generator_ColumnVarNameInTable="columncode" msprop:Generator_ColumnPropNameInRow="code" msprop:Generator_ColumnPropNameInTable="codeColumn" minOccurs="0"> + <xs:element name="code" msprop:Generator_UserColumnName="code" msprop:Generator_ColumnPropNameInRow="code" msprop:Generator_ColumnVarNameInTable="columncode" msprop:Generator_ColumnPropNameInTable="codeColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" minOccurs="0" /> - <xs:element name="dateCreated" msprop:Generator_UserColumnName="dateCreated" msprop:Generator_ColumnVarNameInTable="columndateCreated" msprop:Generator_ColumnPropNameInRow="dateCreated" msprop:Generator_ColumnPropNameInTable="dateCreatedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" minOccurs="0" /> + <xs:element name="dateCreated" msprop:Generator_UserColumnName="dateCreated" msprop:Generator_ColumnPropNameInRow="dateCreated" msprop:Generator_ColumnVarNameInTable="columndateCreated" msprop:Generator_ColumnPropNameInTable="dateCreatedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="productName" msprop:Generator_UserColumnName="productName" msprop:Generator_ColumnPropNameInRow="productName" msprop:Generator_ColumnVarNameInTable="columnproductName" msprop:Generator_ColumnPropNameInTable="productNameColumn" minOccurs="0"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:maxLength value="255" /> + </xs:restriction> + </xs:simpleType> + </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_rights" msprop:Generator_UserTableName="db_rights" msprop:Generator_RowDeletedName="db_rightsRowDeleted" msprop:Generator_RowChangedName="db_rightsRowChanged" msprop:Generator_RowClassName="db_rightsRow" msprop:Generator_RowChangingName="db_rightsRowChanging" msprop:Generator_RowEvArgName="db_rightsRowChangeEvent" msprop:Generator_RowEvHandlerName="db_rightsRowChangeEventHandler" msprop:Generator_TableClassName="db_rightsDataTable" msprop:Generator_TableVarName="tabledb_rights" msprop:Generator_RowDeletingName="db_rightsRowDeleting" msprop:Generator_TablePropName="db_rights"> <xs:complexType> <xs:sequence> - <xs:element name="rightsID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="rightsID" msprop:Generator_ColumnPropNameInRow="rightsID" msprop:Generator_ColumnVarNameInTable="columnrightsID" msprop:Generator_ColumnPropNameInTable="rightsIDColumn" type="xs:int" /> - <xs:element name="rightsName" msprop:Generator_UserColumnName="rightsName" msprop:Generator_ColumnPropNameInRow="rightsName" msprop:Generator_ColumnVarNameInTable="columnrightsName" msprop:Generator_ColumnPropNameInTable="rightsNameColumn" minOccurs="0"> + <xs:element name="rightsID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="rightsID" msprop:Generator_ColumnVarNameInTable="columnrightsID" msprop:Generator_ColumnPropNameInRow="rightsID" msprop:Generator_ColumnPropNameInTable="rightsIDColumn" type="xs:int" /> + <xs:element name="rightsName" msprop:Generator_UserColumnName="rightsName" msprop:Generator_ColumnVarNameInTable="columnrightsName" msprop:Generator_ColumnPropNameInRow="rightsName" msprop:Generator_ColumnPropNameInTable="rightsNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="rightDescription" msprop:Generator_UserColumnName="rightDescription" msprop:Generator_ColumnPropNameInRow="rightDescription" msprop:Generator_ColumnVarNameInTable="columnrightDescription" msprop:Generator_ColumnPropNameInTable="rightDescriptionColumn" minOccurs="0"> + <xs:element name="rightDescription" msprop:Generator_UserColumnName="rightDescription" msprop:Generator_ColumnVarNameInTable="columnrightDescription" msprop:Generator_ColumnPropNameInRow="rightDescription" msprop:Generator_ColumnPropNameInTable="rightDescriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> - <xs:element name="rightsDescription" msprop:Generator_UserColumnName="rightsDescription" msprop:Generator_ColumnPropNameInRow="rightsDescription" msprop:Generator_ColumnVarNameInTable="columnrightsDescription" msprop:Generator_ColumnPropNameInTable="rightsDescriptionColumn" minOccurs="0"> + <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> + <xs:element name="rightsDescription" msprop:Generator_UserColumnName="rightsDescription" msprop:Generator_ColumnVarNameInTable="columnrightsDescription" msprop:Generator_ColumnPropNameInRow="rightsDescription" msprop:Generator_ColumnPropNameInTable="rightsDescriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="rightsCode" msprop:Generator_UserColumnName="rightsCode" msprop:Generator_ColumnPropNameInRow="rightsCode" msprop:Generator_ColumnVarNameInTable="columnrightsCode" msprop:Generator_ColumnPropNameInTable="rightsCodeColumn" minOccurs="0"> + <xs:element name="rightsCode" msprop:Generator_UserColumnName="rightsCode" msprop:Generator_ColumnVarNameInTable="columnrightsCode" msprop:Generator_ColumnPropNameInRow="rightsCode" msprop:Generator_ColumnPropNameInTable="rightsCodeColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> @@ -1236,25 +1246,25 @@ <xs:element name="db_roleProductUser" msprop:Generator_UserTableName="db_roleProductUser" msprop:Generator_RowDeletedName="db_roleProductUserRowDeleted" msprop:Generator_RowChangedName="db_roleProductUserRowChanged" msprop:Generator_RowClassName="db_roleProductUserRow" msprop:Generator_RowChangingName="db_roleProductUserRowChanging" msprop:Generator_RowEvArgName="db_roleProductUserRowChangeEvent" msprop:Generator_RowEvHandlerName="db_roleProductUserRowChangeEventHandler" msprop:Generator_TableClassName="db_roleProductUserDataTable" msprop:Generator_TableVarName="tabledb_roleProductUser" msprop:Generator_RowDeletingName="db_roleProductUserRowDeleting" msprop:Generator_TablePropName="db_roleProductUser"> <xs:complexType> <xs:sequence> - <xs:element name="userID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="userID" msprop:Generator_ColumnVarNameInTable="columnuserID" msprop:Generator_ColumnPropNameInRow="userID" msprop:Generator_ColumnPropNameInTable="userIDColumn" type="xs:int" /> - <xs:element name="fullName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="fullName" msprop:Generator_ColumnVarNameInTable="columnfullName" msprop:Generator_ColumnPropNameInRow="fullName" msprop:Generator_ColumnPropNameInTable="fullNameColumn" minOccurs="0"> + <xs:element name="userID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="userID" msprop:Genera... [truncated message content] |
From: <ro...@us...> - 2006-08-09 18:18:11
|
Revision: 289 Author: rouquin Date: 2006-08-09 11:18:06 -0700 (Wed, 09 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=289&view=rev Log Message: ----------- Bug fixes: 1) Enabling/disabled of date pickers disabled 2) Sorting columns refreshes rows. Modified Paths: -------------- Website/Includes/Assignments.ascx.cs Website/Includes/FeaturesTree.ascx.cs Website/Includes/Versions.ascx Modified: Website/Includes/Assignments.ascx.cs =================================================================== --- Website/Includes/Assignments.ascx.cs 2006-08-09 16:53:30 UTC (rev 288) +++ Website/Includes/Assignments.ascx.cs 2006-08-09 18:18:06 UTC (rev 289) @@ -323,8 +323,9 @@ } protected void AssignmentsGridView_Sorted(object sender, EventArgs e) { - foreach (GridViewRow row in AssignmentsGridView.Rows) - filter(row); + Session["refresh"] = true; + //foreach (GridViewRow row in AssignmentsGridView.Rows) + // filter(row); } protected void AssignmentsGridView_DataBinding(object sender, EventArgs e) { @@ -470,16 +471,6 @@ } protected void cboDateFilter_CheckedChanged(object sender, EventArgs e) { - if (cboDateFilter.Checked) - { - toDate.Enabled = true; - fromDate.Enabled = true; - } - else - { - toDate.Enabled = false; - fromDate.Enabled = false; - } Session["filterAssignedDate"] = cboDateFilter.Checked; Session.Add("refresh", true); @@ -487,16 +478,6 @@ } protected void cboDueFilter_CheckedChanged(object sender, EventArgs e) { - if (cboDueFilter.Checked) - { - toDueDate.Enabled = true; - fromDueDate.Enabled = true; - } - else - { - toDueDate.Enabled = false; - fromDueDate.Enabled = false; - } Session["filterDueDate"] = cboDueFilter.Checked; Session.Add("refresh", true); @@ -504,16 +485,6 @@ } protected void cboFinishedFilter_CheckedChanged(object sender, EventArgs e) { - if (cboFinishedFilter.Checked) - { - toFinishedDate.Enabled = true; - fromFinishedDate.Enabled = true; - } - else - { - toFinishedDate.Enabled = false; - fromFinishedDate.Enabled = false; - } Session["filterFinishedDate"] = cboFinishedFilter.Checked; Session.Add("refresh", true); Modified: Website/Includes/FeaturesTree.ascx.cs =================================================================== --- Website/Includes/FeaturesTree.ascx.cs 2006-08-09 16:53:30 UTC (rev 288) +++ Website/Includes/FeaturesTree.ascx.cs 2006-08-09 18:18:06 UTC (rev 289) @@ -13,7 +13,7 @@ namespace TCDB -{ +{ public partial class FeaturesTree : SiteUserControl { private static Logger m_logg = new Logger("TCDB.FeatureTree"); @@ -89,7 +89,7 @@ // Set additional properties for the node. newNode.SelectAction = TreeNodeSelectAction.Expand; - newNode.NavigateUrl = "~/Version.aspx?mode=read&i"+Constants.CODE_VERSION+"=" + newNode.Value; + newNode.NavigateUrl = "~/Version.aspx?mode=read&"+Constants.CODE_VERSION+"=" + newNode.Value; if (!version.ACTIVE) newNode.Text = "<font class='deleted'>" + newNode.Text + "</font>"; Modified: Website/Includes/Versions.ascx =================================================================== --- Website/Includes/Versions.ascx 2006-08-09 16:53:30 UTC (rev 288) +++ Website/Includes/Versions.ascx 2006-08-09 18:18:06 UTC (rev 289) @@ -42,18 +42,10 @@ <tr> <td align="left" colspan="2" valign="top"> <strong>Product:</strong> - <asp:Label ID="productName" runat="server" Text='<%# Eval("productID") %>'></asp:Label></td> + <asp:Label ID="productName" runat="server" Text='<%# Eval("productName") %>'></asp:Label></td> <td align="left" colspan="2" valign="top"> <strong>Platforms: </strong><br /> - <asp:ListBox ID="platformList" runat="server" DataSourceID="VersionPlatformDataSource" - DataTextField="platformName" DataValueField="platformID"></asp:ListBox><asp:SqlDataSource - ID="VersionPlatformDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:tcdbConnectionString %>" - SelectCommand="sel_products" SelectCommandType="StoredProcedure"> - <SelectParameters> - <asp:Parameter DefaultValue="true" Name="active" Type="Boolean" /> - <asp:Parameter Name="productID" Type="Int32" /> - </SelectParameters> - </asp:SqlDataSource> + <asp:ListBox ID="platformList" runat="server"></asp:ListBox> </td> </tr> <tr> @@ -101,16 +93,13 @@ <tr> <td align="left" colspan="2"> <strong>Product:</strong> - <asp:DropDownList ID="productList" runat="server" DataSourceID="ProductDataSource" + <asp:DropDownList ID="productList" runat="server" DataSourceID="ProductsDataSource" DataTextField="name" DataValueField="productID" SelectedValue='<%# Bind("productID") %>'> - </asp:DropDownList><asp:ObjectDataSource ID="ProductDataSource" runat="server" OldValuesParameterFormatString="original_{0}" - SelectMethod="GetAllProductData" TypeName="DummyDataSetTableAdapters.productTableAdapter"> - </asp:ObjectDataSource> + </asp:DropDownList> </td> <td align="left" colspan="2" valign="top"> <strong>Platform:</strong><br /> - <asp:ListBox ID="platformList" runat="server" DataSourceID="PlatformDataSource" DataTextField="platformName" - DataValueField="platformID" OnDataBound="platformList_DataBound" SelectionMode="Multiple"> + <asp:ListBox ID="platformList" runat="server" OnDataBound="platformList_DataBound" SelectionMode="Multiple"> </asp:ListBox> </td> </tr> <tr> @@ -156,16 +145,13 @@ <tr> <td align="left" colspan="2"> <strong>Product:</strong> - <asp:DropDownList ID="productList" runat="server" DataSourceID="ProductDataSource" + <asp:DropDownList ID="productList" runat="server" DataSourceID="ProductsDataSource" DataTextField="name" DataValueField="productID" SelectedValue='<%# Bind("productID") %>'> - </asp:DropDownList><asp:ObjectDataSource ID="ProductDataSource" runat="server" OldValuesParameterFormatString="original_{0}" - SelectMethod="GetAllProductData" TypeName="DummyDataSetTableAdapters.productTableAdapter"> - </asp:ObjectDataSource> + </asp:DropDownList> </td> <td align="left" colspan="2" valign="top"> <strong>Platform:</strong><br /> - <asp:ListBox ID="platformList" runat="server" DataSourceID="PlatformDataSource" DataTextField="platformName" - DataValueField="platformID" SelectionMode="Multiple"></asp:ListBox> </td> + <asp:ListBox ID="platformList" runat="server" SelectionMode="Multiple"></asp:ListBox> </td> </tr> <tr> <td class="hr" colspan="4"> @@ -209,34 +195,11 @@ <asp:Parameter Name="active" Type="Boolean" /> </InsertParameters> </asp:ObjectDataSource> -<asp:ObjectDataSource ID="PlatformDataSource" runat="server" OldValuesParameterFormatString="original_{0}" - SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.db_productsTableAdapter" - InsertMethod="Insert" UpdateMethod="Update"> - <UpdateParameters> - <asp:Parameter Name="productID" Type="Int32" /> - <asp:Parameter Name="name" Type="String" /> - <asp:Parameter Name="description" Type="String" /> - <asp:Parameter Name="devManager" Type="Int32" /> - <asp:Parameter Name="qaManager" Type="Int32" /> - <asp:Parameter Name="devLead" Type="Int32" /> - <asp:Parameter Name="qaLead" Type="Int32" /> - <asp:Parameter Name="pm" Type="Int32" /> - <asp:Parameter Name="codeName" Type="String" /> - <asp:Parameter Name="active" Type="Boolean" /> - </UpdateParameters> +<asp:ObjectDataSource ID="ProductsDataSource" runat="server" OldValuesParameterFormatString="original_{0}" + SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.db_productsTableAdapter"> <SelectParameters> - <asp:Parameter Name="active" Type="Boolean" DefaultValue="true" /> + <asp:SessionParameter Name="active" SessionField="active" Type="Boolean" /> <asp:Parameter Name="productID" Type="Int32" /> + <asp:Parameter Name="productName" Type="String" /> </SelectParameters> - <InsertParameters> - <asp:Parameter Name="name" Type="String" /> - <asp:Parameter Name="description" Type="String" /> - <asp:Parameter Name="devManager" Type="Int32" /> - <asp:Parameter Name="qaManager" Type="Int32" /> - <asp:Parameter Name="devLead" Type="Int32" /> - <asp:Parameter Name="qaLead" Type="Int32" /> - <asp:Parameter Name="pm" Type="Int32" /> - <asp:Parameter Name="codeName" Type="String" /> - <asp:Parameter Name="active" Type="Boolean" /> - </InsertParameters> </asp:ObjectDataSource> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2006-08-09 19:35:12
|
Revision: 290 Author: rouquin Date: 2006-08-09 12:34:56 -0700 (Wed, 09 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=290&view=rev Log Message: ----------- Had some updating issues. Should be working properly now. Modified Paths: -------------- Website/App_Code/tcdbDataSet.xsd Website/App_Code/tcdbDataSet.xss Website/Includes/ActionItems.ascx.cs Website/Includes/Products.ascx Website/Includes/Products.ascx.cs Website/Includes/Rights.ascx Website/Includes/Rights.ascx.cs Website/Includes/UserRoles.ascx Website/Includes/UserRoles.ascx.cs Modified: Website/App_Code/tcdbDataSet.xsd =================================================================== --- Website/App_Code/tcdbDataSet.xsd 2006-08-09 18:18:06 UTC (rev 289) +++ Website/App_Code/tcdbDataSet.xsd 2006-08-09 19:34:56 UTC (rev 290) @@ -427,73 +427,6 @@ <Sources> </Sources> </TableAdapter> - <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="db_rightsTableAdapter" GeneratorDataComponentClassName="db_rightsTableAdapter" Name="db_rights" UserDataComponentName="db_rightsTableAdapter"> - <MainSource> - <DbSource ConnectionRef="tcdbConnectionString (Web.config)" DbObjectName="tcdb.dbo.sel_rights" DbObjectType="StoredProcedure" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="True" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="False" UserGetMethodName="GetData" UserSourceName="Fill"> - <InsertCommand> - <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> - <CommandText>dbo.ins_rights</CommandText> - <Parameters> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@rightsCode" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumn="rightsCode" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@rightsName" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumn="rightsName" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@rightsDescription" Precision="0" ProviderType="Text" Scale="0" Size="2147483647" SourceColumn="rightsDescription" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - </Parameters> - </DbCommand> - </InsertCommand> - <SelectCommand> - <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> - <CommandText>dbo.sel_rights</CommandText> - <Parameters> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@rightsID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@rightsCode" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@rightsName" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@active" Precision="1" ProviderType="Bit" Scale="0" Size="1" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - </Parameters> - </DbCommand> - </SelectCommand> - <UpdateCommand> - <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> - <CommandText>dbo.upd_rights</CommandText> - <Parameters> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@rightsID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumn="rightsID" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@rightsCode" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumn="rightsCode" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@rightsName" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumn="rightsName" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@rightsDescription" Precision="0" ProviderType="Text" Scale="0" Size="2147483647" SourceColumn="rightsDescription" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@active" Precision="1" ProviderType="Bit" Scale="0" Size="1" SourceColumn="active" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> - </Parameters> - </DbCommand> - </UpdateCommand> - </DbSource> - </MainSource> - <Mappings> - <Mapping SourceColumn="rightsID" DataSetColumn="rightsID" /> - <Mapping SourceColumn="rightsName" DataSetColumn="rightsName" /> - <Mapping SourceColumn="rightDescription" DataSetColumn="rightDescription" /> - <Mapping SourceColumn="active" DataSetColumn="active" /> - <Mapping SourceColumn="rightsDescription" DataSetColumn="rightsDescription" /> - <Mapping SourceColumn="rightsCode" DataSetColumn="rightsCode" /> - </Mappings> - <Sources> - </Sources> - </TableAdapter> <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="db_roleProductUserTableAdapter" GeneratorDataComponentClassName="db_roleProductUserTableAdapter" Name="db_roleProductUser" UserDataComponentName="db_roleProductUserTableAdapter"> <MainSource> <DbSource ConnectionRef="tcdbConnectionString (Web.config)" DbObjectName="tcdb.dbo.sel_roleProductUser" DbObjectType="StoredProcedure" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="False" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="False" UserGetMethodName="GetData" UserSourceName="Fill"> @@ -954,6 +887,72 @@ <Sources> </Sources> </TableAdapter> + <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="db_rightsTableAdapter" GeneratorDataComponentClassName="db_rightsTableAdapter" Name="db_rights" UserDataComponentName="db_rightsTableAdapter"> + <MainSource> + <DbSource ConnectionRef="tcdbConnectionString (Web.config)" DbObjectName="tcdb.dbo.sel_rights" DbObjectType="StoredProcedure" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="True" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="False" UserGetMethodName="GetData" UserSourceName="Fill"> + <InsertCommand> + <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> + <CommandText>dbo.ins_rights</CommandText> + <Parameters> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@rightsCode" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumn="rightsCode" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@rightsName" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumn="rightsName" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@rightsDescription" Precision="0" ProviderType="Text" Scale="0" Size="2147483647" SourceColumn="rightsDescription" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + </Parameters> + </DbCommand> + </InsertCommand> + <SelectCommand> + <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> + <CommandText>dbo.sel_rights</CommandText> + <Parameters> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@rightsID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@rightsCode" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@rightsName" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@active" Precision="1" ProviderType="Bit" Scale="0" Size="1" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + </Parameters> + </DbCommand> + </SelectCommand> + <UpdateCommand> + <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> + <CommandText>dbo.upd_rights</CommandText> + <Parameters> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@rightsID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumn="rightsID" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@rightsCode" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumn="rightsCode" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@rightsName" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumn="rightsName" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@rightsDescription" Precision="0" ProviderType="Text" Scale="0" Size="2147483647" SourceColumn="rightsDescription" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@active" Precision="1" ProviderType="Bit" Scale="0" Size="1" SourceColumn="active" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + </Parameters> + </DbCommand> + </UpdateCommand> + </DbSource> + </MainSource> + <Mappings> + <Mapping SourceColumn="rightsID" DataSetColumn="rightsID" /> + <Mapping SourceColumn="rightsCode" DataSetColumn="rightsCode" /> + <Mapping SourceColumn="rightsName" DataSetColumn="rightsName" /> + <Mapping SourceColumn="rightsDescription" DataSetColumn="rightsDescription" /> + <Mapping SourceColumn="active" DataSetColumn="active" /> + </Mappings> + <Sources> + </Sources> + </TableAdapter> </Tables> <Sources> </Sources> @@ -966,108 +965,108 @@ <xs:element name="db_products" msprop:Generator_UserTableName="db_products" msprop:Generator_RowDeletedName="db_productsRowDeleted" msprop:Generator_RowChangedName="db_productsRowChanged" msprop:Generator_RowClassName="db_productsRow" msprop:Generator_RowChangingName="db_productsRowChanging" msprop:Generator_RowEvArgName="db_productsRowChangeEvent" msprop:Generator_RowEvHandlerName="db_productsRowChangeEventHandler" msprop:Generator_TableClassName="db_productsDataTable" msprop:Generator_TableVarName="tabledb_products" msprop:Generator_RowDeletingName="db_productsRowDeleting" msprop:Generator_TablePropName="db_products"> <xs:complexType> <xs:sequence> - <xs:element name="productID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" /> - <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> + <xs:element name="productID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" /> + <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> + <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="devManager" msprop:Generator_UserColumnName="devManager" msprop:Generator_ColumnPropNameInRow="devManager" msprop:Generator_ColumnVarNameInTable="columndevManager" msprop:Generator_ColumnPropNameInTable="devManagerColumn" type="xs:int" minOccurs="0" /> - <xs:element name="qaManager" msprop:Generator_UserColumnName="qaManager" msprop:Generator_ColumnPropNameInRow="qaManager" msprop:Generator_ColumnVarNameInTable="columnqaManager" msprop:Generator_ColumnPropNameInTable="qaManagerColumn" type="xs:int" minOccurs="0" /> - <xs:element name="devLead" msprop:Generator_UserColumnName="devLead" msprop:Generator_ColumnPropNameInRow="devLead" msprop:Generator_ColumnVarNameInTable="columndevLead" msprop:Generator_ColumnPropNameInTable="devLeadColumn" type="xs:int" minOccurs="0" /> - <xs:element name="qaLead" msprop:Generator_UserColumnName="qaLead" msprop:Generator_ColumnPropNameInRow="qaLead" msprop:Generator_ColumnVarNameInTable="columnqaLead" msprop:Generator_ColumnPropNameInTable="qaLeadColumn" type="xs:int" minOccurs="0" /> - <xs:element name="pm" msprop:Generator_UserColumnName="pm" msprop:Generator_ColumnPropNameInRow="pm" msprop:Generator_ColumnVarNameInTable="columnpm" msprop:Generator_ColumnPropNameInTable="pmColumn" type="xs:int" minOccurs="0" /> - <xs:element name="codeName" msprop:Generator_UserColumnName="codeName" msprop:Generator_ColumnPropNameInRow="codeName" msprop:Generator_ColumnVarNameInTable="columncodeName" msprop:Generator_ColumnPropNameInTable="codeNameColumn" minOccurs="0"> + <xs:element name="devManager" msprop:Generator_UserColumnName="devManager" msprop:Generator_ColumnVarNameInTable="columndevManager" msprop:Generator_ColumnPropNameInRow="devManager" msprop:Generator_ColumnPropNameInTable="devManagerColumn" type="xs:int" minOccurs="0" /> + <xs:element name="qaManager" msprop:Generator_UserColumnName="qaManager" msprop:Generator_ColumnVarNameInTable="columnqaManager" msprop:Generator_ColumnPropNameInRow="qaManager" msprop:Generator_ColumnPropNameInTable="qaManagerColumn" type="xs:int" minOccurs="0" /> + <xs:element name="devLead" msprop:Generator_UserColumnName="devLead" msprop:Generator_ColumnVarNameInTable="columndevLead" msprop:Generator_ColumnPropNameInRow="devLead" msprop:Generator_ColumnPropNameInTable="devLeadColumn" type="xs:int" minOccurs="0" /> + <xs:element name="qaLead" msprop:Generator_UserColumnName="qaLead" msprop:Generator_ColumnVarNameInTable="columnqaLead" msprop:Generator_ColumnPropNameInRow="qaLead" msprop:Generator_ColumnPropNameInTable="qaLeadColumn" type="xs:int" minOccurs="0" /> + <xs:element name="pm" msprop:Generator_UserColumnName="pm" msprop:Generator_ColumnVarNameInTable="columnpm" msprop:Generator_ColumnPropNameInRow="pm" msprop:Generator_ColumnPropNameInTable="pmColumn" type="xs:int" minOccurs="0" /> + <xs:element name="codeName" msprop:Generator_UserColumnName="codeName" msprop:Generator_ColumnVarNameInTable="columncodeName" msprop:Generator_ColumnPropNameInRow="codeName" msprop:Generator_ColumnPropNameInTable="codeNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="10" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> + <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_actionItems" msprop:Generator_UserTableName="db_actionItems" msprop:Generator_RowDeletedName="db_actionItemsRowDeleted" msprop:Generator_RowChangedName="db_actionItemsRowChanged" msprop:Generator_RowClassName="db_actionItemsRow" msprop:Generator_RowChangingName="db_actionItemsRowChanging" msprop:Generator_RowEvArgName="db_actionItemsRowChangeEvent" msprop:Generator_RowEvHandlerName="db_actionItemsRowChangeEventHandler" msprop:Generator_TableClassName="db_actionItemsDataTable" msprop:Generator_TableVarName="tabledb_actionItems" msprop:Generator_RowDeletingName="db_actionItemsRowDeleting" msprop:Generator_TablePropName="db_actionItems"> <xs:complexType> <xs:sequence> - <xs:element name="actionItemID" msprop:Generator_UserColumnName="actionItemID" msprop:Generator_ColumnVarNameInTable="columnactionItemID" msprop:Generator_ColumnPropNameInRow="actionItemID" msprop:Generator_ColumnPropNameInTable="actionItemIDColumn" type="xs:int" /> - <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> + <xs:element name="actionItemID" msprop:Generator_UserColumnName="actionItemID" msprop:Generator_ColumnPropNameInRow="actionItemID" msprop:Generator_ColumnVarNameInTable="columnactionItemID" msprop:Generator_ColumnPropNameInTable="actionItemIDColumn" type="xs:int" /> + <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> + <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="dateAssigned" msprop:Generator_UserColumnName="dateAssigned" msprop:Generator_ColumnVarNameInTable="columndateAssigned" msprop:Generator_ColumnPropNameInRow="dateAssigned" msprop:Generator_ColumnPropNameInTable="dateAssignedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="dateDue" msprop:Generator_UserColumnName="dateDue" msprop:Generator_ColumnVarNameInTable="columndateDue" msprop:Generator_ColumnPropNameInRow="dateDue" msprop:Generator_ColumnPropNameInTable="dateDueColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="percentComplete" msprop:Generator_UserColumnName="percentComplete" msprop:Generator_ColumnVarNameInTable="columnpercentComplete" msprop:Generator_ColumnPropNameInRow="percentComplete" msprop:Generator_ColumnPropNameInTable="percentCompleteColumn" type="xs:int" minOccurs="0" /> - <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> + <xs:element name="dateAssigned" msprop:Generator_UserColumnName="dateAssigned" msprop:Generator_ColumnPropNameInRow="dateAssigned" msprop:Generator_ColumnVarNameInTable="columndateAssigned" msprop:Generator_ColumnPropNameInTable="dateAssignedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="dateDue" msprop:Generator_UserColumnName="dateDue" msprop:Generator_ColumnPropNameInRow="dateDue" msprop:Generator_ColumnVarNameInTable="columndateDue" msprop:Generator_ColumnPropNameInTable="dateDueColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="percentComplete" msprop:Generator_UserColumnName="percentComplete" msprop:Generator_ColumnPropNameInRow="percentComplete" msprop:Generator_ColumnVarNameInTable="columnpercentComplete" msprop:Generator_ColumnPropNameInTable="percentCompleteColumn" type="xs:int" minOccurs="0" /> + <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="createdBy" msdata:ReadOnly="true" msprop:Generator_UserColumnName="createdBy" msprop:Generator_ColumnVarNameInTable="columncreatedBy" msprop:Generator_ColumnPropNameInRow="createdBy" msprop:Generator_ColumnPropNameInTable="createdByColumn" minOccurs="0"> + <xs:element name="createdBy" msdata:ReadOnly="true" msprop:Generator_UserColumnName="createdBy" msprop:Generator_ColumnPropNameInRow="createdBy" msprop:Generator_ColumnVarNameInTable="columncreatedBy" msprop:Generator_ColumnPropNameInTable="createdByColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="highPriority" msprop:Generator_UserColumnName="highPriority" msprop:Generator_ColumnVarNameInTable="columnhighPriority" msprop:Generator_ColumnPropNameInRow="highPriority" msprop:Generator_ColumnPropNameInTable="highPriorityColumn" type="xs:boolean" minOccurs="0" /> - <xs:element name="testPass" msprop:Generator_UserColumnName="testPass" msprop:Generator_ColumnPropNameInRow="testPass" msprop:Generator_ColumnVarNameInTable="columntestPass" msprop:Generator_ColumnPropNameInTable="testPassColumn" minOccurs="0"> + <xs:element name="highPriority" msprop:Generator_UserColumnName="highPriority" msprop:Generator_ColumnPropNameInRow="highPriority" msprop:Generator_ColumnVarNameInTable="columnhighPriority" msprop:Generator_ColumnPropNameInTable="highPriorityColumn" type="xs:boolean" minOccurs="0" /> + <xs:element name="testPass" msprop:Generator_UserColumnName="testPass" msprop:Generator_ColumnVarNameInTable="columntestPass" msprop:Generator_ColumnPropNameInRow="testPass" msprop:Generator_ColumnPropNameInTable="testPassColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="dateFinished" msprop:Generator_UserColumnName="dateFinished" msprop:Generator_ColumnPropNameInRow="dateFinished" msprop:Generator_ColumnVarNameInTable="columndateFinished" msprop:Generator_ColumnPropNameInTable="dateFinishedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="assignedID" msprop:Generator_UserColumnName="assignedID" msprop:Generator_ColumnPropNameInRow="assignedID" msprop:Generator_ColumnVarNameInTable="columnassignedID" msprop:Generator_ColumnPropNameInTable="assignedIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="assigned" msdata:ReadOnly="true" msprop:Generator_UserColumnName="assigned" msprop:Generator_ColumnPropNameInRow="assigned" msprop:Generator_ColumnVarNameInTable="columnassigned" msprop:Generator_ColumnPropNameInTable="assignedColumn" minOccurs="0"> + <xs:element name="dateFinished" msprop:Generator_UserColumnName="dateFinished" msprop:Generator_ColumnVarNameInTable="columndateFinished" msprop:Generator_ColumnPropNameInRow="dateFinished" msprop:Generator_ColumnPropNameInTable="dateFinishedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="assignedID" msprop:Generator_UserColumnName="assignedID" msprop:Generator_ColumnVarNameInTable="columnassignedID" msprop:Generator_ColumnPropNameInRow="assignedID" msprop:Generator_ColumnPropNameInTable="assignedIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="assigned" msdata:ReadOnly="true" msprop:Generator_UserColumnName="assigned" msprop:Generator_ColumnVarNameInTable="columnassigned" msprop:Generator_ColumnPropNameInRow="assigned" msprop:Generator_ColumnPropNameInTable="assignedColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="statusID" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="testPassID" msprop:Generator_UserColumnName="testPassID" msprop:Generator_ColumnVarNameInTable="columntestPassID" msprop:Generator_ColumnPropNameInRow="testPassID" msprop:Generator_ColumnPropNameInTable="testPassIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> - <xs:element name="creatorID" msprop:Generator_UserColumnName="creatorID" msprop:Generator_ColumnVarNameInTable="columncreatorID" msprop:Generator_ColumnPropNameInRow="creatorID" msprop:Generator_ColumnPropNameInTable="creatorIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="statusID" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="testPassID" msprop:Generator_UserColumnName="testPassID" msprop:Generator_ColumnPropNameInRow="testPassID" msprop:Generator_ColumnVarNameInTable="columntestPassID" msprop:Generator_ColumnPropNameInTable="testPassIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> + <xs:element name="creatorID" msprop:Generator_UserColumnName="creatorID" msprop:Generator_ColumnPropNameInRow="creatorID" msprop:Generator_ColumnVarNameInTable="columncreatorID" msprop:Generator_ColumnPropNameInTable="creatorIDColumn" type="xs:int" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_status" msprop:Generator_UserTableName="db_status" msprop:Generator_RowDeletedName="db_statusRowDeleted" msprop:Generator_RowChangedName="db_statusRowChanged" msprop:Generator_RowClassName="db_statusRow" msprop:Generator_RowChangingName="db_statusRowChanging" msprop:Generator_RowEvArgName="db_statusRowChangeEvent" msprop:Generator_RowEvHandlerName="db_statusRowChangeEventHandler" msprop:Generator_TableClassName="db_statusDataTable" msprop:Generator_TableVarName="tabledb_status" msprop:Generator_RowDeletingName="db_statusRowDeleting" msprop:Generator_TablePropName="db_status"> <xs:complexType> <xs:sequence> - <xs:element name="statusID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" /> - <xs:element name="Description" msprop:Generator_UserColumnName="Description" msprop:Generator_ColumnPropNameInRow="Description" msprop:Generator_ColumnVarNameInTable="columnDescription" msprop:Generator_ColumnPropNameInTable="DescriptionColumn" minOccurs="0"> + <xs:element name="statusID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" /> + <xs:element name="Description" msprop:Generator_UserColumnName="Description" msprop:Generator_ColumnVarNameInTable="columnDescription" msprop:Generator_ColumnPropNameInRow="Description" msprop:Generator_ColumnPropNameInTable="DescriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> + <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> @@ -1080,17 +1079,17 @@ <xs:element name="db_notes" msprop:Generator_UserTableName="db_notes" msprop:Generator_RowDeletedName="db_notesRowDeleted" msprop:Generator_RowChangedName="db_notesRowChanged" msprop:Generator_RowClassName="db_notesRow" msprop:Generator_RowChangingName="db_notesRowChanging" msprop:Generator_RowEvArgName="db_notesRowChangeEvent" msprop:Generator_RowEvHandlerName="db_notesRowChangeEventHandler" msprop:Generator_TableClassName="db_notesDataTable" msprop:Generator_TableVarName="tabledb_notes" msprop:Generator_RowDeletingName="db_notesRowDeleting" msprop:Generator_TablePropName="db_notes"> <xs:complexType> <xs:sequence> - <xs:element name="noteID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="noteID" msprop:Generator_ColumnPropNameInRow="noteID" msprop:Generator_ColumnVarNameInTable="columnnoteID" msprop:Generator_ColumnPropNameInTable="noteIDColumn" type="xs:int" /> - <xs:element name="dateCreated" msprop:Generator_UserColumnName="dateCreated" msprop:Generator_ColumnPropNameInRow="dateCreated" msprop:Generator_ColumnVarNameInTable="columndateCreated" msprop:Generator_ColumnPropNameInTable="dateCreatedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="noteField" msprop:Generator_UserColumnName="noteField" msprop:Generator_ColumnPropNameInRow="noteField" msprop:Generator_ColumnVarNameInTable="columnnoteField" msprop:Generator_ColumnPropNameInTable="noteFieldColumn" minOccurs="0"> + <xs:element name="noteID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="noteID" msprop:Generator_ColumnVarNameInTable="columnnoteID" msprop:Generator_ColumnPropNameInRow="noteID" msprop:Generator_ColumnPropNameInTable="noteIDColumn" type="xs:int" /> + <xs:element name="dateCreated" msprop:Generator_UserColumnName="dateCreated" msprop:Generator_ColumnVarNameInTable="columndateCreated" msprop:Generator_ColumnPropNameInRow="dateCreated" msprop:Generator_ColumnPropNameInTable="dateCreatedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="noteField" msprop:Generator_UserColumnName="noteField" msprop:Generator_ColumnVarNameInTable="columnnoteField" msprop:Generator_ColumnPropNameInRow="noteField" msprop:Generator_ColumnPropNameInTable="noteFieldColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="noteAuthor" msprop:Generator_UserColumnName="noteAuthor" msprop:Generator_ColumnPropNameInRow="noteAuthor" msprop:Generator_ColumnVarNameInTable="columnnoteAuthor" msprop:Generator_ColumnPropNameInTable="noteAuthorColumn" type="xs:int" minOccurs="0" /> - <xs:element name="noteAuthorName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="noteAuthorName" msprop:Generator_ColumnVarNameInTable="columnnoteAuthorName" msprop:Generator_ColumnPropNameInRow="noteAuthorName" msprop:Generator_ColumnPropNameInTable="noteAuthorNameColumn" minOccurs="0"> + <xs:element name="noteAuthor" msprop:Generator_UserColumnName="noteAuthor" msprop:Generator_ColumnVarNameInTable="columnnoteAuthor" msprop:Generator_ColumnPropNameInRow="noteAuthor" msprop:Generator_ColumnPropNameInTable="noteAuthorColumn" type="xs:int" minOccurs="0" /> + <xs:element name="noteAuthorName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="noteAuthorName" msprop:Generator_ColumnPropNameInRow="noteAuthorName" msprop:Generator_ColumnVarNameInTable="columnnoteAuthorName" msprop:Generator_ColumnPropNameInTable="noteAuthorNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> @@ -1103,102 +1102,102 @@ <xs:element name="db_assignments" msprop:Generator_UserTableName="db_assignments" msprop:Generator_RowDeletedName="db_assignmentsRowDeleted" msprop:Generator_RowChangedName="db_assignmentsRowChanged" msprop:Generator_RowClassName="db_assignmentsRow" msprop:Generator_RowChangingName="db_assignmentsRowChanging" msprop:Generator_RowEvArgName="db_assignmentsRowChangeEvent" msprop:Generator_RowEvHandlerName="db_assignmentsRowChangeEventHandler" msprop:Generator_TableClassName="db_assignmentsDataTable" msprop:Generator_TableVarName="tabledb_assignments" msprop:Generator_RowDeletingName="db_assignmentsRowDeleting" msprop:Generator_TablePropName="db_assignments"> <xs:complexType> <xs:sequence> - <xs:element name="aType" msdata:ReadOnly="true" msprop:Generator_UserColumnName="aType" msprop:Generator_ColumnPropNameInRow="aType" msprop:Generator_ColumnVarNameInTable="columnaType" msprop:Generator_ColumnPropNameInTable="aTypeColumn" minOccurs="0"> + <xs:element name="aType" msdata:ReadOnly="true" msprop:Generator_UserColumnName="aType" msprop:Generator_ColumnVarNameInTable="columnaType" msprop:Generator_ColumnPropNameInRow="aType" msprop:Generator_ColumnPropNameInTable="aTypeColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="childID" msdata:ReadOnly="true" msprop:Generator_UserColumnName="childID" msprop:Generator_ColumnPropNameInRow="childID" msprop:Generator_ColumnVarNameInTable="columnchildID" msprop:Generator_ColumnPropNameInTable="childIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="creator" msdata:ReadOnly="true" msprop:Generator_UserColumnName="creator" msprop:Generator_ColumnPropNameInRow="creator" msprop:Generator_ColumnVarNameInTable="columncreator" msprop:Generator_ColumnPropNameInTable="creatorColumn" minOccurs="0"> + <xs:element name="childID" msdata:ReadOnly="true" msprop:Generator_UserColumnName="childID" msprop:Generator_ColumnVarNameInTable="columnchildID" msprop:Generator_ColumnPropNameInRow="childID" msprop:Generator_ColumnPropNameInTable="childIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="creator" msdata:ReadOnly="true" msprop:Generator_UserColumnName="creator" msprop:Generator_ColumnVarNameInTable="columncreator" msprop:Generator_ColumnPropNameInRow="creator" msprop:Generator_ColumnPropNameInTable="creatorColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="assigned" msdata:ReadOnly="true" msprop:Generator_UserColumnName="assigned" msprop:Generator_ColumnPropNameInRow="assigned" msprop:Generator_ColumnVarNameInTable="columnassigned" msprop:Generator_ColumnPropNameInTable="assignedColumn" minOccurs="0"> + <xs:element name="assigned" msdata:ReadOnly="true" msprop:Generator_UserColumnName="assigned" msprop:Generator_ColumnVarNameInTable="columnassigned" msprop:Generator_ColumnPropNameInRow="assigned" msprop:Generator_ColumnPropNameInTable="assignedColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="assignedID" msprop:Generator_UserColumnName="assignedID" msprop:Generator_ColumnPropNameInRow="assignedID" msprop:Generator_ColumnVarNameInTable="columnassignedID" msprop:Generator_ColumnPropNameInTable="assignedIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="dateAssigned" msprop:Generator_UserColumnName="dateAssigned" msprop:Generator_ColumnPropNameInRow="dateAssigned" msprop:Generator_ColumnVarNameInTable="columndateAssigned" msprop:Generator_ColumnPropNameInTable="dateAssignedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="dateDue" msprop:Generator_UserColumnName="dateDue" msprop:Generator_ColumnPropNameInRow="dateDue" msprop:Generator_ColumnVarNameInTable="columndateDue" msprop:Generator_ColumnPropNameInTable="dateDueColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="dateFinished" msprop:Generator_UserColumnName="dateFinished" msprop:Generator_ColumnPropNameInRow="dateFinished" msprop:Generator_ColumnVarNameInTable="columndateFinished" msprop:Generator_ColumnPropNameInTable="dateFinishedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="highPriority" msprop:Generator_UserColumnName="highPriority" msprop:Generator_ColumnPropNameInRow="highPriority" msprop:Generator_ColumnVarNameInTable="columnhighPriority" msprop:Generator_ColumnPropNameInTable="highPriorityColumn" type="xs:boolean" minOccurs="0" /> - <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> + <xs:element name="assignedID" msprop:Generator_UserColumnName="assignedID" msprop:Generator_ColumnVarNameInTable="columnassignedID" msprop:Generator_ColumnPropNameInRow="assignedID" msprop:Generator_ColumnPropNameInTable="assignedIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="dateAssigned" msprop:Generator_UserColumnName="dateAssigned" msprop:Generator_ColumnVarNameInTable="columndateAssigned" msprop:Generator_ColumnPropNameInRow="dateAssigned" msprop:Generator_ColumnPropNameInTable="dateAssignedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="dateDue" msprop:Generator_UserColumnName="dateDue" msprop:Generator_ColumnVarNameInTable="columndateDue" msprop:Generator_ColumnPropNameInRow="dateDue" msprop:Generator_ColumnPropNameInTable="dateDueColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="dateFinished" msprop:Generator_UserColumnName="dateFinished" msprop:Generator_ColumnVarNameInTable="columndateFinished" msprop:Generator_ColumnPropNameInRow="dateFinished" msprop:Generator_ColumnPropNameInTable="dateFinishedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="highPriority" msprop:Generator_UserColumnName="highPriority" msprop:Generator_ColumnVarNameInTable="columnhighPriority" msprop:Generator_ColumnPropNameInRow="highPriority" msprop:Generator_ColumnPropNameInTable="highPriorityColumn" type="xs:boolean" minOccurs="0" /> + <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="WOTotalTest" msprop:Generator_UserColumnName="WOTotalTest" msprop:Generator_ColumnPropNameInRow="WOTotalTest" msprop:Generator_ColumnVarNameInTable="columnWOTotalTest" msprop:Generator_ColumnPropNameInTable="WOTotalTestColumn" type="xs:int" minOccurs="0" /> - <xs:element name="WOPassRate" msdata:ReadOnly="true" msprop:Generator_UserColumnName="WOPassRate" msprop:Generator_ColumnPropNameInRow="WOPassRate" msprop:Generator_ColumnVarNameInTable="columnWOPassRate" msprop:Generator_ColumnPropNameInTable="WOPassRateColumn" minOccurs="0"> + <xs:element name="WOTotalTest" msprop:Generator_UserColumnName="WOTotalTest" msprop:Generator_ColumnVarNameInTable="columnWOTotalTest" msprop:Generator_ColumnPropNameInRow="WOTotalTest" msprop:Generator_ColumnPropNameInTable="WOTotalTestColumn" type="xs:int" minOccurs="0" /> + <xs:element name="WOPassRate" msdata:ReadOnly="true" msprop:Generator_UserColumnName="WOPassRate" msprop:Generator_ColumnVarNameInTable="columnWOPassRate" msprop:Generator_ColumnPropNameInRow="WOPassRate" msprop:Generator_ColumnPropNameInTable="WOPassRateColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="31" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="WOPass" msprop:Generator_UserColumnName="WOPass" msprop:Generator_ColumnPropNameInRow="WOPass" msprop:Generator_ColumnVarNameInTable="columnWOPass" msprop:Generator_ColumnPropNameInTable="WOPassColumn" type="xs:int" minOccurs="0" /> - <xs:element name="WOFail" msprop:Generator_UserColumnName="WOFail" msprop:Generator_ColumnPropNameInRow="WOFail" msprop:Generator_ColumnVarNameInTable="columnWOFail" msprop:Generator_ColumnPropNameInTable="WOFailColumn" type="xs:int" minOccurs="0" /> - <xs:element name="WOError" msprop:Generator_UserColumnName="WOError" msprop:Generator_ColumnPropNameInRow="WOError" msprop:Generator_ColumnVarNameInTable="columnWOError" msprop:Generator_ColumnPropNameInTable="WOErrorColumn" type="xs:int" minOccurs="0" /> - <xs:element name="aName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="aName" msprop:Generator_ColumnPropNameInRow="aName" msprop:Generator_ColumnVarNameInTable="columnaName" msprop:Generator_ColumnPropNameInTable="aNameColumn" minOccurs="0"> + <xs:element name="WOPass" msprop:Generator_UserColumnName="WOPass" msprop:Generator_ColumnVarNameInTable="columnWOPass" msprop:Generator_ColumnPropNameInRow="WOPass" msprop:Generator_ColumnPropNameInTable="WOPassColumn" type="xs:int" minOccurs="0" /> + <xs:element name="WOFail" msprop:Generator_UserColumnName="WOFail" msprop:Generator_ColumnVarNameInTable="columnWOFail" msprop:Generator_ColumnPropNameInRow="WOFail" msprop:Generator_ColumnPropNameInTable="WOFailColumn" type="xs:int" minOccurs="0" /> + <xs:element name="WOError" msprop:Generator_UserColumnName="WOError" msprop:Generator_ColumnVarNameInTable="columnWOError" msprop:Generator_ColumnPropNameInRow="WOError" msprop:Generator_ColumnPropNameInTable="WOErrorColumn" type="xs:int" minOccurs="0" /> + <xs:element name="aName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="aName" msprop:Generator_ColumnVarNameInTable="columnaName" msprop:Generator_ColumnPropNameInRow="aName" msprop:Generator_ColumnPropNameInTable="aNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> - <xs:element name="creatorID" msprop:Generator_UserColumnName="creatorID" msprop:Generator_ColumnPropNameInRow="creatorID" msprop:Generator_ColumnVarNameInTable="columncreatorID" msprop:Generator_ColumnPropNameInTable="creatorIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="numAI" msdata:ReadOnly="true" msprop:Generator_UserColumnName="numAI" msprop:Generator_ColumnPropNameInRow="numAI" msprop:Generator_ColumnVarNameInTable="columnnumAI" msprop:Generator_ColumnPropNameInTable="numAIColumn" type="xs:int" minOccurs="0" /> - <xs:element name="numWO" msdata:ReadOnly="true" msprop:Generator_UserColumnName="numWO" msprop:Generator_ColumnPropNameInRow="numWO" msprop:Generator_ColumnVarNameInTable="columnnumWO" msprop:Generator_ColumnPropNameInTable="numWOColumn" type="xs:int" minOccurs="0" /> + <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> + <xs:element name="creatorID" msprop:Generator_UserColumnName="creatorID" msprop:Generator_ColumnVarNameInTable="columncreatorID" msprop:Generator_ColumnPropNameInRow="creatorID" msprop:Generator_ColumnPropNameInTable="creatorIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="numAI" msdata:ReadOnly="true" msprop:Generator_UserColumnName="numAI" msprop:Generator_ColumnVarNameInTable="columnnumAI" msprop:Generator_ColumnPropNameInRow="numAI" msprop:Generator_ColumnPropNameInTable="numAIColumn" type="xs:int" minOccurs="0" /> + <xs:element name="numWO" msdata:ReadOnly="true" msprop:Generator_UserColumnName="numWO" msprop:Generator_ColumnVarNameInTable="columnnumWO" msprop:Generator_ColumnPropNameInRow="numWO" msprop:Generator_ColumnPropNameInTable="numWOColumn" type="xs:int" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_testPass" msprop:Generator_UserTableName="db_testPass" msprop:Generator_RowDeletedName="db_testPassRowDeleted" msprop:Generator_RowChangedName="db_testPassRowChanged" msprop:Generator_RowClassName="db_testPassRow" msprop:Generator_RowChangingName="db_testPassRowChanging" msprop:Generator_RowEvArgName="db_testPassRowChangeEvent" msprop:Generator_RowEvHandlerName="db_testPassRowChangeEventHandler" msprop:Generator_TableClassName="db_testPassDataTable" msprop:Generator_TableVarName="tabledb_testPass" msprop:Generator_RowDeletingName="db_testPassRowDeleting" msprop:Generator_TablePropName="db_testPass"> <xs:complexType> <xs:sequence> - <xs:element name="testPassID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="testPassID" msprop:Generator_ColumnVarNameInTable="columntestPassID" msprop:Generator_ColumnPropNameInRow="testPassID" msprop:Generator_ColumnPropNameInTable="testPassIDColumn" type="xs:int" /> - <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> + <xs:element name="testPassID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="testPassID" msprop:Generator_ColumnPropNameInRow="testPassID" msprop:Generator_ColumnVarNameInTable="columntestPassID" msprop:Generator_ColumnPropNameInTable="testPassIDColumn" type="xs:int" /> + <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="versionID" msprop:Generator_UserColumnName="versionID" msprop:Generator_ColumnVarNameInTable="columnversionID" msprop:Generator_ColumnPropNameInRow="versionID" msprop:Generator_ColumnPropNameInTable="versionIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="versionID" msprop:Generator_UserColumnName="versionID" msprop:Generator_ColumnPropNameInRow="versionID" msprop:Generator_ColumnVarNameInTable="columnversionID" msprop:Generator_ColumnPropNameInTable="versionIDColumn" type="xs:int" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_version" msprop:Generator_UserTableName="db_version" msprop:Generator_RowDeletedName="db_versionRowDeleted" msprop:Generator_RowChangedName="db_versionRowChanged" msprop:Generator_RowClassName="db_versionRow" msprop:Generator_RowChangingName="db_versionRowChanging" msprop:Generator_RowEvArgName="db_versionRowChangeEvent" msprop:Generator_RowEvHandlerName="db_versionRowChangeEventHandler" msprop:Generator_TableClassName="db_versionDataTable" msprop:Generator_TableVarName="tabledb_version" msprop:Generator_RowDeletingName="db_versionRowDeleting" msprop:Generator_TablePropName="db_version"> <xs:complexType> <xs:sequence> - <xs:element name="versionID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="versionID" msprop:Generator_ColumnVarNameInTable="columnversionID" msprop:Generator_ColumnPropNameInRow="versionID" msprop:Generator_ColumnPropNameInTable="versionIDColumn" type="xs:int" /> - <xs:element name="productID" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="number" msprop:Generator_UserColumnName="number" msprop:Generator_ColumnVarNameInTable="columnnumber" msprop:Generator_ColumnPropNameInRow="number" msprop:Generator_ColumnPropNameInTable="numberColumn" minOccurs="0"> + <xs:element name="versionID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="versionID" msprop:Generator_ColumnPropNameInRow="versionID" msprop:Generator_ColumnVarNameInTable="columnversionID" msprop:Generator_ColumnPropNameInTable="versionIDColumn" type="xs:int" /> + <xs:element name="productID" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="number" msprop:Generator_UserColumnName="number" msprop:Generator_ColumnPropNameInRow="number" msprop:Generator_ColumnVarNameInTable="columnnumber" msprop:Generator_ColumnPropNameInTable="numberColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> ... [truncated message content] |
From: <ro...@us...> - 2006-08-09 21:13:21
|
Revision: 292 Author: rouquin Date: 2006-08-09 14:13:16 -0700 (Wed, 09 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=292&view=rev Log Message: ----------- Had to fix what values were being passed to session for assignments filtering. Modified Paths: -------------- Website/Includes/ActionItems.ascx.cs Website/Includes/Assignments.ascx.cs Website/Includes/AssignmentsTree.ascx.cs Website/Includes/Products.ascx.cs Website/Includes/Rights.ascx.cs Website/Includes/UserRoles.ascx.cs Modified: Website/Includes/ActionItems.ascx.cs =================================================================== --- Website/Includes/ActionItems.ascx.cs 2006-08-09 20:32:34 UTC (rev 291) +++ Website/Includes/ActionItems.ascx.cs 2006-08-09 21:13:16 UTC (rev 292) @@ -484,7 +484,8 @@ tcdbDataSetTableAdapters.db_actionItemsTableAdapter aiAdapter = new tcdbDataSetTableAdapters.db_actionItemsTableAdapter(); aiAdapter.Delete(Convert.ToInt32(item_id), deleted); - Response.Redirect(Request.RawUrl); + if (ActionItemsView.CurrentMode != FormViewMode.Edit) + Response.Redirect(Request.RawUrl); } } } Modified: Website/Includes/Assignments.ascx.cs =================================================================== --- Website/Includes/Assignments.ascx.cs 2006-08-09 20:32:34 UTC (rev 291) +++ Website/Includes/Assignments.ascx.cs 2006-08-09 21:13:16 UTC (rev 292) @@ -22,7 +22,7 @@ { private static Logger m_logg = new Logger("TCDB.Assignments"); - private String uid = null; + private int uid = 0; private String mode = null; private int productID = 0; private const int MAX_NAME_LENGTH = 30; @@ -33,29 +33,31 @@ { return; } + Session.Remove("uid"); + Session.Remove("myID"); m_logg.Debug("Loading assignments for [" + m_user.ToString() + "]"); // Load session data try { - uid = (String)Session[Constants.CODE_USER]; + uid = Convert.ToInt32(Session[Constants.CODE_USER]); } catch { } try { - mode = (String)Session["mode"]; + mode = Session[Constants.CODE_MODE].ToString(); } catch { } try { - productID = (int)Session[Constants.CODE_PRODUCT]; + productID = Convert.ToInt32(Session[Constants.CODE_PRODUCT]); } catch { } if (productID == 0) productID = Constants.PRODUCT_ANYID; - if (uid == null) + if (uid == 0) { m_logg.Debug("UserID not specified in the session data, checking for permissions to view multiple users assignments"); if (m_user.HasRight("view_other_ai", productID) || m_user.HasRight("view_created_ai", productID) || @@ -77,7 +79,7 @@ if (m_user.HasRight("view_my_ai") || m_user.HasRight("view_my_wo")) { m_logg.Debug("User has no special privledges, only display own assignments"); - uid = m_user.ID.ToString(); + uid = m_user.ID; Page.Title = "TCDB: My Assignments"; header.Text = "My Assignments"; } @@ -85,7 +87,7 @@ Response.Redirect("~/Default.aspx"); } } - else if (uid == m_user.ID.ToString()) + else if (uid == m_user.ID) { if (m_user.HasRight("view_my_ai") || m_user.HasRight("view_my_wo")) { @@ -98,7 +100,7 @@ } else { - User user = UserDB.GetUserInfo(Convert.ToInt32(uid)); + User user = UserDB.GetUserInfo(uid); if (user.HasRights(productID) && (m_user.HasRight("view_other_ai", productID) || m_user.HasRight("view_other_wo", productID) || @@ -110,10 +112,11 @@ header.Text = name + "'s Assignments"; } } - if (mode == Constants.ASSIGNMENT_CREATED) + if (mode == Constants.CODE_CREATED) Session.Add("myID", m_user.ID); - Session.Add("uid", uid); + if (uid != 0) + Session.Add("uid", uid); m_logg.Debug("Databinding the AssignmentsGridView"); if (Session["refresh"] != null) AssignmentsGridView.DataBind(); @@ -156,7 +159,7 @@ ) return false; - if (mode == "created" && ai.CREATOR.ID != m_user.ID) + if (mode == Constants.CODE_CREATED && ai.CREATOR.ID != m_user.ID) return false; if (cboTypeFilter.Checked && !cboShowActionItems.Checked) @@ -180,7 +183,7 @@ ) return false; - if (mode == "created" && wo.CREATOR.ID != m_user.ID) + if (mode == Constants.CODE_CREATED && wo.CREATOR.ID != m_user.ID) return false; if (cboTypeFilter.Checked && !cboShowWorkOrders.Checked) Modified: Website/Includes/AssignmentsTree.ascx.cs =================================================================== --- Website/Includes/AssignmentsTree.ascx.cs 2006-08-09 20:32:34 UTC (rev 291) +++ Website/Includes/AssignmentsTree.ascx.cs 2006-08-09 21:13:16 UTC (rev 292) @@ -74,57 +74,6 @@ m_logg.Debug("Collapsing node [" + nodes[index].ToString() + "]"); nodes.RemoveAt(index); } - - if (e.Node.Selected && AssignmentTree.ShowExpandCollapse == false) - { - e.Node.Selected = false; - String nodeType = GetValue(e.Node, "NodeType"); - if (nodeType == null) nodeType = "Root"; - String nodeValue = GetValue(e.Node, "Value"); - switch (nodeType) - { - case "Root": - Session.Remove(PREFIX + Constants.CODE_USER); - Session.Remove(PREFIX + Constants.CODE_PRODUCT); - Response.Redirect("~/Assignments.aspx"); - break; - case "Product": - Session.Remove(PREFIX + Constants.CODE_USER); - Session[PREFIX + Constants.CODE_PRODUCT] = nodeValue; - Response.Redirect("~/Assignments.aspx"); - break; - case "User": - Session[PREFIX + Constants.CODE_USER] = nodeValue; - Session[PREFIX + Constants.CODE_PRODUCT] = GetValue(e.Node.Parent, "Value"); - try - { - if (bool.Parse(GetValue(e.Node, "IsCreated"))) - { - Session.Remove(Constants.CODE_PRODUCT); - Session[Constants.CODE_CREATED] = true; - } - } - catch { } - Response.Redirect("~/Assignments.aspx"); - break; - case "Created": - Session.Remove(Constants.CODE_USER); - Session.Remove(Constants.CODE_PRODUCT); - Session[Constants.CODE_CREATED] = true; - Response.Redirect("~/Assignments.aspx"); - break; - case "ActionItem": - Session[Constants.CODE_AI] = nodeValue; - Response.Redirect("~/ActionItem.aspx"); - break; - case "WorkOrer": - Session[Constants.CODE_WO] = nodeValue; - Response.Redirect("~/WorkOrder.aspx"); - break; - default: - break; - } - } } protected void AssignmentTree_TreeNodeExpanded(object sender, TreeNodeEventArgs e) @@ -136,85 +85,25 @@ nodes.Add(e.Node.ValuePath); m_logg.Debug("Expanding node [" + nodes[nodes.IndexOf(e.Node.ValuePath)].ToString() + "]"); } - - if (e.Node.Selected && AssignmentTree.ShowExpandCollapse == false) - { - e.Node.Selected = false; - String nodeType = GetValue(e.Node, "NodeType"); - if (nodeType == null) nodeType = "Root"; - String nodeValue = GetValue(e.Node, "Value"); - switch (nodeType) - { - case "Root": - Session.Remove(PREFIX + Constants.CODE_USER); - Session.Remove(PREFIX + Constants.CODE_PRODUCT); - Response.Redirect("~/Assignments.aspx"); - break; - case "Product": - Session.Remove(PREFIX + Constants.CODE_USER); - Session[PREFIX + Constants.CODE_PRODUCT] = nodeValue; - Response.Redirect("~/Assignments.aspx"); - break; - case "User": - Session[PREFIX + Constants.CODE_USER] = nodeValue; - Session[PREFIX + Constants.CODE_PRODUCT] = GetValue(e.Node.Parent, "Value"); - try - { - if (bool.Parse(GetValue(e.Node, "IsCreated"))) - { - Session.Remove(Constants.CODE_PRODUCT); - Session[Constants.CODE_CREATED] = true; - } - } - catch { } - Response.Redirect("~/Assignments.aspx"); - break; - case "Created": - Session.Remove(Constants.CODE_USER); - Session.Remove(Constants.CODE_PRODUCT); - Session[Constants.CODE_CREATED] = true; - Response.Redirect("~/Assignments.aspx"); - break; - case "ActionItem": - Session[Constants.CODE_AI] = nodeValue; - Response.Redirect("~/ActionItem.aspx"); - break; - case "WorkOrer": - Session[Constants.CODE_WO] = nodeValue; - Response.Redirect("~/WorkOrder.aspx"); - break; - default: - break; - } - } } - protected void AssignmentTree_SelectedNodeChanged(object sender, EventArgs e) { TreeNode node = AssignmentTree.SelectedNode; - - node.Selected = false; - if (AssignmentTree.ShowExpandCollapse == false) - { - if (node.Expanded == true) - node.Collapse(); - else - node.Expand(); - }/* - else - {*/ String nodeType = GetValue(node, "NodeType"); if (nodeType == null) nodeType = "Root"; + String nodeValue = GetValue(node, "Value"); + node.Selected = false; + + Session.Remove(Constants.CODE_USER); + Session.Remove(Constants.CODE_PRODUCT); + Session.Remove(Constants.CODE_MODE); switch (nodeType) { case "Root": - Session.Remove(Constants.CODE_USER); - Session.Remove(Constants.CODE_PRODUCT); Response.Redirect("~/Assignments.aspx"); break; case "Product": - Session.Remove(Constants.CODE_USER); Session[Constants.CODE_PRODUCT] = nodeValue; Response.Redirect("~/Assignments.aspx"); break; @@ -225,24 +114,21 @@ { if (bool.Parse(GetValue(node, "IsCreated"))) { - Session.Remove(Constants.CODE_PRODUCT); - Session[Constants.CODE_CREATED] = true; + Session[Constants.CODE_MODE] = Constants.CODE_CREATED; } } catch { } Response.Redirect("~/Assignments.aspx"); break; case "Created": - Session.Remove(Constants.CODE_USER); - Session.Remove(Constants.CODE_PRODUCT); - Session[Constants.CODE_CREATED] = true; + Session[Constants.CODE_MODE] = Constants.CODE_CREATED; Response.Redirect("~/Assignments.aspx"); break; case "ActionItem": Session[Constants.CODE_AI] = nodeValue; Response.Redirect("~/ActionItem.aspx"); break; - case "WorkOrer": + case "WorkOrder": Session[Constants.CODE_WO] = nodeValue; Response.Redirect("~/WorkOrder.aspx"); break; Modified: Website/Includes/Products.ascx.cs =================================================================== --- Website/Includes/Products.ascx.cs 2006-08-09 20:32:34 UTC (rev 291) +++ Website/Includes/Products.ascx.cs 2006-08-09 21:13:16 UTC (rev 292) @@ -246,9 +246,9 @@ { tcdbDataSetTableAdapters.db_productsTableAdapter pAdapter = new tcdbDataSetTableAdapters.db_productsTableAdapter(); pAdapter.Update(product.ID, product.NAME, product.DESCRIPTION, null, null, null, null, null, product.CODENAME, activeBox.Checked); + + Response.Redirect(Request.RawUrl); } - - Response.Redirect(Request.RawUrl); } protected void ProductsView_DataBound(object sender, EventArgs e) { Modified: Website/Includes/Rights.ascx.cs =================================================================== --- Website/Includes/Rights.ascx.cs 2006-08-09 20:32:34 UTC (rev 291) +++ Website/Includes/Rights.ascx.cs 2006-08-09 21:13:16 UTC (rev 292) @@ -125,7 +125,9 @@ { tcdbDataSetTableAdapters.db_rightsTableAdapter rAdapter = new tcdbDataSetTableAdapters.db_rightsTableAdapter(); rAdapter.Update(right.ID, right.CODE, right.NAME, right.DESCRIPTION, activeBox.Checked); - } + + Response.Redirect(Request.RawUrl); + } } protected void FormView1_DataBound(object sender, EventArgs e) Modified: Website/Includes/UserRoles.ascx.cs =================================================================== --- Website/Includes/UserRoles.ascx.cs 2006-08-09 20:32:34 UTC (rev 291) +++ Website/Includes/UserRoles.ascx.cs 2006-08-09 21:13:16 UTC (rev 292) @@ -263,6 +263,8 @@ { tcdbDataSetTableAdapters.db_roleTableAdapter rAdapter = new tcdbDataSetTableAdapters.db_roleTableAdapter(); rAdapter.Update(role.ID, role.NAME, role.DESCRIPTION, activeBox.Checked); + + Response.Redirect(Request.RawUrl); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <m_h...@us...> - 2006-08-09 23:01:09
|
Revision: 293 Author: m_hildebrand Date: 2006-08-09 16:00:54 -0700 (Wed, 09 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=293&view=rev Log Message: ----------- More CSS changes Worked on the main administration page layout Modified Paths: -------------- Website/App_Themes/Python/Python.skin Website/App_Themes/Python/python.css Website/Includes/Administration.ascx Website/Includes/Administration.ascx.cs Website/Includes/UserSettings.ascx Website/Includes/UserSettings.ascx.cs Added Paths: ----------- Website/App_Themes/Python/Images/product_delete_48.png Website/App_Themes/Python/Images/product_edit_48.png Website/App_Themes/Python/Images/product_view_48.png Website/App_Themes/Python/Images/user_delete_48.png Website/App_Themes/Python/Images/user_edit_48.png Website/App_Themes/Python/Images/user_view_48.png Added: Website/App_Themes/Python/Images/product_delete_48.png =================================================================== (Binary files differ) Property changes on: Website/App_Themes/Python/Images/product_delete_48.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: Website/App_Themes/Python/Images/product_edit_48.png =================================================================== (Binary files differ) Property changes on: Website/App_Themes/Python/Images/product_edit_48.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: Website/App_Themes/Python/Images/product_view_48.png =================================================================== (Binary files differ) Property changes on: Website/App_Themes/Python/Images/product_view_48.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: Website/App_Themes/Python/Images/user_delete_48.png =================================================================== (Binary files differ) Property changes on: Website/App_Themes/Python/Images/user_delete_48.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: Website/App_Themes/Python/Images/user_edit_48.png =================================================================== (Binary files differ) Property changes on: Website/App_Themes/Python/Images/user_edit_48.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: Website/App_Themes/Python/Images/user_view_48.png =================================================================== (Binary files differ) Property changes on: Website/App_Themes/Python/Images/user_view_48.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: Website/App_Themes/Python/Python.skin =================================================================== --- Website/App_Themes/Python/Python.skin 2006-08-09 21:13:16 UTC (rev 292) +++ Website/App_Themes/Python/Python.skin 2006-08-09 23:00:54 UTC (rev 293) @@ -22,8 +22,16 @@ --%> <asp:GridView runat="server" SkinId="assignments" Width="100%" /> <asp:Image runat="server" SkinId="newUserImage" ImageUrl="Images/user_add_48.png" /> +<asp:Image runat="server" SkinId="viewUserImage" ImageUrl="Images/user_view_48.png" /> +<asp:Image runat="server" SkinId="editUserImage" ImageUrl="Images/user_edit_48.png" /> +<asp:Image runat="server" SkinId="deleteUserImage" ImageUrl="Images/user_delete_48.png" /> <asp:Image runat="server" SkinId="userRoleImage" ImageUrl="Images/user_role_48.png" /> + <asp:Image runat="server" SkinId="newProductImage" ImageUrl="Images/product_add_48.png" /> +<asp:Image runat="server" SkinId="editProductImage" ImageUrl="Images/product_edit_48.png" /> +<asp:Image runat="server" SkinId="viewProductImage" ImageUrl="Images/product_view_48.png" /> +<asp:Image runat="server" SkinId="deleteProductImage" ImageUrl="Images/product_delete_48.png" /> + <asp:Image runat="server" SkinId="priority_high_small" ImageUrl="Images/priority_high_small.png" /> <asp:Image runat="server" SkinId="priority_high_large" ImageUrl="Images/priority_high_large.png" /> <asp:Image runat="server" SkinId="priority_normal_small" ImageUrl="" /> Modified: Website/App_Themes/Python/python.css =================================================================== --- Website/App_Themes/Python/python.css 2006-08-09 21:13:16 UTC (rev 292) +++ Website/App_Themes/Python/python.css 2006-08-09 23:00:54 UTC (rev 293) @@ -128,40 +128,6 @@ list-style-type: circle; } -.button -{ - display: inline; - position: relative; - top: 15px; - left: -20px; - z-index: 50; -} - -.button LABEL -{ - position: relative; - left: -30px; - top: 3px; - text-decoration: none; -} - -.button A -{ - text-decoration: none; - font-weight: bold; -} - - -.button IMG -{ - /*display: block;*/ - border: none; - position: relative; - left: 30px; - top: -3px; - z-index: -10; -} - .motd { margin: 10px 0 0 10px; @@ -183,12 +149,6 @@ text-indent: -5em } -.pictureMenu -{ - text-align: center; - z-index: 100; -} - /********** END Global Classes **********/ /********** BEGIN Calendar Classes **********/ @@ -454,7 +414,68 @@ } /********** END Notes Box Content **********/ +/********* BEGIN Administration Menu Content *********/ +#Administration, #Administration LABEL +{ + margin-left: 20px; +} +#Administration .menu +{ + display: block; + margin: 15px; + float: left; + clear: left; +} + +.pictureMenu +{ + margin: 0; + text-align: left; + z-index: 100; +} + +.button +{ + float: left; + position: relative; + z-index: 50; + margin: 5px 0 5px -20px; +} + +.button A +{ + text-decoration: none; + font-weight: bold; +} + +.button IMG +{ + border: none; + position: relative; + left: 30px; + top: -3px; + z-index: -10; +} + +.pictureMenu .xb2, .pictureMenu .xb3, .pictureMenu .xb4 +{ + background-color: Transparent; + border-left-color: #022E66; + border-right-color: #022E66; +} + +.pictureMenu .xb1 +{ + background-color: #022E66; +} + +.pictureMenu .xboxcontent +{ + background-color: Transparent; + border-color: #022E66; +} +/********** END Picture Menu Content **********/ /********** BEGIN Page Content **********/ #TreeContent { Modified: Website/Includes/Administration.ascx =================================================================== --- Website/Includes/Administration.ascx 2006-08-09 21:13:16 UTC (rev 292) +++ Website/Includes/Administration.ascx 2006-08-09 23:00:54 UTC (rev 293) @@ -1,17 +1,107 @@ -<%@ Control Language="C#" AutoEventWireup="true" CodeFile="Administration.ascx.cs" Inherits="TCDB.Administration" %> - -<div class="pictureMenu"> - <div class="button"> - <asp:LinkButton ID="newProduct" runat="server" PostBackUrl="~/Product.aspx?mode=new" OnInit="newProduct_Init" > - <asp:Image ID="newProductIcon" runat="server" SkinID="newProductImage" AlternateText="New Product" />New - Product</asp:LinkButton> +<%@ Control Language="C#" AutoEventWireup="true" CodeFile="Administration.ascx.cs" + Inherits="TCDB.Administration" %> +<!-- TODO: make these pull-downs dynamic --> +<div id="Administration"> + <div class="menu"> + <label> + Product Administration</label> + <div class="pictureMenu" id="ProductAdmin"> + <div class="xsnazzy"> + <b class="xtop"><b class="xb1"></b><b class="xb2"></b><b class="xb3"></b><b class="xb4"> + </b></b> + <div class="xboxcontent"> + <div class="button"> + <asp:LinkButton ID="newProduct" runat="server" PostBackUrl="~/Product.aspx?mode=new" + OnInit="newProduct_Init"> + <asp:Image ID="newProductIcon" runat="server" SkinID="newProductImage" AlternateText="New Product" />New + Product</asp:LinkButton> + </div> + <div class="end"> + </div> + <div class="hr"> + </div> + <div class="pulldown"> + <label> + For:</label> + <asp:DropDownList runat="server" ID="testing"> + <asp:ListItem Text="Quest management Xtensions for MOM" Value="1"></asp:ListItem> + </asp:DropDownList> + </div> + <div class="button"> + <asp:LinkButton ID="viewProduct" runat="server" PostBackUrl="~/Product.aspx?mode=view" + OnInit="viewProduct_Init"> + <asp:Image ID="viewProductIcon" runat="server" SkinID="newProductImage" AlternateText="Edit Product" />View + Product</asp:LinkButton> + </div> + <div class="button"> + <asp:LinkButton ID="editProduct" runat="server" PostBackUrl="~/Product.aspx?mode=edit" + OnInit="editProduct_Init"> + <asp:Image ID="editProductIcon" runat="server" SkinID="editProductImage" AlternateText="Edit Product" />Edit + Product</asp:LinkButton> + </div> + <div class="button"> + <asp:LinkButton ID="deleteProduct" runat="server" PostBackUrl="~/Product.aspx?mode=delete" + OnInit="deleteProduct_Init"> + <asp:Image ID="deleteProductIcon" runat="server" SkinID="deleteProductImage" AlternateText="Edit Product" />Delete + Product</asp:LinkButton> + </div> + <div class="end"> + </div> + </div> + <b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b></b> + <b class="xb1"></b> + </div> </div> - <div class="button"> - <asp:LinkButton ID="newUser" runat="server" PostBackUrl="~/UserSettings.aspx?mode=new" OnInit="newUser_Init" > - <asp:Image ID="newUserIcon" runat="server" SkinID="newUserImage" AlternateText="New User" />New - User</asp:LinkButton></div> - <div class="button"> - <asp:LinkButton ID="userRole" runat="server" PostBackUrl="~/AdminRole.aspx" OnInit="userRole_Init"> - <asp:Image ID="userRoleIcon" runat="server" SkinID="userRoleImage" AlternateText="User Roles" />User - Roles</asp:LinkButton></div> </div> + <div class="menu"> + <label> + User Administration</label> + <div class="pictureMenu" id="UserAdmin"> + <div class="xsnazzy"> + <b class="xtop"><b class="xb1"></b><b class="xb2"></b><b class="xb3"></b><b class="xb4"> + </b></b> + <div class="xboxcontent"> + <div class="button"> + <asp:LinkButton ID="newUser" runat="server" PostBackUrl="~/UserSettings.aspx?mode=new" + OnInit="newUser_Init"> + <asp:Image ID="newUserIcon" runat="server" SkinID="newUserImage" AlternateText="New User" />New + User</asp:LinkButton></div> + <div class="button"> + <asp:LinkButton ID="userRole" runat="server" PostBackUrl="~/AdminRole.aspx" OnInit="userRole_Init"> + <asp:Image ID="userRoleIcon" runat="server" SkinID="userRoleImage" AlternateText="User Roles" />User + Roles</asp:LinkButton></div> + <div class="end"> + </div> + <div class="hr"> + </div> + <div class="pulldown"> + <label> + For:</label> + <asp:DropDownList runat="server" ID="DropDownList1"> + <asp:ListItem Text="Matthew Hildebrand" Value="1"></asp:ListItem> + </asp:DropDownList> + </div> + <div class="button"> + <asp:LinkButton ID="userView" runat="server" PostBackUrl="~/UserSettings.aspx?mode=view" + OnInit="viewUser_Init"> + <asp:Image ID="userViewIcon" runat="server" SkinID="viewUserImage" AlternateText="View User" />View + User</asp:LinkButton></div> + <div class="button"> + <asp:LinkButton ID="userEdit" runat="server" PostBackUrl="~/UserSettings.aspx?mode=edit" + OnInit="editUser_Init"> + <asp:Image ID="userEditIcon" runat="server" SkinID="editUserImage" AlternateText="Edit User" />Edit + User</asp:LinkButton></div> + <div class="button"> + <asp:LinkButton ID="userDelete" runat="server" PostBackUrl="~/UserSettings.aspx?mode=new" + OnInit="deleteUser_Init"> + <asp:Image ID="userDeleteIcon" runat="server" SkinID="deleteUserImage" AlternateText="Delete User" />Delete + User</asp:LinkButton></div> + <div class="end"> + </div> + </div> + <b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b></b> + <b class="xb1"></b> + </div> + </div> + </div> +</div> Modified: Website/Includes/Administration.ascx.cs =================================================================== --- Website/Includes/Administration.ascx.cs 2006-08-09 21:13:16 UTC (rev 292) +++ Website/Includes/Administration.ascx.cs 2006-08-09 23:00:54 UTC (rev 293) @@ -21,6 +21,7 @@ { m_logg.Debug("Loading Administration page"); } + protected void newUser_Init(object sender, EventArgs e) { LinkButton newUser = (LinkButton)sender; @@ -28,6 +29,31 @@ if (!m_user.HasRight("create_user", Constants.PRODUCT_ANYID)) newUser.Visible = false; } + + protected void viewUser_Init(object sender, EventArgs e) + { + LinkButton viewUser = (LinkButton)sender; + + if (!m_user.HasRight("view_user", Constants.PRODUCT_ANYID)) + viewUser.Visible = false; + } + + protected void editUser_Init(object sender, EventArgs e) + { + LinkButton editUser = (LinkButton)sender; + + if (!m_user.HasRight("edit_user", Constants.PRODUCT_ANYID)) + editUser.Visible = false; + } + + protected void deleteUser_Init(object sender, EventArgs e) + { + LinkButton deleteUser = (LinkButton)sender; + + if (!m_user.HasRight("delete_user", Constants.PRODUCT_ANYID)) + deleteUser.Visible = false; + } + protected void userRole_Init(object sender, EventArgs e) { LinkButton seeRoles = (LinkButton)sender; @@ -35,6 +61,7 @@ if (!m_user.HasRight("view_my_roles", Constants.PRODUCT_ANYID) && !m_user.HasRight("view_other_roles", Constants.PRODUCT_ANYID)) seeRoles.Visible = false; } + protected void newProduct_Init(object sender, EventArgs e) { LinkButton newProduct = (LinkButton)sender; @@ -42,5 +69,29 @@ if (!m_user.HasRight("create_product", Constants.PRODUCT_ANYID)) newProduct.Visible = false; } + + protected void editProduct_Init(object sender, EventArgs e) + { + LinkButton editProduct = (LinkButton)sender; + + if (!m_user.HasRight("edit_product", Constants.PRODUCT_ANYID)) + editProduct.Visible = false; + } + + protected void viewProduct_Init(object sender, EventArgs e) + { + LinkButton viewProduct = (LinkButton)sender; + + if (!m_user.HasRight("view_product", Constants.PRODUCT_ANYID)) + viewProduct.Visible = false; + } + + protected void deleteProduct_Init(object sender, EventArgs e) + { + LinkButton deleteProduct = (LinkButton)sender; + + if (!m_user.HasRight("delete_product", Constants.PRODUCT_ANYID)) + deleteProduct.Visible = false; + } } } \ No newline at end of file Modified: Website/Includes/UserSettings.ascx =================================================================== --- Website/Includes/UserSettings.ascx 2006-08-09 21:13:16 UTC (rev 292) +++ Website/Includes/UserSettings.ascx 2006-08-09 23:00:54 UTC (rev 293) @@ -207,9 +207,9 @@ | <asp:LinkButton ID="UpdateCancelButton" runat="server" CausesValidation="False" CommandName="Cancel" Text="Cancel" /> | - <asp:LinkButton ID="sync" runat="server" Text="Sync with AD" OnCommand="SyncWithAD" /> + <asp:LinkButton ID="sync" runat="server" Text="Sync from AD" OnCommand="SyncFromAD" /> - <asp:Label ID="passwordLbl" runat="server" Text="Password: "></asp:Label><asp:TextBox + <asp:Label ID="passwordLbl" runat="server" Text="Your AD Password: "></asp:Label><asp:TextBox ID="passwordBox" runat="server" TextMode="Password"></asp:TextBox> </div> <div class="right"> @@ -309,9 +309,9 @@ | <asp:LinkButton ID="UpdateCancelButton" runat="server" CausesValidation="False" CommandName="Cancel" Text="Cancel" /> | - <asp:LinkButton ID="sync" runat="server" Text="Sync with AD" OnCommand="SyncWithAD" /> + <asp:LinkButton ID="sync" runat="server" Text="Sync from AD" OnCommand="SyncFromAD" /> - <asp:Label ID="passwordLbl" runat="server" Text="Password: "></asp:Label><asp:TextBox + <asp:Label ID="passwordLbl" runat="server" Text="Your AD Password: "></asp:Label><asp:TextBox ID="passwordBox" runat="server" TextMode="Password"></asp:TextBox> </div> <div class="right"> Modified: Website/Includes/UserSettings.ascx.cs =================================================================== --- Website/Includes/UserSettings.ascx.cs 2006-08-09 21:13:16 UTC (rev 292) +++ Website/Includes/UserSettings.ascx.cs 2006-08-09 23:00:54 UTC (rev 293) @@ -197,7 +197,7 @@ m_user.ClearRights(); } - protected void SyncWithAD(object sender, CommandEventArgs e) + protected void SyncFromAD(object sender, CommandEventArgs e) { TextBox passwordBox = (TextBox)UserSettingsView.FindControl("passwordBox"); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2006-08-10 14:13:59
|
Revision: 295 Author: rouquin Date: 2006-08-10 07:13:50 -0700 (Thu, 10 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=295&view=rev Log Message: ----------- Enabled Administration page, etc. Modified Paths: -------------- Website/App_Code/Products.cs Website/App_Code/Users.cs Website/Includes/Administration.ascx Website/Includes/Administration.ascx.cs Website/Includes/AdministrationTree.ascx.cs Website/Includes/Assignments.ascx.cs Website/Includes/Products.ascx.cs Website/Includes/UserSettings.ascx.cs Modified: Website/App_Code/Products.cs =================================================================== --- Website/App_Code/Products.cs 2006-08-09 23:03:50 UTC (rev 294) +++ Website/App_Code/Products.cs 2006-08-10 14:13:50 UTC (rev 295) @@ -52,6 +52,14 @@ return productList; } + + public static void DeleteProduct(int productID) + { + Product product = GetProduct(productID); + + tcdbDataSetTableAdapters.db_productsTableAdapter pAdapter = new tcdbDataSetTableAdapters.db_productsTableAdapter(); + pAdapter.Update(product.ID, product.NAME, product.DESCRIPTION, null, null, null, null, null, product.CODENAME, false); + } } public class Product Modified: Website/App_Code/Users.cs =================================================================== --- Website/App_Code/Users.cs 2006-08-09 23:03:50 UTC (rev 294) +++ Website/App_Code/Users.cs 2006-08-10 14:13:50 UTC (rev 295) @@ -250,6 +250,11 @@ return true; } + + public static void DeleteUser(int userID) + { + return; + } } /// <summary> Modified: Website/Includes/Administration.ascx =================================================================== --- Website/Includes/Administration.ascx 2006-08-09 23:03:50 UTC (rev 294) +++ Website/Includes/Administration.ascx 2006-08-10 14:13:50 UTC (rev 295) @@ -11,8 +11,8 @@ </b></b> <div class="xboxcontent"> <div class="button"> - <asp:LinkButton ID="newProduct" runat="server" PostBackUrl="~/Product.aspx?mode=new" - OnInit="newProduct_Init"> + <asp:LinkButton ID="newProduct" runat="server" + OnInit="newProduct_Init" CommandName="new" OnCommand="Product_Command"> <asp:Image ID="newProductIcon" runat="server" SkinID="newProductImage" AlternateText="New Product" />New Product</asp:LinkButton> </div> @@ -23,25 +23,21 @@ <div class="pulldown"> <label> For:</label> - <asp:DropDownList runat="server" ID="testing"> - <asp:ListItem Text="Quest management Xtensions for MOM" Value="1"></asp:ListItem> + <asp:DropDownList runat="server" ID="productList" AutoPostBack="True" OnInit="productList_Init" OnSelectedIndexChanged="productList_SelectedIndexChanged"> </asp:DropDownList> </div> <div class="button"> - <asp:LinkButton ID="viewProduct" runat="server" PostBackUrl="~/Product.aspx?mode=view" - OnInit="viewProduct_Init"> + <asp:LinkButton ID="viewProduct" runat="server" CommandName="view" OnCommand="Product_Command"> <asp:Image ID="viewProductIcon" runat="server" SkinID="viewProductImage" AlternateText="Edit Product" />View Product</asp:LinkButton> </div> <div class="button"> - <asp:LinkButton ID="editProduct" runat="server" PostBackUrl="~/Product.aspx?mode=edit" - OnInit="editProduct_Init"> + <asp:LinkButton ID="editProduct" runat="server" CommandName="edit" OnCommand="Product_Command"> <asp:Image ID="editProductIcon" runat="server" SkinID="editProductImage" AlternateText="Edit Product" />Edit Product</asp:LinkButton> </div> <div class="button"> - <asp:LinkButton ID="deleteProduct" runat="server" PostBackUrl="~/Product.aspx?mode=delete" - OnInit="deleteProduct_Init"> + <asp:LinkButton ID="deleteProduct" runat="server" CommandName="delete" OnCommand="Product_Command"> <asp:Image ID="deleteProductIcon" runat="server" SkinID="deleteProductImage" AlternateText="Edit Product" />Delete Product</asp:LinkButton> </div> @@ -62,12 +58,12 @@ </b></b> <div class="xboxcontent"> <div class="button"> - <asp:LinkButton ID="newUser" runat="server" PostBackUrl="~/UserSettings.aspx?mode=new" - OnInit="newUser_Init"> + <asp:LinkButton ID="newUser" runat="server" + OnInit="newUser_Init" CommandName="new" OnCommand="User_Command"> <asp:Image ID="newUserIcon" runat="server" SkinID="newUserImage" AlternateText="New User" />New User</asp:LinkButton></div> <div class="button"> - <asp:LinkButton ID="userRole" runat="server" PostBackUrl="~/AdminRole.aspx" OnInit="userRole_Init"> + <asp:LinkButton ID="userRole" runat="server" OnInit="userRole_Init" CommandName="role" OnCommand="User_Command"> <asp:Image ID="userRoleIcon" runat="server" SkinID="userRoleImage" AlternateText="User Roles" />User Roles</asp:LinkButton></div> <div class="end"> @@ -77,23 +73,22 @@ <div class="pulldown"> <label> For:</label> - <asp:DropDownList runat="server" ID="DropDownList1"> - <asp:ListItem Text="Matthew Hildebrand" Value="1"></asp:ListItem> + <asp:DropDownList runat="server" ID="userList" AutoPostBack="True" OnInit="userList_Init" OnSelectedIndexChanged="userList_SelectedIndexChanged"> </asp:DropDownList> </div> <div class="button"> - <asp:LinkButton ID="userView" runat="server" PostBackUrl="~/UserSettings.aspx?mode=view" - OnInit="viewUser_Init"> + <asp:LinkButton ID="userView" runat="server" + CommandName="view" OnCommand="User_Command"> <asp:Image ID="userViewIcon" runat="server" SkinID="viewUserImage" AlternateText="View User" />View User</asp:LinkButton></div> <div class="button"> - <asp:LinkButton ID="userEdit" runat="server" PostBackUrl="~/UserSettings.aspx?mode=edit" - OnInit="editUser_Init"> + <asp:LinkButton ID="userEdit" runat="server" + CommandName="edit" OnCommand="User_Command"> <asp:Image ID="userEditIcon" runat="server" SkinID="editUserImage" AlternateText="Edit User" />Edit User</asp:LinkButton></div> <div class="button"> - <asp:LinkButton ID="userDelete" runat="server" PostBackUrl="~/UserSettings.aspx?mode=new" - OnInit="deleteUser_Init"> + <asp:LinkButton ID="userDelete" runat="server" + CommandName="delete" OnCommand="User_Command"> <asp:Image ID="userDeleteIcon" runat="server" SkinID="deleteUserImage" AlternateText="Delete User" />Delete User</asp:LinkButton></div> <div class="end"> Modified: Website/Includes/Administration.ascx.cs =================================================================== --- Website/Includes/Administration.ascx.cs 2006-08-09 23:03:50 UTC (rev 294) +++ Website/Includes/Administration.ascx.cs 2006-08-10 14:13:50 UTC (rev 295) @@ -22,76 +22,169 @@ m_logg.Debug("Loading Administration page"); } + protected void newProduct_Init(object sender, EventArgs e) + { + if (!m_user.HasRight("create_product", Constants.PRODUCT_ANYID)) + newProduct.Visible = false; + } protected void newUser_Init(object sender, EventArgs e) { - LinkButton newUser = (LinkButton)sender; - if (!m_user.HasRight("create_user", Constants.PRODUCT_ANYID)) newUser.Visible = false; } - - protected void viewUser_Init(object sender, EventArgs e) + protected void userRole_Init(object sender, EventArgs e) { - LinkButton viewUser = (LinkButton)sender; - - if (!m_user.HasRight("view_user", Constants.PRODUCT_ANYID)) - viewUser.Visible = false; + if (!m_user.HasRight("view_my_roles", Constants.PRODUCT_ANYID) && !m_user.HasRight("view_other_roles", Constants.PRODUCT_ANYID)) + userRole.Visible = false; } - - protected void editUser_Init(object sender, EventArgs e) + + protected void productList_Init(object sender, EventArgs e) { - LinkButton editUser = (LinkButton)sender; + List<Product> products = ProductDB.GetProductList(active); - if (!m_user.HasRight("edit_user", Constants.PRODUCT_ANYID)) - editUser.Visible = false; - } + foreach (Product product in products) + { + if (!m_user.HasRight("view_product", product.ID)) continue; - protected void deleteUser_Init(object sender, EventArgs e) - { - LinkButton deleteUser = (LinkButton)sender; + ListItem item = new ListItem(product.NAME, product.ID.ToString()); + if (!product.ACTIVE) + item.Attributes.CssStyle.Add("text-decoration", "line-through"); - if (!m_user.HasRight("delete_user", Constants.PRODUCT_ANYID)) - deleteUser.Visible = false; + productList.Items.Add(item); + } + productList_SelectedIndexChanged(sender, e); } - - protected void userRole_Init(object sender, EventArgs e) + protected void productList_SelectedIndexChanged(object sender, EventArgs e) { - LinkButton seeRoles = (LinkButton)sender; + int productID = Convert.ToInt32(productList.SelectedValue); - if (!m_user.HasRight("view_my_roles", Constants.PRODUCT_ANYID) && !m_user.HasRight("view_other_roles", Constants.PRODUCT_ANYID)) - seeRoles.Visible = false; + if (!m_user.HasRight("view_product", productID)) + viewProduct.Visible = false; + else + viewProduct.Visible = true; + if (!m_user.HasRight("edit_product", productID)) + editProduct.Visible = false; + else + editProduct.Visible = true; + if (!m_user.HasRight("delete_product", productID)) + deleteProduct.Visible = false; + else + deleteProduct.Visible = true; } - protected void newProduct_Init(object sender, EventArgs e) + protected void userList_Init(object sender, EventArgs e) { - LinkButton newProduct = (LinkButton)sender; + List<Product> products = ProductDB.GetProductList(active); + List<User> users = UserDB.TCDB_GetUserList(); + + foreach (User user in users) + { + foreach (Product product in products) + { + if (!(m_user.HasRight("view_other_settings")) && + !(user.ID == m_user.ID && m_user.HasRight("view_my_settings", product.ID)) && + !(m_user.HasRight("view_other_settings", user, product.ID))) + continue; - if (!m_user.HasRight("create_product", Constants.PRODUCT_ANYID)) - newProduct.Visible = false; + ListItem item = new ListItem(user.FULLNAME, user.ID.ToString()); + //if (!user.ACTIVE) + //item.Attributes.CssStyle.Add("text-decoration", "line-through"); + + userList.Items.Add(item); + break; + } + } + userList_SelectedIndexChanged(sender, e); } - - protected void editProduct_Init(object sender, EventArgs e) + protected void userList_SelectedIndexChanged(object sender, EventArgs e) { - LinkButton editProduct = (LinkButton)sender; + List<Product> products = ProductDB.GetProductList(active); + User user = UserDB.GetUserInfo(Convert.ToInt32(userList.SelectedValue)); - if (!m_user.HasRight("edit_product", Constants.PRODUCT_ANYID)) - editProduct.Visible = false; + if (user.ID == m_user.ID) + { + userView.Visible = false; + userEdit.Visible = false; + userDelete.Visible = false; + foreach (Product product in products) + { + if (product.ID == Constants.PRODUCT_SITEID) continue; + if (!userView.Visible && m_user.HasRight("view_my_settings", product.ID)) + userView.Visible = true; + if (!userEdit.Visible && m_user.HasRight("edit_my_settings", product.ID)) + userEdit.Visible = true; + } + } + else + { + userView.Visible = false; + userEdit.Visible = false; + userDelete.Visible = true; + foreach (Product product in products) + { + if (product.ID == Constants.PRODUCT_SITEID) continue; + if (user.HasRights(product.ID)) + { + if (!userView.Visible && m_user.HasRight("view_other_settings", product.ID)) + userView.Visible = true; + if (!userEdit.Visible && m_user.HasRight("edit_other_settings", product.ID)) + userEdit.Visible = true; + if (userDelete.Visible && !m_user.HasRight("delete_user", product.ID)) + userDelete.Visible = false; + } + } + } } - - protected void viewProduct_Init(object sender, EventArgs e) + protected void Product_Command(object sender, CommandEventArgs e) { - LinkButton viewProduct = (LinkButton)sender; + int productID = Convert.ToInt32(productList.SelectedValue); - if (!m_user.HasRight("view_product", Constants.PRODUCT_ANYID)) - viewProduct.Visible = false; + switch (e.CommandName) + { + case "view": + Response.Redirect("~/Product.aspx?" + Constants.CODE_PRODUCT + "=" + productID); + break; + case "edit": + Response.Redirect("~/Product.aspx?" + Constants.CODE_MODE + "=edit&" + Constants.CODE_PRODUCT + "=" + productID); + break; + case "delete": + ProductDB.DeleteProduct(productID); + Response.Redirect(Request.RawUrl); + break; + case "new": + Response.Redirect("~/Product.aspx?"+Constants.CODE_MODE+"=new"); + break; + default: + m_logg.Error("Invalid Command: " + e.CommandName); + break; + } } - - protected void deleteProduct_Init(object sender, EventArgs e) + protected void User_Command(object sender, CommandEventArgs e) { - LinkButton deleteProduct = (LinkButton)sender; + int userID = Convert.ToInt32(userList.SelectedValue); - if (!m_user.HasRight("delete_product", Constants.PRODUCT_ANYID)) - deleteProduct.Visible = false; + switch (e.CommandName) + { + case "view": + Response.Redirect("~/UserSettings.aspx?" + Constants.CODE_USER + "=" + userID); + break; + case "edit": + Response.Redirect("~/UserSettings.aspx?" + Constants.CODE_MODE + "=edit&" + Constants.CODE_USER + "=" + userID); + break; + case "delete": + UserDB.DeleteUser(userID); + Response.Redirect(Request.RawUrl); + break; + case "new": + Response.Redirect("~/UserSettings.aspx?" + Constants.CODE_MODE + "=new"); + break; + case "role": + Response.Redirect("~/AdminRole.aspx"); + break; + default: + m_logg.Error("Invalid Command: " + e.CommandName); + break; + } } - } +} } \ No newline at end of file Modified: Website/Includes/AdministrationTree.ascx.cs =================================================================== --- Website/Includes/AdministrationTree.ascx.cs 2006-08-09 23:03:50 UTC (rev 294) +++ Website/Includes/AdministrationTree.ascx.cs 2006-08-10 14:13:50 UTC (rev 295) @@ -387,15 +387,19 @@ { tcdbDataSetTableAdapters.db_usersTableAdapter uAdapter = new tcdbDataSetTableAdapters.db_usersTableAdapter(); tcdbDataSet.db_usersDataTable uTable = uAdapter.GetData(null, null); + int productID = Convert.ToInt32(parent.Parent.Value); foreach (tcdbDataSet.db_usersRow row in uTable) { - TreeNode child = new TreeNode(); - child.Text = row.fullName; - child.Value = row.userID.ToString(); - child.NavigateUrl = "~/UserSettings.aspx?" + Constants.CODE_PRODUCT + "=" + Constants.PRODUCT_SITEID + "&" + Constants.CODE_USER + "=" + child.Value; + if (m_user.HasRight("view_other_settings", productID)) + { + TreeNode child = new TreeNode(); + child.Text = row.fullName; + child.Value = row.userID.ToString(); + child.NavigateUrl = "~/UserSettings.aspx?" + Constants.CODE_PRODUCT + "=" + Constants.PRODUCT_SITEID + "&" + Constants.CODE_USER + "=" + child.Value; - parent.ChildNodes.Add(child); + parent.ChildNodes.Add(child); + } } } protected void BuildAllOSList(TreeNode parent) Modified: Website/Includes/Assignments.ascx.cs =================================================================== --- Website/Includes/Assignments.ascx.cs 2006-08-09 23:03:50 UTC (rev 294) +++ Website/Includes/Assignments.ascx.cs 2006-08-10 14:13:50 UTC (rev 295) @@ -29,10 +29,6 @@ protected void Page_Load(object sender, EventArgs e) { - if (!m_user.ISAUTHENTICATED) - { - return; - } Session.Remove("uid"); Session.Remove("myID"); m_logg.Debug("Loading assignments for [" + m_user.ToString() + "]"); Modified: Website/Includes/Products.ascx.cs =================================================================== --- Website/Includes/Products.ascx.cs 2006-08-09 23:03:50 UTC (rev 294) +++ Website/Includes/Products.ascx.cs 2006-08-10 14:13:50 UTC (rev 295) @@ -21,7 +21,7 @@ { private static Logger m_logg = new Logger("TCDB.Product"); private int productID = Convert.ToInt32(HttpContext.Current.Request.QueryString[Constants.CODE_PRODUCT]); - private String mode = HttpContext.Current.Request.QueryString["mode"]; + private String mode = HttpContext.Current.Request.QueryString[Constants.CODE_MODE]; private Product product; protected void Page_Load(object sender, EventArgs e) @@ -42,6 +42,8 @@ // Insert shortcut if (mode == "new" && m_user.HasRight("create_product", Constants.PRODUCT_ANYID)) ProductsView.ChangeMode(FormViewMode.Insert); + else if (mode == "edit" && m_user.HasRight("edit_product", productID)) + ProductsView.ChangeMode(FormViewMode.Edit); else { // Check viewing rights @@ -210,7 +212,7 @@ Label codeLbl = (Label)ProductsView.FindControl("codeLbl"); Label descriptionLbl = (Label)ProductsView.FindControl("descriptionLbl"); - if (m_user.HasRight("edit_product", productID)) + if (!m_user.HasRight("edit_product", productID)) { nameBox.Visible = false; codeBox.Visible = false; Modified: Website/Includes/UserSettings.ascx.cs =================================================================== --- Website/Includes/UserSettings.ascx.cs 2006-08-09 23:03:50 UTC (rev 294) +++ Website/Includes/UserSettings.ascx.cs 2006-08-10 14:13:50 UTC (rev 295) @@ -20,7 +20,7 @@ private static Logger m_logg = new Logger("TCDB.UserSettings"); int userID = Convert.ToInt32(HttpContext.Current.Request.QueryString[Constants.CODE_USER]); User user; - String mode = HttpContext.Current.Request.QueryString["mode"]; + String mode = HttpContext.Current.Request.QueryString[Constants.CODE_MODE]; int productID = Convert.ToInt32(HttpContext.Current.Request.QueryString[Constants.CODE_PRODUCT]); protected void Page_Load(object sender, EventArgs e) @@ -32,6 +32,8 @@ m_logg.Debug("Unable to locate user ID in query string. Default to current user"); userID = m_user.ID; } + if (productID == 0) + productID = Constants.PRODUCT_ANYID; // Get user user = UserDB.GetUserInfo(userID); @@ -41,7 +43,7 @@ Response.Redirect("~/UserSettings.aspx?" + Constants.CODE_USER + "=" + m_user.ID); if (userID == m_user.ID && !m_user.HasRight("view_my_settings", productID)) Response.Redirect("~/Assignments.aspx?" + Constants.CODE_USER + "=" + m_user.ID); - if (userID != m_user.ID && !(user.HasRights(productID) && m_user.HasRight("view_other_settings", productID))) + if (userID != m_user.ID && !(m_user.HasRight("view_other_settings", user, productID))) Response.Redirect("~/UserSettings.aspx?" + Constants.CODE_USER + "=" + m_user.ID); // Settings init @@ -51,6 +53,9 @@ if (mode == "new" && m_user.HasRight("create_user", Constants.PRODUCT_ANYID)) UserSettingsView.ChangeMode(FormViewMode.Insert); + else if (mode == "edit" && ((user.ID==m_user.ID && + m_user.HasRight("edit_my_settings",productID)) || (m_user.HasRight("edit_other_settings", user, productID)))) + UserSettingsView.ChangeMode(FormViewMode.Edit); } protected void deleteButton_Load(object sender, EventArgs e) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2006-08-10 14:51:43
|
Revision: 296 Author: rouquin Date: 2006-08-10 07:51:27 -0700 (Thu, 10 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=296&view=rev Log Message: ----------- Fixed Administration rights bug that Matt found. I was calling the wrong rights function. Modified Paths: -------------- Website/App_Code/Common.cs Website/Includes/ActionItems.ascx.cs Website/Includes/Administration.ascx.cs Website/Includes/Assignments.ascx.cs Website/Includes/Authenticate.ascx.cs Modified: Website/App_Code/Common.cs =================================================================== --- Website/App_Code/Common.cs 2006-08-10 14:13:50 UTC (rev 295) +++ Website/App_Code/Common.cs 2006-08-10 14:51:27 UTC (rev 296) @@ -1395,6 +1395,7 @@ public static int PRODUCT_ANYID = -1; public static int PRODUCT_CREATED = -2; + public static int ROLE_ADMIN = 1; public static string CODE_USER = "u"; public static string CODE_AI = "ai"; Modified: Website/Includes/ActionItems.ascx.cs =================================================================== --- Website/Includes/ActionItems.ascx.cs 2006-08-10 14:13:50 UTC (rev 295) +++ Website/Includes/ActionItems.ascx.cs 2006-08-10 14:51:27 UTC (rev 296) @@ -21,15 +21,32 @@ { private static Logger m_logg = new Logger("TCDB.ActionItems"); private ActionItem ai; - private String item_id = HttpContext.Current.Request.QueryString[Constants.CODE_AI]; - private int productID = Convert.ToInt32(HttpContext.Current.Request.QueryString[Constants.CODE_PRODUCT]); - private String mode = HttpContext.Current.Request.QueryString["mode"]; + private String item_id = ""; + private int productID = 0; + private String mode = ""; protected void Page_Load(object sender, EventArgs e) { if (productID == 0) productID = Constants.PRODUCT_SITEID; + // Load session data + try + { + item_id = Session[Constants.CODE_AI].ToString(); + } + catch { } + try + { + mode = Session[Constants.CODE_MODE].ToString(); + } + catch { } + try + { + productID = Convert.ToInt32(Session[Constants.CODE_PRODUCT]); + } + catch { } + m_logg.Debug("Loading page ActionItems"); if (item_id == null) { Modified: Website/Includes/Administration.ascx.cs =================================================================== --- Website/Includes/Administration.ascx.cs 2006-08-10 14:13:50 UTC (rev 295) +++ Website/Includes/Administration.ascx.cs 2006-08-10 14:51:27 UTC (rev 296) @@ -37,9 +37,10 @@ if (!m_user.HasRight("view_my_roles", Constants.PRODUCT_ANYID) && !m_user.HasRight("view_other_roles", Constants.PRODUCT_ANYID)) userRole.Visible = false; } - + protected void productList_Init(object sender, EventArgs e) { + List<Product> products = ProductDB.GetProductList(active); foreach (Product product in products) @@ -52,7 +53,8 @@ productList.Items.Add(item); } - productList_SelectedIndexChanged(sender, e); + if (!IsPostBack) + productList_SelectedIndexChanged(sender, e); } protected void productList_SelectedIndexChanged(object sender, EventArgs e) { @@ -74,9 +76,10 @@ protected void userList_Init(object sender, EventArgs e) { + List<Product> products = ProductDB.GetProductList(active); List<User> users = UserDB.TCDB_GetUserList(); - + foreach (User user in users) { foreach (Product product in products) @@ -94,7 +97,8 @@ break; } } - userList_SelectedIndexChanged(sender, e); + if (!IsPostBack) + userList_SelectedIndexChanged(sender, e); } protected void userList_SelectedIndexChanged(object sender, EventArgs e) { @@ -108,7 +112,6 @@ userDelete.Visible = false; foreach (Product product in products) { - if (product.ID == Constants.PRODUCT_SITEID) continue; if (!userView.Visible && m_user.HasRight("view_my_settings", product.ID)) userView.Visible = true; if (!userEdit.Visible && m_user.HasRight("edit_my_settings", product.ID)) @@ -122,13 +125,12 @@ userDelete.Visible = true; foreach (Product product in products) { - if (product.ID == Constants.PRODUCT_SITEID) continue; - if (user.HasRights(product.ID)) + if (!userView.Visible && m_user.HasRight("view_other_settings", user, product.ID)) + userView.Visible = true; + if (!userEdit.Visible && m_user.HasRight("edit_other_settings", user, product.ID)) + userEdit.Visible = true; + if (product.ID != Constants.PRODUCT_SITEID && user.HasRights(product.ID)) { - if (!userView.Visible && m_user.HasRight("view_other_settings", product.ID)) - userView.Visible = true; - if (!userEdit.Visible && m_user.HasRight("edit_other_settings", product.ID)) - userEdit.Visible = true; if (userDelete.Visible && !m_user.HasRight("delete_user", product.ID)) userDelete.Visible = false; } Modified: Website/Includes/Assignments.ascx.cs =================================================================== --- Website/Includes/Assignments.ascx.cs 2006-08-10 14:13:50 UTC (rev 295) +++ Website/Includes/Assignments.ascx.cs 2006-08-10 14:51:27 UTC (rev 296) @@ -362,6 +362,23 @@ Session["rows"] = Convert.ToInt32(Session["rows"]) + 1; } } + protected void AssignmentsGridView_RowCommand(object sender, GridViewCommandEventArgs e) + { + if (e.CommandName == "View") + { + Assignment a = AssignmentDB.GetAssignment(int.Parse(e.CommandArgument.ToString())); + if (a.ISACTIONITEM) + { + Session[Constants.CODE_AI] = a.ACTIONITEM.ID; + Response.Redirect("~/ActionItem.aspx"); + } + else if (a.ISWORKORDER) + { + Session[Constants.CODE_WO] = a.WORKORDER.ID; + Response.Redirect("~/WorkOrder.aspx"); + } + } + } protected void cboShowCompleted_CheckedChanged(object sender, EventArgs e) { @@ -814,22 +831,5 @@ Session[Constants.CODE_MODE] = "new"; Response.Redirect("~/WorkOrder.aspx"); } - protected void AssignmentsGridView_RowCommand(object sender, GridViewCommandEventArgs e) - { - if (e.CommandName == "View") - { - Assignment a = AssignmentDB.GetAssignment(int.Parse(e.CommandArgument.ToString())); - if (a.ISACTIONITEM) - { - Session[Constants.CODE_AI] = a.ACTIONITEM.ID; - Response.Redirect("~/ActionItem.aspx"); - } - else if (a.ISWORKORDER) - { - Session[Constants.CODE_WO] = a.WORKORDER.ID; - Response.Redirect("~/WorkOrder.aspx"); - } - } - } } } Modified: Website/Includes/Authenticate.ascx.cs =================================================================== --- Website/Includes/Authenticate.ascx.cs 2006-08-10 14:13:50 UTC (rev 295) +++ Website/Includes/Authenticate.ascx.cs 2006-08-10 14:51:27 UTC (rev 296) @@ -105,8 +105,13 @@ // TODO: The default redirect should be pulled from the DB if (Request.RawUrl.Contains("efault.aspx")) - // TODO: Discuss this line... In my opinion it shouldn't be needed unless specifying a user other than the current one - Response.Redirect("~/Assignments.aspx?" + Constants.CODE_USER + "=" + myUser.ID); + { + Session[Constants.CODE_USER] = myUser.ID; + Session.Remove(Constants.CODE_MODE); + Session.Remove(Constants.CODE_PRODUCT); + Session.Remove(Constants.CODE_CREATED); + Response.Redirect("~/Assignments.aspx"); + } else Response.Redirect(Request.RawUrl); //Response.Redirect(FormsAuthentication.GetRedirectUrl(LoginUser.UserName, LoginUser.RememberMeSet)); @@ -161,7 +166,11 @@ m_logg.Info("New user action item successfully sent to [" + admin.ToString() + "]"); Results.Text = ConfigDB.GetConfigString("user_created"); - Response.Redirect("~/Assignments.aspx?" + Constants.CODE_USER + "=" + newUser.ID); + Session[Constants.CODE_USER] = newUser.ID; + Session.Remove(Constants.CODE_MODE); + Session.Remove(Constants.CODE_PRODUCT); + Session.Remove(Constants.CODE_CREATED); + Response.Redirect("~/Assignments.aspx"); } else { @@ -199,30 +208,19 @@ private User GetProductAdmin(Product product) { - // TODO: FIX THIS CODE!!!!! It needs to look up the product admin by role now - User admin = new User(); - /* - if (product.QALEAD.HasRight(Constants.RIGHTS_ASSIGNPERMISSION, product.ID)) + tcdbDataSetTableAdapters.db_roleProductUserTableAdapter rpuAdapter = new tcdbDataSetTableAdapters.db_roleProductUserTableAdapter(); + tcdbDataSet.db_roleProductUserDataTable rpuTable = rpuAdapter.GetData(Constants.ROLE_ADMIN, product.ID, true); + + if (rpuTable.Count > 0) { - m_logg.Debug("The QA lead [" + product.QALEAD.ToString() + "] has rights to assign permissions for product [" + product.ToString() + "]"); - admin = product.QALEAD; - } - else if (product.QAMANAGER.HasRight(Constants.RIGHTS_ASSIGNPERMISSION, product.ID)) - { - m_logg.Debug("The QA lead [" + product.QALEAD.ToString() + "] does not have rights to assign permissions for product [" + product.ToString() + "], checking QA Manager"); + tcdbDataSet.db_roleProductUserRow row = rpuTable[0]; - m_logg.Debug("The QA manager [" + product.QAMANAGER.ToString() + "] has rights to assign permissions for product [" + product.ToString() + "]"); - admin = product.QAMANAGER; + return UserDB.GetUserInfo(row.userID); } else { - m_logg.Debug("The QA manager [" + product.QAMANAGER.ToString() + "] does not have rights to assign permissions for product [" + product.ToString() + "], checking QA Manager"); - - admin = UserDB.GetUserInfo(ConfigDB.GetConfigInt("site_admin")); - m_logg.Debug("The site admin [" + admin.ToString() + "] has rights to assign permissions for product [" + product.ToString() + "]"); + return new User(); } - */ - return admin; } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2006-08-10 15:36:50
|
Revision: 297 Author: rouquin Date: 2006-08-10 08:36:41 -0700 (Thu, 10 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=297&view=rev Log Message: ----------- Renabled Assignment links Modified Paths: -------------- Website/App_Code/Common.cs Website/Includes/Assignments.ascx Website/Includes/Assignments.ascx.cs Modified: Website/App_Code/Common.cs =================================================================== --- Website/App_Code/Common.cs 2006-08-10 14:51:27 UTC (rev 296) +++ Website/App_Code/Common.cs 2006-08-10 15:36:41 UTC (rev 297) @@ -1397,6 +1397,7 @@ public static int ROLE_ADMIN = 1; + public static string CODE_ASSIGNMENT = "a"; public static string CODE_USER = "u"; public static string CODE_AI = "ai"; public static string CODE_WO = "wo"; @@ -1406,6 +1407,7 @@ public static string CODE_ROLE = "r"; public static string CODE_MODE = "m"; public static string CODE_CREATED = "created"; + public static string CODE_TYPE = "t"; // TODO: figure this one out //public static bool ASSIGNMENT_PRIORITY_ALL = null; Modified: Website/Includes/Assignments.ascx =================================================================== --- Website/Includes/Assignments.ascx 2006-08-10 14:51:27 UTC (rev 296) +++ Website/Includes/Assignments.ascx 2006-08-10 15:36:41 UTC (rev 297) @@ -56,7 +56,7 @@ <asp:Literal runat="server" Text="<div class='priority_high_small'></div>" Visible='<%# (Convert.ToBoolean(Eval("highPriority")) == true) %>' /> </ItemTemplate> </asp:TemplateField> - <asp:ButtonField ButtonType="Link" CommandName="View" DataTextField="aName" HeaderText="Assignment" SortExpression="aName" /> + <asp:ButtonField CommandName="View" DataTextField="aName" HeaderText="Assignment" SortExpression="aName" /> <asp:BoundField DataField="assigned" HeaderText="Assignee" SortExpression="assigned" /> <asp:BoundField DataField="creator" HeaderText="Creator" ReadOnly="True" SortExpression="creator" /> <asp:BoundField DataField="dateAssigned" DataFormatString="{0:M-dd-yyyy}" HeaderText="Assigned" Modified: Website/Includes/Assignments.ascx.cs =================================================================== --- Website/Includes/Assignments.ascx.cs 2006-08-10 14:51:27 UTC (rev 296) +++ Website/Includes/Assignments.ascx.cs 2006-08-10 15:36:41 UTC (rev 297) @@ -137,6 +137,8 @@ gRow.Cells[1].ToolTip = name; + gRow.Attributes.Add(Constants.CODE_ASSIGNMENT.ToString(),cid.ToString()); + gRow.Attributes.Add(Constants.CODE_TYPE.ToString(), type); if (type == Constants.CODE_AI) { ActionItem ai = ActionItemDB.GetActionItem(cid, active); @@ -366,15 +368,19 @@ { if (e.CommandName == "View") { - Assignment a = AssignmentDB.GetAssignment(int.Parse(e.CommandArgument.ToString())); - if (a.ISACTIONITEM) + int rowID = Convert.ToInt32(e.CommandArgument); + int childID = Convert.ToInt32(AssignmentsGridView.Rows[rowID].Attributes[Constants.CODE_ASSIGNMENT.ToString()]); + String type = AssignmentsGridView.Rows[rowID].Attributes[Constants.CODE_TYPE.ToString()]; + + if (type == Constants.CODE_AI) { - Session[Constants.CODE_AI] = a.ACTIONITEM.ID; + + Session[Constants.CODE_AI] = childID; Response.Redirect("~/ActionItem.aspx"); } - else if (a.ISWORKORDER) + else if (type == Constants.CODE_WO) { - Session[Constants.CODE_WO] = a.WORKORDER.ID; + Session[Constants.CODE_WO] = childID; Response.Redirect("~/WorkOrder.aspx"); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2006-08-10 17:39:21
|
Revision: 301 Author: rouquin Date: 2006-08-10 10:39:16 -0700 (Thu, 10 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=301&view=rev Log Message: ----------- A few minor changes. Renamed rights so that they are more understandable. Modified Paths: -------------- Website/Includes/Rights.ascx Website/Includes/Rights.ascx.cs Website/Includes/UserRoles.ascx.cs Modified: Website/Includes/Rights.ascx =================================================================== --- Website/Includes/Rights.ascx 2006-08-10 17:01:33 UTC (rev 300) +++ Website/Includes/Rights.ascx 2006-08-10 17:39:16 UTC (rev 301) @@ -49,15 +49,103 @@ Assigned to Roles:</label><br /> <asp:Literal ID="roleList" runat="server" OnInit="roleList_Init"></asp:Literal></div> </div> + <div class="cb"> + <asp:LinkButton ID="New" runat="server" CommandName="new" OnInit="New_Init">New</asp:LinkButton><asp:Label + ID="NewLbl" runat="server" Text=" | "></asp:Label><asp:LinkButton ID="Edit" + runat="server" CommandName="edit">Edit</asp:LinkButton> + </div> </div> <b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b><b class="xb1"> </b></b> </div> </div> </ItemTemplate> + <EditItemTemplate> + <div class="cc"> + <div class="xsnazzy"> + <b class="xtop"><b class="xb1"></b><b class="xb2"></b><b class="xb3"></b><b class="xb4"> + </b></b> + <div class="xboxcontent"> + <div class="ct"> + <div class="item"> + <label> + Name:</label> + <asp:TextBox ID="nameLabel" runat="server" Text='<%# Bind("rightsName") %>' Width="400"></asp:TextBox></div> + <div class="item"> + <label> + Code: </label> + <asp:TextBox ID="codeLabel" runat="server" Text='<%# Bind("rightsCode") %>' Width="200"></asp:TextBox></div> + <div class="hr"> + </div> + </div> + <div class="cm"> + <div class="item"> + <label> + Description:</label><br /> + <FTB:FreeTextBox ID="DescriptionBox" runat="server" SupportFolder="~/aspnet_client/FreeTextBox/" + Width="100%" Text='<%# Bind("rightsDescription") %>' Height="200px" EnableHtmlMode="true"> + </FTB:FreeTextBox> + </div> + <div class="hr"> + </div> + </div> + <div class="cb"> + <asp:LinkButton ID="UpdateButton" runat="server" CausesValidation="True" CommandName="Update" + Text="Update"> + </asp:LinkButton> | <asp:LinkButton ID="UpdateCancelButton" runat="server" + CausesValidation="False" CommandName="Cancel" Text="Cancel"> + </asp:LinkButton> + </div> + </div> + <b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b><b class="xb1"> + </b></b> + </div> + </div> + </EditItemTemplate> + <InsertItemTemplate> + <div class="cc"> + <div class="xsnazzy"> + <b class="xtop"><b class="xb1"></b><b class="xb2"></b><b class="xb3"></b><b class="xb4"> + </b></b> + <div class="xboxcontent"> + <div class="ct"> + <div class="item"> + <label> + Name:</label> + <asp:TextBox ID="nameLabel" runat="server" Text='<%# Bind("rightsName") %>' Width="400"></asp:TextBox></div> + <div class="item"> + <label> + Code: </label> + <asp:TextBox ID="codeLabel" runat="server" Text='<%# Bind("rightsCode") %>' Width="200"></asp:TextBox></div> + <div class="hr"> + </div> + </div> + <div class="cm"> + <div class="item"> + <label> + Description:</label><br /> + <FTB:FreeTextBox ID="DescriptionBox" runat="server" SupportFolder="~/aspnet_client/FreeTextBox/" + Width="100%" Text='<%# Bind("rightsDescription") %>' Height="200px" EnableHtmlMode="true"> + </FTB:FreeTextBox> + </div> + <div class="hr"> + </div> + </div> + <div class="cb"> + <asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True" CommandName="Insert" + Text="Insert" /> | <asp:LinkButton ID="UpdateCancelButton" runat="server" + CausesValidation="False" CommandName="Cancel" Text="Cancel" /> + </div> + </div> + <b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b><b class="xb1"> + </b></b> + </div> + </div> + </InsertItemTemplate> </asp:FormView> <asp:ObjectDataSource ID="RightsDataSource" runat="server" SelectMethod="GetData" - TypeName="tcdbDataSetTableAdapters.db_rightsTableAdapter" InsertMethod="Insert" UpdateMethod="Update"> + TypeName="tcdbDataSetTableAdapters.db_rightsTableAdapter" InsertMethod="Insert" + UpdateMethod="Update"> <SelectParameters> <asp:SessionParameter Name="rightsID" SessionField="rightsID" Type="Int32" /> <asp:Parameter Name="rightsCode" Type="String" /> Modified: Website/Includes/Rights.ascx.cs =================================================================== --- Website/Includes/Rights.ascx.cs 2006-08-10 17:01:33 UTC (rev 300) +++ Website/Includes/Rights.ascx.cs 2006-08-10 17:39:16 UTC (rev 301) @@ -42,7 +42,7 @@ if (mode == "new" && m_user.HasRight(Constants.RIGHTS_DEV_ACCESS)) FormView1.ChangeMode(FormViewMode.Insert); - else if (mode == "edit" && (m_user.HasRight(Constants.RIGHTS_DEV_ACCESS) || m_user.HasRight(Constants.RIGHTS_ROLE_EDIT, Constants.PRODUCT_ANYID))) + else if (mode == "edit" && m_user.HasRight(Constants.RIGHTS_DEV_ACCESS)) FormView1.ChangeMode(FormViewMode.Edit); } @@ -85,22 +85,7 @@ editBtn.Visible = false; } } - protected void nameBox_Load(object sender, EventArgs e) - { - TextBox nameBox = (TextBox)FormView1.FindControl("nameBox"); - FreeTextBoxControls.FreeTextBox descriptionBox = (FreeTextBoxControls.FreeTextBox)FormView1.FindControl("descriptionBox"); - Label nameLbl = (Label)FormView1.FindControl("nameLbl"); - Label descriptionLbl = (Label)FormView1.FindControl("descriptionLbl"); - if (!m_user.HasRight(Constants.RIGHTS_DEV_ACCESS)) - { - nameBox.Visible = false; - descriptionBox.Visible = false; - nameLbl.Visible = true; - descriptionLbl.Visible = true; - } - } - protected void activeBox_Init(object sender, EventArgs e) { CheckBox activeBox = (CheckBox)sender; Modified: Website/Includes/UserRoles.ascx.cs =================================================================== --- Website/Includes/UserRoles.ascx.cs 2006-08-10 17:01:33 UTC (rev 300) +++ Website/Includes/UserRoles.ascx.cs 2006-08-10 17:39:16 UTC (rev 301) @@ -79,7 +79,6 @@ } Session["ProductUsers"] = ProductUsers; } - protected void UpdateRoleRights() { ListBox rightsList = (ListBox)UserRoleView.FindControl("assignedList"); @@ -112,14 +111,12 @@ Response.Redirect("~/Administration.aspx"); } } - protected void UserRoleView_ItemUpdated(object sender, FormViewUpdatedEventArgs e) { UpdateRoleRights(); Session.Remove("tableName"); Response.Redirect("~/Role.aspx?" + Constants.CODE_ROLE + "=" + roleID); } - protected void DeleteCmd(object sender, CommandEventArgs e) { tcdbDataSetTableAdapters.db_roleTableAdapter rAdapter = new tcdbDataSetTableAdapters.db_roleTableAdapter(); @@ -129,7 +126,6 @@ Session.Remove("tableName"); Response.Redirect("~/Administration.aspx"); } - protected void UserRoleView_ItemCommand(object sender, FormViewCommandEventArgs e) { if (UserRoleView.CurrentMode == FormViewMode.Insert && e.CommandName == "Cancel") @@ -142,6 +138,17 @@ } } + protected void EditAssignments_Command(object sender, CommandEventArgs e) + { + Response.Redirect("~/RoleAssignments.aspx?" + Constants.CODE_PRODUCT + "=" + productID + "&" + Constants.CODE_ROLE + "=" + roleID); + } + protected void NewRight_Init(object sender, EventArgs e) + { + LinkButton btn = (LinkButton)sender; + + if (!m_user.HasRight(Constants.RIGHTS_DEV_ACCESS)) + btn.Visible = false; + } protected void NewRight(object sender, CommandEventArgs e) { Response.Redirect("Right.aspx?mode=new&" + Constants.CODE_ROLE + "=" + roleID); @@ -181,14 +188,6 @@ } } - protected void NewRight_Init(object sender, EventArgs e) - { - LinkButton btn = (LinkButton)sender; - - if (!m_user.HasRight(Constants.RIGHTS_DEV_ACCESS)) - btn.Visible = false; - } - protected void New_Init(object sender, EventArgs e) { LinkButton newBtn = (LinkButton)sender; @@ -200,7 +199,6 @@ newLbl.Visible = false; } } - protected void Edit_Init(object sender, EventArgs e) { LinkButton editBtn = (LinkButton)sender; @@ -212,7 +210,6 @@ editLbl.Visible = false; } } - protected void Delete_Load(object sender, EventArgs e) { LinkButton deleteBtn = (LinkButton)sender; @@ -249,7 +246,6 @@ activeLbl.Visible = false; } } - protected void ActiveBox_CheckedChanged(object sender, EventArgs e) { CheckBox activeBox = (CheckBox)sender; @@ -305,12 +301,6 @@ } } } - - protected void EditAssignments_Command(object sender, CommandEventArgs e) - { - Response.Redirect("~/RoleAssignments.aspx?" + Constants.CODE_PRODUCT + "=" + productID + "&" + Constants.CODE_ROLE + "=" + roleID); - } - protected void AssignSelected(object sender, CommandEventArgs e) { ListBox unassigned = (ListBox)UserRoleView.FindControl("UnassignedList"); @@ -320,13 +310,12 @@ for (int index = indices.Length-1; index >= 0; index--) { ListItem item = unassigned.Items[indices[index]]; - + unassigned.Items.Remove(item); assigned.Items.Add(item); item.Selected = false; } } - protected void UnassignSelected(object sender, CommandEventArgs e) { ListBox unassigned = (ListBox)UserRoleView.FindControl("UnassignedList"); @@ -337,6 +326,11 @@ { ListItem item = assigned.Items[indices[index]]; + // Reset decoration + Right right = RightDB.GetRightInfo(Convert.ToInt32(item.Value)); + if (!right.ACTIVE) + item.Attributes.CssStyle.Add("text-decoration", "line-through"); + assigned.Items.Remove(item); unassigned.Items.Add(item); item.Selected = false; @@ -351,12 +345,12 @@ rightsList.Text = ""; foreach (Right right in rights) { - if (right.ACTIVE) - { - if (rightsList.Text != "") - rightsList.Text += ", "; + if (rightsList.Text != "") + rightsList.Text += ", "; + if (!right.ACTIVE) + rightsList.Text += "<font class='deleted'>"+ right.NAME +"</font>"; + else rightsList.Text += right.NAME; - } } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2006-08-10 18:58:40
|
Revision: 302 Author: rouquin Date: 2006-08-10 11:58:26 -0700 (Thu, 10 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=302&view=rev Log Message: ----------- Updated code to handle changes to user database table (Jon added the active field). User can now be deleted. Modified Paths: -------------- Website/App_Code/Common.cs Website/App_Code/Users.cs Website/App_Code/tcdbDataSet.xsd Website/App_Code/tcdbDataSet.xss Website/Includes/ActionItems.ascx.cs Website/Includes/Administration.ascx.cs Website/Includes/AdministrationTree.ascx.cs Website/Includes/AssignmentsTree.ascx.cs Website/Includes/Products.ascx.cs Website/Includes/Rights.ascx.cs Website/Includes/RoleAssignments.ascx.cs Website/Includes/UserRoles.ascx.cs Website/Includes/UserSettings.ascx Website/Includes/UserSettings.ascx.cs Modified: Website/App_Code/Common.cs =================================================================== --- Website/App_Code/Common.cs 2006-08-10 17:39:16 UTC (rev 301) +++ Website/App_Code/Common.cs 2006-08-10 18:58:26 UTC (rev 302) @@ -165,7 +165,7 @@ // site_admin values = new Dictionary<String, String>(); - foreach (User user in UserDB.TCDB_GetUserList()) + foreach (User user in UserDB.TCDB_GetUserList(true)) { values.Add(user.FULLNAME, user.ID.ToString()); } @@ -1475,6 +1475,7 @@ public static string RIGHTS_ROLE_VIEW_MY = "role_view_my"; public static string RIGHTS_ROLE_VIEW_OTHER = "role_view_other"; public static string RIGHTS_ROLE_EDIT = "role_edit"; + public static string RIGHTS_ROLE_EDIT_MY = "role_edit_my"; public static string RIGHTS_ROLE_EDIT_USERS = "role_edit_users"; public static string RIGHTS_ROLE_CREATE = "role_create"; public static string RIGHTS_ROLE_DELETE = "role_delete"; Modified: Website/App_Code/Users.cs =================================================================== --- Website/App_Code/Users.cs 2006-08-10 17:39:16 UTC (rev 301) +++ Website/App_Code/Users.cs 2006-08-10 18:58:26 UTC (rev 302) @@ -87,7 +87,7 @@ public static User GetUserInfo(string strUserName) { tcdbDataSetTableAdapters.db_usersTableAdapter ta = new tcdbDataSetTableAdapters.db_usersTableAdapter(); - tcdbDataSet.db_usersDataTable uTable = ta.GetData(strUserName, null); + tcdbDataSet.db_usersDataTable uTable = ta.GetData(strUserName, null, null); User user = new User(); if (uTable.Count > 0) @@ -145,79 +145,29 @@ public static User GetUserInfo(int id) { - // TODO: Check against the DB for user information - tcdbDataSet ds = new tcdbDataSet(); tcdbDataSetTableAdapters.db_usersTableAdapter ta = new tcdbDataSetTableAdapters.db_usersTableAdapter(); - ta.GetData(null, id); - ta.Fill(ds.db_users, null, id); + tcdbDataSet.db_usersDataTable uTable = ta.GetData(null, id, null); - User user; - - DataTableReader dr = ds.db_users.CreateDataReader(); - if (dr.HasRows && dr.Read()) + if (uTable.Count > 0) { - int uid = Help.DB_IntParse(dr["userID"], Constants.ANONYMOUSUSERID); - string userName = Help.DB_StringParse(dr["username"]); - string firstName = Help.DB_StringParse(dr["firstName"]); - string lastName = Help.DB_StringParse(dr["lastName"]); - string email = Help.DB_StringParse(dr["email"]); - string officePhone = Help.DB_StringParse(dr["officePhone"]); - string homePhone = Help.DB_StringParse(dr["homePhone"]); - string cellPhone = Help.DB_StringParse(dr["cellPhone"]); - bool automation = Help.DB_BoolParse(dr["automation"]); + tcdbDataSet.db_usersRow row = uTable[0]; - user = new User(uid, userName, firstName, lastName, email, officePhone, homePhone, cellPhone, automation); + return new User(row); } else - user = new User(Constants.ANONYMOUSUSERID); - - return user; + return new User(Constants.ANONYMOUSUSERID); } - public static List<User> TCDB_GetUserList() + public static List<User> TCDB_GetUserList(Nullable<bool> active) { - // TODO: Check against the DB for user information - tcdbDataSet ds = new tcdbDataSet(); tcdbDataSetTableAdapters.db_usersTableAdapter ta = new tcdbDataSetTableAdapters.db_usersTableAdapter(); - ta.GetData(null, null); - ta.Fill(ds.db_users, null, null); + tcdbDataSet.db_usersDataTable uTable = ta.GetData(null, null, active); List<User> userList = new List<User>(); - DataTableReader dr = ds.db_users.CreateDataReader(); - if (dr.HasRows) - { - User user; + foreach (tcdbDataSet.db_usersRow row in uTable) + userList.Add(new User(row)); - int uid; - string userName; - string firstName; - string lastName; - string email; - string officePhone; - string homePhone; - string cellPhone; - bool automation; - - while (dr.Read()) - { - uid = Help.DB_IntParse(dr["userID"], Constants.ANONYMOUSUSERID); - userName = Help.DB_StringParse(dr["username"]); - firstName = Help.DB_StringParse(dr["firstName"]); - lastName = Help.DB_StringParse(dr["lastName"]); - email = Help.DB_StringParse(dr["email"]); - officePhone = Help.DB_StringParse(dr["officePhone"]); - homePhone = Help.DB_StringParse(dr["homePhone"]); - cellPhone = Help.DB_StringParse(dr["cellPhone"]); - automation = Help.DB_BoolParse(dr["automation"]); - - user = new User(uid, userName, firstName, lastName, email, officePhone, homePhone, cellPhone, automation); - - - userList.Add(user); - } - } - return userList; } @@ -227,7 +177,7 @@ tcdbDataSetTableAdapters.db_usersTableAdapter ta = new tcdbDataSetTableAdapters.db_usersTableAdapter(); try { - ta.Insert(user.USERNAME, user.FIRSTNAME, user.LASTNAME, user.EMAIL, user.OFFICEPHONE, user.HOMEPHONE, user.CELLPHONE, user.AUTOMATION); + ta.Insert(user.USERNAME, user.FIRSTNAME, user.LASTNAME, user.EMAIL, user.OFFICEPHONE, user.HOMEPHONE, user.CELLPHONE, user.AUTOMATION, user.ACTIVE); } catch (Exception e) { @@ -239,7 +189,7 @@ return false; // Guest user == 1, Site Admin = 2 - if (ta.GetData(null, null).Count > 2) + if (ta.GetData(null, null, true).Count > 2) { user.AddRole("Basic User", Constants.PRODUCT_SITEID); } @@ -253,7 +203,12 @@ public static void DeleteUser(int userID) { - return; + User user = GetUserInfo(userID); + + tcdbDataSetTableAdapters.db_usersTableAdapter uAdapter = new tcdbDataSetTableAdapters.db_usersTableAdapter(); + uAdapter.Update(user.ID, user.USERNAME, user.EMAIL, + user.OFFICEPHONE, user.HOMEPHONE, user.CELLPHONE, + user.FIRSTNAME, user.LASTNAME, user.AUTOMATION, false); } } @@ -276,6 +231,7 @@ private bool p_isAuthenticated; private bool p_isNew; private string p_password; + private bool p_active; private List<Assignment> p_assignments; private Dictionary<int, List<String> > p_rights; private Dictionary<int, List<String> > p_roles; @@ -319,10 +275,53 @@ p_isNew = false; p_assignments = null; p_password = ""; + p_active = true; p_rights = new Dictionary<int, List<String> >(); p_roles = new Dictionary<int, List<String>>(); } + public User(tcdbDataSet.db_usersRow row) + { + p_id = row.userID; + p_username = row.username; + p_email = row.email; + try + { + p_officePhone = row.officePhone; + } + catch { p_officePhone = ""; } + try + { + p_homePhone = row.homePhone; + } + catch { p_homePhone = ""; } + try + { + p_cellPhone = row.cellPhone; + } + catch { p_cellPhone = ""; } + p_firstName = row.firstName; + p_lastName = row.lastName; + p_automation = row.automation; + p_isAuthenticated = false; + p_active = row.active; + 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. + // Solution: Only calling this if we're not dealing with the anon user. + //if (user.ID != Constants.ANONYMOUSUSERID) + //{ + // Anything that we have to Get based on userID should happen + // in this block so that we avoid an infinate loop + //p_assignments = user.GetAssignments(false, Constants.ASSIGNMENT_FINISHEDANDUNFINISHED); + //} + p_assignments = null; + p_rights = new Dictionary<int, List<String>>(); + p_roles = new Dictionary<int, List<String>>(); + } + private void BuildUser(User user) { p_id = user.ID; @@ -335,6 +334,7 @@ p_lastName = user.LASTNAME; p_automation = user.AUTOMATION; p_isAuthenticated = user.ISAUTHENTICATED; + p_active = user.ACTIVE; p_isNew = false; p_password = ""; // TODO: Figure out why the following line caused an infinite loop @@ -422,6 +422,12 @@ get { return p_isNew; } set { p_isNew = value; } } + + public bool ACTIVE + { + get { return p_active; } + set { p_active = value; } + } public string PASSWORD { Modified: Website/App_Code/tcdbDataSet.xsd =================================================================== --- Website/App_Code/tcdbDataSet.xsd 2006-08-10 17:39:16 UTC (rev 301) +++ Website/App_Code/tcdbDataSet.xsd 2006-08-10 18:58:26 UTC (rev 302) @@ -754,6 +754,8 @@ </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> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@active" Precision="1" ProviderType="Bit" Scale="0" Size="1" SourceColumn="active" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> </Parameters> </DbCommand> </InsertCommand> @@ -767,6 +769,8 @@ </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="Boolean" Direction="Input" ParameterName="@active" Precision="1" ProviderType="Bit" Scale="0" Size="1" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> </Parameters> </DbCommand> </SelectCommand> @@ -794,6 +798,8 @@ </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> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@active" Precision="1" ProviderType="Bit" Scale="0" Size="1" SourceColumn="active" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> </Parameters> </DbCommand> </UpdateCommand> @@ -810,6 +816,7 @@ <Mapping SourceColumn="lastName" DataSetColumn="lastName" /> <Mapping SourceColumn="fullName" DataSetColumn="fullName" /> <Mapping SourceColumn="automation" DataSetColumn="automation" /> + <Mapping SourceColumn="active" DataSetColumn="active" /> </Mappings> <Sources> </Sources> @@ -965,108 +972,108 @@ <xs:element name="db_products" msprop:Generator_UserTableName="db_products" msprop:Generator_RowDeletedName="db_productsRowDeleted" msprop:Generator_RowChangedName="db_productsRowChanged" msprop:Generator_RowClassName="db_productsRow" msprop:Generator_RowChangingName="db_productsRowChanging" msprop:Generator_RowEvArgName="db_productsRowChangeEvent" msprop:Generator_RowEvHandlerName="db_productsRowChangeEventHandler" msprop:Generator_TableClassName="db_productsDataTable" msprop:Generator_TableVarName="tabledb_products" msprop:Generator_RowDeletingName="db_productsRowDeleting" msprop:Generator_TablePropName="db_products"> <xs:complexType> <xs:sequence> - <xs:element name="productID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" /> - <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> + <xs:element name="productID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" /> + <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> + <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="devManager" msprop:Generator_UserColumnName="devManager" msprop:Generator_ColumnVarNameInTable="columndevManager" msprop:Generator_ColumnPropNameInRow="devManager" msprop:Generator_ColumnPropNameInTable="devManagerColumn" type="xs:int" minOccurs="0" /> - <xs:element name="qaManager" msprop:Generator_UserColumnName="qaManager" msprop:Generator_ColumnVarNameInTable="columnqaManager" msprop:Generator_ColumnPropNameInRow="qaManager" msprop:Generator_ColumnPropNameInTable="qaManagerColumn" type="xs:int" minOccurs="0" /> - <xs:element name="devLead" msprop:Generator_UserColumnName="devLead" msprop:Generator_ColumnVarNameInTable="columndevLead" msprop:Generator_ColumnPropNameInRow="devLead" msprop:Generator_ColumnPropNameInTable="devLeadColumn" type="xs:int" minOccurs="0" /> - <xs:element name="qaLead" msprop:Generator_UserColumnName="qaLead" msprop:Generator_ColumnVarNameInTable="columnqaLead" msprop:Generator_ColumnPropNameInRow="qaLead" msprop:Generator_ColumnPropNameInTable="qaLeadColumn" type="xs:int" minOccurs="0" /> - <xs:element name="pm" msprop:Generator_UserColumnName="pm" msprop:Generator_ColumnVarNameInTable="columnpm" msprop:Generator_ColumnPropNameInRow="pm" msprop:Generator_ColumnPropNameInTable="pmColumn" type="xs:int" minOccurs="0" /> - <xs:element name="codeName" msprop:Generator_UserColumnName="codeName" msprop:Generator_ColumnVarNameInTable="columncodeName" msprop:Generator_ColumnPropNameInRow="codeName" msprop:Generator_ColumnPropNameInTable="codeNameColumn" minOccurs="0"> + <xs:element name="devManager" msprop:Generator_UserColumnName="devManager" msprop:Generator_ColumnPropNameInRow="devManager" msprop:Generator_ColumnVarNameInTable="columndevManager" msprop:Generator_ColumnPropNameInTable="devManagerColumn" type="xs:int" minOccurs="0" /> + <xs:element name="qaManager" msprop:Generator_UserColumnName="qaManager" msprop:Generator_ColumnPropNameInRow="qaManager" msprop:Generator_ColumnVarNameInTable="columnqaManager" msprop:Generator_ColumnPropNameInTable="qaManagerColumn" type="xs:int" minOccurs="0" /> + <xs:element name="devLead" msprop:Generator_UserColumnName="devLead" msprop:Generator_ColumnPropNameInRow="devLead" msprop:Generator_ColumnVarNameInTable="columndevLead" msprop:Generator_ColumnPropNameInTable="devLeadColumn" type="xs:int" minOccurs="0" /> + <xs:element name="qaLead" msprop:Generator_UserColumnName="qaLead" msprop:Generator_ColumnPropNameInRow="qaLead" msprop:Generator_ColumnVarNameInTable="columnqaLead" msprop:Generator_ColumnPropNameInTable="qaLeadColumn" type="xs:int" minOccurs="0" /> + <xs:element name="pm" msprop:Generator_UserColumnName="pm" msprop:Generator_ColumnPropNameInRow="pm" msprop:Generator_ColumnVarNameInTable="columnpm" msprop:Generator_ColumnPropNameInTable="pmColumn" type="xs:int" minOccurs="0" /> + <xs:element name="codeName" msprop:Generator_UserColumnName="codeName" msprop:Generator_ColumnPropNameInRow="codeName" msprop:Generator_ColumnVarNameInTable="columncodeName" msprop:Generator_ColumnPropNameInTable="codeNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="10" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> + <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_actionItems" msprop:Generator_UserTableName="db_actionItems" msprop:Generator_RowDeletedName="db_actionItemsRowDeleted" msprop:Generator_RowChangedName="db_actionItemsRowChanged" msprop:Generator_RowClassName="db_actionItemsRow" msprop:Generator_RowChangingName="db_actionItemsRowChanging" msprop:Generator_RowEvArgName="db_actionItemsRowChangeEvent" msprop:Generator_RowEvHandlerName="db_actionItemsRowChangeEventHandler" msprop:Generator_TableClassName="db_actionItemsDataTable" msprop:Generator_TableVarName="tabledb_actionItems" msprop:Generator_RowDeletingName="db_actionItemsRowDeleting" msprop:Generator_TablePropName="db_actionItems"> <xs:complexType> <xs:sequence> - <xs:element name="actionItemID" msprop:Generator_UserColumnName="actionItemID" msprop:Generator_ColumnPropNameInRow="actionItemID" msprop:Generator_ColumnVarNameInTable="columnactionItemID" msprop:Generator_ColumnPropNameInTable="actionItemIDColumn" type="xs:int" /> - <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> + <xs:element name="actionItemID" msprop:Generator_UserColumnName="actionItemID" msprop:Generator_ColumnVarNameInTable="columnactionItemID" msprop:Generator_ColumnPropNameInRow="actionItemID" msprop:Generator_ColumnPropNameInTable="actionItemIDColumn" type="xs:int" /> + <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> + <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="dateAssigned" msprop:Generator_UserColumnName="dateAssigned" msprop:Generator_ColumnPropNameInRow="dateAssigned" msprop:Generator_ColumnVarNameInTable="columndateAssigned" msprop:Generator_ColumnPropNameInTable="dateAssignedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="dateDue" msprop:Generator_UserColumnName="dateDue" msprop:Generator_ColumnPropNameInRow="dateDue" msprop:Generator_ColumnVarNameInTable="columndateDue" msprop:Generator_ColumnPropNameInTable="dateDueColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="percentComplete" msprop:Generator_UserColumnName="percentComplete" msprop:Generator_ColumnPropNameInRow="percentComplete" msprop:Generator_ColumnVarNameInTable="columnpercentComplete" msprop:Generator_ColumnPropNameInTable="percentCompleteColumn" type="xs:int" minOccurs="0" /> - <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> + <xs:element name="dateAssigned" msprop:Generator_UserColumnName="dateAssigned" msprop:Generator_ColumnVarNameInTable="columndateAssigned" msprop:Generator_ColumnPropNameInRow="dateAssigned" msprop:Generator_ColumnPropNameInTable="dateAssignedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="dateDue" msprop:Generator_UserColumnName="dateDue" msprop:Generator_ColumnVarNameInTable="columndateDue" msprop:Generator_ColumnPropNameInRow="dateDue" msprop:Generator_ColumnPropNameInTable="dateDueColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="percentComplete" msprop:Generator_UserColumnName="percentComplete" msprop:Generator_ColumnVarNameInTable="columnpercentComplete" msprop:Generator_ColumnPropNameInRow="percentComplete" msprop:Generator_ColumnPropNameInTable="percentCompleteColumn" type="xs:int" minOccurs="0" /> + <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="createdBy" msdata:ReadOnly="true" msprop:Generator_UserColumnName="createdBy" msprop:Generator_ColumnPropNameInRow="createdBy" msprop:Generator_ColumnVarNameInTable="columncreatedBy" msprop:Generator_ColumnPropNameInTable="createdByColumn" minOccurs="0"> + <xs:element name="createdBy" msdata:ReadOnly="true" msprop:Generator_UserColumnName="createdBy" msprop:Generator_ColumnVarNameInTable="columncreatedBy" msprop:Generator_ColumnPropNameInRow="createdBy" msprop:Generator_ColumnPropNameInTable="createdByColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="highPriority" msprop:Generator_UserColumnName="highPriority" msprop:Generator_ColumnPropNameInRow="highPriority" msprop:Generator_ColumnVarNameInTable="columnhighPriority" msprop:Generator_ColumnPropNameInTable="highPriorityColumn" type="xs:boolean" minOccurs="0" /> - <xs:element name="testPass" msprop:Generator_UserColumnName="testPass" msprop:Generator_ColumnVarNameInTable="columntestPass" msprop:Generator_ColumnPropNameInRow="testPass" msprop:Generator_ColumnPropNameInTable="testPassColumn" minOccurs="0"> + <xs:element name="highPriority" msprop:Generator_UserColumnName="highPriority" msprop:Generator_ColumnVarNameInTable="columnhighPriority" msprop:Generator_ColumnPropNameInRow="highPriority" msprop:Generator_ColumnPropNameInTable="highPriorityColumn" type="xs:boolean" minOccurs="0" /> + <xs:element name="testPass" msprop:Generator_UserColumnName="testPass" msprop:Generator_ColumnPropNameInRow="testPass" msprop:Generator_ColumnVarNameInTable="columntestPass" msprop:Generator_ColumnPropNameInTable="testPassColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="dateFinished" msprop:Generator_UserColumnName="dateFinished" msprop:Generator_ColumnVarNameInTable="columndateFinished" msprop:Generator_ColumnPropNameInRow="dateFinished" msprop:Generator_ColumnPropNameInTable="dateFinishedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="assignedID" msprop:Generator_UserColumnName="assignedID" msprop:Generator_ColumnVarNameInTable="columnassignedID" msprop:Generator_ColumnPropNameInRow="assignedID" msprop:Generator_ColumnPropNameInTable="assignedIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="assigned" msdata:ReadOnly="true" msprop:Generator_UserColumnName="assigned" msprop:Generator_ColumnVarNameInTable="columnassigned" msprop:Generator_ColumnPropNameInRow="assigned" msprop:Generator_ColumnPropNameInTable="assignedColumn" minOccurs="0"> + <xs:element name="dateFinished" msprop:Generator_UserColumnName="dateFinished" msprop:Generator_ColumnPropNameInRow="dateFinished" msprop:Generator_ColumnVarNameInTable="columndateFinished" msprop:Generator_ColumnPropNameInTable="dateFinishedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="assignedID" msprop:Generator_UserColumnName="assignedID" msprop:Generator_ColumnPropNameInRow="assignedID" msprop:Generator_ColumnVarNameInTable="columnassignedID" msprop:Generator_ColumnPropNameInTable="assignedIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="assigned" msdata:ReadOnly="true" msprop:Generator_UserColumnName="assigned" msprop:Generator_ColumnPropNameInRow="assigned" msprop:Generator_ColumnVarNameInTable="columnassigned" msprop:Generator_ColumnPropNameInTable="assignedColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="statusID" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="testPassID" msprop:Generator_UserColumnName="testPassID" msprop:Generator_ColumnPropNameInRow="testPassID" msprop:Generator_ColumnVarNameInTable="columntestPassID" msprop:Generator_ColumnPropNameInTable="testPassIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> - <xs:element name="creatorID" msprop:Generator_UserColumnName="creatorID" msprop:Generator_ColumnPropNameInRow="creatorID" msprop:Generator_ColumnVarNameInTable="columncreatorID" msprop:Generator_ColumnPropNameInTable="creatorIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="statusID" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="testPassID" msprop:Generator_UserColumnName="testPassID" msprop:Generator_ColumnVarNameInTable="columntestPassID" msprop:Generator_ColumnPropNameInRow="testPassID" msprop:Generator_ColumnPropNameInTable="testPassIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> + <xs:element name="creatorID" msprop:Generator_UserColumnName="creatorID" msprop:Generator_ColumnVarNameInTable="columncreatorID" msprop:Generator_ColumnPropNameInRow="creatorID" msprop:Generator_ColumnPropNameInTable="creatorIDColumn" type="xs:int" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_status" msprop:Generator_UserTableName="db_status" msprop:Generator_RowDeletedName="db_statusRowDeleted" msprop:Generator_RowChangedName="db_statusRowChanged" msprop:Generator_RowClassName="db_statusRow" msprop:Generator_RowChangingName="db_statusRowChanging" msprop:Generator_RowEvArgName="db_statusRowChangeEvent" msprop:Generator_RowEvHandlerName="db_statusRowChangeEventHandler" msprop:Generator_TableClassName="db_statusDataTable" msprop:Generator_TableVarName="tabledb_status" msprop:Generator_RowDeletingName="db_statusRowDeleting" msprop:Generator_TablePropName="db_status"> <xs:complexType> <xs:sequence> - <xs:element name="statusID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" /> - <xs:element name="Description" msprop:Generator_UserColumnName="Description" msprop:Generator_ColumnVarNameInTable="columnDescription" msprop:Generator_ColumnPropNameInRow="Description" msprop:Generator_ColumnPropNameInTable="DescriptionColumn" minOccurs="0"> + <xs:element name="statusID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" /> + <xs:element name="Description" msprop:Generator_UserColumnName="Description" msprop:Generator_ColumnPropNameInRow="Description" msprop:Generator_ColumnVarNameInTable="columnDescription" msprop:Generator_ColumnPropNameInTable="DescriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> + <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> @@ -1079,17 +1086,17 @@ <xs:element name="db_notes" msprop:Generator_UserTableName="db_notes" msprop:Generator_RowDeletedName="db_notesRowDeleted" msprop:Generator_RowChangedName="db_notesRowChanged" msprop:Generator_RowClassName="db_notesRow" msprop:Generator_RowChangingName="db_notesRowChanging" msprop:Generator_RowEvArgName="db_notesRowChangeEvent" msprop:Generator_RowEvHandlerName="db_notesRowChangeEventHandler" msprop:Generator_TableClassName="db_notesDataTable" msprop:Generator_TableVarName="tabledb_notes" msprop:Generator_RowDeletingName="db_notesRowDeleting" msprop:Generator_TablePropName="db_notes"> <xs:complexType> <xs:sequence> - <xs:element name="noteID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="noteID" msprop:Generator_ColumnVarNameInTable="columnnoteID" msprop:Generator_ColumnPropNameInRow="noteID" msprop:Generator_ColumnPropNameInTable="noteIDColumn" type="xs:int" /> - <xs:element name="dateCreated" msprop:Generator_UserColumnName="dateCreated" msprop:Generator_ColumnVarNameInTable="columndateCreated" msprop:Generator_ColumnPropNameInRow="dateCreated" msprop:Generator_ColumnPropNameInTable="dateCreatedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="noteField" msprop:Generator_UserColumnName="noteField" msprop:Generator_ColumnVarNameInTable="columnnoteField" msprop:Generator_ColumnPropNameInRow="noteField" msprop:Generator_ColumnPropNameInTable="noteFieldColumn" minOccurs="0"> + <xs:element name="noteID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="noteID" msprop:Generator_ColumnPropNameInRow="noteID" msprop:Generator_ColumnVarNameInTable="columnnoteID" msprop:Generator_ColumnPropNameInTable="noteIDColumn" type="xs:int" /> + <xs:element name="dateCreated" msprop:Generator_UserColumnName="dateCreated" msprop:Generator_ColumnPropNameInRow="dateCreated" msprop:Generator_ColumnVarNameInTable="columndateCreated" msprop:Generator_ColumnPropNameInTable="dateCreatedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="noteField" msprop:Generator_UserColumnName="noteField" msprop:Generator_ColumnPropNameInRow="noteField" msprop:Generator_ColumnVarNameInTable="columnnoteField" msprop:Generator_ColumnPropNameInTable="noteFieldColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="noteAuthor" msprop:Generator_UserColumnName="noteAuthor" msprop:Generator_ColumnVarNameInTable="columnnoteAuthor" msprop:Generator_ColumnPropNameInRow="noteAuthor" msprop:Generator_ColumnPropNameInTable="noteAuthorColumn" type="xs:int" minOccurs="0" /> - <xs:element name="noteAuthorName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="noteAuthorName" msprop:Generator_ColumnPropNameInRow="noteAuthorName" msprop:Generator_ColumnVarNameInTable="columnnoteAuthorName" msprop:Generator_ColumnPropNameInTable="noteAuthorNameColumn" minOccurs="0"> + <xs:element name="noteAuthor" msprop:Generator_UserColumnName="noteAuthor" msprop:Generator_ColumnPropNameInRow="noteAuthor" msprop:Generator_ColumnVarNameInTable="columnnoteAuthor" msprop:Generator_ColumnPropNameInTable="noteAuthorColumn" type="xs:int" minOccurs="0" /> + <xs:element name="noteAuthorName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="noteAuthorName" msprop:Generator_ColumnVarNameInTable="columnnoteAuthorName" msprop:Generator_ColumnPropNameInRow="noteAuthorName" msprop:Generator_ColumnPropNameInTable="noteAuthorNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> @@ -1102,102 +1109,102 @@ <xs:element name="db_assignments" msprop:Generator_UserTableName="db_assignments" msprop:Generator_RowDeletedName="db_assignmentsRowDeleted" msprop:Generator_RowChangedName="db_assignmentsRowChanged" msprop:Generator_RowClassName="db_assignmentsRow" msprop:Generator_RowChangingName="db_assignmentsRowChanging" msprop:Generator_RowEvArgName="db_assignmentsRowChangeEvent" msprop:Generator_RowEvHandlerName="db_assignmentsRowChangeEventHandler" msprop:Generator_TableClassName="db_assignmentsDataTable" msprop:Generator_TableVarName="tabledb_assignments" msprop:Generator_RowDeletingName="db_assignmentsRowDeleting" msprop:Generator_TablePropName="db_assignments"> <xs:complexType> <xs:sequence> - <xs:element name="aType" msdata:ReadOnly="true" msprop:Generator_UserColumnName="aType" msprop:Generator_ColumnVarNameInTable="columnaType" msprop:Generator_ColumnPropNameInRow="aType" msprop:Generator_ColumnPropNameInTable="aTypeColumn" minOccurs="0"> + <xs:element name="aType" msdata:ReadOnly="true" msprop:Generator_UserColumnName="aType" msprop:Generator_ColumnPropNameInRow="aType" msprop:Generator_ColumnVarNameInTable="columnaType" msprop:Generator_ColumnPropNameInTable="aTypeColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="childID" msdata:ReadOnly="true" msprop:Generator_UserColumnName="childID" msprop:Generator_ColumnVarNameInTable="columnchildID" msprop:Generator_ColumnPropNameInRow="childID" msprop:Generator_ColumnPropNameInTable="childIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="creator" msdata:ReadOnly="true" msprop:Generator_UserColumnName="creator" msprop:Generator_ColumnVarNameInTable="columncreator" msprop:Generator_ColumnPropNameInRow="creator" msprop:Generator_ColumnPropNameInTable="creatorColumn" minOccurs="0"> + <xs:element name="childID" msdata:ReadOnly="true" msprop:Generator_UserColumnName="childID" msprop:Generator_ColumnPropNameInRow="childID" msprop:Generator_ColumnVarNameInTable="columnchildID" msprop:Generator_ColumnPropNameInTable="childIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="creator" msdata:ReadOnly="true" msprop:Generator_UserColumnName="creator" msprop:Generator_ColumnPropNameInRow="creator" msprop:Generator_ColumnVarNameInTable="columncreator" msprop:Generator_ColumnPropNameInTable="creatorColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="assigned" msdata:ReadOnly="true" msprop:Generator_UserColumnName="assigned" msprop:Generator_ColumnVarNameInTable="columnassigned" msprop:Generator_ColumnPropNameInRow="assigned" msprop:Generator_ColumnPropNameInTable="assignedColumn" minOccurs="0"> + <xs:element name="assigned" msdata:ReadOnly="true" msprop:Generator_UserColumnName="assigned" msprop:Generator_ColumnPropNameInRow="assigned" msprop:Generator_ColumnVarNameInTable="columnassigned" msprop:Generator_ColumnPropNameInTable="assignedColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="assignedID" msprop:Generator_UserColumnName="assignedID" msprop:Generator_ColumnVarNameInTable="columnassignedID" msprop:Generator_ColumnPropNameInRow="assignedID" msprop:Generator_ColumnPropNameInTable="assignedIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="dateAssigned" msprop:Generator_UserColumnName="dateAssigned" msprop:Generator_ColumnVarNameInTable="columndateAssigned" msprop:Generator_ColumnPropNameInRow="dateAssigned" msprop:Generator_ColumnPropNameInTable="dateAssignedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="dateDue" msprop:Generator_UserColumnName="dateDue" msprop:Generator_ColumnVarNameInTable="columndateDue" msprop:Generator_ColumnPropNameInRow="dateDue" msprop:Generator_ColumnPropNameInTable="dateDueColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="dateFinished" msprop:Generator_UserColumnName="dateFinished" msprop:Generator_ColumnVarNameInTable="columndateFinished" msprop:Generator_ColumnPropNameInRow="dateFinished" msprop:Generator_ColumnPropNameInTable="dateFinishedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="highPriority" msprop:Generator_UserColumnName="highPriority" msprop:Generator_ColumnVarNameInTable="columnhighPriority" msprop:Generator_ColumnPropNameInRow="highPriority" msprop:Generator_ColumnPropNameInTable="highPriorityColumn" type="xs:boolean" minOccurs="0" /> - <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> + <xs:element name="assignedID" msprop:Generator_UserColumnName="assignedID" msprop:Generator_ColumnPropNameInRow="assignedID" msprop:Generator_ColumnVarNameInTable="columnassignedID" msprop:Generator_ColumnPropNameInTable="assignedIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="dateAssigned" msprop:Generator_UserColumnName="dateAssigned" msprop:Generator_ColumnPropNameInRow="dateAssigned" msprop:Generator_ColumnVarNameInTable="columndateAssigned" msprop:Generator_ColumnPropNameInTable="dateAssignedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="dateDue" msprop:Generator_UserColumnName="dateDue" msprop:Generator_ColumnPropNameInRow="dateDue" msprop:Generator_ColumnVarNameInTable="columndateDue" msprop:Generator_ColumnPropNameInTable="dateDueColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="dateFinished" msprop:Generator_UserColumnName="dateFinished" msprop:Generator_ColumnPropNameInRow="dateFinished" msprop:Generator_ColumnVarNameInTable="columndateFinished" msprop:Generator_ColumnPropNameInTable="dateFinishedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="highPriority" msprop:Generator_UserColumnName="highPriority" msprop:Generator_ColumnPropNameInRow="highPriority" msprop:Generator_ColumnVarNameInTable="columnhighPriority" msprop:Generator_ColumnPropNameInTable="highPriorityColumn" type="xs:boolean" minOccurs="0" /> + <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="WOTotalTest" msprop:Generator_UserColumnName="WOTotalTest" msprop:Generator_ColumnVarNameInTable="columnWOTotalTest" msprop:Generator_ColumnPropNameInRow="WOTotalTest" msprop:Generator_ColumnPropNameInTable="WOTotalTestColumn" type="xs:int" minOccurs="0" /> - <xs:element name="WOPassRate" msdata:ReadOnly="true" msprop:Generator_UserColumnName="WOPassRate" msprop:Generator_ColumnVarNameInTable="columnWOPassRate" msprop:Generator_ColumnPropNameInRow="WOPassRate" msprop:Generator_ColumnPropNameInTable="WOPassRateColumn" minOccurs="0"> + <xs:element name="WOTotalTest" msprop:Generator_UserColumnName="WOTotalTest" msprop:Generator_ColumnPropNameInRow="WOTotalTest" msprop:Generator_ColumnVarNameInTable="columnWOTotalTest" msprop:Generator_ColumnPropNameInTable="WOTotalTestColumn" type="xs:int" minOccurs="0" /> + <xs:element name="WOPassRate" msdata:ReadOnly="true" msprop:Generator_UserColumnName="WOPassRate" msprop:Generator_ColumnPropNameInRow="WOPassRate" msprop:Generator_ColumnVarNameInTable="columnWOPassRate" msprop:Generator_ColumnPropNameInTable="WOPassRateColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="31" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="WOPass" msprop:Generator_UserColumnName="WOPass" msprop:Generator_ColumnVarNameInTable="columnWOPass" msprop:Generator_ColumnPropNameInRow="WOPass" msprop:Generator_ColumnPropNameInTable="WOPassColumn" type="xs:int" minOccurs="0" /> - <xs:element name="WOFail" msprop:Generator_UserColumnName="WOFail" msprop:Generator_ColumnVarNameInTable="columnWOFail" msprop:Generator_ColumnPropNameInRow="WOFail" msprop:Generator_ColumnPropNameInTable="WOFailColumn" type="xs:int" minOccurs="0" /> - <xs:element name="WOError" msprop:Generator_UserColumnName="WOError" msprop:Generator_ColumnVarNameInTable="columnWOError" msprop:Generator_ColumnPropNameInRow="WOError" msprop:Generator_ColumnPropNameInTable="WOErrorColumn" type="xs:int" minOccurs="0" /> - <xs:element name="aName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="aName" msprop:Generator_ColumnVarNameInTable="columnaName" msprop:Generator_ColumnPropNameInRow="aName" msprop:Generator_ColumnPropNameInTable="aNameColumn" minOccurs="0"> + <xs:element name="WOPass" msprop:Generator_UserColumnName="WOPass" msprop:Generator_ColumnPropNameInRow="WOPass" msprop:Generator_ColumnVarNameInTable="columnWOPass" msprop:Generator_ColumnPropNameInTable="WOPassColumn" type="xs:int" minOccurs="0" /> + <xs:element name="WOFail" msprop:Generator_UserColumnName="WOFail" msprop:Generator_ColumnPropNameInRow="WOFail" msprop:Generator_ColumnVarNameInTable="columnWOFail" msprop:Generator_ColumnPropNameInTable="WOFailColumn" type="xs:int" minOccurs="0" /> + <xs:element name="WOError" msprop:Generator_UserColumnName="WOError" msprop:Generator_ColumnPropNameInRow="WOError" msprop:Generator_ColumnVarNameInTable="columnWOError" msprop:Generator_ColumnPropNameInTable="WOErrorColumn" type="xs:int" minOccurs="0" /> + <xs:element name="aName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="aName" msprop:Generator_ColumnPropNameInRow="aName" msprop:Generator_ColumnVarNameInTable="columnaName" msprop:Generator_ColumnPropNameInTable="aNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> - <xs:element name="creatorID" msprop:Generator_UserColumnName="creatorID" msprop:Generator_ColumnVarNameInTable="columncreatorID" msprop:Generator_ColumnPropNameInRow="creatorID" msprop:Generator_ColumnPropNameInTable="creatorIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="numAI" msdata:ReadOnly="true" msprop:Generator_UserColumnName="numAI" msprop:Generator_ColumnVarNameInTable="columnnumAI" msprop:Generator_ColumnPropNameInRow="numAI" msprop:Generator_ColumnPropNameInTable="numAIColumn" type="xs:int" minOccurs="0" /> - <xs:element name="numWO" msdata:ReadOnly="true" msprop:Generator_UserColumnName="numWO" msprop:Generator_ColumnVarNameInTable="columnnumWO" msprop:Generator_ColumnPropNameInRow="numWO" msprop:Generator_ColumnPropNameInTable="numWOColumn" type="xs:int" minOccurs="0" /> + <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> + <xs:element name="creatorID" msprop:Generator_UserColumnName="creatorID" msprop:Generator_ColumnPropNameInRow="creatorID" msprop:Generator_ColumnVarNameInTable="columncreatorID" msprop:Generator_ColumnPropNameInTable="creatorIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="numAI" msdata:ReadOnly="true" msprop:Generator_UserColumnName="numAI" msprop:Generator_ColumnPropNameInRow="numAI" msprop:Generator_ColumnVarNameInTable="columnnumAI" msprop:Generator_ColumnPropNameInTable="numAIColumn" type="xs:int" minOccurs="0" /> + <xs:element name="numWO" msdata:ReadOnly="true" msprop:Generator_UserColumnName="numWO" msprop:Generator_ColumnPropNameInRow="numWO" msprop:Generator_ColumnVarNameInTable="columnnumWO" msprop:Generator_ColumnPropNameInTable="numWOColumn" type="xs:int" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_testPass" msprop:Generator_UserTableName="db_testPass" msprop:Generator_RowDeletedName="db_testPassRowDeleted" msprop:Generator_RowChangedName="db_testPassRowChanged" msprop:Generator_RowClassName="db_testPassRow" msprop:Generator_RowChangingName="db_testPassRowChanging" msprop:Generator_RowEvArgName="db_testPassRowChangeEvent" msprop:Generator_RowEvHandlerName="db_testPassRowChangeEventHandler" msprop:Generator_TableClassName="db_testPassDataTable" msprop:Generator_TableVarName="tabledb_testPass" msprop:Generator_RowDeletingName="db_testPassRowDeleting" msprop:Generator_TablePropName="db_testPass"> <xs:complexType> <xs:sequence> - <xs:element name="testPassID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="testPassID" msprop:Generator_ColumnPropNameInRow="testPassID" msprop:Generator_ColumnVarNameInTable="columntestPassID" msprop:Generator_ColumnPropNameInTable="testPassIDColumn" type="xs:int" /> - <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> + <xs:element name="testPassID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="testPassID" msprop:Generator_ColumnVarNameInTable="columntestPassID" msprop:Generator_ColumnPropNameInRow="testPassID" msprop:Generator_ColumnPropNameInTable="testPassIDColumn" type="xs:int" /> + <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="versionID" msprop:Generator_UserColumnName="versionID" msprop:Generator_ColumnPropNameInRow="versionID" msprop:Generator_ColumnVarNameInTable="columnversionID" msprop:Generator_ColumnPropNameInTable="versionIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="versionID" msprop:Generator_UserColumnName="versionID" msprop:Generator_ColumnVarNameInTable="columnversionID" msprop:Generator_ColumnPropNameInRow="versionID" msprop:Generator_ColumnPropNameInTable="versionIDColumn" type="xs:int" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_version" msprop:Generator_UserTableName="db_version" msprop:Generator_RowDeletedName="db_versionRowDeleted" msprop:Generator_RowChangedName="db_versionRowChanged" msprop:Generator_RowClassName="db_versionRow" msprop:Generator_RowChangingName="db_versionRowChanging" msprop:Generator_RowEvArgName="db_versionRowChangeEvent" msprop:Generator_RowEvHandlerName="db_versionRowChangeEventHandler" msprop:Generator_TableClassName="db_versionDataTable" msprop:Generator_TableVarName="tabledb_version" msprop:Generator_RowDeletingName="db_versionRowDeleting" msprop:Generator_TablePropName="db_version"> <xs:complexType> <xs:sequence> - <xs:element name="versionID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="versionID" msprop:Generator_ColumnPropNameInRow="versionID" msprop:Generator_ColumnVarNameInTable="columnversionID" msprop:Generator_ColumnPropNameInTable="versionIDColumn" type="xs:int" /> - <xs:element name="productID" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="number" msprop:Generator_UserColumnName="number" msprop:Generator_ColumnPropNameInRow="number" msprop:Generator_ColumnVarNameInTable="columnnumber" msprop:Generator_ColumnPropNameInTable="numberColumn" minOccurs="0"> + <xs:element name="versionID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="versionID" msprop:Generator_ColumnVarNameInTable="columnversionID" msprop:Generator_ColumnPropNameInRow="versionID" msprop:Generator_ColumnPropNameInTable="versionIDColumn" type="xs:int" /> + <xs:element name="productID" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="number" msprop:Generator_UserColumnName="number" msprop:Generator_ColumnVarNameInTable="columnnumber" msprop:Generator_ColumnPropNameInRow="number" msprop:Generator_ColumnPropNameInTable="numberColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="code" msprop:Generator_UserColumnName="code" msprop:Generator_ColumnPropNameInRow="code" msprop:Generator_ColumnVarNameInTable="columncode" msprop:Generator_ColumnPropNameInTable="codeColumn" minOccurs="0"> + <xs:element name="code" msprop:Generator_UserColumnName="code" msprop:Generator_ColumnVarNameInTable="columncode" msprop:Generator_ColumnPropNameInRow="code" msprop:Generator_ColumnPropNameInTable="codeColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" minOccurs="0" /> - <xs:element name="dateCreated" msprop:Generator_UserColumnName="dateCreated" msprop:Generator_ColumnPropNameInRow="dateCreated" msprop:Generator_ColumnVarNameInTable="columndateCreated" msprop:Generator_ColumnPropNameInTable="dateCreatedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="productName" msprop:Generator_UserColumnName="productName" msprop:Generator_ColumnPropNameInRow="productName" msprop:Generator_ColumnVarNameInTable="columnproductName" msprop:Generator_ColumnPropNameInTable="productNameColumn" minOccurs="0"> + <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" minOccurs="0" /> + <xs:element name="dateCreated" msprop:Generator_UserColumnName="dateCreated" msprop:Generator_ColumnVarNameInTable="columndateCreated" msprop:Generator_ColumnPropNameInRow="dateCreated" msprop:Generator_ColumnPropNameInTable="dateCreatedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="productName" msprop:Generator_UserColumnName="productName" msprop:Generator_ColumnVarNameInTable="columnproductName" msprop:Generator_ColumnPropNameInRow="productName" msprop:Generator_ColumnPropNameInTable="productNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> @@ -1210,25 +1217,25 @@ <xs:element name="db_roleProductUser" msprop:Generator_UserTableName="db_roleProductUser" msprop:Generato... [truncated message content] |
From: <ro...@us...> - 2006-08-10 20:22:17
|
Revision: 304 Author: rouquin Date: 2006-08-10 13:22:04 -0700 (Thu, 10 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=304&view=rev Log Message: ----------- Fixed Jason's Assignment header bug Modified Paths: -------------- Website/Includes/Administration.ascx.cs Website/Includes/Assignments.ascx.cs Website/Includes/AssignmentsTree.ascx.cs Website/Includes/Header_Menu.ascx.cs Modified: Website/Includes/Administration.ascx.cs =================================================================== --- Website/Includes/Administration.ascx.cs 2006-08-10 19:18:40 UTC (rev 303) +++ Website/Includes/Administration.ascx.cs 2006-08-10 20:22:04 UTC (rev 304) @@ -43,7 +43,6 @@ userRole.Visible = false; } - protected void productList_Init(object sender, EventArgs e) { Modified: Website/Includes/Assignments.ascx.cs =================================================================== --- Website/Includes/Assignments.ascx.cs 2006-08-10 19:18:40 UTC (rev 303) +++ Website/Includes/Assignments.ascx.cs 2006-08-10 20:22:04 UTC (rev 304) @@ -59,16 +59,25 @@ if (m_user.HasRight(Constants.RIGHTS_AI_VIEW_OTHER, productID) || m_user.HasRight(Constants.RIGHTS_AI_VIEW_CREATED, productID) || m_user.HasRight(Constants.RIGHTS_WO_VIEW_OTHER, productID) || m_user.HasRight(Constants.RIGHTS_WO_VIEW_CREATED, productID)) { - Product product = ProductDB.GetProduct(true, Convert.ToInt32(productID), null); - - if (product != null) + if (mode == Constants.CODE_CREATED) { - m_logg.Debug("User has product admin rights, display all product users"); - // Admin user should get everything, so don't set any values! - Page.Title = "TCDB: " + product.NAME + " Assignments"; - header.Text = product.NAME + " Assignments"; + Page.Title = "TCDB: My Created Assignments"; + header.Text = "My Created Assignments"; } + else + { + Product product = ProductDB.GetProduct(true, Convert.ToInt32(productID), null); + + if (product != null) + { + m_logg.Debug("User has product admin rights, display all product users"); + + // Admin user should get everything, so don't set any values! + Page.Title = "TCDB: " + product.NAME + " Assignments"; + header.Text = product.NAME + " Assignments"; + } + } } else { @@ -98,18 +107,20 @@ { User user = UserDB.GetUserInfo(uid); - if (user.HasRights(productID) && - (m_user.HasRight(Constants.RIGHTS_AI_VIEW_OTHER, productID) || m_user.HasRight(Constants.RIGHTS_WO_VIEW_OTHER, productID) || - m_user.HasRight(Constants.RIGHTS_AI_VIEW_CREATED, productID) || m_user.HasRight(Constants.RIGHTS_WO_VIEW_CREATED, productID))) + if (m_user.HasRight(Constants.RIGHTS_AI_VIEW_OTHER, user, productID) || + m_user.HasRight(Constants.RIGHTS_WO_VIEW_OTHER, user,productID) || + m_user.HasRight(Constants.RIGHTS_AI_VIEW_CREATED, user, productID) || + m_user.HasRight(Constants.RIGHTS_WO_VIEW_CREATED, user, productID)) { String name = user.FULLNAME; m_logg.Debug("User requested assignments for [" + name + "]"); Page.Title = "TCDB: " + name + "'s Assignments"; header.Text = name + "'s Assignments"; + } } if (mode == Constants.CODE_CREATED) - Session.Add("myID", m_user.ID); + Session["myID"] = m_user.ID; if (uid != 0) Session.Add("uid", uid); Modified: Website/Includes/AssignmentsTree.ascx.cs =================================================================== --- Website/Includes/AssignmentsTree.ascx.cs 2006-08-10 19:18:40 UTC (rev 303) +++ Website/Includes/AssignmentsTree.ascx.cs 2006-08-10 20:22:04 UTC (rev 304) @@ -115,6 +115,7 @@ if (bool.Parse(GetValue(node, "IsCreated"))) { Session[Constants.CODE_MODE] = Constants.CODE_CREATED; + Session[Constants.CODE_PRODUCT] = Constants.PRODUCT_ANYID; } } catch { } Modified: Website/Includes/Header_Menu.ascx.cs =================================================================== --- Website/Includes/Header_Menu.ascx.cs 2006-08-10 19:18:40 UTC (rev 303) +++ Website/Includes/Header_Menu.ascx.cs 2006-08-10 20:22:04 UTC (rev 304) @@ -22,6 +22,8 @@ protected void LoadAssignments(object sender, CommandEventArgs e) { Session[Constants.CODE_USER] = m_user.ID; + Session.Remove(Constants.CODE_PRODUCT) ; + Session.Remove(Constants.CODE_MODE); Response.Redirect("Assignments.aspx"); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2006-08-10 21:11:50
|
Revision: 305 Author: rouquin Date: 2006-08-10 14:11:42 -0700 (Thu, 10 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=305&view=rev Log Message: ----------- Enabled roles on Administration page. Modified Paths: -------------- Website/App_Code/Products.cs Website/App_Code/Right.cs Website/App_Code/Users.cs Website/Includes/Administration.ascx Website/Includes/Administration.ascx.cs Website/Includes/UserRoles.ascx.cs Modified: Website/App_Code/Products.cs =================================================================== --- Website/App_Code/Products.cs 2006-08-10 20:22:04 UTC (rev 304) +++ Website/App_Code/Products.cs 2006-08-10 21:11:42 UTC (rev 305) @@ -53,6 +53,18 @@ return productList; } + public static List<User> TCDB_GetProductUsers(int productID, Nullable<int> roleID) + { + tcdbDataSetTableAdapters.db_roleProductUserTableAdapter rpuAdapter = new tcdbDataSetTableAdapters.db_roleProductUserTableAdapter(); + tcdbDataSet.db_roleProductUserDataTable rpuTable = rpuAdapter.GetData(roleID, productID, true); + List<User> userList = new List<User>(); + + foreach (tcdbDataSet.db_roleProductUserRow row in rpuTable) + userList.Add(UserDB.GetUserInfo(row.userID)); + + return userList; + } + public static void DeleteProduct(int productID) { Product product = GetProduct(productID); Modified: Website/App_Code/Right.cs =================================================================== --- Website/App_Code/Right.cs 2006-08-10 20:22:04 UTC (rev 304) +++ Website/App_Code/Right.cs 2006-08-10 21:11:42 UTC (rev 305) @@ -204,7 +204,8 @@ return roleList; } - public static Role TCDB_GetUserRoles(int productID, int userID, String roleName, Nullable<bool> active) + + public static Role TCDB_GetUserRole(int productID, int userID, String roleName, Nullable<bool> active) { tcdbDataSetTableAdapters.db_roleUserProductTableAdapter userRoleAdapter = new tcdbDataSetTableAdapters.db_roleUserProductTableAdapter(); tcdbDataSet.db_roleUserProductDataTable userRoleTable = userRoleAdapter.GetData(userID, productID, active); @@ -247,6 +248,24 @@ return true; } + + public static bool DeleteRole(int roleID) + { + Role role = GetRoleInfo(roleID); + + tcdbDataSetTableAdapters.db_roleTableAdapter roleAdapter = new tcdbDataSetTableAdapters.db_roleTableAdapter(); + try + { + roleAdapter.Update(role.ID, role.NAME, role.DESCRIPTION, false); + } + catch (Exception e) + { + m_logg.Error(e.Message); + return false; + } + + return true; + } } /// <summary> Modified: Website/App_Code/Users.cs =================================================================== --- Website/App_Code/Users.cs 2006-08-10 20:22:04 UTC (rev 304) +++ Website/App_Code/Users.cs 2006-08-10 21:11:42 UTC (rev 305) @@ -590,7 +590,7 @@ } public static bool HasRole(int userID, string role, int productID) { - return (RightDB.TCDB_GetUserRoles(productID, userID, role, true) != null); + return (RightDB.TCDB_GetUserRole(productID, userID, role, true) != null); } public bool HasRoles(int productID) { Modified: Website/Includes/Administration.ascx =================================================================== --- Website/Includes/Administration.ascx 2006-08-10 20:22:04 UTC (rev 304) +++ Website/Includes/Administration.ascx 2006-08-10 21:11:42 UTC (rev 305) @@ -113,7 +113,7 @@ <asp:Image ID="newRoleIcon" runat="server" SkinID="newRoleImage" AlternateText="New User" />New Role</asp:LinkButton></div> <div class="button"> - <asp:LinkButton ID="userRole" runat="server" OnInit="userRole_Init" CommandName="role" + <asp:LinkButton ID="userRole" runat="server" CommandName="user" OnCommand="Role_Command"> <asp:Image ID="userRoleIcon" runat="server" SkinID="userRoleImage" AlternateText="User Roles" />User Roles</asp:LinkButton></div> Modified: Website/Includes/Administration.ascx.cs =================================================================== --- Website/Includes/Administration.ascx.cs 2006-08-10 20:22:04 UTC (rev 304) +++ Website/Includes/Administration.ascx.cs 2006-08-10 21:11:42 UTC (rev 305) @@ -37,11 +37,6 @@ if (!m_user.HasRight(Constants.RIGHTS_ROLE_CREATE, Constants.PRODUCT_ANYID)) newRole.Visible = false; } - protected void userRole_Init(object sender, EventArgs e) - { - if (!m_user.HasRight(Constants.RIGHTS_ROLE_VIEW_MY, Constants.PRODUCT_ANYID) && !m_user.HasRight(Constants.RIGHTS_ROLE_VIEW_OTHER, Constants.PRODUCT_ANYID)) - userRole.Visible = false; - } protected void productList_Init(object sender, EventArgs e) { @@ -92,20 +87,16 @@ foreach (User user in users) { - foreach (Product product in products) - { - if (!(m_user.HasRight(Constants.RIGHTS_USER_VIEW_OTHER)) && - !(user.ID == m_user.ID && m_user.HasRight(Constants.RIGHTS_USER_VIEW_MY, product.ID)) && - !(m_user.HasRight(Constants.RIGHTS_USER_VIEW_OTHER, user, product.ID))) - continue; + if (!(m_user.HasRight(Constants.RIGHTS_USER_VIEW_OTHER)) && + !(user.ID == m_user.ID && m_user.HasRight(Constants.RIGHTS_USER_VIEW_MY, Constants.PRODUCT_ANYID)) && + !(m_user.HasRight(Constants.RIGHTS_USER_VIEW_OTHER, user, Constants.PRODUCT_ANYID))) + continue; - ListItem item = new ListItem(user.FULLNAME, user.ID.ToString()); - //if (!user.ACTIVE) - //item.Attributes.CssStyle.Add("text-decoration", "line-through"); + ListItem item = new ListItem(user.FULLNAME, user.ID.ToString()); + if (!user.ACTIVE) + item.Attributes.CssStyle.Add("text-decoration", "line-through"); - userList.Items.Add(item); - break; - } + userList.Items.Add(item); } if (!IsPostBack) userList_SelectedIndexChanged(sender, e); @@ -154,73 +145,61 @@ protected void roleList_Init(object sender, EventArgs e) { - //TODO: Turn this into stuff for roles! - - /* List<Product> products = ProductDB.GetProductList(active); - List<User> users = UserDB.TCDB_GetUserList(); + List<Role> roles = RightDB.TCDB_GetRoleList(active); - foreach (User user in users) + foreach (Role role in roles) { - foreach (Product product in products) - { - if (!(m_user.HasRight("view_other_settings")) && - !(user.ID == m_user.ID && m_user.HasRight("view_my_settings", product.ID)) && - !(m_user.HasRight("view_other_settings", user, product.ID))) - continue; + if (!(m_user.HasRight(Constants.RIGHTS_ROLE_VIEW_OTHER, Constants.PRODUCT_ANYID)) && + !(m_user.HasRole(role.NAME) && m_user.HasRight(Constants.RIGHTS_ROLE_VIEW_MY,Constants.PRODUCT_ANYID))) + continue; - ListItem item = new ListItem(user.FULLNAME, user.ID.ToString()); - //if (!user.ACTIVE) - //item.Attributes.CssStyle.Add("text-decoration", "line-through"); + ListItem item = new ListItem(role.NAME,role.ID.ToString()); + if (!role.ACTIVE) + item.Attributes.CssStyle.Add("text-decoration", "line-through"); - userList.Items.Add(item); - break; - } + roleList.Items.Add(item); } if (!IsPostBack) - userList_SelectedIndexChanged(sender, e); - */ + roleList_SelectedIndexChanged(sender, e); + } protected void roleList_SelectedIndexChanged(object sender, EventArgs e) { - //TODO: Turn this into stuff for roles! + Role role = RightDB.GetRoleInfo(Convert.ToInt32(roleList.SelectedValue)); + bool hasRole = m_user.HasRole(role.NAME); + userRole.Visible = true; + roleView.Visible = true; + roleEdit.Visible = true; + roleDelete.Visible = true; - /* - List<Product> products = ProductDB.GetProductList(active); - User user = UserDB.GetUserInfo(Convert.ToInt32(userList.SelectedValue)); + // userRole + if (!(m_user.HasRight(Constants.RIGHTS_ROLE_EDIT_USERS, Constants.PRODUCT_ANYID)) && + !(hasRole && m_user.HasRight(Constants.RIGHTS_ROLE_EDIT_MY, Constants.PRODUCT_ANYID))) + userRole.Visible = false; - if (user.ID == m_user.ID) + // roleView + if (!(m_user.HasRight(Constants.RIGHTS_ROLE_VIEW_OTHER, Constants.PRODUCT_ANYID)) && + !(hasRole && m_user.HasRight(Constants.RIGHTS_ROLE_VIEW_MY, Constants.PRODUCT_ANYID))) + roleView.Visible = false; + + List<Product> products = ProductDB.GetProductList(active); + foreach (Product product in products) { - userView.Visible = false; - userEdit.Visible = false; - userDelete.Visible = false; - foreach (Product product in products) + List<User> users = ProductDB.TCDB_GetProductUsers(product.ID,role.ID); + + if (users.Count > 0) { - if (!userView.Visible && m_user.HasRight("view_my_settings", product.ID)) - userView.Visible = true; - if (!userEdit.Visible && m_user.HasRight("edit_my_settings", product.ID)) - userEdit.Visible = true; + // roleEdit + if (!(m_user.HasRight(Constants.RIGHTS_ROLE_EDIT, product.ID)) && + !(hasRole && m_user.HasRight(Constants.RIGHTS_ROLE_EDIT_MY, product.ID))) + roleEdit.Visible = false; + + // roleDelete + if (!m_user.HasRight(Constants.RIGHTS_ROLE_DELETE, product.ID)) + roleDelete.Visible = false; } } - else - { - userView.Visible = false; - userEdit.Visible = false; - userDelete.Visible = true; - foreach (Product product in products) - { - if (!userView.Visible && m_user.HasRight("view_other_settings", user, product.ID)) - userView.Visible = true; - if (!userEdit.Visible && m_user.HasRight("edit_other_settings", user, product.ID)) - userEdit.Visible = true; - if (product.ID != Constants.PRODUCT_SITEID && user.HasRights(product.ID)) - { - if (userDelete.Visible && !m_user.HasRight("delete_user", product.ID)) - userDelete.Visible = false; - } - } - } - */ } protected void Product_Command(object sender, CommandEventArgs e) @@ -275,12 +254,24 @@ { int roleID = Convert.ToInt32(roleList.SelectedValue); - // TODO: Flush this out completely switch (e.CommandName) { + case "view": + Response.Redirect("~/Role.aspx?" + Constants.CODE_ROLE + "=" + roleID); + break; + case "edit": + Response.Redirect("~/Role.aspx?" + Constants.CODE_MODE + "=edit&" + Constants.CODE_ROLE + "=" + roleID); + break; + case "delete": + RightDB.DeleteRole(roleID); + Response.Redirect(Request.RawUrl); + break; case "new": - Response.Redirect("~/AdminRole.aspx"); + Response.Redirect("~/Role.aspx?" + Constants.CODE_MODE + "=new"); break; + case "user": + Response.Redirect("~/RoleAssignments.aspx?" + Constants.CODE_ROLE + "=" + roleID); + break; default: m_logg.Error("Invalid Command: " + e.CommandName); break; Modified: Website/Includes/UserRoles.ascx.cs =================================================================== --- Website/Includes/UserRoles.ascx.cs 2006-08-10 20:22:04 UTC (rev 304) +++ Website/Includes/UserRoles.ascx.cs 2006-08-10 21:11:42 UTC (rev 305) @@ -19,7 +19,7 @@ private static Logger m_logg = new Logger("TCDB.Code.UserRoles"); int roleID = Convert.ToInt32(HttpContext.Current.Request.QueryString[Constants.CODE_ROLE]); Role role; - String mode = HttpContext.Current.Request.QueryString["mode"]; + String mode = HttpContext.Current.Request.QueryString[Constants.CODE_MODE]; String productID = HttpContext.Current.Request.QueryString[Constants.CODE_PRODUCT]; protected void Page_Load(object sender, EventArgs e) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <m_h...@us...> - 2006-08-10 23:36:01
|
Revision: 306 Author: m_hildebrand Date: 2006-08-10 16:35:49 -0700 (Thu, 10 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=306&view=rev Log Message: ----------- Continued work on administration page beautification Modified Paths: -------------- Website/App_Themes/Python/Images/product_add_48.png Website/App_Themes/Python/Images/product_delete_48.png Website/App_Themes/Python/Images/role_add_48.png Website/App_Themes/Python/Images/role_delete_48.png Website/App_Themes/Python/Images/user_add_48.png Website/App_Themes/Python/Images/user_delete_48.png Website/App_Themes/Python/python.css Website/App_Themes/Python/style-ie.style Website/Includes/Administration.ascx Website/Includes/Administration.ascx.cs Modified: Website/App_Themes/Python/Images/product_add_48.png =================================================================== (Binary files differ) Modified: Website/App_Themes/Python/Images/product_delete_48.png =================================================================== (Binary files differ) Modified: Website/App_Themes/Python/Images/role_add_48.png =================================================================== (Binary files differ) Modified: Website/App_Themes/Python/Images/role_delete_48.png =================================================================== (Binary files differ) Modified: Website/App_Themes/Python/Images/user_add_48.png =================================================================== (Binary files differ) Modified: Website/App_Themes/Python/Images/user_delete_48.png =================================================================== (Binary files differ) Modified: Website/App_Themes/Python/python.css =================================================================== --- Website/App_Themes/Python/python.css 2006-08-10 21:11:42 UTC (rev 305) +++ Website/App_Themes/Python/python.css 2006-08-10 23:35:49 UTC (rev 306) @@ -1,17 +1,17 @@ /********** BEGIN Global Classes **********/ HTML { - /*height: 100%;*/ + /*height: 100%;*/ } BODY { - /*height: 100%;*/ - margin: 0; - padding: 0; - font-family: Verdana, Sans-Serif; - font-size: 8pt; - position: relative; + /*height: 100%;*/ + margin: 0; + padding: 0; + font-family: Verdana, Sans-Serif; + font-size: 8pt; + position: relative; } A:hover, A:active, A:link, A:visited @@ -21,132 +21,132 @@ .hidden { - display: none; - left: 0px; - visibility: hidden; - position: absolute; - top: 0px; + display: none; + left: 0px; + visibility: hidden; + position: absolute; + top: 0px; } .error { - padding: 0 10px 0 10px; - color: blue; + padding: 0 10px 0 10px; + color: blue; } LABEL { - font-weight: bold; - margin-right: 5px; + font-weight: bold; + margin-right: 5px; } .hr { - border-bottom: red 1px solid; - margin: 5px; + border-bottom: red 1px solid; + margin: 5px; } .item { - display: block; + display: block; } .left { - float: left; - display: inline; + float: left; + display: inline; } .right { - float: right; - position: relative; - right: 0px; - display: inline; + float: right; + position: relative; + right: 0px; + display: inline; } .end { - clear: both; + clear: both; } .bottom { - position: absolute; - bottom: 0; - left: 0; + position: absolute; + bottom: 0; + left: 0; } .hover:hover, TR.overdue:hover, TR.finished:hover { - background-color: #eee; + background-color: #eee; } .overdue { - color: Red; + color: Red; } .finished { - color: Gray; + color: Gray; } .deleted { - color: black; - font-style: italic; - text-decoration: line-through; - font-family: 'Arial Narrow'; + color: black; + font-style: italic; + text-decoration: line-through; + font-family: 'Arial Narrow'; } -INPUT:focus +INPUT:focus { outline: solid 1px blue; } .item .checkbox INPUT { - margin: 0; - padding: 0; - position: relative; - left: -5px; - top: 1px; + margin: 0; + padding: 0; + position: relative; + left: -5px; + top: 1px; } .item UL { - margin: 0; - padding-left: 20px; - list-style-type: none; + margin: 0; + padding-left: 20px; + list-style-type: none; } .item UL UL { - padding-left: 20px; - margin: 0; - list-style-type: circle; + padding-left: 20px; + margin: 0; + list-style-type: circle; } .motd { - margin: 10px 0 0 10px; - text-align: center; + margin: 10px 0 0 10px; + text-align: center; } .motd SPAN { - color: Red; - background-color: Yellow; - border: red; - padding: 3px 4px 3px 4px; - border: solid 1px red; + color: Red; + background-color: Yellow; + border: red; + padding: 3px 4px 3px 4px; + border: solid 1px red; } .indent { margin-left: 5em; - text-indent: -5em + text-indent: -5em; } .clean @@ -161,23 +161,23 @@ /********** BEGIN Calendar Classes **********/ .calendar { - display: inline; - margin: 5px 0 5px 0; + display: inline; + margin: 5px 0 5px 0; } .calendar LABEL { - font-weight: normal; + font-weight: normal; } .calendar IMG { - position: relative !important; - top: 6px !important; - padding-left: 5px !important; - margin: 0 0 3px 0 !important; - height: 20px !important; - width: 20px !important; + position: relative !important; + top: 6px !important; + padding-left: 5px !important; + margin: 0 0 3px 0 !important; + height: 20px !important; + width: 20px !important; } /********** END Calendar Classes ************/ @@ -185,74 +185,74 @@ /********** BEGIN Header Content **********/ #HeaderContent { - background-image: url(images/Header-Background.gif); - background-repeat: repeat-x; - height: 69px; - position: relative; + background-image: url(images/Header-Background.gif); + background-repeat: repeat-x; + height: 69px; + position: relative; } #HeaderContent A { - color: White; + color: White; } #HeaderContent A:hover, #HeaderContent A:active, .username { - color: #FDB928; + color: #FDB928; } .username { - display: inline; + display: inline; } #Logo { - background-position: left top; - left: 0px; - background-image: url(Images/TCDB-2006-Logo-on-Blue.gif); - width: 200px; - height: 50px; - background-repeat: no-repeat; - position: absolute; - top: 3px; - left: 5px; + background-position: left top; + left: 0px; + background-image: url(Images/TCDB-2006-Logo-on-Blue.gif); + width: 200px; + height: 50px; + background-repeat: no-repeat; + position: absolute; + top: 3px; + left: 5px; } #MainMenu { - text-align: right; - top: 0px; - padding: 9px 10px 2px 0px; - color: White; - float: right; + text-align: right; + top: 0px; + padding: 9px 10px 2px 0px; + color: White; + float: right; } #HeaderContent .hr { - margin: 7px 0 4px 0; + margin: 7px 0 4px 0; } #CurrentInfo, #Menu { - display: inline; + display: inline; } #CurrentInfo { - padding-right: 30px; + padding-right: 30px; } /********** END Header Content **********/ /********** BEGIN Footer Content **********/ #FooterContent A { - color: White; + color: White; } #FooterContent A:hover, #FooterContent A:active { - color: #FDB928; + color: #FDB928; } #NonFooter @@ -264,13 +264,11 @@ #FooterContent { - background-color: #022e66; - color: white; - padding: 6px 0 6px 0; - vertical-align: middle; - text-align: center; - /*position: relative;*/ - /*margin: -2.35em auto 0 auto;*/ + background-color: #022e66; + color: white; + padding: 6px 0 6px 0; + vertical-align: middle; + text-align: center; /*position: relative;*/ /*margin: -2.35em auto 0 auto;*/ } /********** END Footer Content **********/ @@ -278,70 +276,70 @@ /********** BEGIN Form Content **********/ .form { - padding: 5px 0px 0px 20px; + padding: 5px 0px 0px 20px; } .form .results { - padding: 10px 0 10px 70px; - color: Red; + padding: 10px 0 10px 70px; + color: Red; } .form LABEL, .form A, .form INPUT, .form SELECT { - display: block; - float: left; - margin-bottom: 5px; + display: block; + float: left; + margin-bottom: 5px; } .form LABEL, .form A { - text-align: right; - width: 110px; - padding-right: 5px; + text-align: right; + width: 110px; + padding-right: 5px; } .form INPUT { - width: 150px; + width: 150px; } .form INPUT, .form SELECT { - position: relative; - top: -4px; - text-align: left; + position: relative; + top: -4px; + text-align: left; } .form .checkbox > INPUT { - width: inherit; - display: inline; - position: relative; - top: -3px; - left: -3px; + width: inherit; + display: inline; + position: relative; + top: -3px; + left: -3px; } .form BR { - clear: left; + clear: left; } /*********** END Form Content ***********/ /********** BEGIN User Settings **************/ #fullname input { - width: 75px; + width: 75px; } #fullname input + input { - width: 100px; + width: 100px; } #email input { - width: 200px; + width: 200px; } /********** END User Settings *************/ @@ -350,74 +348,74 @@ /* Snazzy borders by Stu Nicholls (http://www.cssplay.co.uk/boxes/snazzy.html) */ .xsnazzy { - background: transparent; - margin: .5em 1em; + background: transparent; + margin: .5em 1em; } .xtop, .xbottom { - display: block; - background: transparent; - font-size: 1px; + display: block; + background: transparent; + font-size: 1px; } .xb1, .xb2, .xb3, .xb4 { - display: block; - overflow: hidden; + display: block; + overflow: hidden; } .xb1, .xb2, .xb3 { - height: 1px; + height: 1px; } .xb2, .xb3, .xb4 { - background: #d4d4d4; - border-left: 1px solid #08c; - border-right: 1px solid #08c; + background: #d4d4d4; + border-left: 1px solid #08c; + border-right: 1px solid #08c; } .xb1 { - margin: 0 5px; - background: #08c; + margin: 0 5px; + background: #08c; } .xb2 { - margin: 0 3px; - border-width: 0 2px; + margin: 0 3px; + border-width: 0 2px; } .xb3 { - margin: 0 2px; + margin: 0 2px; } .xb4 { - height: 2px; - margin: 0 1px; + height: 2px; + margin: 0 1px; } .xboxcontent { - display: block; - background: #d4d4d4; - border: 0 solid #08c; - border-width: 0 1px; - padding: 0px 5px 0px 5px; + display: block; + background: #d4d4d4; + border: 0 solid #08c; + border-width: 0 1px; + padding: 0px 5px 0px 5px; } /********** END Box Content **********/ /********** BEGIN Notes Box Content **********/ .note .xsnazzy { - width: 200px; + width: 200px; } .note .xb2, .note .xb3, .note .xb4 { - background: #ff9; + background: #ff9; } .note .xboxcontent { - background: #ff9; - text-align: left; + background: #ff9; + text-align: left; } /********** END Notes Box Content **********/ @@ -431,8 +429,7 @@ { display: block; margin: 15px; - float: left; - clear: left; + float: left; /*clear: left;*/ } .pictureMenu @@ -444,160 +441,183 @@ .button { - float: left; - position: relative; - z-index: 50; - margin: 5px 0 5px -20px; + float: left; + display: inline; + position: relative; + z-index: 50; + margin: 5px 5px 0px 5px; + text-indent: 0; + min-height: 60px; + text-decoration: none; + font-weight: bold; } -.button A +.menu .left { - text-decoration: none; - font-weight: bold; + min-height: 60px; } .button IMG { - border: none; - position: relative; - left: 30px; - top: -3px; - z-index: -10; + border: none; /*display: block;*/ + position: absolute; /* left: 30px;*/ + top: -3px; } +.button LABEL +{ + position: relative; + top: 40px; /* left: -48px;*/ + margin-left: 0 !important; + z-index: 20; +} + .pictureMenu .xb2, .pictureMenu .xb3, .pictureMenu .xb4 { - background-color: Transparent; + background-color: Transparent; border-left-color: #022E66; - border-right-color: #022E66; + border-right-color: #022E66; } .pictureMenu .xb1 { - background-color: #022E66; + background-color: #022E66; } .pictureMenu .xboxcontent { - background-color: Transparent; - border-color: #022E66; + background-color: Transparent; + border-color: #022E66; } + +.vr +{ + border-left: solid 1px red; + height: 25px; + display: inline; +} + +.pulldown LABEL +{ + margin-left: 7px !important; +} + /********** END Picture Menu Content **********/ /********** BEGIN Page Content **********/ #TreeContent { - /* border: solid thin red; */ /*float: left; padding-right: 10px; */ /*position: absolute; width: 200px;*/ - padding-top: 0px; - margin-top: 0px; - vertical-align: top; + /* border: solid thin red; */ /*float: left; padding-right: 10px; */ /*position: absolute; width: 200px;*/ + padding-top: 0px; + margin-top: 0px; + vertical-align: top; } #MainContent { - /* border: solid thin green; */ /* float: left; margin-left: 175px; /*margin-right: 200px; display: inline;*/ - vertical-align: top; - width: 100%; + /* border: solid thin green; */ /* float: left; margin-left: 175px; /*margin-right: 200px; display: inline;*/ + vertical-align: top; + width: 100%; } #NotesContent { - /* border: solid thin blue; */ /*width: 200px; clear: right; padding-left: 10px; padding-top: 10px;*/ /*position: absolute; right: 10px; top: 50px; width: 200px; */ - vertical-align: top; + /* border: solid thin blue; */ /*width: 200px; clear: right; padding-left: 10px; padding-top: 10px;*/ /*position: absolute; right: 10px; top: 50px; width: 200px; */ + vertical-align: top; } /********** END Page Content **********/ /********** BEGIN Content Header ************/ .ch, #Filters { - padding-top: 15px; - display: block; + padding-top: 15px; + display: block; } .ch H2, #Filters H2 { - display: inline; - left: 0; - top: 0; - padding-left: 15px; - margin-bottom: 0; - padding-bottom: 0; + display: inline; + left: 0; + top: 0; + padding-left: 15px; + margin-bottom: 0; + padding-bottom: 0; } .ch .buttons { - display: inline; - padding-left: 10px; - padding-right: 50px; - margin-left: 10px; - margin-right: 50px; + display: inline; + padding-left: 10px; + padding-right: 50px; + margin-left: 10px; + margin-right: 50px; } .ch .quickFilter { - display: inline; - right: 0; - padding-right: 15px; - position: relative; + display: inline; + right: 0; + padding-right: 15px; + position: relative; } .ch .quickFilter INPUT { - position: relative; - top: 3px; + position: relative; + top: 3px; } /********* END Content Header ***********/ /********* BEGIN Content Content ***********/ .ct, .cb { - position: relative; + position: relative; } .ct .bottom { - bottom: 5px; + bottom: 5px; } .ct H2 { - display: block; - left: 0px; - margin: 0px; - padding: 0px; - font-size: 16px; + display: block; + left: 0px; + margin: 0px; + padding: 0px; + font-size: 16px; } /********* END Content Top ************/ /********** BEGIN Assignments Content **********/ TD.colAssignment { - text-align: left; + text-align: left; } TR.header { - text-align: left; + text-align: left; } /********** END Assignments Content *************/ /************ BEGIN Action Item Content ***************/ .ch .buttons { - display: inline; - right: 0px; + display: inline; + right: 0px; } .ch .status { - display: block; - float: left; /*right: 0px; */ - padding-right: 15px; /*position: relative; */ + display: block; + float: left; /*right: 0px; */ + padding-right: 15px; /*position: relative; */ } .ch .status INPUT { - position: relative; - top: 3px; + position: relative; + top: 3px; } /************** END Action Item Content ***************/ @@ -605,77 +625,77 @@ .filters { - max-width: 850px; + max-width: 850px; } .filters .xsnazzy { - float: left; - display: inline; + float: left; + display: inline; } .filters .xboxcontent .right INPUT { - position: relative; - top: -3px; + position: relative; + top: -3px; } .filters .hr { - margin-top: 2px; + margin-top: 2px; } /* Tweaks for specific filters */ #FilterType, #FilterPriority { - width: 125px; + width: 125px; } #FilterStatus { - width: 250px; + width: 250px; } #FilterAssignedDate, #FilterDueDate, #FilterFinishedDate { - width: 150px; + width: 150px; } /************** END Filters Content *************/ /************* BEGIN Priority Classes ************/ .priority_high_small, .priority_high_large, .priority_normal_small, .priority_normal_large { - display: inline; - padding: 0; - margin: 0; + 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; + 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; + 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; + background-image: url(images/priority_high_large.png); + background-repeat: no-repeat; + width: 18px; + height: 17px; + padding: 1px 9px 1px 9px; } /************ END Priority Classes *************/ Modified: Website/App_Themes/Python/style-ie.style =================================================================== --- Website/App_Themes/Python/style-ie.style 2006-08-10 21:11:42 UTC (rev 305) +++ Website/App_Themes/Python/style-ie.style 2006-08-10 23:35:49 UTC (rev 306) @@ -52,7 +52,7 @@ { font-size: 16px; } - +/* #Administration .menu { display: block; @@ -67,5 +67,5 @@ float: left; position: relative; z-index: 50; - margin: 5px 0 5px -10px; -} \ No newline at end of file + margin: 5px 5px 5px 5px; +}*/ \ No newline at end of file Modified: Website/Includes/Administration.ascx =================================================================== --- Website/Includes/Administration.ascx 2006-08-10 21:11:42 UTC (rev 305) +++ Website/Includes/Administration.ascx 2006-08-10 23:35:49 UTC (rev 306) @@ -1,8 +1,7 @@ <%@ Control Language="C#" AutoEventWireup="true" CodeFile="Administration.ascx.cs" Inherits="TCDB.Administration" %> -<!-- TODO: make these pull-downs dynamic --> <div id="Administration"> - <asp:Panel runat="server" ID="ProductAdmin" CssClass="menu"> + <asp:Panel runat="server" ID="ProductAdmin" CssClass="menu" OnInit="Product_Init"> <label> Product Administration</label> <div class="pictureMenu"> @@ -10,142 +9,134 @@ <b class="xtop"><b class="xb1"></b><b class="xb2"></b><b class="xb3"></b><b class="xb4"> </b></b> <div class="xboxcontent"> - <!--<asp:Panel runat="server" ID="ProductAdminTop" CssClass="clean">--> - <div class="button"> - <asp:LinkButton ID="newProduct" runat="server" OnInit="newProduct_Init" CommandName="new" - OnCommand="Product_Command"> - <asp:Image ID="newProductIcon" runat="server" SkinID="newProductImage" AlternateText="New Product" />New - Product</asp:LinkButton></div> - <div class="end"> - </div> - <!-- </asp:Panel> - <asp:Panel runat="server" ID="ProductAdminHR" CssClass="clean">--> - <div class="hr"> - </div> - <!-- </asp:Panel>--> - <asp:Panel runat="server" ID="ProductAdminBottom" CssClass="clean"> - <div class="pulldown"> - <label> - For:</label> - <asp:DropDownList runat="server" ID="productList" AutoPostBack="True" OnInit="productList_Init" - OnSelectedIndexChanged="productList_SelectedIndexChanged"> - </asp:DropDownList> - </div> - <div class="button"> - <asp:LinkButton ID="viewProduct" runat="server" CommandName="view" OnCommand="Product_Command"> - <asp:Image ID="viewProductIcon" runat="server" SkinID="viewProductImage" AlternateText="View Product" />View - Product</asp:LinkButton> - </div> - <div class="button"> - <asp:LinkButton ID="editProduct" runat="server" CommandName="edit" OnCommand="Product_Command"> - <asp:Image ID="editProductIcon" runat="server" SkinID="editProductImage" AlternateText="Edit Product" />Edit - Product</asp:LinkButton> - </div> - <div class="button"> - <asp:LinkButton ID="deleteProduct" runat="server" CommandName="delete" OnCommand="Product_Command"> - <asp:Image ID="deleteProductIcon" runat="server" SkinID="deleteProductImage" AlternateText="Delete Product" />Delete - Product</asp:LinkButton> - </div> - <div class="end"> - </div> - </asp:Panel> + <asp:LinkButton ID="newProduct" runat="server" CommandName="new" OnCommand="Product_Command" + CssClass="button"> + <asp:Image ID="newProductImage" runat="server" SkinID="newProductImage" AlternateText="New Product" /> + <label> + New Product</label></asp:LinkButton> + <div class="end"> + </div> + <asp:Panel runat="server" ID="ProductAdminHR" CssClass="hr" /> + <div class="pulldown"> + <label> + For:</label> + <asp:DropDownList runat="server" ID="productList" AutoPostBack="True" OnSelectedIndexChanged="productList_SelectedIndexChanged"> + </asp:DropDownList> + </div> + <asp:LinkButton ID="viewProduct" runat="server" CommandName="view" OnCommand="Product_Command" + CssClass="button"> + <asp:Image ID="viewProductImage" runat="server" SkinID="viewProductImage" AlternateText="View Product" /> + <label> + View Product</label></asp:LinkButton> + <asp:LinkButton ID="editProduct" runat="server" CommandName="edit" OnCommand="Product_Command" + CssClass="button"> + <asp:Image ID="editProductImage" runat="server" SkinID="editProductImage" AlternateText="Edit Product" /> + <label> + Edit Product</label></asp:LinkButton> + <asp:LinkButton ID="deleteProduct" runat="server" CommandName="delete" OnCommand="Product_Command" + CssClass="button"> + <asp:Image ID="deleteProductImage" runat="server" SkinID="deleteProductImage" AlternateText="Delete Product" /> + <label> + Delete Product</label></asp:LinkButton> + <div class="end"> + </div> </div> - <b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b><b class="xb1"> - </b></b> - </div> + <b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b><b class="xb1"> + </b></b></div> </div> </asp:Panel> - <div class="menu"> + <asp:Panel runat="server" ID="UserAdmin" CssClass="menu" OnInit="User_Init"> <label> User Administration</label> - <div class="pictureMenu" id="UserAdmin"> + <div class="pictureMenu"> <div class="xsnazzy"> <b class="xtop"><b class="xb1"></b><b class="xb2"></b><b class="xb3"></b><b class="xb4"> </b></b> <div class="xboxcontent"> - <div class="button"> - <asp:LinkButton ID="newUser" runat="server" OnInit="newUser_Init" CommandName="new" - OnCommand="User_Command"> - <asp:Image ID="newUserIcon" runat="server" SkinID="newUserImage" AlternateText="New User" />New - User</asp:LinkButton></div> + <asp:LinkButton ID="newUser" runat="server" CommandName="new" OnCommand="User_Command" + CssClass="button"> + <asp:Image ID="newUserIcon" runat="server" SkinID="newUserImage" AlternateText="New User" /> + <label> + New User</label></asp:LinkButton> <div class="end"> </div> - <div class="hr"> - </div> + <asp:Panel runat="server" ID="UserAdminHR" CssClass="hr" /> <div class="pulldown"> <label> For:</label> - <asp:DropDownList runat="server" ID="userList" AutoPostBack="True" OnInit="userList_Init" - OnSelectedIndexChanged="userList_SelectedIndexChanged"> + <asp:DropDownList runat="server" ID="userList" AutoPostBack="True" OnSelectedIndexChanged="userList_SelectedIndexChanged"> </asp:DropDownList> </div> - <div class="button"> - <asp:LinkButton ID="userView" runat="server" CommandName="view" OnCommand="User_Command"> - <asp:Image ID="userViewIcon" runat="server" SkinID="viewUserImage" AlternateText="View User" />View - User</asp:LinkButton></div> - <div class="button"> - <asp:LinkButton ID="userEdit" runat="server" CommandName="edit" OnCommand="User_Command"> - <asp:Image ID="userEditIcon" runat="server" SkinID="editUserImage" AlternateText="Edit User" />Edit - User</asp:LinkButton></div> - <div class="button"> - <asp:LinkButton ID="userDelete" runat="server" CommandName="delete" OnCommand="User_Command"> - <asp:Image ID="userDeleteIcon" runat="server" SkinID="deleteUserImage" AlternateText="Delete User" />Delete - User</asp:LinkButton></div> + <asp:LinkButton ID="userView" runat="server" CommandName="view" OnCommand="User_Command" + CssClass="button"> + <asp:Image ID="userViewIcon" runat="server" SkinID="viewUserImage" AlternateText="View User" /> + <label> + View User</label></asp:LinkButton> + <asp:LinkButton ID="userEdit" runat="server" CommandName="edit" OnCommand="User_Command" + CssClass="button"> + <asp:Image ID="userEditIcon" runat="server" SkinID="editUserImage" AlternateText="Edit User" /> + <label> + Edit User</label></asp:LinkButton> + <asp:LinkButton ID="userDelete" runat="server" CommandName="delete" OnCommand="User_Command" + CssClass="button"> + <asp:Image ID="userDeleteIcon" runat="server" SkinID="deleteUserImage" AlternateText="Delete User" /> + <label> + Delete User</label></asp:LinkButton> <div class="end"> </div> </div> - <b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b> - <b class="xb1"></b></b> - </div> + <b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b><b class="xb1"> + </b></b></div> </div> - </div> - <div class="menu"> + </asp:Panel> + <asp:Panel runat="server" ID="RoleAdmin" CssClass="menu" OnInit="Role_Init"> <label> Role Administration</label> - <div class="pictureMenu" id="RoleAdmin"> + <div class="pictureMenu"> <div class="xsnazzy"> <b class="xtop"><b class="xb1"></b><b class="xb2"></b><b class="xb3"></b><b class="xb4"> </b></b> <div class="xboxcontent"> - <div class="button"> - <asp:LinkButton ID="newRole" runat="server" OnInit="newRole_Init" CommandName="new" - OnCommand="Role_Command"> - <asp:Image ID="newRoleIcon" runat="server" SkinID="newRoleImage" AlternateText="New User" />New - Role</asp:LinkButton></div> - <div class="button"> - <asp:LinkButton ID="userRole" runat="server" CommandName="user" - OnCommand="Role_Command"> - <asp:Image ID="userRoleIcon" runat="server" SkinID="userRoleImage" AlternateText="User Roles" />User - Roles</asp:LinkButton></div> + <asp:LinkButton ID="newRole" runat="server" CommandName="new" OnCommand="Role_Command" + CssClass="button"> + <asp:Image ID="newRoleIcon" runat="server" SkinID="newRoleImage" AlternateText="New User" /> + <label> + New Role</label> + </asp:LinkButton> <div class="end"> </div> - <div class="hr"> - </div> + <asp:Panel runat="server" ID="RoleAdminHR" CssClass="hr" /> <div class="pulldown"> <label> For:</label> - <asp:DropDownList runat="server" ID="roleList" AutoPostBack="True" OnInit="roleList_Init" - OnSelectedIndexChanged="roleList_SelectedIndexChanged"> + <asp:DropDownList runat="server" ID="roleList" AutoPostBack="True" OnSelectedIndexChanged="roleList_SelectedIndexChanged"> </asp:DropDownList> </div> - <div class="button"> - <asp:LinkButton ID="roleView" runat="server" CommandName="view" OnCommand="Role_Command"> - <asp:Image ID="roleViewIcon" runat="server" SkinID="viewRoleImage" AlternateText="View Role" />View - Role</asp:LinkButton></div> - <div class="button"> - <asp:LinkButton ID="roleEdit" runat="server" CommandName="edit" OnCommand="Role_Command"> - <asp:Image ID="roleEditIcon" runat="server" SkinID="editRoleImage" AlternateText="Edit Role" />Edit - Role</asp:LinkButton></div> - <div class="button"> - <asp:LinkButton ID="roleDelete" runat="server" CommandName="delete" OnCommand="Role_Command"> - <asp:Image ID="roleDeleteIcon" runat="server" SkinID="deleteRoleImage" AlternateText="Delete Role" />Delete - Role</asp:LinkButton></div> + <asp:LinkButton ID="roleView" runat="server" CommandName="view" OnCommand="Role_Command" + CssClass="button"> + <asp:Image ID="roleViewIcon" runat="server" SkinID="viewRoleImage" AlternateText="View Role" /> + <label> + View Role</label></asp:LinkButton> + <asp:LinkButton ID="roleEdit" runat="server" CommandName="edit" OnCommand="Role_Command" + CssClass="button"> + <asp:Image ID="roleEditIcon" runat="server" SkinID="editRoleImage" AlternateText="Edit Role" /> + <label> + Edit Role</label></asp:LinkButton> + <asp:LinkButton ID="roleDelete" runat="server" CommandName="delete" OnCommand="Role_Command" + CssClass="button"> + <asp:Image ID="roleDeleteIcon" runat="server" SkinID="deleteRoleImage" AlternateText="Delete Role" /> + <label> + Delete Role</label></asp:LinkButton> + <asp:LinkButton ID="userRole" runat="server" CommandName="role" OnCommand="Role_Command" + CssClass="button"> + <asp:Image ID="userRoleIcon" runat="server" SkinID="userRoleImage" AlternateText="User Roles" /> + <label> + User Roles</label></asp:LinkButton> <div class="end"> </div> </div> - <b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b> - <b class="xb1"></b></b> - </div> + <b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b><b class="xb1"> + </b></b></div> </div> - </div> + </asp:Panel> </div> Modified: Website/Includes/Administration.ascx.cs =================================================================== --- Website/Includes/Administration.ascx.cs 2006-08-10 21:11:42 UTC (rev 305) +++ Website/Includes/Administration.ascx.cs 2006-08-10 23:35:49 UTC (rev 306) @@ -22,25 +22,32 @@ m_logg.Debug("Loading Administration page"); } - protected void newProduct_Init(object sender, EventArgs e) + protected void Product_Init(object sender, EventArgs e) { if (!m_user.HasRight(Constants.RIGHTS_PRODUCT_CREATE, Constants.PRODUCT_ANYID)) + { newProduct.Visible = false; - } - protected void newUser_Init(object sender, EventArgs e) - { - if (!m_user.HasRight(Constants.RIGHTS_USER_CREATE, Constants.PRODUCT_ANYID)) - newUser.Visible = false; - } - protected void newRole_Init(object sender, EventArgs e) - { - if (!m_user.HasRight(Constants.RIGHTS_ROLE_CREATE, Constants.PRODUCT_ANYID)) - newRole.Visible = false; - } + ProductAdminHR.Visible = false; + } - protected void productList_Init(object sender, EventArgs e) - { + if (!m_user.HasRight(Constants.RIGHTS_PRODUCT_VIEW, Constants.PRODUCT_ANYID)) + viewProduct.Visible = false; + if (!m_user.HasRight(Constants.RIGHTS_PRODUCT_EDIT, Constants.PRODUCT_ANYID)) + editProduct.Visible = false; + if (!m_user.HasRight(Constants.RIGHTS_PRODUCT_DELETE, Constants.PRODUCT_ANYID)) + deleteProduct.Visible = false; + if (!viewProduct.Visible && !editProduct.Visible && !deleteProduct.Visible) + { + ProductAdminHR.Visible = false; + productList.Visible = false; + + if (!newProduct.Visible) + { + ProductAdmin.Visible = false; + } + } + List<Product> products = ProductDB.GetProductList(active); foreach (Product product in products) @@ -56,40 +63,41 @@ if (!IsPostBack) productList_SelectedIndexChanged(sender, e); } - protected void productList_SelectedIndexChanged(object sender, EventArgs e) + + protected void User_Init(object sender, EventArgs e) { - try + if (!m_user.HasRight(Constants.RIGHTS_USER_CREATE, Constants.PRODUCT_ANYID)) { - int productID = Convert.ToInt32(productList.SelectedValue); - - if (!m_user.HasRight(Constants.RIGHTS_PRODUCT_VIEW, productID)) - viewProduct.Visible = false; - else - viewProduct.Visible = true; - if (!m_user.HasRight(Constants.RIGHTS_PRODUCT_EDIT, productID)) - editProduct.Visible = false; - else - editProduct.Visible = true; - if (!m_user.HasRight(Constants.RIGHTS_PRODUCT_DELETE, productID)) - deleteProduct.Visible = false; - else - deleteProduct.Visible = true; + newUser.Visible = false; + UserAdminHR.Visible = false; } - catch { } - } + if (!m_user.HasRight(Constants.RIGHTS_USER_VIEW_MY, Constants.PRODUCT_ANYID) && !m_user.HasRight(Constants.RIGHTS_USER_VIEW_OTHER, Constants.PRODUCT_ANYID)) + userView.Visible = false; + if (!m_user.HasRight(Constants.RIGHTS_USER_EDIT_MY, Constants.PRODUCT_ANYID) && !m_user.HasRight(Constants.RIGHTS_USER_EDIT_OTHER, Constants.PRODUCT_ANYID)) + userEdit.Visible = false; + if (!m_user.HasRight(Constants.RIGHTS_USER_DELETE, Constants.PRODUCT_ANYID)) + userDelete.Visible = false; - protected void userList_Init(object sender, EventArgs e) - { + if (!userView.Visible && !userEdit.Visible && !userDelete.Visible) + { + UserAdminHR.Visible = false; + userList.Visible = false; + if (!newUser.Visible) + { + UserAdmin.Visible = false; + } + } + List<Product> products = ProductDB.GetProductList(active); List<User> users = UserDB.TCDB_GetUserList(active); foreach (User user in users) { if (!(m_user.HasRight(Constants.RIGHTS_USER_VIEW_OTHER)) && - !(user.ID == m_user.ID && m_user.HasRight(Constants.RIGHTS_USER_VIEW_MY, Constants.PRODUCT_ANYID)) && - !(m_user.HasRight(Constants.RIGHTS_USER_VIEW_OTHER, user, Constants.PRODUCT_ANYID))) + !(user.ID == m_user.ID && m_user.HasRight(Constants.RIGHTS_USER_VIEW_MY, Constants.PRODUCT_ANYID)) && + !(m_user.HasRight(Constants.RIGHTS_USER_VIEW_OTHER, user, Constants.PRODUCT_ANYID))) continue; ListItem item = new ListItem(user.FULLNAME, user.ID.ToString()); @@ -101,6 +109,84 @@ if (!IsPostBack) userList_SelectedIndexChanged(sender, e); } + + protected void Role_Init(object sender, EventArgs e) + { + if (!m_user.HasRight(Constants.RIGHTS_ROLE_CREATE, Constants.PRODUCT_ANYID)) + { + newRole.Visible = false; + } + if (!m_user.HasRight(Constants.RIGHTS_ROLE_VIEW_MY, Constants.PRODUCT_ANYID) && !m_user.HasRight(Constants.RIGHTS_ROLE_VIEW_OTHER, Constants.PRODUCT_ANYID)) + { + userRole.Visible = false; + } + if (!newRole.Visible && !userRole.Visible) + { + RoleAdminHR.Visible = false; + } + + if (!m_user.HasRight(Constants.RIGHTS_ROLE_VIEW_MY, Constants.PRODUCT_ANYID) && !m_user.HasRight(Constants.RIGHTS_ROLE_VIEW_OTHER, Constants.PRODUCT_ANYID)) + roleView.Visible = false; + if (!m_user.HasRight(Constants.RIGHTS_ROLE_EDIT_MY, Constants.PRODUCT_ANYID) && !m_user.HasRight(Constants.RIGHTS_ROLE_EDIT_USERS, Constants.PRODUCT_ANYID)) + roleEdit.Visible = false; + if (!m_user.HasRight(Constants.RIGHTS_ROLE_DELETE, Constants.PRODUCT_ANYID)) + roleDelete.Visible = false; + if (!m_user.HasRight(Constants.RIGHTS_ROLE_EDIT_MY, Constants.PRODUCT_ANYID) && !m_user.HasRight(Constants.RIGHTS_ROLE_EDIT_USERS, Constants.PRODUCT_ANYID)) + userRole.Visible = false; + + if (!roleView.Visible && !roleEdit.Visible && !roleDelete.Visible && !userRole.Visible) + { + RoleAdminHR.Visible = false; + roleList.Visible = false; + + if (!newRole.Visible) + { + RoleAdmin.Visible = false; + } + } + + List<Product> products = ProductDB.GetProductList(active); + List<Role> roles = RightDB.TCDB_GetRoleList(active); + + foreach (Role role in roles) + { + if (!(m_user.HasRight(Constants.RIGHTS_ROLE_VIEW_OTHER, Constants.PRODUCT_ANYID)) && + !(m_user.HasRole(role.NAME) && m_user.HasRight(Constants.RIGHTS_ROLE_VIEW_MY, Constants.PRODUCT_ANYID))) + continue; + + ListItem item = new ListItem(role.NAME, role.ID.ToString()); + if (!role.ACTIVE) + item.Attributes.CssStyle.Add("text-decoration", "line-through"); + + roleList.Items.Add(item); + } + if (!IsPostBack) + roleList_SelectedIndexChanged(sender, e); + } + + protected void productList_SelectedIndexChanged(object sender, EventArgs e) + { + try + { + int productID = Convert.ToInt32(productList.SelectedValue); + + if (!m_user.HasRight(Constants.RIGHTS_PRODUCT_VIEW, productID)) + viewProduct.Visible = false; + else + viewProduct.Visible = true; + if (!m_user.HasRight(Constants.RIGHTS_PRODUCT_EDIT, productID)) + editProduct.Visible = false; + else + editProduct.Visible = true; + if (!m_user.HasRight(Constants.RIGHTS_PRODUCT_DELETE, productID)) + deleteProduct.Visible = false; + else + deleteProduct.Visible = true; + } + catch { } + + } + protected void userList_SelectedIndexChanged(object sender, EventArgs e) { try @@ -115,9 +201,9 @@ userDelete.Visible = false; foreach (Product product in products) { - if (!userView.Visible && m_user.HasRight(Constants.RIGHTS_USER_VIEW_MY, product.ID)) + if (!userView.Visible && m_user.HasRight(Constants.RIGHTS_USER_VIEW_MY, product.ID)) userView.Visible = true; - if (!userEdit.Visible && m_user.HasRight(Constants.RIGHTS_USER_EDIT_MY, product.ID)) + if (!userEdit.Visible && m_user.HasRight(Constants.RIGHTS_USER_EDIT_MY, product.ID)) userEdit.Visible = true; } } @@ -128,13 +214,13 @@ userDelete.Visible = true; foreach (Product product in products) { - if (!userView.Visible && m_user.HasRight(Constants.RIGHTS_USER_VIEW_OTHER, user, product.ID)) + if (!userView.Visible && m_user.HasRight(Constants.RIGHTS_USER_VIEW_OTHER, user, product.ID)) userView.Visible = true; - if (!userEdit.Visible && m_user.HasRight(Constants.RIGHTS_USER_EDIT_OTHER, user, product.ID)) + if (!userEdit.Visible && m_user.HasRight(Constants.RIGHTS_USER_EDIT_OTHER, user, product.ID)) userEdit.Visible = true; if (product.ID != Constants.PRODUCT_SITEID && user.HasRights(product.ID)) { - if (userDelete.Visible && !m_user.HasRight(Constants.RIGHTS_USER_DELETE, product.ID)) + if (userDelete.Visible && !m_user.HasRight(Constants.RIGHTS_USER_DELETE, product.ID)) userDelete.Visible = false; } } @@ -143,27 +229,6 @@ catch { } } - protected void roleList_Init(object sender, EventArgs e) - { - List<Product> products = ProductDB.GetProductList(active); - List<Role> roles = RightDB.TCDB_GetRoleList(active); - - foreach (Role role in roles) - { - if (!(m_user.HasRight(Constants.RIGHTS_ROLE_VIEW_OTHER, Constants.PRODUCT_ANYID)) && - !(m_user.HasRole(role.NAME) && m_user.HasRight(Constants.RIGHTS_ROLE_VIEW_MY,Constants.PRODUCT_ANYID))) - continue; - - ListItem item = new ListItem(role.NAME,role.ID.ToString()); - if (!role.ACTIVE) - item.Attributes.CssStyle.Add("text-decoration", "line-through"); - - roleList.Items.Add(item); - } - if (!IsPostBack) - roleList_SelectedIndexChanged(sender, e); - - } protected void roleList_SelectedIndexChanged(object sender, EventArgs e) { Role role = RightDB.GetRoleInfo(Convert.ToInt32(roleList.SelectedValue)); @@ -186,7 +251,7 @@ List<Product> products = ProductDB.GetProductList(active); foreach (Product product in products) { - List<User> users = ProductDB.TCDB_GetProductUsers(product.ID,role.ID); + List<User> users = ProductDB.TCDB_GetProductUsers(product.ID, role.ID); if (users.Count > 0) { @@ -219,7 +284,7 @@ Response.Redirect(Request.RawUrl); break; case "new": - Response.Redirect("~/Product.aspx?"+Constants.CODE_MODE+"=new"); + Response.Redirect("~/Product.aspx?" + Constants.CODE_MODE + "=new"); break; default: m_logg.Error("Invalid Command: " + e.CommandName); @@ -277,5 +342,5 @@ break; } } + } } -} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2006-08-11 18:38:14
|
Revision: 308 Author: rouquin Date: 2006-08-11 11:37:56 -0700 (Fri, 11 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=308&view=rev Log Message: ----------- A few updates Modified Paths: -------------- Website/App_Code/Common.cs Website/App_Code/Versions.cs Website/App_Code/tcdbDataSet.xsd Website/App_Code/tcdbDataSet.xss Website/Includes/AdministrationTree.ascx.cs Website/Includes/Builds.ascx Website/Includes/Builds.ascx.cs Website/Includes/FeaturesTree.ascx.cs Website/Includes/Products.ascx.cs Website/Includes/Rights.ascx Website/Includes/Rights.ascx.cs Website/Includes/RoleAssignments.ascx.cs Website/Includes/UserRoles.ascx.cs Website/Includes/UserSettings.ascx.cs Website/Includes/Versions.ascx Website/Includes/Versions.ascx.cs Modified: Website/App_Code/Common.cs =================================================================== --- Website/App_Code/Common.cs 2006-08-11 14:16:29 UTC (rev 307) +++ Website/App_Code/Common.cs 2006-08-11 18:37:56 UTC (rev 308) @@ -1396,18 +1396,21 @@ public static int PRODUCT_CREATED = -2; public static int ROLE_ADMIN = 1; + public static int ROLE_BASIC_USER = 2; + public static string CODE_AI = "ai"; public static string CODE_ASSIGNMENT = "a"; - public static string CODE_USER = "u"; - public static string CODE_AI = "ai"; - public static string CODE_WO = "wo"; + public static string CODE_BUILD = "b"; + public static string CODE_CREATED = "created"; + public static string CODE_MODE = "m"; public static string CODE_PRODUCT = "p"; - public static string CODE_VERSION = "v"; public static string CODE_RIGHT = "rt"; public static string CODE_ROLE = "r"; - public static string CODE_MODE = "m"; - public static string CODE_CREATED = "created"; public static string CODE_TYPE = "t"; + public static string CODE_USER = "u"; + public static string CODE_VERSION = "v"; + public static string CODE_WO = "wo"; + // TODO: figure this one out //public static bool ASSIGNMENT_PRIORITY_ALL = null; @@ -1486,6 +1489,21 @@ public static string RIGHTS_PRODUCT_EDIT = "product_edit"; public static string RIGHTS_PRODUCT_CREATE = "product_create"; public static string RIGHTS_PRODUCT_DELETE = "product_delete"; + + public static string RIGHTS_VERSION_VIEW = "version_view"; + public static string RIGHTS_VERSION_EDIT = "version_edit"; + public static string RIGHTS_VERSION_CREATE = "version_create"; + public static string RIGHTS_VERSION_HIDE = "version_hide"; + + public static string RIGHTS_BUILD_VIEW = "build_view"; + public static string RIGHTS_BUILD_EDIT = "build_edit"; + public static string RIGHTS_BUILD_CREATE = "build_create"; + public static string RIGHTS_BUILD_HIDE = "build_hide"; + + public static string RIGHTS_TESTPASS_VIEW = "testpass_view"; + public static string RIGHTS_TESTPASS_EDIT = "testpass_edit"; + public static string RIGHTS_TESTPASS_CREATE = "testpass_create"; + public static string RIGHTS_TESTPASS_HIDE = "testpass_hide"; } public static class Help Modified: Website/App_Code/Versions.cs =================================================================== --- Website/App_Code/Versions.cs 2006-08-11 14:16:29 UTC (rev 307) +++ Website/App_Code/Versions.cs 2006-08-11 18:37:56 UTC (rev 308) @@ -16,32 +16,56 @@ /// </summary> public class VersionDB : Page { - public static ProductVersion GetVersion(int VersionID) + public static Release GetVersion(int VersionID) { tcdbDataSetTableAdapters.db_versionTableAdapter versionAdapter = new tcdbDataSetTableAdapters.db_versionTableAdapter(); tcdbDataSet.db_versionDataTable versionTable = versionAdapter.GetData(VersionID, null, true); - ProductVersion version = new ProductVersion(); + Release version = new Release(); if (versionTable.Count > 0) - version = new ProductVersion(versionTable[0]); + version = new Release(versionTable[0]); return version; } - public static List<ProductVersion> GetVersionList(Nullable<int> ProductID, Nullable<bool> active) + public static List<Release> GetVersionList(Nullable<int> ProductID, Nullable<bool> active) { tcdbDataSetTableAdapters.db_versionTableAdapter versionAdapter = new tcdbDataSetTableAdapters.db_versionTableAdapter(); tcdbDataSet.db_versionDataTable versionTable = versionAdapter.GetData(null, ProductID, active); - List<ProductVersion> versionList = new List<ProductVersion>(); + List<Release> versionList = new List<Release>(); foreach (tcdbDataSet.db_versionRow row in versionTable) - versionList.Add(new ProductVersion(row)); + versionList.Add(new Release(row)); return versionList; } + + public static Build GetBuild(int buildID) + { + tcdbDataSetTableAdapters.db_buildTableAdapter bAdapter = new tcdbDataSetTableAdapters.db_buildTableAdapter(); + tcdbDataSet.db_buildDataTable bTable = bAdapter.GetData(null, null, buildID); + Build build = new Build(); + + if (bTable.Count > 0) + build = new Build(bTable[0]); + + return build; + } + + public static List<Build> GetBuildList(Nullable<int> versionID, Nullable<bool> active) + { + tcdbDataSetTableAdapters.db_buildTableAdapter bAdapter = new tcdbDataSetTableAdapters.db_buildTableAdapter(); + tcdbDataSet.db_buildDataTable bTable = bAdapter.GetData(active, versionID, null); + List<Build> buildList = new List<Build>(); + + foreach (tcdbDataSet.db_buildRow row in bTable) + buildList.Add(new Build(row)); + + return buildList; + } } - public class ProductVersion + public class Release { private int p_versionid; private Product p_product; @@ -52,7 +76,7 @@ // TODO: Implement these as the time is right //private List<Platform> platforms; - public ProductVersion() + public Release() { p_versionid = 0; p_product = null; @@ -61,7 +85,7 @@ p_active = false; } - public ProductVersion(int versionID, int productID, string number, string code, bool active, DateTime dateCreated) + public Release(int versionID, int productID, string number, string code, bool active, DateTime dateCreated) { p_versionid = versionID; p_product = ProductDB.GetProduct(true,productID,null); @@ -71,7 +95,7 @@ p_datecreated = dateCreated; } - public ProductVersion(tcdbDataSet.db_versionRow row) + public Release(tcdbDataSet.db_versionRow row) { p_versionid = row.versionID; p_product = ProductDB.GetProduct(true, row.productID, null); @@ -128,4 +152,74 @@ return NUMBER; } } + + public class Build + { + private int p_id; + private Release p_version; + private string p_number; + private bool p_active; + private DateTime p_datecreated; + + public Build() + { + p_id = 0; + p_version = null; + p_number = null; + p_active = false; + } + + public Build(int buildID, int versionID, string number, bool active, DateTime dateCreated) + { + p_id = buildID; + p_version = VersionDB.GetVersion(versionID); + p_number = number; + p_active = active; + p_datecreated = dateCreated; + } + + public Build(tcdbDataSet.db_buildRow row) + { + p_id = row.buildID; + p_version = VersionDB.GetVersion(row.versionID); + p_number = row.number; + p_active = row.active; + p_datecreated = row.dateCreated; + } + + public int ID + { + get { return p_id; } + set { p_id = value; } + } + + public Release VERSION + { + get { return p_version; } + set { p_version = value; } + } + + public string NUMBER + { + get { return p_number; } + set { p_number = value; } + } + + public bool ACTIVE + { + get { return p_active; } + set { p_active = value; } + } + + public DateTime DATECREATED + { + get { return p_datecreated; } + set { p_datecreated = value; } + } + + public override string ToString() + { + return NUMBER; + } + } } \ No newline at end of file Modified: Website/App_Code/tcdbDataSet.xsd =================================================================== --- Website/App_Code/tcdbDataSet.xsd 2006-08-11 14:16:29 UTC (rev 307) +++ Website/App_Code/tcdbDataSet.xsd 2006-08-11 18:37:56 UTC (rev 308) @@ -376,8 +376,6 @@ </Parameter> <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@code" Precision="0" ProviderType="VarChar" Scale="0" Size="50" SourceColumn="code" SourceColumnNullMapping="False" SourceVersion="Current"> </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@active" Precision="1" ProviderType="Bit" Scale="0" Size="1" SourceColumn="active" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> </Parameters> </DbCommand> </InsertCommand> @@ -1023,8 +1021,6 @@ </Parameter> <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@number" Precision="0" ProviderType="VarChar" Scale="0" Size="20" SourceColumn="number" SourceColumnNullMapping="False" SourceVersion="Current"> </Parameter> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@active" Precision="1" ProviderType="Bit" Scale="0" Size="1" SourceColumn="active" SourceColumnNullMapping="False" SourceVersion="Current"> - </Parameter> </Parameters> </DbCommand> </InsertCommand> @@ -1036,7 +1032,7 @@ </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> - <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@versionID" Precision="1" ProviderType="Bit" Scale="0" Size="1" SourceColumnNullMapping="False" SourceVersion="Current"> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@versionID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> </Parameter> <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@buildID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> </Parameter> @@ -1608,7 +1604,7 @@ </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="db_platform" msprop:Generator_UserTableName="db_platform" msprop:Generator_RowDeletedName="db_platformRowDeleted" msprop:Generator_TableClassName="db_platformDataTable" msprop:Generator_RowChangedName="db_platformRowChanged" msprop:Generator_RowClassName="db_platformRow" msprop:Generator_RowChangingName="db_platformRowChanging" msprop:Generator_RowEvArgName="db_platformRowChangeEvent" msprop:Generator_RowEvHandlerName="db_platformRowChangeEventHandler" msprop:Generator_TablePropName="db_platform" msprop:Generator_TableVarName="tabledb_platform" msprop:Generator_RowDeletingName="db_platformRowDeleting"> + <xs:element name="db_platform" msprop:Generator_UserTableName="db_platform" msprop:Generator_RowDeletedName="db_platformRowDeleted" msprop:Generator_RowChangedName="db_platformRowChanged" msprop:Generator_RowClassName="db_platformRow" msprop:Generator_RowChangingName="db_platformRowChanging" msprop:Generator_RowEvArgName="db_platformRowChangeEvent" msprop:Generator_RowEvHandlerName="db_platformRowChangeEventHandler" msprop:Generator_TableClassName="db_platformDataTable" msprop:Generator_TableVarName="tabledb_platform" msprop:Generator_RowDeletingName="db_platformRowDeleting" msprop:Generator_TablePropName="db_platform"> <xs:complexType> <xs:sequence> <xs:element name="platformID" msprop:Generator_UserColumnName="platformID" msprop:Generator_ColumnPropNameInRow="platformID" msprop:Generator_ColumnVarNameInTable="columnplatformID" msprop:Generator_ColumnPropNameInTable="platformIDColumn" type="xs:int" /> @@ -1638,7 +1634,7 @@ </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="db_build" msprop:Generator_UserTableName="db_build" msprop:Generator_RowDeletedName="db_buildRowDeleted" msprop:Generator_TableClassName="db_buildDataTable" msprop:Generator_RowChangedName="db_buildRowChanged" msprop:Generator_RowClassName="db_buildRow" msprop:Generator_RowChangingName="db_buildRowChanging" msprop:Generator_RowEvArgName="db_buildRowChangeEvent" msprop:Generator_RowEvHandlerName="db_buildRowChangeEventHandler" msprop:Generator_TablePropName="db_build" msprop:Generator_TableVarName="tabledb_build" msprop:Generator_RowDeletingName="db_buildRowDeleting"> + <xs:element name="db_build" msprop:Generator_UserTableName="db_build" msprop:Generator_RowDeletedName="db_buildRowDeleted" msprop:Generator_RowChangedName="db_buildRowChanged" msprop:Generator_RowClassName="db_buildRow" msprop:Generator_RowChangingName="db_buildRowChanging" msprop:Generator_RowEvArgName="db_buildRowChangeEvent" msprop:Generator_RowEvHandlerName="db_buildRowChangeEventHandler" msprop:Generator_TableClassName="db_buildDataTable" msprop:Generator_TableVarName="tabledb_build" msprop:Generator_RowDeletingName="db_buildRowDeleting" msprop:Generator_TablePropName="db_build"> <xs:complexType> <xs:sequence> <xs:element name="buildID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="buildID" msprop:Generator_ColumnPropNameInRow="buildID" msprop:Generator_ColumnVarNameInTable="columnbuildID" msprop:Generator_ColumnPropNameInTable="buildIDColumn" type="xs:int" /> Modified: Website/App_Code/tcdbDataSet.xss =================================================================== --- Website/App_Code/tcdbDataSet.xss 2006-08-11 14:16:29 UTC (rev 307) +++ Website/App_Code/tcdbDataSet.xss 2006-08-11 18:37:56 UTC (rev 308) @@ -4,27 +4,27 @@ 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="390" 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="3" ViewPortY="807" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout"> <Shapes> - <Shape ID="DesignTable:db_products" ZOrder="19" X="28" Y="453" Height="241" Width="213" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="194" /> - <Shape ID="DesignTable:db_actionItems" ZOrder="18" X="619" Y="9" Height="292" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="228" SplitterPosition="228" /> - <Shape ID="DesignTable:db_status" ZOrder="17" X="272" Y="369" Height="122" Width="296" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="75" /> - <Shape ID="DesignTable:db_notes" ZOrder="16" X="309" Y="11" Height="156" Width="208" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="109" /> - <Shape ID="DesignTable:db_assignments" ZOrder="15" X="636" Y="368" Height="275" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="228" /> - <Shape ID="DesignTable:db_testPass" ZOrder="14" X="25" Y="317" Height="122" Width="211" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="75" /> - <Shape ID="DesignTable:db_version" ZOrder="13" X="268" Y="539" Height="190" Width="216" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="143" /> - <Shape ID="DesignTable:db_roleProductUser" ZOrder="12" X="903" Y="671" Height="156" Width="255" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="109" /> - <Shape ID="DesignTable:db_roleProduct" ZOrder="11" X="904" Y="843" Height="105" Width="231" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="58" /> - <Shape ID="DesignTable:db_roleUserProduct" ZOrder="10" X="593" Y="838" Height="190" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="109" /> - <Shape ID="DesignTable:db_roleRight" ZOrder="9" X="38" Y="760" Height="190" Width="216" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="109" /> - <Shape ID="DesignTable:db_userRights" ZOrder="8" X="938" Y="13" Height="207" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="160" /> - <Shape ID="DesignTable:db_rightRole" ZOrder="3" X="329" Y="925" Height="139" Width="217" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="92" /> - <Shape ID="DesignTable:db_role" ZOrder="7" X="306" Y="769" Height="139" Width="242" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="92" /> - <Shape ID="DesignTable:db_users" ZOrder="6" X="54" Y="33" Height="258" Width="201" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="211" /> - <Shape ID="DesignTable:db_config" ZOrder="5" X="311" Y="178" Height="156" Width="200" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="109" /> - <Shape ID="DesignTable:db_rights" ZOrder="4" X="585" Y="658" Height="156" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="109" /> - <Shape ID="DesignTable:db_platform" ZOrder="2" X="15" Y="969" Height="173" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="126" /> - <Shape ID="DesignTable:db_build" ZOrder="1" X="913" Y="986" Height="156" Width="247" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="109" /> + <Shape ID="DesignTable:db_products" ZOrder="3" X="71" Y="1170" Height="241" Width="213" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="194" /> + <Shape ID="DesignTable:db_actionItems" ZOrder="19" X="394" Y="324" Height="292" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="228" SplitterPosition="228" /> + <Shape ID="DesignTable:db_status" ZOrder="18" X="723" Y="482" Height="122" Width="296" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="75" /> + <Shape ID="DesignTable:db_notes" ZOrder="17" X="299" Y="34" Height="156" Width="208" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="109" /> + <Shape ID="DesignTable:db_assignments" ZOrder="16" X="53" Y="321" Height="275" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="228" /> + <Shape ID="DesignTable:db_testPass" ZOrder="15" X="882" Y="1176" Height="122" Width="211" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="75" /> + <Shape ID="DesignTable:db_version" ZOrder="2" X="321" Y="1173" Height="190" Width="262" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="143" /> + <Shape ID="DesignTable:db_roleProductUser" ZOrder="9" X="52" Y="835" Height="156" Width="255" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="109" /> + <Shape ID="DesignTable:db_roleProduct" ZOrder="8" X="54" Y="1019" Height="105" Width="231" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="58" /> + <Shape ID="DesignTable:db_roleUserProduct" ZOrder="6" X="323" Y="850" Height="190" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="109" /> + <Shape ID="DesignTable:db_roleRight" ZOrder="4" X="660" Y="669" Height="190" Width="216" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="109" /> + <Shape ID="DesignTable:db_userRights" ZOrder="14" X="908" Y="684" Height="207" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="160" /> + <Shape ID="DesignTable:db_rightRole" ZOrder="7" X="651" Y="881" Height="139" Width="217" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="92" /> + <Shape ID="DesignTable:db_role" ZOrder="13" X="51" Y="665" Height="139" Width="242" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="92" /> + <Shape ID="DesignTable:db_users" ZOrder="12" X="54" Y="33" Height="258" Width="201" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="211" /> + <Shape ID="DesignTable:db_config" ZOrder="11" X="549" Y="37" Height="156" Width="200" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="109" /> + <Shape ID="DesignTable:db_rights" ZOrder="10" X="330" Y="667" Height="156" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="109" /> + <Shape ID="DesignTable:db_platform" ZOrder="5" X="72" Y="1446" Height="173" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="126" /> + <Shape ID="DesignTable:db_build" ZOrder="1" X="604" Y="1174" Height="156" Width="247" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="109" /> </Shapes> <Connectors /> </DiagramLayout> \ No newline at end of file Modified: Website/Includes/AdministrationTree.ascx.cs =================================================================== --- Website/Includes/AdministrationTree.ascx.cs 2006-08-11 14:16:29 UTC (rev 307) +++ Website/Includes/AdministrationTree.ascx.cs 2006-08-11 18:37:56 UTC (rev 308) @@ -45,6 +45,7 @@ if (index >= 0) nodes.RemoveAt(index); } + protected void BuildProductList(TreeNode parent) { ArrayList nodes = (ArrayList)Session["AdminNodes"]; @@ -81,9 +82,8 @@ ArrayList nodes = (ArrayList)Session["AdminNodes"]; TreeNode newNode; - // Add Admin Settings - if (Constants.IS_DEV_ENV) + if (m_user.HasRight(Constants.RIGHTS_PREFERENCE_VIEW_OTHER)) { newNode = new TreeNode(); newNode.Text = "Site Settings"; @@ -97,25 +97,31 @@ } // Users - newNode = new TreeNode(); - newNode.Text = "Users"; - newNode.Value = "users"; - newNode.PopulateOnDemand = true; - newNode.SelectAction = TreeNodeSelectAction.Expand; - parent.ChildNodes.Add(newNode); - if (nodes.Contains(newNode.ValuePath)) - newNode.Expand(); + if (m_user.HasRight(Constants.RIGHTS_USER_VIEW_OTHER)) + { + newNode = new TreeNode(); + newNode.Text = "Users"; + 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 = "User Roles"; - newNode.Value = "roles"; - 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(); + if (m_user.HasRight(Constants.RIGHTS_ROLE_VIEW_OTHER)) + { + newNode = new TreeNode(); + newNode.Text = "User Roles"; + newNode.Value = "roles"; + 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(); + } // Rights if (m_user.HasRight(Constants.RIGHTS_DEV_ACCESS)) @@ -130,7 +136,7 @@ newNode.Expand(); } - if (Constants.IS_DEV_ENV) + if (m_user.HasRight(Constants.RIGHTS_DEV_ACCESS)) { // Operating Systems newNode = new TreeNode(); @@ -151,15 +157,15 @@ parent.ChildNodes.Add(newNode); if (nodes.Contains(newNode.ValuePath)) newNode.Expand(); - } // end non-production + } } protected void BuildReleaseList(TreeNode parent) { int productID = Convert.ToInt32(parent.Parent.Value); ArrayList nodes = (ArrayList)Session["AdminNodes"]; - List<ProductVersion> versions = VersionDB.GetVersionList(productID, active); + List<Release> versions = VersionDB.GetVersionList(productID, active); - foreach (ProductVersion version in versions) + foreach (Release version in versions) { // Create the new node. TreeNode newNode = new TreeNode(); @@ -217,11 +223,12 @@ protected void BuildCategoryList(TreeNode parent) { ArrayList nodes = (ArrayList)Session["AdminNodes"]; + int productID = Convert.ToInt32(parent.Value); TreeNode newNode; - // Versions - if (m_user.HasRight(Constants.RIGHTS_DEV_ACCESS)) + if (m_user.HasRight(Constants.RIGHTS_VERSION_VIEW, productID)) { + // Versions newNode = new TreeNode(); newNode.Text = "Releases"; newNode.Value = "release"; @@ -230,7 +237,10 @@ parent.ChildNodes.Add(newNode); if (nodes.Contains(newNode.ValuePath)) newNode.Expand(); + } + if (m_user.HasRight(Constants.RIGHTS_DEV_ACCESS)) + { // Tags newNode = new TreeNode(); newNode.Text = "Tags"; @@ -260,18 +270,21 @@ parent.ChildNodes.Add(newNode); if (nodes.Contains(newNode.ValuePath)) newNode.Expand(); - } // end non-production + } // Users - newNode = new TreeNode(); - newNode.Text = "Users"; - newNode.Value = "user"; - 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(); + if (m_user.HasRight(Constants.RIGHTS_USER_VIEW_OTHER, productID)) + { + newNode = new TreeNode(); + newNode.Text = "Users"; + newNode.Value = "user"; + 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(); + } } protected void BuildStatusGroupList(TreeNode parent) { @@ -472,36 +485,46 @@ { ArrayList nodes = (ArrayList)Session["AdminNodes"]; TreeNode newNode; + int productID = Convert.ToInt32(parent.Parent.Parent.Value); - // Test Pass - newNode = new TreeNode(); - newNode.Text = "Test Passes"; - newNode.Value = "testpass"; - newNode.PopulateOnDemand = true; - newNode.SelectAction = TreeNodeSelectAction.Expand; - parent.ChildNodes.Add(newNode); - if (nodes.Contains(newNode.ValuePath)) - newNode.Expand(); + if (m_user.HasRight(Constants.RIGHTS_TESTPASS_VIEW, productID)) + { + // Test Pass + newNode = new TreeNode(); + newNode.Text = "Test Passes"; + newNode.Value = "testpass"; + newNode.PopulateOnDemand = true; + newNode.SelectAction = TreeNodeSelectAction.Expand; + parent.ChildNodes.Add(newNode); + if (nodes.Contains(newNode.ValuePath)) + newNode.Expand(); + } - // Builds - newNode = new TreeNode(); - newNode.Text = "Builds"; - newNode.Value = "build"; - newNode.PopulateOnDemand = true; - newNode.SelectAction = TreeNodeSelectAction.Expand; - parent.ChildNodes.Add(newNode); - if (nodes.Contains(newNode.ValuePath)) - newNode.Expand(); + if (m_user.HasRight(Constants.RIGHTS_BUILD_VIEW, productID)) + { + // Builds + newNode = new TreeNode(); + newNode.Text = "Builds"; + newNode.Value = "build"; + newNode.PopulateOnDemand = true; + newNode.SelectAction = TreeNodeSelectAction.Expand; + parent.ChildNodes.Add(newNode); + if (nodes.Contains(newNode.ValuePath)) + newNode.Expand(); + } - // Systems - newNode = new TreeNode(); - newNode.Text = "Supported Systems"; - newNode.Value = "system"; - newNode.PopulateOnDemand = true; - newNode.SelectAction = TreeNodeSelectAction.Expand; - parent.ChildNodes.Add(newNode); - if (nodes.Contains(newNode.ValuePath)) - newNode.Expand(); + if (m_user.HasRight(Constants.RIGHTS_DEV_ACCESS)) + { + // Systems + newNode = new TreeNode(); + newNode.Text = "Supported Systems"; + newNode.Value = "system"; + newNode.PopulateOnDemand = true; + newNode.SelectAction = TreeNodeSelectAction.Expand; + parent.ChildNodes.Add(newNode); + if (nodes.Contains(newNode.ValuePath)) + newNode.Expand(); + } } protected void BuildStatusList(TreeNode parent) { @@ -569,7 +592,6 @@ } */ } - protected void BuildRightsList(TreeNode parent) { ArrayList nodes = (ArrayList)Session["AdminNodes"]; @@ -597,39 +619,27 @@ newNode.Expand(); } } - protected void BuildBuildList(TreeNode parent) { ArrayList nodes = (ArrayList)Session["AdminNodes"]; - /* - // Populate Builds - query = "SELECT * FROM build where versionID=" + e.Node.Parent.Value; - DBAdapter = new SqlDataAdapter(query, DBConnection); - DBAdapter.Fill(ResultsDataSet); + int versionID = Convert.ToInt32(parent.Parent.Value); + List<Build> builds = VersionDB.GetBuildList(versionID, active); - if (ResultsDataSet.Tables.Count > 0) - { - foreach (DataRow row in ResultsDataSet.Tables[0].Rows) - { - // Create the new node. - newNode = new TreeNode(); - newNode.Text = "<build>" + row["number"] + "</build>"; - newNode.Value = row["buildID"].ToString(); + foreach (Build build in builds) + { + // Create the new node. + TreeNode newNode = new TreeNode(); + newNode.Text = build.NUMBER; + newNode.Value = build.ID.ToString(); + newNode.PopulateOnDemand = true; + newNode.SelectAction = TreeNodeSelectAction.Expand; + newNode.NavigateUrl = "~/Build.aspx?"+Constants.CODE_BUILD+"=" + newNode.Value; + if (!build.ACTIVE) + newNode.Text = "<font class='deleted'>" + newNode.Text + "</font>"; - // 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 = "~/BuildEdit.aspx?id=" + newNode.Value; - - // Add the new node to the ChildNodes collection of the parent node. - e.Node.ChildNodes.Add(newNode); - newNode.Expand(); - } - } - */ + parent.ChildNodes.Add(newNode); + newNode.Expand(); + } } protected void BuildTestPassList(TreeNode parent) { Modified: Website/Includes/Builds.ascx =================================================================== --- Website/Includes/Builds.ascx 2006-08-11 14:16:29 UTC (rev 307) +++ Website/Includes/Builds.ascx 2006-08-11 18:37:56 UTC (rev 308) @@ -176,13 +176,12 @@ </UpdateParameters> <SelectParameters> <asp:SessionParameter Name="active" SessionField="active" Type="Boolean" /> - <asp:Parameter Name="versionID" Type="Boolean" /> - <asp:SessionParameter Name="buildID" SessionField="id" Type="Int32" /> + <asp:Parameter Name="versionID" Type="Int32" /> + <asp:SessionParameter Name="buildID" SessionField="buildID" Type="Int32" /> </SelectParameters> <InsertParameters> <asp:Parameter Name="versionID" Type="Int32" /> <asp:Parameter Name="number" Type="String" /> - <asp:Parameter Name="active" Type="Boolean" /> </InsertParameters> </asp:ObjectDataSource> <asp:ObjectDataSource ID="VersionDataSource" runat="server" OldValuesParameterFormatString="original_{0}" Modified: Website/Includes/Builds.ascx.cs =================================================================== --- Website/Includes/Builds.ascx.cs 2006-08-11 14:16:29 UTC (rev 307) +++ Website/Includes/Builds.ascx.cs 2006-08-11 18:37:56 UTC (rev 308) @@ -10,25 +10,32 @@ using System.Collections.Generic; using TCDB.Code; - namespace TCDB { public partial class Builds : SiteUserControl { private static Logger m_logg = new Logger("TCDB.Authenticate"); - String id = HttpContext.Current.Request.QueryString["id"]; - String mode = HttpContext.Current.Request.QueryString["mode"]; - String version = HttpContext.Current.Request.QueryString["version"]; + int buildID = Convert.ToInt32(HttpContext.Current.Request.QueryString[Constants.CODE_BUILD]); + Build build; + + String mode = HttpContext.Current.Request.QueryString[Constants.CODE_MODE]; + int version = Convert.ToInt32(HttpContext.Current.Request.QueryString[Constants.CODE_VERSION]); + void Page_Load(Object sender, EventArgs e) { if (!m_user.HasRight(Constants.RIGHTS_DEV_ACCESS)) Response.Redirect("~/Administration.aspx"); - - if (id == null) - Response.Redirect("Admin.aspx"); - Session.Add("id", id); + if (buildID == 0 && mode == null) + { + m_logg.Info("Could not find build. Redirecting"); + Response.Redirect("~/Administration.aspx"); + } + + build = VersionDB.GetBuild(buildID); + Session.Add("buildID", buildID); + //if (mode != null && mode == "new") // FormView1.ChangeMode(FormViewMode.Insert); Modified: Website/Includes/FeaturesTree.ascx.cs =================================================================== --- Website/Includes/FeaturesTree.ascx.cs 2006-08-11 14:16:29 UTC (rev 307) +++ Website/Includes/FeaturesTree.ascx.cs 2006-08-11 18:37:56 UTC (rev 308) @@ -75,9 +75,9 @@ { int productID = Convert.ToInt32(parent.Value); ArrayList nodes = (ArrayList)Session["TreeNodes"]; - List<ProductVersion> versions = VersionDB.GetVersionList(productID, active); + List<Release> versions = VersionDB.GetVersionList(productID, active); - foreach (ProductVersion version in versions) + foreach (Release version in versions) { // Create the new node. TreeNode newNode = new TreeNode(); Modified: Website/Includes/Products.ascx.cs =================================================================== --- Website/Includes/Products.ascx.cs 2006-08-11 14:16:29 UTC (rev 307) +++ Website/Includes/Products.ascx.cs 2006-08-11 18:37:56 UTC (rev 308) @@ -57,50 +57,6 @@ product = ProductDB.GetProduct(productID); } - protected void updateUserRoleProducts() - { - DropDownList roleList = (DropDownList)ProductsView.FindControl("roleList"); - ListBox userList = (ListBox)ProductsView.FindControl("userList"); - Dictionary<String, ArrayList> RoleUsers = (Dictionary<String, ArrayList>)Session["RoleUsers"]; - if (RoleUsers == null) - return; - tcdbDataSetTableAdapters.db_roleUserProductTableAdapter rupAdapter = new tcdbDataSetTableAdapters.db_roleUserProductTableAdapter(); - - // Update ProductUsers - int[] indices = userList.GetSelectedIndices(); - ArrayList users = new ArrayList(); - foreach (int index in indices) - users.Add(userList.Items[index].Value); - if (RoleUsers.ContainsKey(roleList.SelectedValue)) - RoleUsers[roleList.SelectedValue] = users; - - foreach (ListItem role in roleList.Items) - { - /* - String productID = item.Value; - - // Clear list - rupAdapter.upd_userRoleProduct(null,null,Convert.ToInt32(productID),false); - - // update ProductUser roles - if (ProductUsers.ContainsKey(productID)) - { - foreach (String userID in ProductUsers[productID]) - rupAdapter.ins_userRoleProduct(Convert.ToInt32(userID),roleID,Convert.ToInt32(productID)); - } - */ - int roleID = Convert.ToInt32(role.Value); - foreach (ListItem user in userList.Items) - { - int userID = Convert.ToInt32(user.Value); - - if (RoleUsers.ContainsKey(roleID.ToString()) && RoleUsers[roleID.ToString()].Contains(userID.ToString())) - rupAdapter.ins_userRoleProduct(userID, roleID, productID); - else - rupAdapter.upd_userRoleProduct(userID, roleID, productID, false); - } - } - } protected void deleteCmd(object sender, CommandEventArgs e) { tcdbDataSetTableAdapters.db_productsTableAdapter pAdapter = new tcdbDataSetTableAdapters.db_productsTableAdapter(); @@ -120,14 +76,13 @@ { productID = product.ID; - updateUserRoleProducts(); + m_user.AddRole("Administrator", productID); Response.Redirect("Product.aspx?" + Constants.CODE_PRODUCT + "=" + productID); } } } protected void ProductsView_ItemUpdated(object sender, FormViewUpdatedEventArgs e) { - updateUserRoleProducts(); Response.Redirect("Product.aspx?" + Constants.CODE_PRODUCT + "=" + productID); } protected void ProductsView_ItemCommand(object sender, FormViewCommandEventArgs e) @@ -187,9 +142,9 @@ { LinkButton deleteBtn = (LinkButton)sender; Label deleteLbl = (Label)ProductsView.FindControl("deleteLbl"); - Label activeLbl = (Label)ProductsView.FindControl("activeLbl"); + Label activeLbl = (Label)ProductsView.FindControl("activeLbl"); - if (mode == "read" || activeLbl.Visible || (!m_user.HasRight(Constants.RIGHTS_PRODUCT_DELETE,productID))) + if (mode == "read" || activeLbl.Visible || (!m_user.HasRight(Constants.RIGHTS_PRODUCT_DELETE, productID))) { deleteBtn.Visible = false; deleteLbl.Visible = false; @@ -227,6 +182,7 @@ } } } + protected void activeBox_Init(object sender, EventArgs e) { CheckBox activeBox = (CheckBox)sender; @@ -255,6 +211,7 @@ Response.Redirect(Request.RawUrl); } } + protected void ProductsView_DataBound(object sender, EventArgs e) { CheckBox activeBox = (CheckBox)ProductsView.FindControl("activeBox"); Modified: Website/Includes/Rights.ascx =================================================================== --- Website/Includes/Rights.ascx 2006-08-11 14:16:29 UTC (rev 307) +++ Website/Includes/Rights.ascx 2006-08-11 18:37:56 UTC (rev 308) @@ -68,7 +68,8 @@ <div class="xboxcontent"> <div class="ct"> <div class="item"> - <label> + <asp:CheckBox ID="Active" runat="server" Checked='<%# Bind("active") %>' Enabled="False" + Visible="False" /><label> Name:</label> <asp:TextBox ID="nameLabel" runat="server" Text='<%# Bind("rightsName") %>' Width="400"></asp:TextBox></div> <div class="item"> Modified: Website/Includes/Rights.ascx.cs =================================================================== --- Website/Includes/Rights.ascx.cs 2006-08-11 14:16:29 UTC (rev 307) +++ Website/Includes/Rights.ascx.cs 2006-08-11 18:37:56 UTC (rev 308) @@ -126,7 +126,10 @@ if (FormView1.CurrentMode != FormViewMode.Insert && row != null) activeBox.Checked = Convert.ToBoolean(row["active"]); else + { activeBox.Enabled = false; + activeBox.Checked = true; + } } protected void roleList_Init(object sender, EventArgs e) { Modified: Website/Includes/RoleAssignments.ascx.cs =================================================================== --- Website/Includes/RoleAssignments.ascx.cs 2006-08-11 14:16:29 UTC (rev 307) +++ Website/Includes/RoleAssignments.ascx.cs 2006-08-11 18:37:56 UTC (rev 308) @@ -104,9 +104,17 @@ { List<Product> products = ProductDB.GetProductList(active); foreach (Product product in products) + { if (m_user.HasRight(Constants.RIGHTS_ROLE_EDIT_USERS, product.ID)) - productList.Items.Add(new ListItem(product.NAME, product.ID.ToString())); + { + ListItem item = new ListItem(product.NAME, product.ID.ToString()); + if (!product.ACTIVE) + item.Attributes.CssStyle.Add("text-decoration", "line-through"); + productList.Items.Add(item); + } + } + // Set selected value if (productList.Items.FindByValue(productID.ToString()) != null && m_user.HasRight(Constants.RIGHTS_ROLE_EDIT_USERS, productID)) productList.SelectedValue = productID.ToString(); Modified: Website/Includes/UserRoles.ascx.cs =================================================================== --- Website/Includes/UserRoles.ascx.cs 2006-08-11 14:16:29 UTC (rev 307) +++ Website/Includes/UserRoles.ascx.cs 2006-08-11 18:37:56 UTC (rev 308) @@ -49,7 +49,11 @@ if (mode == "new" && m_user.HasRight(Constants.RIGHTS_ROLE_CREATE, Constants.PRODUCT_ANYID)) UserRoleView.ChangeMode(FormViewMode.Insert); - else if (mode == "edit" && (m_user.HasRight(Constants.RIGHTS_ROLE_EDIT, Constants.PRODUCT_ANYID) || m_user.HasRight(Constants.RIGHTS_ROLE_EDIT_USERS, Constants.PRODUCT_ANYID))) + else if (mode == "edit" && + (m_user.HasRight(Constants.RIGHTS_ROLE_EDIT, Constants.PRODUCT_ANYID) || + m_user.HasRight(Constants.RIGHTS_ROLE_EDIT_USERS, Constants.PRODUCT_ANYID)) + // TODO: change this to user build-in attribute when implemented + && (role.ID != Constants.ROLE_ADMIN && role.ID != Constants.ROLE_BASIC_USER || m_user.HasRight("dev_access"))) UserRoleView.ChangeMode(FormViewMode.Edit); } @@ -143,6 +147,8 @@ protected void EditAssignments_Command(object sender, CommandEventArgs e) { + if (productID == null) + productID = Constants.PRODUCT_SITEID.ToString(); Response.Redirect("~/RoleAssignments.aspx?" + Constants.CODE_PRODUCT + "=" + productID + "&" + Constants.CODE_ROLE + "=" + roleID); } protected void NewRight_Init(object sender, EventArgs e) @@ -207,7 +213,10 @@ LinkButton editBtn = (LinkButton)sender; Label editLbl = (Label)UserRoleView.FindControl("NewLbl"); - if (!m_user.HasRight(Constants.RIGHTS_ROLE_EDIT, Constants.PRODUCT_ANYID) && !m_user.HasRight(Constants.RIGHTS_ROLE_EDIT_USERS, Constants.PRODUCT_ANYID)) + if (!m_user.HasRight(Constants.RIGHTS_ROLE_EDIT, Constants.PRODUCT_ANYID) && + !m_user.HasRight(Constants.RIGHTS_ROLE_EDIT_USERS, Constants.PRODUCT_ANYID) && + // TODO: change this to user build-in attribute when implemented + !(m_user.HasRight("dev_access") || role.ID != Constants.ROLE_ADMIN && role.ID != Constants.ROLE_BASIC_USER)) { editBtn.Visible = false; editLbl.Visible = false; @@ -235,7 +244,7 @@ editBtn.Visible = false; newLbl.Visible = false; } - } + } } protected void ActiveBox_Init(object sender, EventArgs e) @@ -260,8 +269,8 @@ } else { - tcdbDataSetTableAdapters.db_roleTableAdapter rAdapter = new tcdbDataSetTableAdapters.db_roleTableAdapter(); - rAdapter.Update(role.ID, role.NAME, role.DESCRIPTION, activeBox.Checked); + tcdbDataSetTableAdapters.db_roleTableAdapter rAdapter = new tcdbDataSetTableAdapters.db_roleTableAdapter(); + rAdapter.Update(role.ID, role.NAME, role.DESCRIPTION, activeBox.Checked); Response.Redirect(Request.RawUrl); } @@ -307,10 +316,10 @@ ListBox assigned = (ListBox)UserRoleView.FindControl("AssignedList"); int[] indices = unassigned.GetSelectedIndices(); - for (int index = indices.Length-1; index >= 0; index--) + for (int index = indices.Length - 1; index >= 0; index--) { ListItem item = unassigned.Items[indices[index]]; - + unassigned.Items.Remove(item); assigned.Items.Add(item); item.Selected = false; @@ -322,7 +331,7 @@ ListBox assigned = (ListBox)UserRoleView.FindControl("AssignedList"); int[] indices = assigned.GetSelectedIndices(); - for (int index = indices.Length-1; index >= 0; index--) + for (int index = indices.Length - 1; index >= 0; index--) { ListItem item = assigned.Items[indices[index]]; @@ -348,11 +357,11 @@ if (rightsList.Text != "") rightsList.Text += ", "; if (!right.ACTIVE) - rightsList.Text += "<font class='deleted'>"+ right.NAME +"</font>"; + rightsList.Text += "<font class='deleted'>" + right.NAME + "</font>"; else rightsList.Text += right.NAME; } } + } } -} Modified: Website/Includes/UserSettings.ascx.cs =================================================================== --- Website/Includes/UserSettings.ascx.cs 2006-08-11 14:16:29 UTC (rev 307) +++ Website/Includes/UserSettings.ascx.cs 2006-08-11 18:37:56 UTC (rev 308) @@ -355,23 +355,23 @@ ProductRoles.Clear(); // Get products - List<Product> products = ProductDB.GetProductList(active); + List<Product> products = ProductDB.GetProductList(active); - foreach (Product product in products) + foreach (Product product in products) { - if ((userID == m_user.ID && m_user.HasRight(Constants.RIGHTS_ROLE_VIEW_MY, product.ID)) || - (userID != m_user.ID && m_user.HasRight(Constants.RIGHTS_ROLE_VIEW_OTHER, product.ID))) + if ((userID == m_user.ID && m_user.HasRight(Constants.RIGHTS_ROLE_VIEW_MY, product.ID)) || + (userID != m_user.ID && m_user.HasRight(Constants.RIGHTS_ROLE_VIEW_OTHER, product.ID))) { // Get Roles tcdbDataSetTableAdapters.db_roleUserProductTableAdapter rupAdapter = new tcdbDataSetTableAdapters.db_roleUserProductTableAdapter(); - tcdbDataSet.db_roleUserProductDataTable rupTable = rupAdapter.GetData(userID, product.ID, true); + tcdbDataSet.db_roleUserProductDataTable rupTable = rupAdapter.GetData(userID, product.ID, true); ArrayList roles = new ArrayList(); foreach (tcdbDataSet.db_roleUserProductRow rupRow in rupTable) roles.Add(rupRow.roleName); if (roles.Count > 0) - ProductRoles[product.NAME] = roles; + ProductRoles[product.NAME] = roles; } } Modified: Website/Includes/Versions.ascx =================================================================== --- Website/Includes/Versions.ascx 2006-08-11 14:16:29 UTC (rev 307) +++ Website/Includes/Versions.ascx 2006-08-11 18:37:56 UTC (rev 308) @@ -46,7 +46,7 @@ <asp:Label ID="productName" runat="server" Text='<%# Eval("productName") %>'></asp:Label></td> <td align="left" colspan="2" valign="top"> <strong>Platforms: </strong><br /> - <asp:ListBox ID="platformList" runat="server"></asp:ListBox> + <asp:ListBox ID="platformList" runat="server" Height="150px" Width="150px"></asp:ListBox> </td> </tr> <tr> @@ -101,7 +101,7 @@ </td> <td align="left" colspan="2" valign="top"> <strong>Platform:</strong><br /> - <asp:ListBox ID="platformList" runat="server" OnDataBound="platformList_DataBound" SelectionMode="Multiple" OnInit="platformList_Init"> + <asp:ListBox ID="platformList" runat="server" OnDataBound="platformList_DataBound" SelectionMode="Multiple" OnInit="platformList_Init" Height="150px" Width="150px"> </asp:ListBox> </td> </tr> <tr> @@ -194,7 +194,6 @@ <asp:Parameter Name="productID" Type="Int32" /> <asp:Parameter Name="number" Type="String" /> <asp:Parameter Name="code" Type="String" /> - <asp:Parameter Name="active" Type="Boolean" /> </InsertParameters> </asp:ObjectDataSource> <asp:ObjectDataSource ID="ProductsDataSource" runat="server" OldValuesParameterFormatString="original_{0}" Modified: Website/Includes/Versions.ascx.cs =================================================================== --- Website/Includes/Versions.ascx.cs 2006-08-11 14:16:29 UTC (rev 307) +++ Website/Includes/Versions.ascx.cs 2006-08-11 18:37:56 UTC (rev 308) @@ -10,7 +10,6 @@ using System.Collections.Generic; using TCDB.Code; - namespace TCDB { public partial class Versions : SiteUserControl @@ -32,6 +31,10 @@ Response.Redirect("TestManagement.aspx"); } } + + // Check rights + + Session.Add("versionID", versionID); if (mode == "new") This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2006-08-11 19:46:21
|
Revision: 309 Author: rouquin Date: 2006-08-11 12:46:14 -0700 (Fri, 11 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=309&view=rev Log Message: ----------- The Version page is working as much as I can get it to right now. (don't press the update button. :-) Modified Paths: -------------- Website/App_Code/Versions.cs Website/Includes/AdministrationTree.ascx.cs Website/Includes/Versions.ascx Website/Includes/Versions.ascx.cs Modified: Website/App_Code/Versions.cs =================================================================== --- Website/App_Code/Versions.cs 2006-08-11 18:37:56 UTC (rev 308) +++ Website/App_Code/Versions.cs 2006-08-11 19:46:14 UTC (rev 309) @@ -16,10 +16,10 @@ /// </summary> public class VersionDB : Page { - public static Release GetVersion(int VersionID) + public static Release GetVersion(int versionID) { tcdbDataSetTableAdapters.db_versionTableAdapter versionAdapter = new tcdbDataSetTableAdapters.db_versionTableAdapter(); - tcdbDataSet.db_versionDataTable versionTable = versionAdapter.GetData(VersionID, null, true); + tcdbDataSet.db_versionDataTable versionTable = versionAdapter.GetData(versionID, null, null); Release version = new Release(); if (versionTable.Count > 0) @@ -27,7 +27,6 @@ return version; } - public static List<Release> GetVersionList(Nullable<int> ProductID, Nullable<bool> active) { tcdbDataSetTableAdapters.db_versionTableAdapter versionAdapter = new tcdbDataSetTableAdapters.db_versionTableAdapter(); @@ -39,6 +38,11 @@ return versionList; } + public static void SaveVersion(String number, String code, int productID) + { + tcdbDataSetTableAdapters.db_versionTableAdapter vAdapter = new tcdbDataSetTableAdapters.db_versionTableAdapter(); + vAdapter.Insert(productID, number, code); + } public static Build GetBuild(int buildID) { @@ -51,7 +55,6 @@ return build; } - public static List<Build> GetBuildList(Nullable<int> versionID, Nullable<bool> active) { tcdbDataSetTableAdapters.db_buildTableAdapter bAdapter = new tcdbDataSetTableAdapters.db_buildTableAdapter(); @@ -63,6 +66,11 @@ return buildList; } + public static void SaveBuild(String number, int versionID) + { + tcdbDataSetTableAdapters.db_buildTableAdapter bAdapter = new tcdbDataSetTableAdapters.db_buildTableAdapter(); + bAdapter.Insert(versionID, number); + } } public class Release Modified: Website/Includes/AdministrationTree.ascx.cs =================================================================== --- Website/Includes/AdministrationTree.ascx.cs 2006-08-11 18:37:56 UTC (rev 308) +++ Website/Includes/AdministrationTree.ascx.cs 2006-08-11 19:46:14 UTC (rev 309) @@ -177,7 +177,7 @@ // Set additional properties for the node. newNode.SelectAction = TreeNodeSelectAction.Expand; - newNode.NavigateUrl = "~/Version.aspx?" + Constants.CODE_VERSION + "=" + newNode.Value; + newNode.NavigateUrl = "~/Version.aspx?"+Constants.CODE_PRODUCT+"="+productID+"&" + Constants.CODE_VERSION + "=" + newNode.Value; if (!version.ACTIVE) newNode.Text = "<font class='deleted'>" + newNode.Text + "</font>"; @@ -847,6 +847,5 @@ break; } } - } } Modified: Website/Includes/Versions.ascx =================================================================== --- Website/Includes/Versions.ascx 2006-08-11 18:37:56 UTC (rev 308) +++ Website/Includes/Versions.ascx 2006-08-11 19:46:14 UTC (rev 309) @@ -1,6 +1,6 @@ <%@ Control Language="C#" AutoEventWireup="true" CodeFile="Versions.ascx.cs" Inherits="TCDB.Versions" %> <asp:FormView ID="FormView1" runat="server" DataKeyNames="versionID" DataSourceID="VersionDataSource" - OnDataBound="FormView1_DataBound" OnItemDeleted="FormView1_ItemDeleted" OnItemInserted="FormView1_ItemInserted" + OnDataBound="FormView1_DataBound" OnItemInserted="FormView1_ItemInserted" OnItemUpdated="FormView1_ItemUpdated"> <HeaderTemplate> <table width="100%"> @@ -14,9 +14,10 @@ OnCommand="newTestPass">New Test Pass</asp:LinkButton><strong> </strong> <asp:LinkButton ID="newBuild" runat="server" CommandArgument='<%# Eval("versionID") %>' OnCommand="newBuild" PostBackUrl="~/Build.aspx?mode=new">New Build</asp:LinkButton> - <asp:LinkButton ID="newPlatform" runat="server" CommandName="newPlatform" PostBackUrl="~/Platform.aspx?mode=new">New Platform</asp:LinkButton> - <strong>Active:</strong> - <asp:CheckBox ID="activeBox" runat="server" AutoPostBack="True" OnCheckedChanged="activeBox_CheckedChanged" /> + <asp:LinkButton ID="newPlatform" runat="server" CommandName="newPlatform" PostBackUrl="~/Platform.aspx?mode=new">New Platform</asp:LinkButton><br /> + <asp:Label ID="activeLbl" runat="server" Text="Hidden:"></asp:Label> + <asp:CheckBox ID="activeBox" runat="server" AutoPostBack="True" OnCheckedChanged="activeBox_CheckedChanged" + OnInit="activeBox_Init" /> </td> </tr> </table> @@ -45,7 +46,8 @@ <strong>Product:</strong> <asp:Label ID="productName" runat="server" Text='<%# Eval("productName") %>'></asp:Label></td> <td align="left" colspan="2" valign="top"> - <strong>Platforms: </strong><br /> + <strong>Platforms: </strong> + <br /> <asp:ListBox ID="platformList" runat="server" Height="150px" Width="150px"></asp:ListBox> </td> </tr> @@ -56,13 +58,9 @@ <tr> <td align="left" colspan="1" style="height: 34px" width="25%"> <asp:LinkButton ID="NewButton" runat="server" CausesValidation="False" CommandName="New" - Text="New"></asp:LinkButton> - | - <asp:LinkButton ID="EditButton" runat="server" CausesValidation="False" CommandName="Edit" - Text="Edit"></asp:LinkButton> - | - <asp:LinkButton ID="DeleteButton" runat="server" CausesValidation="False" CommandName="Delete" - Text="Delete"></asp:LinkButton> + Text="New" OnInit="NewButton_Init"></asp:LinkButton><asp:Label ID="newLbl" runat="server"> | </asp:Label><asp:LinkButton + ID="EditButton" runat="server" CausesValidation="False" CommandName="Edit" Text="Edit" + OnInit="EditButton_Init"></asp:LinkButton> </td> <td colspan="3" style="height: 34px"> </td> @@ -81,8 +79,10 @@ <table width="700"> <tr> <td align="left" colspan="3" width="60%"> - <strong>Version #: </strong> <asp:TextBox ID="numberBox" runat="server" - Text='<%# Bind("number") %>'></asp:TextBox></td> + <strong> + <asp:CheckBox ID="Active" runat="server" Checked='<%# Bind("active") %>' Enabled="False" + Visible="False" />Version #: </strong> + <asp:TextBox ID="numberBox" runat="server" Text='<%# Bind("number") %>'></asp:TextBox></td> <td align="right" colspan="1" width="40%"> <strong>Date Created: <asp:Label ID="dateCreatedLbl" runat="server" Font-Bold="False" Text='<%# Eval("dateCreated") %>'></asp:Label> @@ -95,14 +95,15 @@ <tr> <td align="left" colspan="2"> <strong>Product:</strong> - <asp:DropDownList ID="productList" runat="server" DataSourceID="ProductsDataSource" - DataTextField="name" DataValueField="productID" SelectedValue='<%# Bind("productID") %>'> + <asp:DropDownList ID="productList" runat="server" OnInit="productList_Init"> </asp:DropDownList> </td> <td align="left" colspan="2" valign="top"> <strong>Platform:</strong><br /> - <asp:ListBox ID="platformList" runat="server" OnDataBound="platformList_DataBound" SelectionMode="Multiple" OnInit="platformList_Init" Height="150px" Width="150px"> - </asp:ListBox> </td> + <asp:ListBox ID="platformList" runat="server" OnDataBound="platformList_DataBound" + SelectionMode="Multiple" OnInit="platformList_Init" Height="150px" Width="150px"> + </asp:ListBox> + </td> </tr> <tr> <td class="hr" colspan="4"> @@ -138,7 +139,7 @@ Text='<%# Bind("number") %>'></asp:TextBox></td> <td align="right" colspan="1" width="40%"> <strong>Date Created: - <asp:Label ID="dateCreatedLbl" runat="server" Font-Bold="False" Text='<%# Bind("dateCreated") %>'></asp:Label> </strong></td> + <asp:Label ID="dateCreatedLbl" runat="server" Font-Bold="False" Text='<%# Eval("dateCreated") %>'></asp:Label> </strong></td> </tr> <tr> <td class="hr" colspan="4" style="height: 1px"> @@ -147,13 +148,13 @@ <tr> <td align="left" colspan="2"> <strong>Product:</strong> - <asp:DropDownList ID="productList" runat="server" DataSourceID="ProductsDataSource" - DataTextField="name" DataValueField="productID" SelectedValue='<%# Bind("productID") %>'> + <asp:DropDownList ID="productList" runat="server" OnInit="productList_Init"> </asp:DropDownList> </td> <td align="left" colspan="2" valign="top"> <strong>Platform:</strong><br /> - <asp:ListBox ID="platformList" runat="server" SelectionMode="Multiple"></asp:ListBox> </td> + <asp:ListBox ID="platformList" runat="server" SelectionMode="Multiple"></asp:ListBox> + </td> </tr> <tr> <td class="hr" colspan="4"> @@ -177,7 +178,7 @@ </InsertItemTemplate> </asp:FormView> <asp:ObjectDataSource ID="VersionDataSource" runat="server" InsertMethod="Insert" - OldValuesParameterFormatString="original_{0}" SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.db_versionTableAdapter" + OldValuesParameterFormatString="{0}" SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.db_versionTableAdapter" UpdateMethod="Update"> <UpdateParameters> <asp:Parameter Name="productID" Type="Int32" /> Modified: Website/Includes/Versions.ascx.cs =================================================================== --- Website/Includes/Versions.ascx.cs 2006-08-11 18:37:56 UTC (rev 308) +++ Website/Includes/Versions.ascx.cs 2006-08-11 19:46:14 UTC (rev 309) @@ -16,8 +16,9 @@ { private static Logger m_logg = new Logger("TCDB.Versions"); int versionID = Convert.ToInt32(HttpContext.Current.Request.QueryString[Constants.CODE_VERSION]); - String mode = HttpContext.Current.Request.QueryString["mode"]; - String product = HttpContext.Current.Request.QueryString[Constants.CODE_PRODUCT]; + Release version; + String mode = HttpContext.Current.Request.QueryString[Constants.CODE_MODE]; + int productID = Convert.ToInt32(HttpContext.Current.Request.QueryString[Constants.CODE_PRODUCT]); protected void Page_Load(object sender, EventArgs e) { @@ -28,46 +29,58 @@ if (mode == null) { m_logg.Debug("Mode not set, redirecting to Test Management page"); - Response.Redirect("TestManagement.aspx"); + Response.Redirect("~/TestManagement.aspx"); } } - - // Check rights - - Session.Add("versionID", versionID); - - if (mode == "new") + if (mode == "new" && m_user.HasRight(Constants.RIGHTS_VERSION_CREATE, Constants.PRODUCT_ANYID)) + { + // New Version + Page.Title = "TCDB: New Version"; FormView1.ChangeMode(FormViewMode.Insert); + } + else + { + version = VersionDB.GetVersion(versionID); + Page.Title = "TCDB: Version #" + version.NUMBER; - Session.Add("tableName", "tcdb_version"); + // Check rights + if (!m_user.HasRight(Constants.RIGHTS_VERSION_VIEW, version.PRODUCT.ID)) + Response.Redirect("~/TestManagement.aspx"); + if (mode == "edit" && m_user.HasRight(Constants.RIGHTS_VERSION_EDIT, version.PRODUCT.ID)) + FormView1.ChangeMode(FormViewMode.Insert); + + Session.Add("tableName", "tcdb_version"); + } } - protected void activeBox_CheckedChanged(object sender, EventArgs e) - { - CheckBox active = (CheckBox)sender; - // TODO: update active value when procedure is created - //SqlCommand cmd = new SqlCommand("UPDATE version SET active='" + active.Checked + "' WHERE versionID=" + versionID, Master.DBConnection); - //cmd.ExecuteNonQuery(); - } - protected void FormView1_ItemDeleted(object sender, FormViewDeletedEventArgs e) + protected void FormView1_ItemInserted(object sender, FormViewInsertedEventArgs e) { - // TODO: Update version platforms when possible - // clear current values - //SqlCommand cmd = new SqlCommand("DELETE FROM platformVersion WHERE versionID=" + versionID, Master.DBConnection); - //cmd.ExecuteNonQuery(); + if (e.Exception == null) + { + List<Release> versions = VersionDB.GetVersionList(Convert.ToInt32(e.Values["productID"]), true); - Response.Redirect("Administration.aspx"); + if (versions.Count > 0) + { + updatePlatforms(); + Response.Redirect("Version.aspx?" + Constants.CODE_VERSION + "=" + versions[0].ID); + } + } + else + { + m_logg.Error("Could not insert version"); + } } - protected void FormView1_ItemInserted(object sender, FormViewInsertedEventArgs e) + protected void FormView1_ItemUpdated(object sender, FormViewUpdatedEventArgs e) { - tcdbDataSetTableAdapters.db_versionTableAdapter versionAdapter = new tcdbDataSetTableAdapters.db_versionTableAdapter(); - tcdbDataSet.db_versionDataTable versionTable = versionAdapter.GetData(null, Convert.ToInt32(e.Values["productID"]), active); - if (versionTable.Count > 0) + if (e.Exception == null) { updatePlatforms(); - Response.Redirect("Version.aspx?" + Constants.CODE_VERSION + "=" + versionTable[versionTable.Count - 1].versionID); } + else + { + m_logg.Error("Could not update version"); + } } protected void FormView1_DataBound(object sender, EventArgs e) { @@ -77,15 +90,16 @@ { Label dateCreated = (Label)FormView1.FindControl("dateCreatedLbl"); dateCreated.Text = DateTime.Today.ToShortDateString(); - active.Checked = true; + active.Checked = false; } else { DataRowView row = (DataRowView)FormView1.DataItem; if (row != null) - active.Checked = Convert.ToBoolean(row["active"].ToString()); + active.Checked = !Convert.ToBoolean(row["active"].ToString()); } } + protected void newTestPass(object sender, CommandEventArgs e) { Response.Redirect("~/TestPass.aspx?mode=new&" + Constants.CODE_VERSION + "=" + e.CommandArgument); @@ -94,18 +108,7 @@ { Response.Redirect("~/Build.aspx?mode=new&" + Constants.CODE_VERSION + "=" + e.CommandArgument); } - protected void productList_DataBound(object sender, EventArgs e) - { - if (FormView1.CurrentMode == FormViewMode.Insert && product != null) - { - DropDownList productList = (DropDownList)sender; - productList.SelectedValue = product; - } - } - protected void FormView1_ItemUpdated(object sender, FormViewUpdatedEventArgs e) - { - updatePlatforms(); - } + protected void updatePlatforms() { ListBox platformList = (ListBox)FormView1.FindControl("platformList"); @@ -147,7 +150,84 @@ } protected void platformList_Init(object sender, EventArgs e) { - + } -} + + protected void activeBox_Init(object sender, EventArgs e) + { + CheckBox activeBox = (CheckBox)sender; + Label activeLbl = (Label)FormView1.FindControl("ActiveLbl"); + if (version == null) version = VersionDB.GetVersion(versionID); + + if (!m_user.HasRight(Constants.RIGHTS_VERSION_HIDE, version.PRODUCT.ID)) + { + activeBox.Visible = false; + activeLbl.Visible = false; + } + } + protected void activeBox_CheckedChanged(object sender, EventArgs e) + { + CheckBox activeBox = (CheckBox)sender; + + if (FormView1.CurrentMode == FormViewMode.Edit) + { + CheckBox active = (CheckBox)FormView1.FindControl("active"); + active.Checked = !activeBox.Checked; + } + else + { + /* TODO: add versionID and enable when bug 9898 + tcdbDataSetTableAdapters.db_versionTableAdapter vAdapter = new tcdbDataSetTableAdapters.db_versionTableAdapter(); + vAdapter.Update(version.PRODUCT.ID, version.NUMBER, version.CODE, !activeBox.Checked); + + Response.Redirect(Request.RawUrl); + */ + } + } + + protected void NewButton_Init(object sender, EventArgs e) + { + LinkButton newBtn = (LinkButton)sender; + Label newLbl = (Label)FormView1.FindControl("newLbl"); + + if (!m_user.HasRight(Constants.RIGHTS_VERSION_CREATE, Constants.PRODUCT_ANYID)) + { + newBtn.Visible = false; + newLbl.Visible = false; + } + } + protected void EditButton_Init(object sender, EventArgs e) + { + LinkButton editBtn = (LinkButton)sender; + Label newLbl = (Label)FormView1.FindControl("newLbl"); + if (version == null) version = VersionDB.GetVersion(versionID); + + if (!m_user.HasRight(Constants.RIGHTS_VERSION_EDIT, version.PRODUCT.ID)) + { + editBtn.Visible = false; + newLbl.Visible = false; + } + } + + protected void productList_Init(object sender, EventArgs e) + { + List<Product> products = ProductDB.GetProductList(active); + DropDownList productList = (DropDownList) sender; + + foreach (Product product in products) + { + if (m_user.HasRight(Constants.RIGHTS_VERSION_CREATE, product.ID) || + (product.ID == productID && m_user.HasRight(Constants.RIGHTS_VERSION_EDIT, productID))) + { + ListItem item = new ListItem(product.NAME, product.ID.ToString()); + if (!product.ACTIVE) + item.Attributes.CssStyle.Add("text-decoration", "line-through"); + if (product.ID == productID) + item.Selected = true; + + productList.Items.Add(item); + } + } + } + } } \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2006-08-14 19:18:04
|
Revision: 317 Author: rouquin Date: 2006-08-14 12:17:52 -0700 (Mon, 14 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=317&view=rev Log Message: ----------- Commmitting so I don't lose things Modified Paths: -------------- Website/App_Code/tcdbDataSet.xsd Website/App_Code/tcdbDataSet.xss Website/Includes/Architectures.ascx Website/Includes/Architectures.ascx.cs Website/Includes/Features.ascx Website/Includes/OperatingSystems.ascx Website/Includes/OperatingSystems.ascx.cs Website/Includes/Versions.ascx Website/Includes/Versions.ascx.cs Added Paths: ----------- Website/App_Code/Platforms.cs Added: Website/App_Code/Platforms.cs =================================================================== --- Website/App_Code/Platforms.cs (rev 0) +++ Website/App_Code/Platforms.cs 2006-08-14 19:17:52 UTC (rev 317) @@ -0,0 +1,264 @@ +using System; +using System.Data; +using System.Configuration; +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; + +namespace TCDB.Code +{ + /// <summary> + /// Summary description for TCDB.Platforms + /// </summary> + public class PlatformDB : Page + { + public static Platform GetPlatform(int platformID) + { + tcdbDataSetTableAdapters.db_platformTableAdapter pAdapter = new tcdbDataSetTableAdapters.db_platformTableAdapter(); + tcdbDataSet.db_platformDataTable pTable = pAdapter.GetData(platformID, null, null, null, null, null); + Platform platform = new Platform(); + + if (pTable.Count > 0) + platform = new Platform(pTable[0]); + + return platform; + } + public static List<Platform> GetPlatformList(Nullable<int> versionID) + { + /* + tcdbDataSetTableAdapters.db_versionTableAdapter versionAdapter = new tcdbDataSetTableAdapters.db_versionTableAdapter(); + tcdbDataSet.db_versionDataTable versionTable = versionAdapter.GetData(null, ProductID, active); + List<Platform> versionList = new List<Platform>(); + + foreach (tcdbDataSet.db_versionRow row in versionTable) + versionList.Add(new Platform(row)); + + return versionList; + */ + return new List<Platform>(); + } + public static void SavePlatform(int archID, int osID) + { + tcdbDataSetTableAdapters.db_platformTableAdapter pAdapter = new tcdbDataSetTableAdapters.db_platformTableAdapter(); + pAdapter.Insert(archID, osID); + } + + public static Architecture GetArchitecture(int archID) + {/* + tcdbDataSetTableAdapters.db_buildTableAdapter bAdapter = new tcdbDataSetTableAdapters.db_buildTableAdapter(); + tcdbDataSet.db_buildDataTable bTable = bAdapter.GetData(null, null, buildID); + Architecture build = new Architecture(); + + if (bTable.Count > 0) + build = new Architecture(bTable[0]); + + return build; + */ + return new Architecture(); + } + public static List<Architecture> GetArchitectureList(Nullable<int> archID) + {/* + tcdbDataSetTableAdapters.db_buildTableAdapter bAdapter = new tcdbDataSetTableAdapters.db_buildTableAdapter(); + tcdbDataSet.db_buildDataTable bTable = bAdapter.GetData(active, versionID, null); + List<Architecture> buildList = new List<Architecture>(); + + foreach (tcdbDataSet.db_buildRow row in bTable) + buildList.Add(new Architecture(row)); + + return buildList; + */ + return new List<Architecture>(); + } + public static void SaveArchitecture(String number, int versionID) + {/* + tcdbDataSetTableAdapters.db_buildTableAdapter bAdapter = new tcdbDataSetTableAdapters.db_buildTableAdapter(); + bAdapter.Insert(versionID, number); + */ + } + + public static OperatingSystem GetOperatingSystem(int buildID) + {/* + tcdbDataSetTableAdapters.db_buildTableAdapter bAdapter = new tcdbDataSetTableAdapters.db_buildTableAdapter(); + tcdbDataSet.db_buildDataTable bTable = bAdapter.GetData(null, null, buildID); + OperatingSystem build = new OperatingSystem(); + + if (bTable.Count > 0) + build = new OperatingSystem(bTable[0]); + + return build; + */ + return new OperatingSystem(); + } + public static List<OperatingSystem> GetOperatingSystemList(Nullable<int> versionID, Nullable<bool> active) + {/* + tcdbDataSetTableAdapters.db_buildTableAdapter bAdapter = new tcdbDataSetTableAdapters.db_buildTableAdapter(); + tcdbDataSet.db_buildDataTable bTable = bAdapter.GetData(active, versionID, null); + List<OperatingSystem> buildList = new List<OperatingSystem>(); + + foreach (tcdbDataSet.db_buildRow row in bTable) + buildList.Add(new OperatingSystem(row)); + + return buildList; + */ + return new List<OperatingSystem>(); + } + public static void SaveOperatingSystem(String number, int versionID) + {/* + tcdbDataSetTableAdapters.db_buildTableAdapter bAdapter = new tcdbDataSetTableAdapters.db_buildTableAdapter(); + bAdapter.Insert(versionID, number); + */ + } + } + + public class Platform + { + private int p_id; + private Architecture p_arch; + private OperatingSystem p_os; + + public Platform() + { + p_id = 0; + p_arch = null; + p_os = null; + } + + public Platform(int platformID, int archID, int osID) + { + p_id = platformID; + p_arch = PlatformDB.GetArchitecture(archID); + p_os = PlatformDB.GetOperatingSystem(osID); + } + + public Platform(tcdbDataSet.db_platformRow row) + { + p_id = row.platformID; + p_arch = new Architecture(row.archID, row.archName); + p_os = new OperatingSystem(row.osID, row.osFriendlyName, row.osCodeName); + } + + public int ID + { + get { return p_id; } + set { p_id = value; } + } + + public Architecture ARCH + { + get { return p_arch; } + set { p_arch = value; } + } + + public OperatingSystem OS + { + get { return p_os; } + set { p_os = value; } + } + + public string NAME + { + get { return p_os.NAME + " (" + p_arch.NAME + ")"; } + } + + public override string ToString() + { + return NAME; + } + } + + public class Architecture + { + private int p_id; + private String p_name; + + public Architecture() + { + p_id = 0; + p_name = ""; + } + + public Architecture(int archID, String name) + { + p_id = archID; + p_name = name; + } + + /*public Architecture(tcdbDataSet.db_ArchitectureRow row) + { + p_id = row.architectureID; + p_number = row.name; + }*/ + + public int ID + { + get { return p_id; } + set { p_id = value; } + } + + public String NAME + { + get { return p_name; } + set { p_name = value; } + } + + public override string ToString() + { + return NAME; + } + } + + public class OperatingSystem + { + private int p_id; + private String p_name; + private String p_code; + + public OperatingSystem() + { + p_id = 0; + p_name = ""; + p_code = ""; + } + + public OperatingSystem(int osID, String name, String code) + { + p_id = osID; + p_name = name; + p_code = code; + } + + /*public OperatingSystem(tcdbDataSet.db_OSRow row) + { + p_id = row.osID; + p_name = row.friendlyName; + p_code = row.codeName; + } */ + + public int ID + { + get { return p_id; } + set { p_id = value; } + } + + public string NAME + { + get { return p_name; } + set { p_name = value; } + } + + public string CODE + { + get { return p_code; } + set { p_code = value; } + } + + public override string ToString() + { + return NAME; + } + } +} \ No newline at end of file Modified: Website/App_Code/tcdbDataSet.xsd =================================================================== --- Website/App_Code/tcdbDataSet.xsd 2006-08-14 17:47:26 UTC (rev 316) +++ Website/App_Code/tcdbDataSet.xsd 2006-08-14 19:17:52 UTC (rev 317) @@ -400,6 +400,8 @@ <Parameters> <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@versionID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumn="versionID" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@productID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumn="productID" SourceColumnNullMapping="False" SourceVersion="Current"> </Parameter> <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@number" Precision="0" ProviderType="VarChar" Scale="0" Size="50" SourceColumn="number" SourceColumnNullMapping="False" SourceVersion="Current"> @@ -1081,108 +1083,108 @@ <xs:element name="db_products" msprop:Generator_UserTableName="db_products" msprop:Generator_RowDeletedName="db_productsRowDeleted" msprop:Generator_RowChangedName="db_productsRowChanged" msprop:Generator_RowClassName="db_productsRow" msprop:Generator_RowChangingName="db_productsRowChanging" msprop:Generator_RowEvArgName="db_productsRowChangeEvent" msprop:Generator_RowEvHandlerName="db_productsRowChangeEventHandler" msprop:Generator_TableClassName="db_productsDataTable" msprop:Generator_TableVarName="tabledb_products" msprop:Generator_RowDeletingName="db_productsRowDeleting" msprop:Generator_TablePropName="db_products"> <xs:complexType> <xs:sequence> - <xs:element name="productID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" /> - <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> + <xs:element name="productID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" /> + <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> + <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="devManager" msprop:Generator_UserColumnName="devManager" msprop:Generator_ColumnPropNameInRow="devManager" msprop:Generator_ColumnVarNameInTable="columndevManager" msprop:Generator_ColumnPropNameInTable="devManagerColumn" type="xs:int" minOccurs="0" /> - <xs:element name="qaManager" msprop:Generator_UserColumnName="qaManager" msprop:Generator_ColumnPropNameInRow="qaManager" msprop:Generator_ColumnVarNameInTable="columnqaManager" msprop:Generator_ColumnPropNameInTable="qaManagerColumn" type="xs:int" minOccurs="0" /> - <xs:element name="devLead" msprop:Generator_UserColumnName="devLead" msprop:Generator_ColumnPropNameInRow="devLead" msprop:Generator_ColumnVarNameInTable="columndevLead" msprop:Generator_ColumnPropNameInTable="devLeadColumn" type="xs:int" minOccurs="0" /> - <xs:element name="qaLead" msprop:Generator_UserColumnName="qaLead" msprop:Generator_ColumnPropNameInRow="qaLead" msprop:Generator_ColumnVarNameInTable="columnqaLead" msprop:Generator_ColumnPropNameInTable="qaLeadColumn" type="xs:int" minOccurs="0" /> - <xs:element name="pm" msprop:Generator_UserColumnName="pm" msprop:Generator_ColumnPropNameInRow="pm" msprop:Generator_ColumnVarNameInTable="columnpm" msprop:Generator_ColumnPropNameInTable="pmColumn" type="xs:int" minOccurs="0" /> - <xs:element name="codeName" msprop:Generator_UserColumnName="codeName" msprop:Generator_ColumnPropNameInRow="codeName" msprop:Generator_ColumnVarNameInTable="columncodeName" msprop:Generator_ColumnPropNameInTable="codeNameColumn" minOccurs="0"> + <xs:element name="devManager" msprop:Generator_UserColumnName="devManager" msprop:Generator_ColumnVarNameInTable="columndevManager" msprop:Generator_ColumnPropNameInRow="devManager" msprop:Generator_ColumnPropNameInTable="devManagerColumn" type="xs:int" minOccurs="0" /> + <xs:element name="qaManager" msprop:Generator_UserColumnName="qaManager" msprop:Generator_ColumnVarNameInTable="columnqaManager" msprop:Generator_ColumnPropNameInRow="qaManager" msprop:Generator_ColumnPropNameInTable="qaManagerColumn" type="xs:int" minOccurs="0" /> + <xs:element name="devLead" msprop:Generator_UserColumnName="devLead" msprop:Generator_ColumnVarNameInTable="columndevLead" msprop:Generator_ColumnPropNameInRow="devLead" msprop:Generator_ColumnPropNameInTable="devLeadColumn" type="xs:int" minOccurs="0" /> + <xs:element name="qaLead" msprop:Generator_UserColumnName="qaLead" msprop:Generator_ColumnVarNameInTable="columnqaLead" msprop:Generator_ColumnPropNameInRow="qaLead" msprop:Generator_ColumnPropNameInTable="qaLeadColumn" type="xs:int" minOccurs="0" /> + <xs:element name="pm" msprop:Generator_UserColumnName="pm" msprop:Generator_ColumnVarNameInTable="columnpm" msprop:Generator_ColumnPropNameInRow="pm" msprop:Generator_ColumnPropNameInTable="pmColumn" type="xs:int" minOccurs="0" /> + <xs:element name="codeName" msprop:Generator_UserColumnName="codeName" msprop:Generator_ColumnVarNameInTable="columncodeName" msprop:Generator_ColumnPropNameInRow="codeName" msprop:Generator_ColumnPropNameInTable="codeNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="10" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> + <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_actionItems" msprop:Generator_UserTableName="db_actionItems" msprop:Generator_RowDeletedName="db_actionItemsRowDeleted" msprop:Generator_RowChangedName="db_actionItemsRowChanged" msprop:Generator_RowClassName="db_actionItemsRow" msprop:Generator_RowChangingName="db_actionItemsRowChanging" msprop:Generator_RowEvArgName="db_actionItemsRowChangeEvent" msprop:Generator_RowEvHandlerName="db_actionItemsRowChangeEventHandler" msprop:Generator_TableClassName="db_actionItemsDataTable" msprop:Generator_TableVarName="tabledb_actionItems" msprop:Generator_RowDeletingName="db_actionItemsRowDeleting" msprop:Generator_TablePropName="db_actionItems"> <xs:complexType> <xs:sequence> - <xs:element name="actionItemID" msprop:Generator_UserColumnName="actionItemID" msprop:Generator_ColumnVarNameInTable="columnactionItemID" msprop:Generator_ColumnPropNameInRow="actionItemID" msprop:Generator_ColumnPropNameInTable="actionItemIDColumn" type="xs:int" /> - <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> + <xs:element name="actionItemID" msprop:Generator_UserColumnName="actionItemID" msprop:Generator_ColumnPropNameInRow="actionItemID" msprop:Generator_ColumnVarNameInTable="columnactionItemID" msprop:Generator_ColumnPropNameInTable="actionItemIDColumn" type="xs:int" /> + <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> + <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="dateAssigned" msprop:Generator_UserColumnName="dateAssigned" msprop:Generator_ColumnVarNameInTable="columndateAssigned" msprop:Generator_ColumnPropNameInRow="dateAssigned" msprop:Generator_ColumnPropNameInTable="dateAssignedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="dateDue" msprop:Generator_UserColumnName="dateDue" msprop:Generator_ColumnVarNameInTable="columndateDue" msprop:Generator_ColumnPropNameInRow="dateDue" msprop:Generator_ColumnPropNameInTable="dateDueColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="percentComplete" msprop:Generator_UserColumnName="percentComplete" msprop:Generator_ColumnVarNameInTable="columnpercentComplete" msprop:Generator_ColumnPropNameInRow="percentComplete" msprop:Generator_ColumnPropNameInTable="percentCompleteColumn" type="xs:int" minOccurs="0" /> - <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> + <xs:element name="dateAssigned" msprop:Generator_UserColumnName="dateAssigned" msprop:Generator_ColumnPropNameInRow="dateAssigned" msprop:Generator_ColumnVarNameInTable="columndateAssigned" msprop:Generator_ColumnPropNameInTable="dateAssignedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="dateDue" msprop:Generator_UserColumnName="dateDue" msprop:Generator_ColumnPropNameInRow="dateDue" msprop:Generator_ColumnVarNameInTable="columndateDue" msprop:Generator_ColumnPropNameInTable="dateDueColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="percentComplete" msprop:Generator_UserColumnName="percentComplete" msprop:Generator_ColumnPropNameInRow="percentComplete" msprop:Generator_ColumnVarNameInTable="columnpercentComplete" msprop:Generator_ColumnPropNameInTable="percentCompleteColumn" type="xs:int" minOccurs="0" /> + <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="createdBy" msdata:ReadOnly="true" msprop:Generator_UserColumnName="createdBy" msprop:Generator_ColumnVarNameInTable="columncreatedBy" msprop:Generator_ColumnPropNameInRow="createdBy" msprop:Generator_ColumnPropNameInTable="createdByColumn" minOccurs="0"> + <xs:element name="createdBy" msdata:ReadOnly="true" msprop:Generator_UserColumnName="createdBy" msprop:Generator_ColumnPropNameInRow="createdBy" msprop:Generator_ColumnVarNameInTable="columncreatedBy" msprop:Generator_ColumnPropNameInTable="createdByColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="highPriority" msprop:Generator_UserColumnName="highPriority" msprop:Generator_ColumnVarNameInTable="columnhighPriority" msprop:Generator_ColumnPropNameInRow="highPriority" msprop:Generator_ColumnPropNameInTable="highPriorityColumn" type="xs:boolean" minOccurs="0" /> - <xs:element name="testPass" msprop:Generator_UserColumnName="testPass" msprop:Generator_ColumnPropNameInRow="testPass" msprop:Generator_ColumnVarNameInTable="columntestPass" msprop:Generator_ColumnPropNameInTable="testPassColumn" minOccurs="0"> + <xs:element name="highPriority" msprop:Generator_UserColumnName="highPriority" msprop:Generator_ColumnPropNameInRow="highPriority" msprop:Generator_ColumnVarNameInTable="columnhighPriority" msprop:Generator_ColumnPropNameInTable="highPriorityColumn" type="xs:boolean" minOccurs="0" /> + <xs:element name="testPass" msprop:Generator_UserColumnName="testPass" msprop:Generator_ColumnVarNameInTable="columntestPass" msprop:Generator_ColumnPropNameInRow="testPass" msprop:Generator_ColumnPropNameInTable="testPassColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="dateFinished" msprop:Generator_UserColumnName="dateFinished" msprop:Generator_ColumnPropNameInRow="dateFinished" msprop:Generator_ColumnVarNameInTable="columndateFinished" msprop:Generator_ColumnPropNameInTable="dateFinishedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="assignedID" msprop:Generator_UserColumnName="assignedID" msprop:Generator_ColumnPropNameInRow="assignedID" msprop:Generator_ColumnVarNameInTable="columnassignedID" msprop:Generator_ColumnPropNameInTable="assignedIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="assigned" msdata:ReadOnly="true" msprop:Generator_UserColumnName="assigned" msprop:Generator_ColumnPropNameInRow="assigned" msprop:Generator_ColumnVarNameInTable="columnassigned" msprop:Generator_ColumnPropNameInTable="assignedColumn" minOccurs="0"> + <xs:element name="dateFinished" msprop:Generator_UserColumnName="dateFinished" msprop:Generator_ColumnVarNameInTable="columndateFinished" msprop:Generator_ColumnPropNameInRow="dateFinished" msprop:Generator_ColumnPropNameInTable="dateFinishedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="assignedID" msprop:Generator_UserColumnName="assignedID" msprop:Generator_ColumnVarNameInTable="columnassignedID" msprop:Generator_ColumnPropNameInRow="assignedID" msprop:Generator_ColumnPropNameInTable="assignedIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="assigned" msdata:ReadOnly="true" msprop:Generator_UserColumnName="assigned" msprop:Generator_ColumnVarNameInTable="columnassigned" msprop:Generator_ColumnPropNameInRow="assigned" msprop:Generator_ColumnPropNameInTable="assignedColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="statusID" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="testPassID" msprop:Generator_UserColumnName="testPassID" msprop:Generator_ColumnVarNameInTable="columntestPassID" msprop:Generator_ColumnPropNameInRow="testPassID" msprop:Generator_ColumnPropNameInTable="testPassIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> - <xs:element name="creatorID" msprop:Generator_UserColumnName="creatorID" msprop:Generator_ColumnVarNameInTable="columncreatorID" msprop:Generator_ColumnPropNameInRow="creatorID" msprop:Generator_ColumnPropNameInTable="creatorIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="statusID" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="testPassID" msprop:Generator_UserColumnName="testPassID" msprop:Generator_ColumnPropNameInRow="testPassID" msprop:Generator_ColumnVarNameInTable="columntestPassID" msprop:Generator_ColumnPropNameInTable="testPassIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> + <xs:element name="creatorID" msprop:Generator_UserColumnName="creatorID" msprop:Generator_ColumnPropNameInRow="creatorID" msprop:Generator_ColumnVarNameInTable="columncreatorID" msprop:Generator_ColumnPropNameInTable="creatorIDColumn" type="xs:int" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_status" msprop:Generator_UserTableName="db_status" msprop:Generator_RowDeletedName="db_statusRowDeleted" msprop:Generator_RowChangedName="db_statusRowChanged" msprop:Generator_RowClassName="db_statusRow" msprop:Generator_RowChangingName="db_statusRowChanging" msprop:Generator_RowEvArgName="db_statusRowChangeEvent" msprop:Generator_RowEvHandlerName="db_statusRowChangeEventHandler" msprop:Generator_TableClassName="db_statusDataTable" msprop:Generator_TableVarName="tabledb_status" msprop:Generator_RowDeletingName="db_statusRowDeleting" msprop:Generator_TablePropName="db_status"> <xs:complexType> <xs:sequence> - <xs:element name="statusID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" /> - <xs:element name="Description" msprop:Generator_UserColumnName="Description" msprop:Generator_ColumnPropNameInRow="Description" msprop:Generator_ColumnVarNameInTable="columnDescription" msprop:Generator_ColumnPropNameInTable="DescriptionColumn" minOccurs="0"> + <xs:element name="statusID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" /> + <xs:element name="Description" msprop:Generator_UserColumnName="Description" msprop:Generator_ColumnVarNameInTable="columnDescription" msprop:Generator_ColumnPropNameInRow="Description" msprop:Generator_ColumnPropNameInTable="DescriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> + <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> @@ -1195,17 +1197,17 @@ <xs:element name="db_notes" msprop:Generator_UserTableName="db_notes" msprop:Generator_RowDeletedName="db_notesRowDeleted" msprop:Generator_RowChangedName="db_notesRowChanged" msprop:Generator_RowClassName="db_notesRow" msprop:Generator_RowChangingName="db_notesRowChanging" msprop:Generator_RowEvArgName="db_notesRowChangeEvent" msprop:Generator_RowEvHandlerName="db_notesRowChangeEventHandler" msprop:Generator_TableClassName="db_notesDataTable" msprop:Generator_TableVarName="tabledb_notes" msprop:Generator_RowDeletingName="db_notesRowDeleting" msprop:Generator_TablePropName="db_notes"> <xs:complexType> <xs:sequence> - <xs:element name="noteID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="noteID" msprop:Generator_ColumnPropNameInRow="noteID" msprop:Generator_ColumnVarNameInTable="columnnoteID" msprop:Generator_ColumnPropNameInTable="noteIDColumn" type="xs:int" /> - <xs:element name="dateCreated" msprop:Generator_UserColumnName="dateCreated" msprop:Generator_ColumnPropNameInRow="dateCreated" msprop:Generator_ColumnVarNameInTable="columndateCreated" msprop:Generator_ColumnPropNameInTable="dateCreatedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="noteField" msprop:Generator_UserColumnName="noteField" msprop:Generator_ColumnPropNameInRow="noteField" msprop:Generator_ColumnVarNameInTable="columnnoteField" msprop:Generator_ColumnPropNameInTable="noteFieldColumn" minOccurs="0"> + <xs:element name="noteID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="noteID" msprop:Generator_ColumnVarNameInTable="columnnoteID" msprop:Generator_ColumnPropNameInRow="noteID" msprop:Generator_ColumnPropNameInTable="noteIDColumn" type="xs:int" /> + <xs:element name="dateCreated" msprop:Generator_UserColumnName="dateCreated" msprop:Generator_ColumnVarNameInTable="columndateCreated" msprop:Generator_ColumnPropNameInRow="dateCreated" msprop:Generator_ColumnPropNameInTable="dateCreatedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="noteField" msprop:Generator_UserColumnName="noteField" msprop:Generator_ColumnVarNameInTable="columnnoteField" msprop:Generator_ColumnPropNameInRow="noteField" msprop:Generator_ColumnPropNameInTable="noteFieldColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="noteAuthor" msprop:Generator_UserColumnName="noteAuthor" msprop:Generator_ColumnPropNameInRow="noteAuthor" msprop:Generator_ColumnVarNameInTable="columnnoteAuthor" msprop:Generator_ColumnPropNameInTable="noteAuthorColumn" type="xs:int" minOccurs="0" /> - <xs:element name="noteAuthorName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="noteAuthorName" msprop:Generator_ColumnVarNameInTable="columnnoteAuthorName" msprop:Generator_ColumnPropNameInRow="noteAuthorName" msprop:Generator_ColumnPropNameInTable="noteAuthorNameColumn" minOccurs="0"> + <xs:element name="noteAuthor" msprop:Generator_UserColumnName="noteAuthor" msprop:Generator_ColumnVarNameInTable="columnnoteAuthor" msprop:Generator_ColumnPropNameInRow="noteAuthor" msprop:Generator_ColumnPropNameInTable="noteAuthorColumn" type="xs:int" minOccurs="0" /> + <xs:element name="noteAuthorName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="noteAuthorName" msprop:Generator_ColumnPropNameInRow="noteAuthorName" msprop:Generator_ColumnVarNameInTable="columnnoteAuthorName" msprop:Generator_ColumnPropNameInTable="noteAuthorNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> @@ -1218,102 +1220,102 @@ <xs:element name="db_assignments" msprop:Generator_UserTableName="db_assignments" msprop:Generator_RowDeletedName="db_assignmentsRowDeleted" msprop:Generator_RowChangedName="db_assignmentsRowChanged" msprop:Generator_RowClassName="db_assignmentsRow" msprop:Generator_RowChangingName="db_assignmentsRowChanging" msprop:Generator_RowEvArgName="db_assignmentsRowChangeEvent" msprop:Generator_RowEvHandlerName="db_assignmentsRowChangeEventHandler" msprop:Generator_TableClassName="db_assignmentsDataTable" msprop:Generator_TableVarName="tabledb_assignments" msprop:Generator_RowDeletingName="db_assignmentsRowDeleting" msprop:Generator_TablePropName="db_assignments"> <xs:complexType> <xs:sequence> - <xs:element name="aType" msdata:ReadOnly="true" msprop:Generator_UserColumnName="aType" msprop:Generator_ColumnPropNameInRow="aType" msprop:Generator_ColumnVarNameInTable="columnaType" msprop:Generator_ColumnPropNameInTable="aTypeColumn" minOccurs="0"> + <xs:element name="aType" msdata:ReadOnly="true" msprop:Generator_UserColumnName="aType" msprop:Generator_ColumnVarNameInTable="columnaType" msprop:Generator_ColumnPropNameInRow="aType" msprop:Generator_ColumnPropNameInTable="aTypeColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="childID" msdata:ReadOnly="true" msprop:Generator_UserColumnName="childID" msprop:Generator_ColumnPropNameInRow="childID" msprop:Generator_ColumnVarNameInTable="columnchildID" msprop:Generator_ColumnPropNameInTable="childIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="creator" msdata:ReadOnly="true" msprop:Generator_UserColumnName="creator" msprop:Generator_ColumnPropNameInRow="creator" msprop:Generator_ColumnVarNameInTable="columncreator" msprop:Generator_ColumnPropNameInTable="creatorColumn" minOccurs="0"> + <xs:element name="childID" msdata:ReadOnly="true" msprop:Generator_UserColumnName="childID" msprop:Generator_ColumnVarNameInTable="columnchildID" msprop:Generator_ColumnPropNameInRow="childID" msprop:Generator_ColumnPropNameInTable="childIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="creator" msdata:ReadOnly="true" msprop:Generator_UserColumnName="creator" msprop:Generator_ColumnVarNameInTable="columncreator" msprop:Generator_ColumnPropNameInRow="creator" msprop:Generator_ColumnPropNameInTable="creatorColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="assigned" msdata:ReadOnly="true" msprop:Generator_UserColumnName="assigned" msprop:Generator_ColumnPropNameInRow="assigned" msprop:Generator_ColumnVarNameInTable="columnassigned" msprop:Generator_ColumnPropNameInTable="assignedColumn" minOccurs="0"> + <xs:element name="assigned" msdata:ReadOnly="true" msprop:Generator_UserColumnName="assigned" msprop:Generator_ColumnVarNameInTable="columnassigned" msprop:Generator_ColumnPropNameInRow="assigned" msprop:Generator_ColumnPropNameInTable="assignedColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="assignedID" msprop:Generator_UserColumnName="assignedID" msprop:Generator_ColumnPropNameInRow="assignedID" msprop:Generator_ColumnVarNameInTable="columnassignedID" msprop:Generator_ColumnPropNameInTable="assignedIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="dateAssigned" msprop:Generator_UserColumnName="dateAssigned" msprop:Generator_ColumnPropNameInRow="dateAssigned" msprop:Generator_ColumnVarNameInTable="columndateAssigned" msprop:Generator_ColumnPropNameInTable="dateAssignedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="dateDue" msprop:Generator_UserColumnName="dateDue" msprop:Generator_ColumnPropNameInRow="dateDue" msprop:Generator_ColumnVarNameInTable="columndateDue" msprop:Generator_ColumnPropNameInTable="dateDueColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="dateFinished" msprop:Generator_UserColumnName="dateFinished" msprop:Generator_ColumnPropNameInRow="dateFinished" msprop:Generator_ColumnVarNameInTable="columndateFinished" msprop:Generator_ColumnPropNameInTable="dateFinishedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="highPriority" msprop:Generator_UserColumnName="highPriority" msprop:Generator_ColumnPropNameInRow="highPriority" msprop:Generator_ColumnVarNameInTable="columnhighPriority" msprop:Generator_ColumnPropNameInTable="highPriorityColumn" type="xs:boolean" minOccurs="0" /> - <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> + <xs:element name="assignedID" msprop:Generator_UserColumnName="assignedID" msprop:Generator_ColumnVarNameInTable="columnassignedID" msprop:Generator_ColumnPropNameInRow="assignedID" msprop:Generator_ColumnPropNameInTable="assignedIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="dateAssigned" msprop:Generator_UserColumnName="dateAssigned" msprop:Generator_ColumnVarNameInTable="columndateAssigned" msprop:Generator_ColumnPropNameInRow="dateAssigned" msprop:Generator_ColumnPropNameInTable="dateAssignedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="dateDue" msprop:Generator_UserColumnName="dateDue" msprop:Generator_ColumnVarNameInTable="columndateDue" msprop:Generator_ColumnPropNameInRow="dateDue" msprop:Generator_ColumnPropNameInTable="dateDueColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="dateFinished" msprop:Generator_UserColumnName="dateFinished" msprop:Generator_ColumnVarNameInTable="columndateFinished" msprop:Generator_ColumnPropNameInRow="dateFinished" msprop:Generator_ColumnPropNameInTable="dateFinishedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="highPriority" msprop:Generator_UserColumnName="highPriority" msprop:Generator_ColumnVarNameInTable="columnhighPriority" msprop:Generator_ColumnPropNameInRow="highPriority" msprop:Generator_ColumnPropNameInTable="highPriorityColumn" type="xs:boolean" minOccurs="0" /> + <xs:element name="statusName" msprop:Generator_UserColumnName="statusName" msprop:Generator_ColumnVarNameInTable="columnstatusName" msprop:Generator_ColumnPropNameInRow="statusName" msprop:Generator_ColumnPropNameInTable="statusNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="WOTotalTest" msprop:Generator_UserColumnName="WOTotalTest" msprop:Generator_ColumnPropNameInRow="WOTotalTest" msprop:Generator_ColumnVarNameInTable="columnWOTotalTest" msprop:Generator_ColumnPropNameInTable="WOTotalTestColumn" type="xs:int" minOccurs="0" /> - <xs:element name="WOPassRate" msdata:ReadOnly="true" msprop:Generator_UserColumnName="WOPassRate" msprop:Generator_ColumnPropNameInRow="WOPassRate" msprop:Generator_ColumnVarNameInTable="columnWOPassRate" msprop:Generator_ColumnPropNameInTable="WOPassRateColumn" minOccurs="0"> + <xs:element name="WOTotalTest" msprop:Generator_UserColumnName="WOTotalTest" msprop:Generator_ColumnVarNameInTable="columnWOTotalTest" msprop:Generator_ColumnPropNameInRow="WOTotalTest" msprop:Generator_ColumnPropNameInTable="WOTotalTestColumn" type="xs:int" minOccurs="0" /> + <xs:element name="WOPassRate" msdata:ReadOnly="true" msprop:Generator_UserColumnName="WOPassRate" msprop:Generator_ColumnVarNameInTable="columnWOPassRate" msprop:Generator_ColumnPropNameInRow="WOPassRate" msprop:Generator_ColumnPropNameInTable="WOPassRateColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="31" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="WOPass" msprop:Generator_UserColumnName="WOPass" msprop:Generator_ColumnPropNameInRow="WOPass" msprop:Generator_ColumnVarNameInTable="columnWOPass" msprop:Generator_ColumnPropNameInTable="WOPassColumn" type="xs:int" minOccurs="0" /> - <xs:element name="WOFail" msprop:Generator_UserColumnName="WOFail" msprop:Generator_ColumnPropNameInRow="WOFail" msprop:Generator_ColumnVarNameInTable="columnWOFail" msprop:Generator_ColumnPropNameInTable="WOFailColumn" type="xs:int" minOccurs="0" /> - <xs:element name="WOError" msprop:Generator_UserColumnName="WOError" msprop:Generator_ColumnPropNameInRow="WOError" msprop:Generator_ColumnVarNameInTable="columnWOError" msprop:Generator_ColumnPropNameInTable="WOErrorColumn" type="xs:int" minOccurs="0" /> - <xs:element name="aName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="aName" msprop:Generator_ColumnPropNameInRow="aName" msprop:Generator_ColumnVarNameInTable="columnaName" msprop:Generator_ColumnPropNameInTable="aNameColumn" minOccurs="0"> + <xs:element name="WOPass" msprop:Generator_UserColumnName="WOPass" msprop:Generator_ColumnVarNameInTable="columnWOPass" msprop:Generator_ColumnPropNameInRow="WOPass" msprop:Generator_ColumnPropNameInTable="WOPassColumn" type="xs:int" minOccurs="0" /> + <xs:element name="WOFail" msprop:Generator_UserColumnName="WOFail" msprop:Generator_ColumnVarNameInTable="columnWOFail" msprop:Generator_ColumnPropNameInRow="WOFail" msprop:Generator_ColumnPropNameInTable="WOFailColumn" type="xs:int" minOccurs="0" /> + <xs:element name="WOError" msprop:Generator_UserColumnName="WOError" msprop:Generator_ColumnVarNameInTable="columnWOError" msprop:Generator_ColumnPropNameInRow="WOError" msprop:Generator_ColumnPropNameInTable="WOErrorColumn" type="xs:int" minOccurs="0" /> + <xs:element name="aName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="aName" msprop:Generator_ColumnVarNameInTable="columnaName" msprop:Generator_ColumnPropNameInRow="aName" msprop:Generator_ColumnPropNameInTable="aNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> - <xs:element name="creatorID" msprop:Generator_UserColumnName="creatorID" msprop:Generator_ColumnPropNameInRow="creatorID" msprop:Generator_ColumnVarNameInTable="columncreatorID" msprop:Generator_ColumnPropNameInTable="creatorIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="numAI" msdata:ReadOnly="true" msprop:Generator_UserColumnName="numAI" msprop:Generator_ColumnPropNameInRow="numAI" msprop:Generator_ColumnVarNameInTable="columnnumAI" msprop:Generator_ColumnPropNameInTable="numAIColumn" type="xs:int" minOccurs="0" /> - <xs:element name="numWO" msdata:ReadOnly="true" msprop:Generator_UserColumnName="numWO" msprop:Generator_ColumnPropNameInRow="numWO" msprop:Generator_ColumnVarNameInTable="columnnumWO" msprop:Generator_ColumnPropNameInTable="numWOColumn" type="xs:int" minOccurs="0" /> + <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> + <xs:element name="creatorID" msprop:Generator_UserColumnName="creatorID" msprop:Generator_ColumnVarNameInTable="columncreatorID" msprop:Generator_ColumnPropNameInRow="creatorID" msprop:Generator_ColumnPropNameInTable="creatorIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="numAI" msdata:ReadOnly="true" msprop:Generator_UserColumnName="numAI" msprop:Generator_ColumnVarNameInTable="columnnumAI" msprop:Generator_ColumnPropNameInRow="numAI" msprop:Generator_ColumnPropNameInTable="numAIColumn" type="xs:int" minOccurs="0" /> + <xs:element name="numWO" msdata:ReadOnly="true" msprop:Generator_UserColumnName="numWO" msprop:Generator_ColumnVarNameInTable="columnnumWO" msprop:Generator_ColumnPropNameInRow="numWO" msprop:Generator_ColumnPropNameInTable="numWOColumn" type="xs:int" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_testPass" msprop:Generator_UserTableName="db_testPass" msprop:Generator_RowDeletedName="db_testPassRowDeleted" msprop:Generator_RowChangedName="db_testPassRowChanged" msprop:Generator_RowClassName="db_testPassRow" msprop:Generator_RowChangingName="db_testPassRowChanging" msprop:Generator_RowEvArgName="db_testPassRowChangeEvent" msprop:Generator_RowEvHandlerName="db_testPassRowChangeEventHandler" msprop:Generator_TableClassName="db_testPassDataTable" msprop:Generator_TableVarName="tabledb_testPass" msprop:Generator_RowDeletingName="db_testPassRowDeleting" msprop:Generator_TablePropName="db_testPass"> <xs:complexType> <xs:sequence> - <xs:element name="testPassID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="testPassID" msprop:Generator_ColumnVarNameInTable="columntestPassID" msprop:Generator_ColumnPropNameInRow="testPassID" msprop:Generator_ColumnPropNameInTable="testPassIDColumn" type="xs:int" /> - <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> + <xs:element name="testPassID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="testPassID" msprop:Generator_ColumnPropNameInRow="testPassID" msprop:Generator_ColumnVarNameInTable="columntestPassID" msprop:Generator_ColumnPropNameInTable="testPassIDColumn" type="xs:int" /> + <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="versionID" msprop:Generator_UserColumnName="versionID" msprop:Generator_ColumnVarNameInTable="columnversionID" msprop:Generator_ColumnPropNameInRow="versionID" msprop:Generator_ColumnPropNameInTable="versionIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="versionID" msprop:Generator_UserColumnName="versionID" msprop:Generator_ColumnPropNameInRow="versionID" msprop:Generator_ColumnVarNameInTable="columnversionID" msprop:Generator_ColumnPropNameInTable="versionIDColumn" type="xs:int" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="db_version" msprop:Generator_UserTableName="db_version" msprop:Generator_RowDeletedName="db_versionRowDeleted" msprop:Generator_RowChangedName="db_versionRowChanged" msprop:Generator_RowClassName="db_versionRow" msprop:Generator_RowChangingName="db_versionRowChanging" msprop:Generator_RowEvArgName="db_versionRowChangeEvent" msprop:Generator_RowEvHandlerName="db_versionRowChangeEventHandler" msprop:Generator_TableClassName="db_versionDataTable" msprop:Generator_TableVarName="tabledb_version" msprop:Generator_RowDeletingName="db_versionRowDeleting" msprop:Generator_TablePropName="db_version"> <xs:complexType> <xs:sequence> - <xs:element name="versionID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="versionID" msprop:Generator_ColumnVarNameInTable="columnversionID" msprop:Generator_ColumnPropNameInRow="versionID" msprop:Generator_ColumnPropNameInTable="versionIDColumn" type="xs:int" /> - <xs:element name="productID" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="number" msprop:Generator_UserColumnName="number" msprop:Generator_ColumnVarNameInTable="columnnumber" msprop:Generator_ColumnPropNameInRow="number" msprop:Generator_ColumnPropNameInTable="numberColumn" minOccurs="0"> + <xs:element name="versionID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="versionID" msprop:Generator_ColumnPropNameInRow="versionID" msprop:Generator_ColumnVarNameInTable="columnversionID" msprop:Generator_ColumnPropNameInTable="versionIDColumn" type="xs:int" /> + <xs:element name="productID" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="number" msprop:Generator_UserColumnName="number" msprop:Generator_ColumnPropNameInRow="number" msprop:Generator_ColumnVarNameInTable="columnnumber" msprop:Generator_ColumnPropNameInTable="numberColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </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="productName" msprop:Generator_UserColumnName="productName" msprop:Generator_ColumnVarNameInTable="columnproductName" msprop:Generator_ColumnPropNameInRow="productName" msprop:Generator_ColumnPropNameInTable="productNameColumn" minOccurs="0"> + <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" minOccurs="0" /> + <xs:element name="dateCreated" msprop:Generator_UserColumnName="dateCreated" msprop:Generator_ColumnPropNameInRow="dateCreated" msprop:Generator_ColumnVarNameInTable="columndateCreated" msprop:Generator_ColumnPropNameInTable="dateCreatedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="productName" msprop:Generator_UserColumnName="productName" msprop:Generator_ColumnPropNameInRow="productName" msprop:Generator_ColumnVarNameInTable="columnproductName" msprop:Generator_ColumnPropNameInTable="productNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> @@ -1326,25 +1328,25 @@ <xs:element name="db_roleProductUser" msprop:Generator_UserTableName="db_roleProductUser" msprop:Generator_RowDeletedName="db_roleProductUserRowDeleted" msprop:Generator_RowChangedName="db_roleProductUserRowChanged" msprop:Generator_RowClassName="db_roleProductUserRow" msprop:Generator_RowChangingName="db_roleProductUserRowChanging" msprop:Generator_RowEvArgName="db_roleProductUserRowChangeEvent" msprop:Generator_RowEvHandlerName="db_roleProductUserRowChangeEventHandler" msprop:Generator_TableClassName="db_roleProductUserDataTable" msprop:Generator_TableVarName="tabledb_roleProductUser" msprop:Generator_RowDeletingName="db_roleProductUserRowDeleting" msprop:Generator_TablePropName="db_roleProductUser"> <xs:complexType> <xs:sequence> - <xs:element name="userID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="userID" msprop:Generator_ColumnVarNameInTable="columnuserID" msprop:Generator_ColumnPropNameInRow="userID" msprop:Generator_ColumnPropNameInTable="userIDColumn" type="xs:int" /> - <xs:element name="fullName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="fullName" msprop:Generator_ColumnVarNameInTable="columnfullName" msprop:Generator_ColumnPropNameInRow="fullName" msprop:Generator_ColumnPropNameInTable="fullNameColumn" minOccurs="0"> + <xs:element name="userID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="userID" msprop:Generator_ColumnPropNameInRow="userID" msprop:Generator_ColumnVarNameInTable="columnuserID" msprop:Generator_ColumnPropNameInTable="userIDColumn" type="xs:int" /> + <xs:element name="fullName" msdata:ReadOnly="true" msprop:Generator_UserColumnName="fullName" msprop:Generator_ColumnPropNameInRow="fullName" msprop:Generator_ColumnVarNameInTable="columnfullName" msprop:Generator_ColumnPropNameInTable="fullNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="49" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="roleID" msprop:Generator_UserColumnName="roleID" msprop:Generator_ColumnVarNameInTable="columnroleID" msprop:Generator_ColumnPropNameInRow="roleID" msprop:Generator_ColumnPropNameInTable="roleIDColumn" type="xs:int" /> - <xs:element name="productID" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" /> - <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> + <xs:element name="roleID" msprop:Generator_UserColumnName="roleID" msprop:Generator_ColumnPropNameInRow="roleID" msprop:Generator_ColumnVarNameInTable="columnroleID" msprop:Generator_ColumnPropNameInTable="roleIDColumn" type="xs:int" /> + <xs:element name="productID" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnVarNameInTable="colum... [truncated message content] |