You can subscribe to this list here.
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(5) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
(4) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(16) |
Jun
(41) |
Jul
(101) |
Aug
(71) |
Sep
|
Oct
|
Nov
|
Dec
|
From: <m_h...@us...> - 2006-08-14 20:39:37
|
Revision: 318 Author: m_hildebrand Date: 2006-08-14 13:39:34 -0700 (Mon, 14 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=318&view=rev Log Message: ----------- Just testing the new repository... nothing critical Modified Paths: -------------- Website/Includes/ActionItems.ascx.cs Modified: Website/Includes/ActionItems.ascx.cs =================================================================== --- Website/Includes/ActionItems.ascx.cs 2006-08-14 19:17:52 UTC (rev 317) +++ Website/Includes/ActionItems.ascx.cs 2006-08-14 20:39:34 UTC (rev 318) @@ -15,6 +15,7 @@ using eWorld.UI; + namespace TCDB { public partial class ActionItems : SiteUserControl 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] |
From: <ro...@us...> - 2006-08-14 17:47:31
|
Revision: 316 Author: rouquin Date: 2006-08-14 10:47:26 -0700 (Mon, 14 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=316&view=rev Log Message: ----------- Minor changes. Everything seems to be working now. Modified Paths: -------------- Website/Assignments.aspx Website/Includes/ActionItems.ascx Website/Includes/ActionItems.ascx.cs Modified: Website/Assignments.aspx =================================================================== --- Website/Assignments.aspx 2006-08-14 17:28:52 UTC (rev 315) +++ Website/Assignments.aspx 2006-08-14 17:47:26 UTC (rev 316) @@ -1,11 +1,11 @@ <%@ Page Language="C#" MasterPageFile="~/TCDB.master" AutoEventWireup="true" Title="TCDB: Assignments" - ClassName="TCDB.Page.Assignments" %> + ClassName="TCDB.Page.Assignments" ValidateRequest="false" %> <%@ Import Namespace="TCDB.Code" %> <%@ Register Src="~/Includes/AssignmentsTree.ascx" TagPrefix="assignment" TagName="Tree" %> <%@ Register Src="~/Includes/Assignments.ascx" TagPrefix="assignment" TagName="Form" %> <%@ Register Src="~/Includes/ActionItems.ascx" TagPrefix="assignment" TagName="ActionItem" %> -<%@ Register Src="~/Includes/ActionItems.ascx" TagPrefix="assignment" TagName="WorkOrder" %> +<%@ Register Src="~/Includes/WorkOrders.ascx" TagPrefix="assignment" TagName="WorkOrder" %> <asp:Content ID="TreeContent" ContentPlaceHolderID="TreeContentPlaceHolder" runat="Server"> <assignment:Tree runat="Server" ID="Tree" /> </asp:Content> Modified: Website/Includes/ActionItems.ascx =================================================================== --- Website/Includes/ActionItems.ascx 2006-08-14 17:28:52 UTC (rev 315) +++ Website/Includes/ActionItems.ascx 2006-08-14 17:47:26 UTC (rev 316) @@ -49,7 +49,7 @@ </asp:RadioButtonList></div> <asp:Label ID="deletedLbl" runat="server" Text="Deleted: "></asp:Label><strong></strong><asp:CheckBox ID="activeBox" runat="server" AutoPostBack="True" OnCheckedChanged="activeBox_CheckedChanged" - OnLoad="activeBox_Load" /></div> + OnInit="activeBox_Init" /></div> <div class="end"> </div> </div> Modified: Website/Includes/ActionItems.ascx.cs =================================================================== --- Website/Includes/ActionItems.ascx.cs 2006-08-14 17:28:52 UTC (rev 315) +++ Website/Includes/ActionItems.ascx.cs 2006-08-14 17:47:26 UTC (rev 316) @@ -410,7 +410,7 @@ } protected void ActionItemsView_ItemUpdated(object sender, FormViewUpdatedEventArgs e) { - if (e.Exception != null) + if (e.Exception == null) { updateStatus(); Session[Constants.CODE_ERROR] = "Action Item Updated"; @@ -422,6 +422,7 @@ protected void statusList_Load(object sender, EventArgs e) { + if (!current) return; DropDownList statusList = (DropDownList)sender; if (ai != null && @@ -432,6 +433,7 @@ } protected void percentList_Load(object sender, EventArgs e) { + if (!current) return; RadioButtonList percentList = (RadioButtonList)sender; if (ai != null && @@ -442,6 +444,7 @@ } protected void dateFinished_Load(object sender, EventArgs e) { + if (!current) return; CalendarPopup dateFinished = (CalendarPopup)sender; if (ai != null && @@ -452,6 +455,7 @@ } protected void NewButton_Load(object sender, EventArgs e) { + if (!current) return; LinkButton newBtn = (LinkButton)sender; Label newLbl = (Label)ActionItemsView.FindControl("newLbl"); @@ -464,6 +468,7 @@ } protected void EditButton_Load(object sender, EventArgs e) { + if (!current) return; LinkButton editBtn = (LinkButton)sender; if (ai != null && @@ -474,6 +479,7 @@ } protected void DeleteButton_Load(object sender, EventArgs e) { + if (!current) return; LinkButton deleteBtn = (LinkButton)sender; Label deleteLbl = (Label)ActionItemsView.FindControl("deleteLbl"); Label deletedLbl = (Label)ActionItemsView.FindControl("deletedLbl"); @@ -489,6 +495,7 @@ } protected void assignedTo_Load(object sender, EventArgs e) { + if (!current) return; DropDownList assignedTo = (DropDownList)sender; if (ai == null) ai = ActionItemDB.GetActionItem(item_id, active); @@ -529,7 +536,7 @@ } } - protected void activeBox_Load(object sender, EventArgs e) + protected void activeBox_Init(object sender, EventArgs e) { CheckBox activeBox = (CheckBox)sender; Label deletedLbl = (Label)ActionItemsView.FindControl("deletedLbl"); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <m_h...@us...> - 2006-08-14 17:28:56
|
Revision: 315 Author: m_hildebrand Date: 2006-08-14 10:28:52 -0700 (Mon, 14 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=315&view=rev Log Message: ----------- Stupid SVN Merge Modified Paths: -------------- Website/Includes/ActionItems.ascx.cs Modified: Website/Includes/ActionItems.ascx.cs =================================================================== --- Website/Includes/ActionItems.ascx.cs 2006-08-14 17:09:39 UTC (rev 314) +++ Website/Includes/ActionItems.ascx.cs 2006-08-14 17:28:52 UTC (rev 315) @@ -22,11 +22,7 @@ private static Logger m_logg = new Logger("TCDB.ActionItems"); private const string PREFIX = "AssignmentTab_"; private ActionItem ai; -<<<<<<< .mine - private String item_id = null; -======= private int item_id = 0; ->>>>>>> .theirs private int productID = 0; private String mode = ""; private bool current = false; @@ -42,7 +38,6 @@ { current = true; } -<<<<<<< .mine try { @@ -55,30 +50,6 @@ ActionItemsView.ChangeMode(FormViewMode.Insert); return; } - - - if (productID == 0) - productID = Constants.PRODUCT_SITEID; - -======= - - - - - - - - - - - - - - - - - ->>>>>>> .theirs // Load session data try { @@ -404,10 +375,6 @@ Response.Redirect("~/Assignments.aspx"); } - protected void ActionItemsView_ItemInsert(object sender, FormViewInsertEventArgs e) - { - int i = 1; - } protected void ActionItemsView_ItemInserted(object sender, FormViewInsertedEventArgs e) { if (e.Exception == null) @@ -445,22 +412,15 @@ { if (e.Exception != null) { - updateStatus(); -<<<<<<< .mine - Session[Constants.CODE_ERROR] = "Action Item Updated"; - Session.Remove(PREFIX + Constants.CODE_MODE); - Session[PREFIX + Constants.CODE_AI] = item_id.ToString(); - Response.Redirect("~/Assignments.aspx"); -======= - Response.Redirect("ActionItem.aspx?" + Constants.CODE_AI + "=" + item_id); - - - ->>>>>>> .theirs + updateStatus(); + Session[Constants.CODE_ERROR] = "Action Item Updated"; + Session.Remove(PREFIX + Constants.CODE_MODE); + Session[PREFIX + Constants.CODE_AI] = item_id.ToString(); + Response.Redirect("~/Assignments.aspx"); + } } - } - protected void statusList_Init(object sender, EventArgs e) + protected void statusList_Load(object sender, EventArgs e) { DropDownList statusList = (DropDownList)sender; @@ -470,7 +430,7 @@ !(ai.CREATOR.ID == m_user.ID && m_user.HasRight(Constants.RIGHTS_AI_STATUS_CREATED, productID)))) statusList.Enabled = false; } - protected void percentList_Init(object sender, EventArgs e) + protected void percentList_Load(object sender, EventArgs e) { RadioButtonList percentList = (RadioButtonList)sender; @@ -480,7 +440,7 @@ !(ai.CREATOR.ID == m_user.ID && m_user.HasRight(Constants.RIGHTS_AI_STATUS_CREATED, productID)))) percentList.Enabled = false; } - protected void dateFinished_Init(object sender, EventArgs e) + protected void dateFinished_Load(object sender, EventArgs e) { CalendarPopup dateFinished = (CalendarPopup)sender; @@ -490,7 +450,7 @@ !(ai.CREATOR.ID == m_user.ID && m_user.HasRight(Constants.RIGHTS_AI_STATUS_CREATED, productID)))) dateFinished.Enabled = false; } - protected void NewButton_Init(object sender, EventArgs e) + protected void NewButton_Load(object sender, EventArgs e) { LinkButton newBtn = (LinkButton)sender; Label newLbl = (Label)ActionItemsView.FindControl("newLbl"); @@ -502,7 +462,7 @@ newLbl.Visible = false; } } - protected void EditButton_Init(object sender, EventArgs e) + protected void EditButton_Load(object sender, EventArgs e) { LinkButton editBtn = (LinkButton)sender; @@ -512,7 +472,7 @@ !(ai.CREATOR.ID == m_user.ID && m_user.HasRight(Constants.RIGHTS_AI_EDIT_CREATED, productID))) editBtn.Visible = false; } - protected void DeleteButton_Init(object sender, EventArgs e) + protected void DeleteButton_Load(object sender, EventArgs e) { LinkButton deleteBtn = (LinkButton)sender; Label deleteLbl = (Label)ActionItemsView.FindControl("deleteLbl"); @@ -569,7 +529,7 @@ } } - protected void activeBox_Init(object sender, EventArgs e) + protected void activeBox_Load(object sender, EventArgs e) { CheckBox activeBox = (CheckBox)sender; Label deletedLbl = (Label)ActionItemsView.FindControl("deletedLbl"); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <m_h...@us...> - 2006-08-14 17:09:51
|
Revision: 314 Author: m_hildebrand Date: 2006-08-14 10:09:39 -0700 (Mon, 14 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=314&view=rev Log Message: ----------- I don't remember... sorry. Modified Paths: -------------- Website/App_Code/Common.cs Website/App_Code/SiteMaster.cs Website/App_Code/SiteUserControl.cs Website/Includes/ActionItems.ascx Website/Includes/ActionItems.ascx.cs Website/Includes/AdministrationTree.ascx Website/Includes/AdministrationTree.ascx.cs Website/Includes/Footer.ascx.cs Website/TCDB.master Removed Paths: ------------- Website/WorkOrder.aspx Modified: Website/App_Code/Common.cs =================================================================== --- Website/App_Code/Common.cs 2006-08-14 16:33:49 UTC (rev 313) +++ Website/App_Code/Common.cs 2006-08-14 17:09:39 UTC (rev 314) @@ -1409,11 +1409,12 @@ public const string CODE_RIGHT = "rt"; public const string CODE_ROLE = "r"; public const string CODE_MODE = "m"; - public const string CODE_CREATED = "created"; + public const string CODE_CREATED = "c"; public const string CODE_TYPE = "t"; public const string CODE_VALUE = "va"; public const string CODE_ROOT = "r"; - public const string CODE_NEW = "new"; + public const string CODE_NEW = "n"; + public const string CODE_ERROR = "e"; // TODO: figure this one out //public const bool ASSIGNMENT_PRIORITY_ALL = null; Modified: Website/App_Code/SiteMaster.cs =================================================================== --- Website/App_Code/SiteMaster.cs 2006-08-14 16:33:49 UTC (rev 313) +++ Website/App_Code/SiteMaster.cs 2006-08-14 17:09:39 UTC (rev 314) @@ -1,5 +1,6 @@ using System; using System.Data; +using System.Collections; using System.Configuration; using System.Web; using System.Web.Security; @@ -19,7 +20,6 @@ public class SiteMaster : System.Web.UI.MasterPage { protected User m_user = null; - protected DateTime m_startTime = new DateTime(); protected HttpRequest m_request = null; protected static Logger m_logg = new Logger("TCDB.SiteMaster"); @@ -30,7 +30,7 @@ m_logg.Debug("[" + Request.UserHostName + " (" + Request.UserHostAddress + ")] " + "Processing authenticated user startup"); m_request = LoadRequest(); m_user = LoadSessionUser(); - m_startTime = LoadStartTime(); + StartTime(); } } @@ -47,17 +47,35 @@ return Request; } - public DateTime LoadStartTime() + public DateTime StartTime() { + IEnumerator keys = Session.Contents.Keys.GetEnumerator(); + String key_string = ""; + while (keys.MoveNext()) + { + key_string = key_string + "\t[" + keys.Current.ToString() + "]\t=\t[" + Session[keys.Current.ToString()] + "]\n"; + } + m_logg.Debug("Beginning page load for [" + Request.RawUrl + "] with {\n" + key_string + "}"); + + m_logg.Debug("Loading the request start time"); - if (m_startTime != new DateTime()) + Nullable<DateTime> start = null; + try { + start = (DateTime)Session["startTime"]; + } + catch { } + + if (start != null) + { m_logg.Debug("Returning an existing time"); - return m_startTime; + return (DateTime)start; } - m_logg.Debug("Returning the current time"); - return DateTime.Now; + m_logg.Debug("No existing start time, starting time now"); + Session["startTime"] = DateTime.Now; + + return (DateTime)Session["startTime"]; } public User LoadSessionUser() Modified: Website/App_Code/SiteUserControl.cs =================================================================== --- Website/App_Code/SiteUserControl.cs 2006-08-14 16:33:49 UTC (rev 313) +++ Website/App_Code/SiteUserControl.cs 2006-08-14 17:09:39 UTC (rev 314) @@ -19,7 +19,6 @@ { protected static Nullable<bool> active = true; protected static User m_user = null; - protected static DateTime m_startTime = DateTime.Now; protected static HttpRequest m_request = null; private static Logger m_logg = new Logger("TCDB.SiteUserControl"); @@ -45,7 +44,7 @@ try { m_logg.Debug("Loading request start time"); - m_startTime = ((SiteMaster)(this.Page.Master)).LoadStartTime(); + ((SiteMaster)(this.Page.Master)).StartTime(); } catch (Exception ex) { Modified: Website/Includes/ActionItems.ascx =================================================================== --- Website/Includes/ActionItems.ascx 2006-08-14 16:33:49 UTC (rev 313) +++ Website/Includes/ActionItems.ascx 2006-08-14 17:09:39 UTC (rev 314) @@ -10,7 +10,7 @@ <asp:FormView ID="ActionItemsView" runat="server" DataSourceID="ActionItemDataSource" DataKeyNames="actionItemID" CellPadding="4" ForeColor="#333333" OnDataBound="ActionItemsView_DataBound" OnItemCommand="ActionItemsView_ItemCommand" Width="100%" OnItemInserted="ActionItemsView_ItemInserted" - OnItemUpdated="ActionItemsView_ItemUpdated"> + OnItemUpdated="ActionItemsView_ItemUpdated" > <HeaderTemplate> <asp:ObjectDataSource ID="StatusDataSource" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="GetData" TypeName="tcdbDataSetTableAdapters.db_statusTableAdapter"> @@ -33,14 +33,14 @@ Status:</label><asp:DropDownList ID="statusList" runat="server" AutoPostBack="True" OnSelectedIndexChanged="statusChanged" DataSourceID="StatusDataSource" DataTextField="statusName" DataValueField="statusID" AppendDataBoundItems="True" SelectedValue='<%# Bind("statusID") %>' - OnInit="statusList_Init"> + OnLoad="statusList_Load"> </asp:DropDownList> </div> <div class="buttons"> <label> % Complete:</label><asp:RadioButtonList ID="percentList" runat="server" RepeatDirection="Horizontal" AutoPostBack="True" OnSelectedIndexChanged="percentChanged" SelectedValue='<%# Bind("percentComplete") %>' - CssClass="buttons" OnInit="percentList_Init"> + CssClass="buttons" OnLoad="percentList_Load"> <asp:ListItem>0</asp:ListItem> <asp:ListItem>25</asp:ListItem> <asp:ListItem>50</asp:ListItem> @@ -49,7 +49,7 @@ </asp:RadioButtonList></div> <asp:Label ID="deletedLbl" runat="server" Text="Deleted: "></asp:Label><strong></strong><asp:CheckBox ID="activeBox" runat="server" AutoPostBack="True" OnCheckedChanged="activeBox_CheckedChanged" - OnInit="activeBox_Init" /></div> + OnLoad="activeBox_Load" /></div> <div class="end"> </div> </div> @@ -104,11 +104,11 @@ <div class="left"> <div class="bottom"> <asp:LinkButton ID="NewButton" runat="server" CausesValidation="False" CommandName="New" - Text="New" OnInit="NewButton_Init" /><asp:Label ID="newLbl" runat="server"> | </asp:Label><asp:LinkButton + Text="New" OnLoad="NewButton_Load" /><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 + OnLoad="EditButton_Load" /><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" /> + Text="Delete" OnCommand="deleteItem" OnLoad="DeleteButton_Load" /> </div> </div> <div class="right"> @@ -183,7 +183,7 @@ ShowGoToToday="True" NullableLabelText="Select a date" ControlDisplay="LabelImage" ImageUrl="../App_Themes/Python/Images/calendar.gif" Nullable="True" OnDateChanged="dateFinished_DateChanged" SelectedDate="" UpperBoundDate="12/31/9999 23:59:59" VisibleDate="" AutoPostBack="True" - OnInit="dateFinished_Init"> + OnLoad="dateFinished_Load"> </ew:CalendarPopup> </div> </div> @@ -324,7 +324,7 @@ UpdateMethod="Update" DeleteMethod="Delete"> <SelectParameters> <asp:SessionParameter Name="actionItemID" SessionField="AssignmentTab_item_id" Type="Int32" /> - <asp:SessionParameter DefaultValue="" Name="active" SessionField="AssignmentTab_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-14 16:33:49 UTC (rev 313) +++ Website/Includes/ActionItems.ascx.cs 2006-08-14 17:09:39 UTC (rev 314) @@ -22,7 +22,11 @@ private static Logger m_logg = new Logger("TCDB.ActionItems"); private const string PREFIX = "AssignmentTab_"; private ActionItem ai; +<<<<<<< .mine + private String item_id = null; +======= private int item_id = 0; +>>>>>>> .theirs private int productID = 0; private String mode = ""; private bool current = false; @@ -38,50 +42,82 @@ { current = true; } - // Load session data +<<<<<<< .mine + try { - item_id = Convert.ToInt32(Session[PREFIX + Constants.CODE_AI]); + mode = Session[PREFIX + Constants.CODE_MODE].ToString(); } catch { } + + if (mode == Constants.CODE_NEW && (m_user.HasRight(Constants.RIGHTS_AI_CREATE_MY) || m_user.HasRight(Constants.RIGHTS_AI_CREATE_OTHER))) + { + ActionItemsView.ChangeMode(FormViewMode.Insert); + return; + } + + + if (productID == 0) + productID = Constants.PRODUCT_SITEID; + +======= + + + + + + + + + + + + + + + + + +>>>>>>> .theirs + // Load session data try { - mode = Session[PREFIX + Constants.CODE_MODE].ToString(); + item_id = Convert.ToInt32(Session[PREFIX + Constants.CODE_AI]); } catch { } + try { productID = Convert.ToInt32(Session[PREFIX + Constants.CODE_PRODUCT]); } catch { productID = Constants.PRODUCT_SITEID; } - + m_logg.Debug("Loading page ActionItems"); if (item_id == 0) { - m_logg.Debug("Unable to locate action item ID in query string"); - if (mode != "new") - { - m_logg.Debug("Mode not set, redirecting to Assignments page"); - Response.Redirect("Assignments.aspx?" + Constants.CODE_USER + "=" + m_user.ID); - } + m_logg.Debug("Unable to locate action item ID"); + + m_logg.Debug("Mode not set, redirecting to Assignments page"); + Session.Remove(PREFIX + "Name"); + Response.Redirect("~/Assignments.aspx"); } - else + + try { - try - { - ai = ActionItemDB.GetActionItem(Convert.ToInt32(item_id), active); - } - catch { } + ai = ActionItemDB.GetActionItem(Convert.ToInt32(item_id), active); + } + catch { } - if (ai != null && - (!m_user.HasRight(Constants.RIGHTS_AI_VIEW_OTHER, productID) && - !(ai.ASSIGNED.ID == m_user.ID && m_user.HasRight(Constants.RIGHTS_AI_VIEW_MY, productID)) && - !(ai.CREATOR.ID == m_user.ID && m_user.HasRight(Constants.RIGHTS_AI_VIEW_CREATED, productID)))) - { - - Response.Redirect("~/Assignments.aspx?" + Constants.CODE_USER + "=" + m_user.ID); - } + if (ai != null && + (!m_user.HasRight(Constants.RIGHTS_AI_VIEW_OTHER, productID) && + !(ai.ASSIGNED.ID == m_user.ID && m_user.HasRight(Constants.RIGHTS_AI_VIEW_MY, productID)) && + !(ai.CREATOR.ID == m_user.ID && m_user.HasRight(Constants.RIGHTS_AI_VIEW_CREATED, productID)))) + { + m_logg.Debug("User doesn't have permissions for the requested operation, returning to assignments page"); + Session[Constants.CODE_ERROR] = "Permission denied."; + Session.Remove(PREFIX + "Name"); + Response.Redirect("~/Assignments.aspx"); } if (item_id == 0) @@ -90,9 +126,6 @@ Session[PREFIX + "item_id"] = item_id; Session[PREFIX + "productID"] = productID; Session[PREFIX + "tableName"] = "tcdb_actionItem"; - - if (mode == "new" && (m_user.HasRight(Constants.RIGHTS_AI_CREATE_MY) || m_user.HasRight(Constants.RIGHTS_AI_CREATE_OTHER))) - ActionItemsView.ChangeMode(FormViewMode.Insert); } protected void updateStatus() @@ -349,19 +382,32 @@ } } else - Response.Redirect("Assignments.aspx?" + Constants.CODE_USER + "=" + m_user.ID); + { + Session.Remove(PREFIX + "Name"); + Response.Redirect("~/Assignments.aspx"); + } } protected void ActionItemsView_ItemCommand(object sender, FormViewCommandEventArgs e) { if (e.CommandName == "Cancel" && ActionItemsView.CurrentMode == FormViewMode.Insert) - Response.Redirect("Assignments.aspx?" + Constants.CODE_USER + "=" + m_user.ID); + { + Session.Remove(PREFIX + "Name"); + Response.Redirect("~/Assignments.aspx"); + } } protected void deleteItem(object sender, CommandEventArgs e) { tcdbDataSetTableAdapters.db_actionItemsTableAdapter aiAdapter = new tcdbDataSetTableAdapters.db_actionItemsTableAdapter(); aiAdapter.Delete(item_id, 0); - Response.Redirect("Assignments.aspx?" + Constants.CODE_USER + "=" + m_user.ID); + Session[Constants.CODE_ERROR] = "Action Item Deleted"; + Session.Remove(PREFIX + "Name"); + Response.Redirect("~/Assignments.aspx"); } + + protected void ActionItemsView_ItemInsert(object sender, FormViewInsertEventArgs e) + { + int i = 1; + } protected void ActionItemsView_ItemInserted(object sender, FormViewInsertedEventArgs e) { if (e.Exception == null) @@ -381,13 +427,17 @@ //set the content' m_logg.Debug("Preparing to send mail notification"); ActionItemDB.SendNewActionItemMail(id); - - Response.Redirect("ActionItem.aspx?" + Constants.CODE_AI + "=" + id); + Session.Remove(PREFIX + Constants.CODE_MODE); + Session[PREFIX + Constants.CODE_AI] = id; + Response.Redirect("~/Assignments.aspx"); } else { m_logg.Info("ERROR: Action Item Creation failed"); - Response.Redirect("Assignments.aspx?" + Constants.CODE_USER + "=" + m_user.ID); + Session[Constants.CODE_ERROR] = "ERROR: Action Item Creation Failed"; + Session.Remove(PREFIX + Constants.CODE_MODE); + Session.Remove(PREFIX + "Name"); + Response.Redirect("~/Assignments.aspx"); } } } @@ -395,10 +445,20 @@ { if (e.Exception != null) { - updateStatus(); + updateStatus(); +<<<<<<< .mine + Session[Constants.CODE_ERROR] = "Action Item Updated"; + Session.Remove(PREFIX + Constants.CODE_MODE); + Session[PREFIX + Constants.CODE_AI] = item_id.ToString(); + Response.Redirect("~/Assignments.aspx"); +======= Response.Redirect("ActionItem.aspx?" + Constants.CODE_AI + "=" + item_id); - } + + + +>>>>>>> .theirs } + } protected void statusList_Init(object sender, EventArgs e) { Modified: Website/Includes/AdministrationTree.ascx =================================================================== --- Website/Includes/AdministrationTree.ascx 2006-08-14 16:33:49 UTC (rev 313) +++ Website/Includes/AdministrationTree.ascx 2006-08-14 17:09:39 UTC (rev 314) @@ -4,7 +4,7 @@ OnCheckedChanged="showHidden_CheckedChanged" OnLoad="showHidden_Load" OnInit="showHidden_Init" /> <asp:TreeView ID="AdminTree" runat="server" SelectedNodeStyle-CssClass="selectednode" OnTreeNodePopulate="AdminTree_TreeNodePopulate" OnTreeNodeCollapsed="AdminTree_TreeNodeCollapsed" - OnTreeNodeExpanded="AdminTree_TreeNodeExpanded" OnInit="AdminTree_Init" OnSelectedNodeChanged="AdminTree_SelectedNodeChanged" + OnTreeNodeExpanded="AdminTree_TreeNodeExpanded" OnLoad="AdminTree_Load" OnSelectedNodeChanged="AdminTree_SelectedNodeChanged" ExpandDepth="1"> <Nodes> <asp:TreeNode Text="Administration" Value="Admin" PopulateOnDemand="True" SelectAction="Expand" /> Modified: Website/Includes/AdministrationTree.ascx.cs =================================================================== --- Website/Includes/AdministrationTree.ascx.cs 2006-08-14 16:33:49 UTC (rev 313) +++ Website/Includes/AdministrationTree.ascx.cs 2006-08-14 17:09:39 UTC (rev 314) @@ -26,7 +26,7 @@ Response.Redirect("~/Assignments.aspx?" + Constants.CODE_USER + "=" + m_user.ID); } - protected void AdminTree_Init(object sender, EventArgs args) + protected void AdminTree_Load(object sender, EventArgs args) { m_logg.Debug("Initializing admin tree"); if (Session[PREFIX + "Nodes"] == null) Modified: Website/Includes/Footer.ascx.cs =================================================================== --- Website/Includes/Footer.ascx.cs 2006-08-14 16:33:49 UTC (rev 313) +++ Website/Includes/Footer.ascx.cs 2006-08-14 17:09:39 UTC (rev 314) @@ -7,6 +7,7 @@ using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; +using System.Collections; using TCDB.Code; @@ -22,18 +23,31 @@ protected string PageLoad() { string result; - TimeSpan loadtime = DateTime.Now - m_startTime; + try + { + TimeSpan loadtime = DateTime.Now - (DateTime)Session["startTime"]; + Session.Remove("startTime"); - if (loadtime.Milliseconds < 99) - { - result = loadtime.Milliseconds + " milliseconds"; + if (loadtime.Milliseconds < 99) + { + result = loadtime.Milliseconds + " milliseconds"; + } + else + { + result = loadtime.TotalSeconds.ToString("F") + " seconds"; + } + IEnumerator keys = Session.Contents.Keys.GetEnumerator(); + String key_string = ""; + while (keys.MoveNext()) + { + key_string = key_string + "\t[" + keys.Current.ToString() + "]\t=\t[" + Session[keys.Current.ToString()] + "]\n"; + } + m_logg.Debug("Page load took [" + result + "] for [" + Request.RawUrl + "] with {\n" + key_string + "}"); } - else + catch { - result = loadtime.TotalSeconds.ToString("F") + " seconds"; + result = ""; } - - m_logg.Debug("Page load took [" + result + "]"); return result; } Modified: Website/TCDB.master =================================================================== --- Website/TCDB.master 2006-08-14 16:33:49 UTC (rev 313) +++ Website/TCDB.master 2006-08-14 17:09:39 UTC (rev 314) @@ -55,7 +55,8 @@ try { - string error = ConfigDB.GetConfigString(m_user.ID, "error"); + string error = (string)Session[Constants.CODE_ERROR]; + Session.Remove(Constants.CODE_ERROR); if (error.Length > 0) { errorLabel.Text = error; Deleted: Website/WorkOrder.aspx =================================================================== --- Website/WorkOrder.aspx 2006-08-14 16:33:49 UTC (rev 313) +++ Website/WorkOrder.aspx 2006-08-14 17:09:39 UTC (rev 314) @@ -1,8 +0,0 @@ -<%@ Page Language="C#" MasterPageFile="~/TCDB.master" AutoEventWireup="true" Title="TCDB: Work Order" %> - -<asp:Content ID="TreeContent" ContentPlaceHolderID="TreeContentPlaceHolder" Runat="Server"> -</asp:Content> -<asp:Content ID="MainContent" ContentPlaceHolderID="MainContentPlaceHolder" Runat="Server"> -</asp:Content> -<asp:Content ID="NotesContent" ContentPlaceHolderID="NotesContentPlaceHolder" Runat="Server"> -</asp:Content> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2006-08-14 16:33:59
|
Revision: 313 Author: rouquin Date: 2006-08-14 09:33:49 -0700 (Mon, 14 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=313&view=rev Log Message: ----------- Fixed the disappearing control bug and got the assignment tree working again. Modified Paths: -------------- Website/ActionItem.aspx Website/App_Code/SiteUserControl.cs Website/App_Code/Users.cs Website/Includes/ActionItems.ascx Website/Includes/ActionItems.ascx.cs Website/Includes/Assignments.ascx Website/Includes/Assignments.ascx.cs Website/Includes/AssignmentsTree.ascx.cs Website/Includes/Header_Menu.ascx.cs Modified: Website/ActionItem.aspx =================================================================== --- Website/ActionItem.aspx 2006-08-11 21:59:39 UTC (rev 312) +++ Website/ActionItem.aspx 2006-08-14 16:33:49 UTC (rev 313) @@ -1,5 +1,4 @@ -<%@ Page Language="C#" MasterPageFile="~/TCDB.master" AutoEventWireup="true" Title="TCDB: Action Item" - ValidateRequest="false" %> +<%@ Page Language="C#" MasterPageFile="~/TCDB.master" AutoEventWireup="true" Title="TCDB: Action Item" ValidateRequest="false" %> <%@ Register Src="~/Includes/AssignmentsTree.ascx" TagPrefix="assignment" TagName="Tree" %> <%@ Register Src="~/Includes/ActionItems.ascx" TagPrefix="assignment" TagName="ActionItems" %> Modified: Website/App_Code/SiteUserControl.cs =================================================================== --- Website/App_Code/SiteUserControl.cs 2006-08-11 21:59:39 UTC (rev 312) +++ Website/App_Code/SiteUserControl.cs 2006-08-14 16:33:49 UTC (rev 313) @@ -37,6 +37,7 @@ catch (Exception ex) { m_logg.Debug("Unable to load session user information", ex); + m_user = new User(); } Logger.CreateLoggerDetails(m_user, Request); Modified: Website/App_Code/Users.cs =================================================================== --- Website/App_Code/Users.cs 2006-08-11 21:59:39 UTC (rev 312) +++ Website/App_Code/Users.cs 2006-08-14 16:33:49 UTC (rev 313) @@ -498,7 +498,7 @@ // Specified product if (!p_rights.ContainsKey(productID)) p_rights[productID] = RightDB.TCDB_GetUserRights(productID, p_id, true); - if (user.HasRights(productID) && p_rights[productID].Contains(right)) + if (user.HasRights(productID) && HasRight(right,productID)) return true; // Site rights? @@ -506,7 +506,7 @@ { if (!p_rights.ContainsKey(Constants.PRODUCT_SITEID)) 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)) + if (user.HasRights(Constants.PRODUCT_SITEID) && HasRight(right, Constants.PRODUCT_SITEID)) return true; } Modified: Website/Includes/ActionItems.ascx =================================================================== --- Website/Includes/ActionItems.ascx 2006-08-11 21:59:39 UTC (rev 312) +++ Website/Includes/ActionItems.ascx 2006-08-14 16:33:49 UTC (rev 313) @@ -219,8 +219,7 @@ </div> <div class="item"> <label> - Assigned To:</label><asp:DropDownList ID="assignedTo" runat="server" SelectedValue='<%# Bind("assignedID") %>' - OnInit="assignedTo_Init"> + Assigned To:</label><asp:DropDownList ID="assignedTo" runat="server" SelectedValue='<%# Bind("assignedID") %>' OnLoad="assignedTo_Load"> </asp:DropDownList> </div> </div> @@ -306,7 +305,7 @@ <div class="item"> <label> Assigned To:</label><asp:DropDownList ID="assignedTo" runat="server" SelectedValue='<%# Bind("assignedID") %>' - OnInit="assignedTo_Init"> + OnLoad="assignedTo_Load"> </asp:DropDownList></div> </div> <div class="end"> Modified: Website/Includes/ActionItems.ascx.cs =================================================================== --- Website/Includes/ActionItems.ascx.cs 2006-08-11 21:59:39 UTC (rev 312) +++ Website/Includes/ActionItems.ascx.cs 2006-08-14 16:33:49 UTC (rev 313) @@ -22,7 +22,7 @@ private static Logger m_logg = new Logger("TCDB.ActionItems"); private const string PREFIX = "AssignmentTab_"; private ActionItem ai; - private String item_id = ""; + private int item_id = 0; private int productID = 0; private String mode = ""; private bool current = false; @@ -38,14 +38,10 @@ { current = true; } - - if (productID == 0) - productID = Constants.PRODUCT_SITEID; - // Load session data try { - item_id = Session[PREFIX + Constants.CODE_AI].ToString(); + item_id = Convert.ToInt32(Session[PREFIX + Constants.CODE_AI]); } catch { } try @@ -57,10 +53,11 @@ { productID = Convert.ToInt32(Session[PREFIX + Constants.CODE_PRODUCT]); } - catch { } + catch { productID = Constants.PRODUCT_SITEID; } + m_logg.Debug("Loading page ActionItems"); - if (item_id == null) + if (item_id == 0) { m_logg.Debug("Unable to locate action item ID in query string"); if (mode != "new") @@ -87,9 +84,12 @@ } } - Session.Add(PREFIX + "item_id", item_id); - Session.Add(PREFIX + "productID", productID); - Session.Add(PREFIX + "tableName", "tcdb_actionItem"); + if (item_id == 0) + Session[PREFIX + "item_id"] = null; + else + Session[PREFIX + "item_id"] = item_id; + Session[PREFIX + "productID"] = productID; + Session[PREFIX + "tableName"] = "tcdb_actionItem"; if (mode == "new" && (m_user.HasRight(Constants.RIGHTS_AI_CREATE_MY) || m_user.HasRight(Constants.RIGHTS_AI_CREATE_OTHER))) ActionItemsView.ChangeMode(FormViewMode.Insert); @@ -101,7 +101,7 @@ DropDownList statusList = (DropDownList)ActionItemsView.FindControl("statusList"); Object dateFinished = ActionItemsView.FindControl("dateFinished"); Nullable<DateTime> date; - int id = Convert.ToInt32(item_id); + int id = item_id; if (ActionItemsView.CurrentMode == FormViewMode.ReadOnly) { @@ -359,7 +359,7 @@ protected void deleteItem(object sender, CommandEventArgs e) { tcdbDataSetTableAdapters.db_actionItemsTableAdapter aiAdapter = new tcdbDataSetTableAdapters.db_actionItemsTableAdapter(); - aiAdapter.Delete(Convert.ToInt32(item_id), 0); + aiAdapter.Delete(item_id, 0); Response.Redirect("Assignments.aspx?" + Constants.CODE_USER + "=" + m_user.ID); } protected void ActionItemsView_ItemInserted(object sender, FormViewInsertedEventArgs e) @@ -393,14 +393,15 @@ } protected void ActionItemsView_ItemUpdated(object sender, FormViewUpdatedEventArgs e) { - updateStatus(); - Response.Redirect("ActionItem.aspx?" + Constants.CODE_AI + "=" + item_id.ToString()); + if (e.Exception != null) + { + updateStatus(); + Response.Redirect("ActionItem.aspx?" + Constants.CODE_AI + "=" + item_id); + } } protected void statusList_Init(object sender, EventArgs e) { - if (!current) return; - DropDownList statusList = (DropDownList)sender; if (ai != null && @@ -411,8 +412,6 @@ } protected void percentList_Init(object sender, EventArgs e) { - if (!current) return; - RadioButtonList percentList = (RadioButtonList)sender; if (ai != null && @@ -423,8 +422,6 @@ } protected void dateFinished_Init(object sender, EventArgs e) { - if (!current) return; - CalendarPopup dateFinished = (CalendarPopup)sender; if (ai != null && @@ -435,8 +432,6 @@ } protected void NewButton_Init(object sender, EventArgs e) { - if (!current) return; - LinkButton newBtn = (LinkButton)sender; Label newLbl = (Label)ActionItemsView.FindControl("newLbl"); @@ -449,8 +444,6 @@ } protected void EditButton_Init(object sender, EventArgs e) { - if (!current) return; - LinkButton editBtn = (LinkButton)sender; if (ai != null && @@ -461,8 +454,6 @@ } protected void DeleteButton_Init(object sender, EventArgs e) { - if (!current) return; - LinkButton deleteBtn = (LinkButton)sender; Label deleteLbl = (Label)ActionItemsView.FindControl("deleteLbl"); Label deletedLbl = (Label)ActionItemsView.FindControl("deletedLbl"); @@ -476,12 +467,10 @@ deleteLbl.Visible = false; } } - protected void assignedTo_Init(object sender, EventArgs e) + protected void assignedTo_Load(object sender, EventArgs e) { - if (!current) return; - DropDownList assignedTo = (DropDownList)sender; - if (ai == null) ai = ActionItemDB.GetActionItem(Convert.ToInt32(item_id), active); + if (ai == null) ai = ActionItemDB.GetActionItem(item_id, active); if (!(ActionItemsView.CurrentMode == FormViewMode.Insert && m_user.HasRight(Constants.RIGHTS_AI_CREATE_OTHER, Constants.PRODUCT_ANYID)) && !(ActionItemsView.CurrentMode == FormViewMode.Edit && m_user.HasRight(Constants.RIGHTS_AI_REASSIGN_OTHER, ai.CREATOR, Constants.PRODUCT_ANYID))) @@ -522,8 +511,6 @@ } protected void activeBox_Init(object sender, EventArgs e) { - if (!current) return; - CheckBox activeBox = (CheckBox)sender; Label deletedLbl = (Label)ActionItemsView.FindControl("deletedLbl"); @@ -539,7 +526,7 @@ int deleted = (activeBox.Checked) ? 0 : 1; tcdbDataSetTableAdapters.db_actionItemsTableAdapter aiAdapter = new tcdbDataSetTableAdapters.db_actionItemsTableAdapter(); - aiAdapter.Delete(Convert.ToInt32(item_id), deleted); + aiAdapter.Delete(item_id, deleted); if (ActionItemsView.CurrentMode != FormViewMode.Edit) Response.Redirect(Request.RawUrl); Modified: Website/Includes/Assignments.ascx =================================================================== --- Website/Includes/Assignments.ascx 2006-08-11 21:59:39 UTC (rev 312) +++ Website/Includes/Assignments.ascx 2006-08-14 16:33:49 UTC (rev 313) @@ -11,7 +11,7 @@ <asp:SessionParameter Name="assignedID" SessionField="AssignmentTree_u" Type="Int32" /> <asp:SessionParameter Name="creatorID" SessionField="AssignmentTab_myID" Type="Int32" /> <asp:Parameter Name="highPriority" Type="Boolean" /> - <asp:SessionParameter DefaultValue="" Name="active" SessionField="AssignmentTab_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-11 21:59:39 UTC (rev 312) +++ Website/Includes/Assignments.ascx.cs 2006-08-14 16:33:49 UTC (rev 313) @@ -80,14 +80,16 @@ { Product product = ProductDB.GetProduct(true, Convert.ToInt32(productID), null); - if (product != null) + if (product.ID != 0) { - 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 + { + Page.Title = "TCDB: All Assignments"; + header.Text = "All Assignments"; + } } } else @@ -130,13 +132,18 @@ } } + // Set session filters + if (uid != 0) + Session[PREFIX_TREE + Constants.CODE_USER] = uid; + else + Session[PREFIX_TREE + Constants.CODE_USER] = null; if (mode == Constants.CODE_CREATED) Session[PREFIX + "myID"] = m_user.ID; - - if (uid != 0) - Session.Add(PREFIX_TREE + Constants.CODE_USER, uid); else - Session.Remove(PREFIX_TREE + Constants.CODE_USER); + Session[PREFIX + "myID"] = null; + + + // init gridview m_logg.Debug("Databinding the AssignmentsGridView"); if (Session[PREFIX + "refresh"] != null) AssignmentsGridView.DataBind(); @@ -661,8 +668,6 @@ protected void toDate_Init(object sender, EventArgs e) { - if (!current) return; - if (!IsPostBack) { if (Session[PREFIX + "toDate"] == null) @@ -676,8 +681,6 @@ } protected void toDueDate_Init(object sender, EventArgs e) { - if (!current) return; - if (!IsPostBack) { if (Session[PREFIX + "toDueDate"] == null) @@ -691,8 +694,6 @@ } protected void toFinishedDate_Init(object sender, EventArgs e) { - if (!current) return; - if (!IsPostBack) { if (Session[PREFIX + "toFinishedDate"] == null) @@ -706,8 +707,6 @@ } protected void fromDate_Init(object sender, EventArgs e) { - if (!current) return; - if (!IsPostBack) { if (Session[PREFIX + "fromDate"] == null) @@ -721,8 +720,6 @@ } protected void fromDueDate_Init(object sender, EventArgs e) { - if (!current) return; - if (!IsPostBack) { if (Session[PREFIX + "fromDueDate"] == null) @@ -736,8 +733,6 @@ } protected void fromFinishedDate_Init(object sender, EventArgs e) { - if (!current) return; - if (!IsPostBack) { if (Session[PREFIX + "fromFinishedDate"] == null) @@ -751,8 +746,6 @@ } protected void cboShowActionItems_Init(object sender, EventArgs e) { - if (!current) return; - if (Session[PREFIX + "showActionItems"] == null) { cboShowActionItems.Checked = m_user.GetConfigBool("filter_show_action_items"); @@ -763,8 +756,6 @@ } protected void cboShowWorkOrders_Init(object sender, EventArgs e) { - if (!current) return; - if (Session[PREFIX + "showWorkOrders"] == null) { cboShowWorkOrders.Checked = m_user.GetConfigBool("filter_show_work_orders"); @@ -775,20 +766,16 @@ } protected void cboHighPriority_Init(object sender, EventArgs e) { - if (!current) return; - if (Session[PREFIX + "showHighPriority"] == null) { cboHighPriority.Checked = m_user.GetConfigBool("filter_show_high_priority"); - Session[PREFIX + "showHightPriority"] = cboHighPriority.Checked; + Session[PREFIX + "showHighPriority"] = cboHighPriority.Checked; } else cboHighPriority.Checked = Convert.ToBoolean(Session[PREFIX + "showHighPriority"]); } protected void cboLowPriority_Init(object sender, EventArgs e) { - if (!current) return; - if (Session[PREFIX + "showLowPriority"] == null) { cboLowPriority.Checked = m_user.GetConfigBool("filter_show_low_priority"); @@ -799,8 +786,6 @@ } protected void cboStatusFilter_Init(object sender, EventArgs e) { - if (!current) return; - if (Session[PREFIX + "filterStatus"] == null) { cboStatusFilter.Checked = m_user.GetConfigBool("filter_enable_status_filter"); @@ -811,8 +796,6 @@ } protected void cboDateFilter_Init(object sender, EventArgs e) { - if (!current) return; - if (Session[PREFIX + "filterAssignedDate"] == null) { cboDateFilter.Checked = m_user.GetConfigBool("filter_enable_assigned_date_filter"); @@ -823,8 +806,6 @@ } protected void cboDueFilter_Init(object sender, EventArgs e) { - if (!current) return; - if (Session[PREFIX + "filterDueDate"] == null) { cboDueFilter.Checked = m_user.GetConfigBool("filter_enable_due_date_filter"); @@ -835,8 +816,6 @@ } protected void cboFinishedFilter_Init(object sender, EventArgs e) { - if (!current) return; - if (Session[PREFIX + "filterFinishedDate"] == null) { cboFinishedFilter.Checked = m_user.GetConfigBool("filter_enable_finished_date_filter"); @@ -847,8 +826,6 @@ } protected void cboTypeFilter_Init(object sender, EventArgs e) { - if (!current) return; - if (Session[PREFIX + "filterType"] == null) { cboTypeFilter.Checked = m_user.GetConfigBool("filter_enable_type_filter"); @@ -859,8 +836,6 @@ } protected void cboPriorityFilter_Init(object sender, EventArgs e) { - if (!current) return; - if (Session[PREFIX + "filterPriority"] == null) { cboPriorityFilter.Checked = m_user.GetConfigBool("filter_enable_priority_filter"); @@ -871,8 +846,6 @@ } protected void cboShowCompleted_Init(object sender, EventArgs e) { - if (!current) return; - if (Session[PREFIX + "showCompleted"] == null) { cboShowCompleted.Checked = (m_user.GetConfigBool("filter_show_ai_completed") && m_user.GetConfigBool("filter_show_wo_completed")); @@ -885,8 +858,6 @@ } protected void newActionItem_Init(object sender, EventArgs e) { - if (!current) return; - LinkButton newAI = (LinkButton)sender; if (!m_user.HasRight(Constants.RIGHTS_AI_CREATE_MY, Constants.PRODUCT_ANYID) && !m_user.HasRight(Constants.RIGHTS_AI_CREATE_OTHER, Constants.PRODUCT_ANYID)) @@ -894,8 +865,6 @@ } protected void newWorkOrder_Init(object sender, EventArgs e) { - if (!current) return; - LinkButton newWorkOrder = (LinkButton)sender; if (!m_user.HasRight(Constants.RIGHTS_DEV_ACCESS)) Modified: Website/Includes/AssignmentsTree.ascx.cs =================================================================== --- Website/Includes/AssignmentsTree.ascx.cs 2006-08-11 21:59:39 UTC (rev 312) +++ Website/Includes/AssignmentsTree.ascx.cs 2006-08-14 16:33:49 UTC (rev 313) @@ -86,29 +86,31 @@ Session[PREFIX_TAB + "Name"] = Constants.CODE_ASSIGNMENT; Response.Redirect("~/Assignments.aspx"); break; - case Constants.CODE_USER: - Session[PREFIX + Constants.CODE_USER] = nodeValue; - Session[PREFIX + Constants.CODE_PRODUCT] = Help.Tree_GetValue(node.Parent, Constants.CODE_VALUE); + case Constants.CODE_USER: try { if (bool.Parse(Help.Tree_GetValue(node, Constants.CODE_CREATED))) { + Session[PREFIX + Constants.CODE_USER] = nodeValue; Session[PREFIX + Constants.CODE_MODE] = Constants.CODE_CREATED; Session[PREFIX + Constants.CODE_PRODUCT] = Constants.PRODUCT_ANYID; } - else - { - Session.Remove(PREFIX + Constants.CODE_MODE); - } } - catch { } + catch + { + Session[PREFIX + Constants.CODE_USER] = nodeValue; + Session[PREFIX + Constants.CODE_PRODUCT] = Help.Tree_GetValue(node.Parent, Constants.CODE_VALUE); + Session[PREFIX + Constants.CODE_MODE] = null; + } Session[PREFIX_TAB + "Name"] = Constants.CODE_ASSIGNMENT; Response.Redirect("~/Assignments.aspx"); break; case Constants.CODE_CREATED: + Session[PREFIX + Constants.CODE_USER] = null; Session[PREFIX + Constants.CODE_MODE] = Constants.CODE_CREATED; + Session[PREFIX + Constants.CODE_PRODUCT] = Constants.PRODUCT_ANYID; + Session[PREFIX_TAB + "Name"] = Constants.CODE_ASSIGNMENT; - Session.Remove(PREFIX + Constants.CODE_USER); Response.Redirect("~/Assignments.aspx"); break; case Constants.CODE_AI: Modified: Website/Includes/Header_Menu.ascx.cs =================================================================== --- Website/Includes/Header_Menu.ascx.cs 2006-08-11 21:59:39 UTC (rev 312) +++ Website/Includes/Header_Menu.ascx.cs 2006-08-14 16:33:49 UTC (rev 313) @@ -21,7 +21,12 @@ protected void LoadAssignments(object sender, CommandEventArgs e) { + string PREFIX_TREE = "AssignmentTree_"; Session["AssignmentTab_Name"] = Constants.CODE_ASSIGNMENT; + + Session[PREFIX_TREE + Constants.CODE_USER] = m_user.ID; + Session[PREFIX_TREE + Constants.CODE_MODE] = null; + Session[PREFIX_TREE + Constants.CODE_PRODUCT] = null; 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-11 21:59:52
|
Revision: 312 Author: rouquin Date: 2006-08-11 14:59:39 -0700 (Fri, 11 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=312&view=rev Log Message: ----------- Updated code for some database bug fixes. Added content to Platforms page. Added OS and Arch pages. Modified Paths: -------------- Website/App_Code/tcdbDataSet.xsd Website/App_Code/tcdbDataSet.xss Website/Includes/Platforms.ascx Website/Includes/Platforms.ascx.cs Website/Includes/Versions.ascx Added Paths: ----------- Website/Architecture.aspx Website/Includes/Architectures.ascx Website/Includes/Architectures.ascx.cs Website/Includes/OperatingSystems.ascx Website/Includes/OperatingSystems.ascx.cs Website/OperatingSystem.aspx Removed Paths: ------------- Website/Includes/Users.ascx Modified: Website/App_Code/tcdbDataSet.xsd =================================================================== --- Website/App_Code/tcdbDataSet.xsd 2006-08-11 20:54:32 UTC (rev 311) +++ Website/App_Code/tcdbDataSet.xsd 2006-08-11 21:59:39 UTC (rev 312) @@ -967,7 +967,7 @@ <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="@architectureID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumn="archID" SourceColumnNullMapping="False" SourceVersion="Current"> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@archID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumn="archID" SourceColumnNullMapping="False" SourceVersion="Current"> </Parameter> <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@osID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumn="osID" SourceColumnNullMapping="False" SourceVersion="Current"> </Parameter> @@ -1004,6 +1004,7 @@ <Mapping SourceColumn="osID" DataSetColumn="osID" /> <Mapping SourceColumn="osFriendlyName" DataSetColumn="osFriendlyName" /> <Mapping SourceColumn="osCodeName" DataSetColumn="osCodeName" /> + <Mapping SourceColumn="osArch" DataSetColumn="osArch" /> </Mappings> <Sources> </Sources> @@ -1080,108 +1081,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" /> @@ -1194,17 +1195,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" /> @@ -1217,102 +1218,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" /> @@ -1325,25 +1326,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_RowChangingName="db_roleProductRowChanging" msprop:Generator_RowEvArgName="db_roleProductRowChangeEvent" msprop:Generator_RowEvHandlerName="db_roleProductRowChangeEventHandler" msprop:Generator_TableClassName="db_roleProductDataTable" msprop:Generator_TableVarName="tabledb_roleProduct" msprop:Generator_RowDeletingName="db_roleProductRowDeleting" msprop:Generator_TablePropName="db_roleProduct"> <xs:complexType> <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="productName" msprop:Generator_UserColumnName="productName" msprop:Generator_ColumnPropNameInRow="productName" msprop:Generator_ColumnVarNameInTable="columnproductName" msprop:Generator_ColumnPropNameInTable="productNameColumn" 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="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" /> @@ -1356,17 +1357,17 @@ <xs:element name="db_roleUserProduct" msprop:Generator_UserTableName="db_roleUserProduct" msprop:Generator_RowDeletedName="db_roleUserProductRowDeleted" msprop:Generator_RowChangedName="db_roleUserProductRowChanged" msprop:Generator_RowClassName="db_roleUserProductRow" msprop:Generator_RowChangingName="db_roleUserProductRowChanging" msprop:Generator_RowEvArgName="db_roleUserProductRowChangeEvent" msprop:Generator_RowEvHandlerName="db_roleUserProductRowChangeEventHandler" msprop:Generator_TableClassName="db_roleUserProductDataTable" msprop:Generator_TableVarName="tabledb_roleUserProduct" msprop:Generator_RowDeletingName="db_roleUserProductRowDeleting" msprop:Generator_TablePropName="db_roleUserProduct"> <xs:complexType> <xs:sequence> - <xs:element name="roleID" msprop:Generator_UserColumnName="roleID" msprop:Generator_ColumnPropNameInRow="roleID" msprop:Generator_ColumnVarNameInTable="columnroleID" msprop:Generator_ColumnPropNameInTable="roleIDColumn" type="xs:int" /> - <xs:element name="roleName" msprop:Generator_UserColumnName="roleName" msprop:Generator_ColumnPropNameInRow="roleName" msprop:Generator_ColumnVarNameInTable="columnroleName" msprop:Generator_ColumnPropNameInTable="roleNameColumn" minOccurs="0"> + <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="roleName" msprop:Generator_UserColumnName="roleName" msprop:Generator_ColumnVarNameInTable="columnroleName" msprop:Generator_ColumnPropNameInRow="roleName" msprop:Generator_ColumnPropNameInTable="roleNameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="active" msprop:Generator_UserColumnName="active" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> - <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="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_ColumnVarNameInTable="columnactive" msprop:Generator_ColumnPropNameInRow="active" msprop:Generator_ColumnPropNameInTable="activeColumn" type="xs:boolean" /> + <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="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" /> @@ -1379,17 +1380,17 @@ <xs:element name="db_roleRight" msprop:Generator_UserTableName="db_roleRight" msprop:Generator_RowDeletedName="db_roleRightRowDeleted" msprop:Generator_RowChangedName="db_roleRightRowChanged" msprop:Generator_RowClassName="db_roleRightRow" msprop:Generator_RowChangingName="db_roleRightRowChanging" msprop:Generator_RowEvArgName="db_roleRightRowChangeEvent" msprop:Generator_RowEvHandlerName="db_roleRightRowChangeEventHandler" msprop:Generator_TableClassName="db_roleRightDataTable" msprop:Generator_TableVarName="tabledb_roleRight" msprop:Generator_RowDeletingName="db_roleRightRowDeleting" msprop:Generator_TablePropName="db_roleRight"> <xs:complexType> <xs:sequence> - <xs:element name="roleID" msprop:Generator_UserColumnName="roleID" msprop:Generator_ColumnPropNameInRow="roleID" msprop:Generator_ColumnVarNameInTable="columnroleID" msprop:Generator_ColumnPropNameInTable="roleIDColumn" type="xs:int" /> - <xs:element name="rightsID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="rightsID" msprop:Generator_ColumnPropNameInRow="rightsID" msprop:Generator_ColumnVarNameInTable="columnrightsID" msprop:Generator_ColumnPropNameInTable="rightsIDColumn" type="xs:int" /> - <xs:element name="rightName" msprop:Generator_UserColumnName="rightName" msprop:Generator_ColumnPropNameInRow="rightName" msprop:Generator_ColumnVarNameInTable="columnrightName" msprop:Generator_ColumnPropNameInTable="rightNameColumn" mi... [truncated message content] |
From: <ro...@us...> - 2006-08-11 21:59:23
|
Revision: 311 Author: rouquin Date: 2006-08-11 13:54:32 -0700 (Fri, 11 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=311&view=rev Log Message: ----------- Fixed the admin tree to correctly use Matt's Get/SetValue functions. Modified Paths: -------------- Website/Includes/AdministrationTree.ascx Website/Includes/AdministrationTree.ascx.cs Website/Includes/AssignmentsTree.ascx.cs Removed Paths: ------------- Website/AdminRole.aspx Website/Includes/RoleAdmin.ascx Website/Includes/RoleAdmin.ascx.cs Deleted: Website/AdminRole.aspx =================================================================== --- Website/AdminRole.aspx 2006-08-11 19:48:28 UTC (rev 310) +++ Website/AdminRole.aspx 2006-08-11 20:54:32 UTC (rev 311) @@ -1,12 +0,0 @@ -<%@ Page Language="C#" MasterPageFile="~/TCDB.master" AutoEventWireup="true" Title="TCDB: Administration" %> -<%@ Register Src="~/Includes/AdministrationTree.ascx" TagPrefix="admin" TagName="Tree" %> -<%@ Register Src="~/Includes/RoleAdmin.ascx" TagPrefix="admin" TagName="Role" %> - -<asp:Content ID="TreeContent" ContentPlaceHolderID="TreeContentPlaceHolder" runat="Server"> - <admin:Tree runat="server" ID="Tree" /> -</asp:Content> -<asp:Content ID="MainContent" ContentPlaceHolderID="MainContentPlaceHolder" runat="Server"> - <admin:Role ID="Role" runat="server" /> -</asp:Content> -<asp:Content ID="NotesContent" ContentPlaceHolderID="NotesContentPlaceHolder" runat="Server"> -</asp:Content> Modified: Website/Includes/AdministrationTree.ascx =================================================================== --- Website/Includes/AdministrationTree.ascx 2006-08-11 19:48:28 UTC (rev 310) +++ Website/Includes/AdministrationTree.ascx 2006-08-11 20:54:32 UTC (rev 311) @@ -1,9 +1,11 @@ <%@ Control Language="C#" AutoEventWireup="true" CodeFile="AdministrationTree.ascx.cs" Inherits="TCDB.AdministrationTree" %> +<asp:CheckBox ID="showHidden" runat="server" Text="Show Hidden" AutoPostBack="True" + OnCheckedChanged="showHidden_CheckedChanged" OnLoad="showHidden_Load" OnInit="showHidden_Init" /> <asp:TreeView ID="AdminTree" runat="server" SelectedNodeStyle-CssClass="selectednode" OnTreeNodePopulate="AdminTree_TreeNodePopulate" OnTreeNodeCollapsed="AdminTree_TreeNodeCollapsed" - OnTreeNodeExpanded="AdminTree_TreeNodeExpanded" OnInit="AdminTree_Init" - OnSelectedNodeChanged="AdminTree_SelectedNodeChanged" ExpandDepth="1"> + OnTreeNodeExpanded="AdminTree_TreeNodeExpanded" OnInit="AdminTree_Init" OnSelectedNodeChanged="AdminTree_SelectedNodeChanged" + ExpandDepth="1"> <Nodes> <asp:TreeNode Text="Administration" Value="Admin" PopulateOnDemand="True" SelectAction="Expand" /> </Nodes> Modified: Website/Includes/AdministrationTree.ascx.cs =================================================================== --- Website/Includes/AdministrationTree.ascx.cs 2006-08-11 19:48:28 UTC (rev 310) +++ Website/Includes/AdministrationTree.ascx.cs 2006-08-11 20:54:32 UTC (rev 311) @@ -29,10 +29,9 @@ protected void AdminTree_Init(object sender, EventArgs args) { m_logg.Debug("Initializing admin tree"); - if (Session["AdminNodes"] == null) - Session.Add("AdminNodes", new ArrayList()); + if (Session[PREFIX + "Nodes"] == null) + Session.Add(PREFIX + "Nodes", new ArrayList()); } - protected void AdminTree_SelectedNodeChanged(object sender, EventArgs e) { TreeNode node = AdminTree.SelectedNode; @@ -85,26 +84,25 @@ } // } } - protected void AdminTree_TreeNodeExpanded(object sender, TreeNodeEventArgs e) { - ArrayList nodes = (ArrayList)Session["AdminNodes"]; + ArrayList nodes = (ArrayList)Session[PREFIX + "Nodes"]; if (!nodes.Contains(e.Node.ValuePath)) nodes.Add(e.Node.ValuePath); } protected void AdminTree_TreeNodeCollapsed(object sender, TreeNodeEventArgs e) { - ArrayList nodes = (ArrayList)Session["AdminNodes"]; + ArrayList nodes = (ArrayList)Session[PREFIX + "Nodes"]; int index = nodes.IndexOf(e.Node.ValuePath); if (index >= 0) nodes.RemoveAt(index); } - + protected void BuildProductList(TreeNode parent) { - ArrayList nodes = (ArrayList)Session["AdminNodes"]; + ArrayList nodes = (ArrayList)Session[PREFIX + "Nodes"]; List<Product> products = ProductDB.GetProductList(active); foreach (Product product in products) @@ -115,14 +113,9 @@ TreeNode newNode = new TreeNode(); newNode.Text = "<product>" + product.NAME + "</product>"; Help.Tree_SetValue(newNode, PREFIX + Constants.CODE_PRODUCT, product.ID.ToString()); - - // Set the PopulateOnDemand property to true so that the child nodes can be - // dynamically populated. newNode.PopulateOnDemand = true; - - // Set additional properties for the node. newNode.SelectAction = TreeNodeSelectAction.Expand; - newNode.NavigateUrl = "~/Product.aspx"; + newNode.NavigateUrl = "~/Product.aspx?"+Constants.CODE_PRODUCT + "=" +product.ID; if (!product.ACTIVE) newNode.Text = "<font class='deleted'>" + newNode.Text + "</font>"; @@ -135,7 +128,8 @@ } protected void BuildAdminList(TreeNode parent) { - ArrayList nodes = (ArrayList)Session["AdminNodes"]; + ArrayList nodes = (ArrayList)Session[PREFIX + "Nodes"]; + int productID = Convert.ToInt32(Help.Tree_GetValue(parent, PREFIX + Constants.CODE_PRODUCT)); TreeNode newNode; // Add Admin Settings @@ -173,7 +167,6 @@ 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(); @@ -213,27 +206,28 @@ parent.ChildNodes.Add(newNode); if (nodes.Contains(newNode.ValuePath)) newNode.Expand(); - } + } } protected void BuildReleaseList(TreeNode parent) { - int productID = Convert.ToInt32(parent.Parent.Value); - ArrayList nodes = (ArrayList)Session["AdminNodes"]; - List<Release> versions = VersionDB.GetVersionList(productID, active); + int productID = Convert.ToInt32(Help.Tree_GetValue(parent.Parent, PREFIX + Constants.CODE_PRODUCT)); + ArrayList nodes = (ArrayList)Session[PREFIX + "Nodes"]; + // Show hidden? + Nullable<bool> hidden = true; + if (showHidden.Checked) + hidden = null; + + List<Release> versions = VersionDB.GetVersionList(productID, hidden); foreach (Release version in versions) { // Create the new node. TreeNode newNode = new TreeNode(); newNode.Text = version.NUMBER; - newNode.Value = version.ID.ToString(); - - // Set the PopulateOnDemand property to true so that the child nodes can be dynamically populated. + Help.Tree_SetValue(newNode, PREFIX + Constants.CODE_VERSION, version.ID.ToString()); newNode.PopulateOnDemand = true; - - // Set additional properties for the node. newNode.SelectAction = TreeNodeSelectAction.Expand; - newNode.NavigateUrl = "~/Version.aspx?"+Constants.CODE_PRODUCT+"="+productID+"&" + Constants.CODE_VERSION + "=" + newNode.Value; + newNode.NavigateUrl = "~/Version.aspx?" + Constants.CODE_PRODUCT + "=" + productID + "&" + Constants.CODE_VERSION + "=" + version.ID; if (!version.ACTIVE) newNode.Text = "<font class='deleted'>" + newNode.Text + "</font>"; @@ -245,7 +239,7 @@ } protected void BuildTagList(TreeNode parent) { - ArrayList nodes = (ArrayList)Session["AdminNodes"]; + ArrayList nodes = (ArrayList)Session[PREFIX + "Nodes"]; /* // Populate Tags query = "SELECT * FROM tags WHERE productID="+e.Node.Parent.Value; @@ -278,8 +272,8 @@ } protected void BuildCategoryList(TreeNode parent) { - ArrayList nodes = (ArrayList)Session["AdminNodes"]; - int productID = Convert.ToInt32(parent.Value); + ArrayList nodes = (ArrayList)Session[PREFIX + "Nodes"]; + int productID = Convert.ToInt32(Help.Tree_GetValue(parent, PREFIX + Constants.CODE_PRODUCT)); TreeNode newNode; if (m_user.HasRight(Constants.RIGHTS_VERSION_VIEW, productID)) @@ -336,7 +330,6 @@ 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(); @@ -344,7 +337,7 @@ } protected void BuildStatusGroupList(TreeNode parent) { - ArrayList nodes = (ArrayList)Session["AdminNodes"]; + ArrayList nodes = (ArrayList)Session[PREFIX + "Nodes"]; TreeNode newNode; // Action Item @@ -392,7 +385,7 @@ } protected void BuildLabList(TreeNode parent) { - ArrayList nodes = (ArrayList)Session["AdminNodes"]; + ArrayList nodes = (ArrayList)Session[PREFIX + "Nodes"]; /* // Populate Labs query = "SELECT * FROM lab"; @@ -426,27 +419,24 @@ } protected void BuildUserList(TreeNode parent) { - tcdbDataSetTableAdapters.db_roleProductUserTableAdapter userAdapter = new tcdbDataSetTableAdapters.db_roleProductUserTableAdapter(); - tcdbDataSet.db_roleProductUserDataTable userTable = userAdapter.GetData(null, Convert.ToInt32(parent.Parent.Value), true); + int productID = Convert.ToInt32(Help.Tree_GetValue(parent.Parent, PREFIX + Constants.CODE_PRODUCT)); int lastID = -1; - int productID = Convert.ToInt32(parent.Parent.Value); - foreach (tcdbDataSet.db_roleProductUserRow row in userTable) + List<User> users = ProductDB.TCDB_GetProductUsers(productID, null); + foreach (User user in users) { - if (lastID == row.userID) + if (lastID == user.ID) continue; else - lastID = row.userID; + lastID = user.ID; if (m_user.HasRight(Constants.RIGHTS_USER_VIEW_OTHER, productID)) { // Create the new node. TreeNode newNode = new TreeNode(); - newNode.Text = row.fullName; - newNode.Value = row.userID.ToString(); ; - newNode.PopulateOnDemand = true; - newNode.SelectAction = TreeNodeSelectAction.Expand; - newNode.NavigateUrl = "~/UserSettings.aspx?" + Constants.CODE_PRODUCT + "=" + productID + "&" + Constants.CODE_USER + "=" + newNode.Value; + newNode.Text = user.FULLNAME; + Help.Tree_SetValue(newNode, PREFIX + Constants.CODE_USER, user.ID.ToString()); + newNode.NavigateUrl = "~/UserSettings.aspx?" + Constants.CODE_PRODUCT + "=" + productID + "&" + Constants.CODE_USER + "=" + user.ID; parent.ChildNodes.Add(newNode); newNode.Expand(); } @@ -455,18 +445,18 @@ protected void BuildAllUserList(TreeNode parent) { List<User> users = UserDB.TCDB_GetUserList(active); - int productID = Convert.ToInt32(parent.Parent.Value); + int productID = Convert.ToInt32(Help.Tree_GetValue(parent.Parent, PREFIX + Constants.CODE_PRODUCT)); foreach (User user in users) { if (m_user.HasRight(Constants.RIGHTS_USER_VIEW_OTHER, productID)) { - TreeNode child = new TreeNode(); - child.Text = user.FULLNAME; - child.Value = user.ID.ToString(); - child.NavigateUrl = "~/UserSettings.aspx?" + Constants.CODE_PRODUCT + "=" + Constants.PRODUCT_SITEID + "&" + Constants.CODE_USER + "=" + child.Value; + TreeNode newNode = new TreeNode(); + newNode.Text = user.FULLNAME; + Help.Tree_SetValue(newNode, PREFIX + Constants.CODE_USER, user.ID.ToString()); + newNode.NavigateUrl = "~/UserSettings.aspx?" + Constants.CODE_PRODUCT + "=" + Constants.PRODUCT_SITEID + "&" + Constants.CODE_USER + "=" + user.ID; - parent.ChildNodes.Add(child); + parent.ChildNodes.Add(newNode); } } } @@ -506,42 +496,41 @@ } protected void BuildAllRolesList(TreeNode parent) { - tcdbDataSetTableAdapters.db_roleTableAdapter rAdapter = new tcdbDataSetTableAdapters.db_roleTableAdapter(); - tcdbDataSet.db_roleDataTable rTable = rAdapter.GetData(null, null, active); + List<Role> roles = RightDB.TCDB_GetRoleList(active); - foreach (tcdbDataSet.db_roleRow row in rTable) + foreach (Role role in roles) { - TreeNode child = new TreeNode(); - 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>"; + TreeNode newNode = new TreeNode(); + newNode.Text = role.NAME; + Help.Tree_SetValue(newNode, PREFIX + Constants.CODE_ROLE, role.ID.ToString()); + newNode.NavigateUrl = "~/Role.aspx?" + Constants.CODE_ROLE + "=" + role.ID; + if (!role.ACTIVE) + newNode.Text = "<font class='deleted'>" + newNode.Text + "</font>"; - parent.ChildNodes.Add(child); + parent.ChildNodes.Add(newNode); } } protected void BuildAllRightsList(TreeNode parent) { - List<Right> rights = RightDB.TCDB_GetRightList(active); + List<Right> rights = RightDB.TCDB_GetRightList(active); - foreach (Right right in rights) + foreach (Right right in rights) { - TreeNode child = new TreeNode(); - child.Text = right.NAME; - child.Value = right.ID.ToString(); - child.NavigateUrl = "~/Right.aspx?" + Constants.CODE_RIGHT + "=" + child.Value; - if (!right.ACTIVE) - child.Text = "<font class='deleted'>" + child.Text + "</font>"; + TreeNode newNode = new TreeNode(); + newNode.Text = right.NAME; + Help.Tree_SetValue(newNode, PREFIX + Constants.CODE_RIGHT, right.ID.ToString()); + newNode.NavigateUrl = "~/Right.aspx?" + Constants.CODE_RIGHT + "=" + right.ID; + if (!right.ACTIVE) + newNode.Text = "<font class='deleted'>" + newNode.Text + "</font>"; - parent.ChildNodes.Add(child); + parent.ChildNodes.Add(newNode); } } protected void BuildVersionCategories(TreeNode parent) { - ArrayList nodes = (ArrayList)Session["AdminNodes"]; + ArrayList nodes = (ArrayList)Session[PREFIX + "Nodes"]; TreeNode newNode; - int productID = Convert.ToInt32(parent.Parent.Parent.Value); + int productID = Convert.ToInt32(Help.Tree_GetValue(parent.Parent.Parent, PREFIX + Constants.CODE_PRODUCT)); if (m_user.HasRight(Constants.RIGHTS_TESTPASS_VIEW, productID)) { @@ -584,7 +573,7 @@ } protected void BuildStatusList(TreeNode parent) { - ArrayList nodes = (ArrayList)Session["AdminNodes"]; + ArrayList nodes = (ArrayList)Session[PREFIX + "Nodes"]; /* // Populate status query = "SELECT * FROM status where statusGroup='" + e.Node.Value+"'"; @@ -617,7 +606,7 @@ } protected void BuildComputerList(TreeNode parent) { - ArrayList nodes = (ArrayList)Session["AdminNodes"]; + ArrayList nodes = (ArrayList)Session[PREFIX + "Nodes"]; /* // Populate computer query = "SELECT * FROM computer WHERE labID="+e.Node.Value; @@ -648,48 +637,24 @@ } */ } - protected void BuildRightsList(TreeNode parent) - { - ArrayList nodes = (ArrayList)Session["AdminNodes"]; - tcdbDataSetTableAdapters.db_roleRightTableAdapter rightAdapter = new tcdbDataSetTableAdapters.db_roleRightTableAdapter(); - tcdbDataSet.db_roleRightDataTable rightTable = rightAdapter.GetData(Convert.ToInt32(parent.Value), true); - - // Populate Rights - foreach (tcdbDataSet.db_roleRightRow row in rightTable) - { - // Create the new node. - TreeNode newNode = new TreeNode(); - newNode.Text = "Right: " + row.rightName; - newNode.Value = row.rightsID.ToString(); - - // Set the PopulateOnDemand property to true so that the child nodes can be - // dynamically populated. - newNode.PopulateOnDemand = true; - - // Set additional properties for the node. - newNode.SelectAction = TreeNodeSelectAction.Expand; - newNode.NavigateUrl = "~/Right.aspx?" + Constants.CODE_RIGHT + "=" + newNode.Value; - - // Add the new node to the ChildNodes collection of the parent node. - parent.ChildNodes.Add(newNode); - newNode.Expand(); - } - } protected void BuildBuildList(TreeNode parent) { - ArrayList nodes = (ArrayList)Session["AdminNodes"]; - int versionID = Convert.ToInt32(parent.Parent.Value); - List<Build> builds = VersionDB.GetBuildList(versionID, active); + ArrayList nodes = (ArrayList)Session[PREFIX + "Nodes"]; + int versionID = Convert.ToInt32(Help.Tree_GetValue(parent.Parent, PREFIX + Constants.CODE_PRODUCT)); + // Show hidden? + Nullable<bool> hidden = true; + if (showHidden.Checked) + hidden = null; + + List<Build> builds = VersionDB.GetBuildList(versionID, hidden); 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; + Help.Tree_SetValue(newNode, PREFIX + Constants.CODE_BUILD, build.ID.ToString()); + newNode.NavigateUrl = "~/Build.aspx?" + Constants.CODE_BUILD + "=" + build.ID; if (!build.ACTIVE) newNode.Text = "<font class='deleted'>" + newNode.Text + "</font>"; @@ -699,7 +664,7 @@ } protected void BuildTestPassList(TreeNode parent) { - ArrayList nodes = (ArrayList)Session["AdminNodes"]; + ArrayList nodes = (ArrayList)Session[PREFIX + "Nodes"]; /* // Populate TestPass query = "SELECT * FROM testPass where versionID=" + e.Node.Parent.Value; @@ -732,7 +697,7 @@ } protected void BuildPlatformList(TreeNode parent) { - ArrayList nodes = (ArrayList)Session["AdminNodes"]; + ArrayList nodes = (ArrayList)Session[PREFIX + "Nodes"]; /* // Populate Platforms query = "SELECT platform.platformID,os.friendlyName + ' ('+architecture.name+')' AS platformName "+ @@ -770,7 +735,7 @@ } protected void BuildOSList(TreeNode parent) { - ArrayList nodes = (ArrayList)Session["AdminNodes"]; + ArrayList nodes = (ArrayList)Session[PREFIX + "Nodes"]; /* // Populate os query = "SELECT os.friendlyName, os.osID FROM os INNER JOIN platform ON platform.osID=os.osID "+ @@ -804,7 +769,7 @@ } protected void BuildArchitectureList(TreeNode parent) { - ArrayList nodes = (ArrayList)Session["AdminNodes"]; + ArrayList nodes = (ArrayList)Session[PREFIX + "Nodes"]; /* ResultsDataSet.Clear(); // Populate architecture @@ -840,7 +805,7 @@ } protected void AdminTree_TreeNodePopulate(object sender, TreeNodeEventArgs e) { - ArrayList nodes = (ArrayList)Session["AdminNodes"]; + ArrayList nodes = (ArrayList)Session[PREFIX + "Nodes"]; // Call the appropriate method to populate a node at a particular level. switch (e.Node.Depth) @@ -849,7 +814,7 @@ BuildProductList(e.Node); break; case 1: - if (e.Node.Value == Constants.PRODUCT_SITEID.ToString()) + if (Help.Tree_GetValue(e.Node, PREFIX + Constants.CODE_PRODUCT) == Constants.PRODUCT_SITEID.ToString()) BuildAdminList(e.Node); else BuildCategoryList(e.Node); @@ -883,8 +848,6 @@ BuildStatusList(e.Node); else if (e.Node.NavigateUrl.Contains("Lab")) BuildComputerList(e.Node); - else if (e.Node.NavigateUrl.Contains("Role")) - BuildRightsList(e.Node); break; case 4: if (e.Node.Value == "build") @@ -903,5 +866,39 @@ break; } } + + protected void showHidden_Init(object sender, EventArgs e) + { + if (!m_user.HasRight(Constants.RIGHTS_VERSION_VIEW, Constants.PRODUCT_ANYID) || + !m_user.HasRight(Constants.RIGHTS_BUILD_VIEW, Constants.PRODUCT_ANYID) || + !m_user.HasRight(Constants.RIGHTS_TESTPASS_VIEW, Constants.PRODUCT_ANYID)) + showHidden.Visible = false; + } + protected void showHidden_Load(object sender, EventArgs e) + { + if (Session[PREFIX_TAB + "showHidden"] == null) + Session[PREFIX_TAB + "showHidden"] = false; + bool show = Convert.ToBoolean(Session[PREFIX_TAB + "showHidden"]); + + if (showHidden.Checked != show) + { + showHidden.Checked = show; + showHidden_CheckedChanged(sender, e); + } + } + protected void showHidden_CheckedChanged(object sender, EventArgs e) + { + ArrayList nodes = (ArrayList)Session[PREFIX + "Nodes"]; + + foreach (TreeNode node in AdminTree.Nodes) + { + if (nodes.Contains(node.ValuePath)) + { + node.ChildNodes.Clear(); + AdminTree_TreeNodePopulate(AdminTree, new TreeNodeEventArgs(node)); + } + } + Session[PREFIX_TAB + "showHidden"] = showHidden.Checked; + } } } Modified: Website/Includes/AssignmentsTree.ascx.cs =================================================================== --- Website/Includes/AssignmentsTree.ascx.cs 2006-08-11 19:48:28 UTC (rev 310) +++ Website/Includes/AssignmentsTree.ascx.cs 2006-08-11 20:54:32 UTC (rev 311) @@ -39,7 +39,6 @@ AssignmentTree.Visible = false; } } - protected void AssignmentTree_TreeNodeCollapsed(object sender, TreeNodeEventArgs e) { ArrayList nodes = (ArrayList)Session[PREFIX + "Nodes"]; @@ -51,7 +50,6 @@ nodes.RemoveAt(index); } } - protected void AssignmentTree_TreeNodeExpanded(object sender, TreeNodeEventArgs e) { ArrayList nodes = (ArrayList)Session[PREFIX + "Nodes"]; @@ -62,7 +60,6 @@ m_logg.Debug("Expanding node [" + nodes[nodes.IndexOf(e.Node.ValuePath)].ToString() + "]"); } } - protected void AssignmentTree_SelectedNodeChanged(object sender, EventArgs e) { TreeNode node = AssignmentTree.SelectedNode; @@ -129,45 +126,6 @@ } } - protected void AssignmentTree_TreeNodePopulate(object sender, TreeNodeEventArgs e) - { - m_logg.Debug("Populating tree"); - if (AssignmentTree.Visible != true) - return; - - // Call the appropriate method to populate a node at a particular level. - try - { - String nodeType = Help.Tree_GetValue(e.Node, Constants.CODE_TYPE); - if (nodeType == null) nodeType = Constants.CODE_ROOT; - switch (nodeType) - { - case Constants.CODE_ROOT: - BuildMyAssignmentsNode(e.Node); - BuildMyCreatedAssignmentsNode(e.Node); - BuildProductList(e.Node); - break; - case Constants.CODE_PRODUCT: - BuildUserList(e.Node); - break; - case Constants.CODE_USER: - BuildAssignmentList(e.Node); - break; - case Constants.CODE_CREATED: - BuildCreatedUserList(e.Node); - break; - default: - break; - } - } - catch - { - BuildMyAssignmentsNode(e.Node); - BuildMyCreatedAssignmentsNode(e.Node); - BuildProductList(e.Node); - } - } - private void BuildProductList(TreeNode parent) { ArrayList nodes = (ArrayList)Session[PREFIX + "Nodes"]; @@ -195,7 +153,6 @@ AssignmentTree_TreeNodePopulate(AssignmentTree, new TreeNodeEventArgs(child)); } } - private void BuildMyAssignmentsNode(TreeNode parent) { // *************************** @@ -220,7 +177,6 @@ } } } - private void BuildMyCreatedAssignmentsNode(TreeNode parent) { // *************************** @@ -243,7 +199,6 @@ AssignmentTree_TreeNodePopulate(AssignmentTree, new TreeNodeEventArgs(created)); } } - private void BuildCreatedUserList(TreeNode parent) { m_logg.Debug("Building my created user list"); @@ -277,7 +232,6 @@ AssignmentTree_TreeNodePopulate(AssignmentTree, new TreeNodeEventArgs(userNode)); } } - private void BuildUserList(TreeNode parent) { m_logg.Debug("Building user list"); @@ -320,7 +274,6 @@ if (parent.ChildNodes.Count == 0 || (parent.ChildNodes.Count == 1 && Help.Tree_GetValue(parent.ChildNodes[0], Constants.CODE_VALUE) == m_user.ID.ToString())) parent.Parent.ChildNodes.Remove(parent); } - private void BuildAssignmentList(TreeNode parent) { m_logg.Debug("Building created assignment list"); @@ -403,7 +356,45 @@ parent.Parent.ChildNodes.Remove(parent); } } + protected void AssignmentTree_TreeNodePopulate(object sender, TreeNodeEventArgs e) + { + m_logg.Debug("Populating tree"); + if (AssignmentTree.Visible != true) + return; + // Call the appropriate method to populate a node at a particular level. + try + { + String nodeType = Help.Tree_GetValue(e.Node, Constants.CODE_TYPE); + if (nodeType == null) nodeType = Constants.CODE_ROOT; + switch (nodeType) + { + case Constants.CODE_ROOT: + BuildMyAssignmentsNode(e.Node); + BuildMyCreatedAssignmentsNode(e.Node); + BuildProductList(e.Node); + break; + case Constants.CODE_PRODUCT: + BuildUserList(e.Node); + break; + case Constants.CODE_USER: + BuildAssignmentList(e.Node); + break; + case Constants.CODE_CREATED: + BuildCreatedUserList(e.Node); + break; + default: + break; + } + } + catch + { + BuildMyAssignmentsNode(e.Node); + BuildMyCreatedAssignmentsNode(e.Node); + BuildProductList(e.Node); + } + } + protected void statusComplete_CheckedChanged(object sender, EventArgs e) { ArrayList nodes = (ArrayList)Session[PREFIX + "Nodes"]; @@ -421,7 +412,6 @@ Session[PREFIX_TAB + "showAICompleted"] = statusComplete.Checked; Session[PREFIX_TAB + "showAICompleted"] = statusComplete.Checked; } - protected void statusComplete_Load(object sender, EventArgs e) { if (Session[PREFIX_TAB + "showCompleted"] == null) Deleted: Website/Includes/RoleAdmin.ascx =================================================================== --- Website/Includes/RoleAdmin.ascx 2006-08-11 19:48:28 UTC (rev 310) +++ Website/Includes/RoleAdmin.ascx 2006-08-11 20:54:32 UTC (rev 311) @@ -1,27 +0,0 @@ -<%@ Control Language="C#" AutoEventWireup="true" CodeFile="RoleAdmin.ascx.cs" Inherits="TCDB.RoleAdmin" %> -<table width="700"> - <tr> - <td align="center" valign="middle" style="height: 101px"> - <asp:DropDownList ID="roleList" runat="server" OnInit="roleList_Init" AutoPostBack="True"> - </asp:DropDownList> - <asp:LinkButton ID="viewRoleBtn" runat="server" CommandName="viewRole" OnCommand="viewRole" - OnLoad="viewRoleBtn_Load">View Role</asp:LinkButton> - - <asp:LinkButton ID="addRoleBtn" runat="server" CommandName="addRole" OnCommand="addRole" - OnLoad="addRoleBtn_Load">Add User To Role</asp:LinkButton> - <br /> - <br /><asp:DropDownList ID="rightsList" runat="server" OnInit="rightsList_Init" AutoPostBack="True"> - </asp:DropDownList> - <asp:LinkButton ID="viewRightBtn" runat="server" CommandName="viewRight" OnCommand="viewRight">View Right</asp:LinkButton> - - <asp:LinkButton ID="editRightsBtn" runat="server" CommandName="editRight" OnCommand="addRight">Edit Right</asp:LinkButton> - <br /> - <br /> - <asp:LinkButton ID="newRoleBtn" runat="server" CommandName="newRole" OnCommand="newRole" - OnInit="newRole_Init">New User Role</asp:LinkButton> - - <asp:LinkButton ID="newRightBtn" runat="server" CommandName="newRight" OnCommand="newRight" - OnInit="newRight_Init">New User Right</asp:LinkButton><br /> - </td> - </tr> -</table> Deleted: Website/Includes/RoleAdmin.ascx.cs =================================================================== --- Website/Includes/RoleAdmin.ascx.cs 2006-08-11 19:48:28 UTC (rev 310) +++ Website/Includes/RoleAdmin.ascx.cs 2006-08-11 20:54:32 UTC (rev 311) @@ -1,120 +0,0 @@ -using System; -using System.Data; -using System.Configuration; -using System.Web; -using System.Web.Security; -using System.Web.UI; -using System.Web.UI.WebControls; -using System.Web.UI.WebControls.WebParts; -using System.Web.UI.HtmlControls; -using System.Collections.Generic; -using TCDB.Code; - - -namespace TCDB -{ - public partial class RoleAdmin : SiteUserControl - { - private static Logger m_logg = new Logger("TCDB.RoleAdmin"); - int productID = Convert.ToInt32(HttpContext.Current.Request.QueryString[Constants.CODE_PRODUCT]); - - protected void Page_Load(object sender, EventArgs e) - { - m_logg.Debug("Loading page Role Admin"); - - if (productID == 0) - productID = Constants.PRODUCT_ANYID; - } - - protected void viewRole(object sender, CommandEventArgs e) - { - Response.Redirect("Role.aspx?" + Constants.CODE_PRODUCT + "=" + productID + "&" + Constants.CODE_ROLE + "=" + roleList.SelectedValue); - } - protected void addRole(object sender, CommandEventArgs e) - { - Response.Redirect("RoleAssignments.aspx?" + Constants.CODE_PRODUCT + "=" + productID + "&" + Constants.CODE_ROLE + "=" + roleList.SelectedValue); - } - protected void newRole(object sender, CommandEventArgs e) - { - Response.Redirect("Role.aspx?mode=new&" + Constants.CODE_PRODUCT + "=" + productID); - } - protected void newRight(object sender, CommandEventArgs e) - { - Response.Redirect("Right.aspx?mode=new&" + Constants.CODE_PRODUCT + "=" + productID); - } - protected void addRight(object sender, CommandEventArgs e) - { - Response.Redirect("Right.aspx?mode=edit&" + Constants.CODE_PRODUCT + "=" + productID + "&" + Constants.CODE_RIGHT + "=" + rightsList.SelectedValue); - } - protected void viewRight(object sender, CommandEventArgs e) - { - Response.Redirect("Right.aspx?" + Constants.CODE_PRODUCT + "=" + productID + "&" + Constants.CODE_RIGHT + "=" + rightsList.SelectedValue); - } - - protected void newRole_Init(object sender, EventArgs e) - { - if (!m_user.HasRight(Constants.RIGHTS_ROLE_CREATE, Constants.PRODUCT_ANYID)) - newRoleBtn.Visible = false; - } - protected void newRight_Init(object sender, EventArgs e) - { - if (!m_user.HasRight(Constants.RIGHTS_DEV_ACCESS)) - newRightBtn.Visible = false; - } - - protected void roleList_Init(object sender, EventArgs e) - { - tcdbDataSetTableAdapters.db_roleTableAdapter rAdapter = new tcdbDataSetTableAdapters.db_roleTableAdapter(); - tcdbDataSet.db_roleDataTable rTable = rAdapter.GetData(null, null, active); - - foreach (tcdbDataSet.db_roleRow row in rTable) - { - 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) - { - if (!m_user.HasRight(Constants.RIGHTS_RIGHTS_VIEW, Constants.PRODUCT_ANYID)) - { - rightsList.Visible = false; - viewRightBtn.Visible = false; - editRightsBtn.Visible = false; - - return; - } - if (!m_user.HasRight(Constants.RIGHTS_DEV_ACCESS)) - editRightsBtn.Visible = false; - - 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"); - - rightsList.Items.Add(item); - } - } - - protected void addRoleBtn_Load(object sender, EventArgs e) - { - String role = roleList.SelectedItem.Text; - - if (!m_user.HasRight(Constants.RIGHTS_ROLE_EDIT_USERS, productID)) - addRoleBtn.Visible = false; - } - protected void viewRoleBtn_Load(object sender, EventArgs e) - { - String role = roleList.SelectedItem.Text; - - if (!(m_user.HasRole(role, productID) && m_user.HasRight(Constants.RIGHTS_ROLE_VIEW_MY, productID)) && - !m_user.HasRight(Constants.RIGHTS_ROLE_VIEW_OTHER, productID)) - viewRoleBtn.Visible = false; - } - } -} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <m_h...@us...> - 2006-08-11 19:48:39
|
Revision: 310 Author: m_hildebrand Date: 2006-08-11 12:48:28 -0700 (Fri, 11 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=310&view=rev Log Message: ----------- Cleaned up some session state stuff Changed constants from static variables to actual constants Modified Paths: -------------- Website/App_Code/Common.cs Website/Assignments.aspx Website/Includes/ActionItems.ascx Website/Includes/ActionItems.ascx.cs Website/Includes/AdministrationTree.ascx Website/Includes/AdministrationTree.ascx.cs Website/Includes/Assignments.ascx Website/Includes/Assignments.ascx.cs Website/Includes/AssignmentsTree.ascx Website/Includes/AssignmentsTree.ascx.cs Website/Includes/Authenticate.ascx.cs Website/Includes/Header_Menu.ascx.cs Website/Includes/Header_User.ascx.cs Modified: Website/App_Code/Common.cs =================================================================== --- Website/App_Code/Common.cs 2006-08-11 19:46:14 UTC (rev 309) +++ Website/App_Code/Common.cs 2006-08-11 19:48:28 UTC (rev 310) @@ -4,6 +4,7 @@ using System.Net.Mail; using System.Web; using System.Web.Security; +using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; @@ -659,7 +660,7 @@ Dictionary<String, List<Config>> settings = new Dictionary<string, List<Config>>(); Dictionary<String, String> values; List<Config> group; - + // Start clean settings.Clear(); @@ -1270,7 +1271,7 @@ } } catch (Exception ex) - { + { m_logg.Debug("Error saving config string [" + name + " = " + value + "] for userID [" + userID.ToString() + "]", ex); } @@ -1385,125 +1386,127 @@ public static class Constants { // TODO: Load the values from the DB where appropriate - public static int FAILEDLOGIN = -2; - public static int NOTREGISTERED = -1; - public static int NEWUSER = -1; + public const int FAILEDLOGIN = -2; + public const int NOTREGISTERED = -1; + public const int NEWUSER = -1; // Defaults in the database - public static int ANONYMOUSUSERID = 1; - public static int PRODUCT_SITEID = 1; - public static int PRODUCT_ANYID = -1; - public static int PRODUCT_CREATED = -2; + public const int ANONYMOUSUSERID = 1; + public const int PRODUCT_SITEID = 1; + public const int PRODUCT_ANYID = -1; + public const int PRODUCT_CREATED = -2; - public static int ROLE_ADMIN = 1; + public const 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_BUILD = "b"; - public static string CODE_CREATED = "created"; - public static string CODE_MODE = "m"; - public static string CODE_PRODUCT = "p"; - public static string CODE_RIGHT = "rt"; - public static string CODE_ROLE = "r"; - public static string CODE_TYPE = "t"; - public static string CODE_USER = "u"; - public static string CODE_VERSION = "v"; - public static string CODE_WO = "wo"; - + public const string CODE_ASSIGNMENT = "a"; + public const string CODE_USER = "u"; + public const string CODE_AI = "ai"; + public const string CODE_WO = "wo"; + public const string CODE_BUILD = "b"; + public const string CODE_PRODUCT = "p"; + public const string CODE_VERSION = "v"; + public const string CODE_RIGHT = "rt"; + public const string CODE_ROLE = "r"; + public const string CODE_MODE = "m"; + public const string CODE_CREATED = "created"; + public const string CODE_TYPE = "t"; + public const string CODE_VALUE = "va"; + public const string CODE_ROOT = "r"; + public const string CODE_NEW = "new"; // TODO: figure this one out - //public static bool ASSIGNMENT_PRIORITY_ALL = null; - public static bool ASSIGNMENT_PRIORITY_HIGH = true; - public static bool ASSIGNMENT_PRIORITY_NORMAL = false; - public static int ASSIGNMENT_FINISHEDANDUNFINISHED = 2; - public static int ASSIGNMENT_FINISHED = 1; - public static int ASSIGNMENT_UNFINISHED = 0; - public static int ASSIGNMENT_NEW = 3; - public static string ASSIGNMENT_MINE = "My Assignments"; - public static string ASSIGNMENT_CREATED = "My Created Assignments"; + //public const bool ASSIGNMENT_PRIORITY_ALL = null; + public const bool ASSIGNMENT_PRIORITY_HIGH = true; + public const bool ASSIGNMENT_PRIORITY_NORMAL = false; + public const int ASSIGNMENT_FINISHEDANDUNFINISHED = 2; + public const int ASSIGNMENT_FINISHED = 1; + public const int ASSIGNMENT_UNFINISHED = 0; + public const int ASSIGNMENT_NEW = 3; + public const string ASSIGNMENT_MINE = "My Assignments"; + public const string ASSIGNMENT_CREATED = "My Created Assignments"; - public static string TCDB_VERSION = "1.0.0 Alpha 3"; - public static bool IS_DEV_ENV = true; + public const string TCDB_VERSION = "1.0.0 Alpha 3"; + public const bool IS_DEV_ENV = true; // Rights - public static string RIGHTS_DEV_ACCESS = "dev_access"; + public const string RIGHTS_DEV_ACCESS = "dev_access"; - public static string RIGHTS_ADMIN_VIEW = "admin_view"; + public const string RIGHTS_ADMIN_VIEW = "admin_view"; - public static string RIGHTS_AI_VIEW_MY = "ai_view_my"; - public static string RIGHTS_AI_VIEW_CREATED = "ai_view_created"; - public static string RIGHTS_AI_VIEW_OTHER = "ai_view_other"; - public static string RIGHTS_AI_EDIT_MY = "ai_edit_my"; - public static string RIGHTS_AI_EDIT_CREATED = "ai_edit_created"; - public static string RIGHTS_AI_EDIT_OTHER = "ai_edit_other"; - public static string RIGHTS_AI_CREATE_MY = "ai_create_my"; - public static string RIGHTS_AI_CREATE_OTHER = "ai_create_other"; - public static string RIGHTS_AI_STATUS_MY = "ai_status_my"; - public static string RIGHTS_AI_STATUS_CREATED = "ai_status_created"; - public static string RIGHTS_AI_STATUS_OTHER = "ai_status_other"; - public static string RIGHTS_AI_DELETE_MY = "ai_delete_my"; - public static string RIGHTS_AI_DELETE_CREATED = "ai_delete_created"; - public static string RIGHTS_AI_DELETE_OTHER = "ai_delete_other"; - public static string RIGHTS_AI_REASSIGN_OTHER = "ai_reassign_other"; - - public static string RIGHTS_WO_VIEW_MY = "wo_view_my"; - public static string RIGHTS_WO_VIEW_CREATED = "wo_view_created"; - public static string RIGHTS_WO_VIEW_OTHER = "wo_view_other"; - public static string RIGHTS_WO_EDIT_MY = "wo_edit_my"; - public static string RIGHTS_WO_EDIT_CREATED = "wo_edit_created"; - public static string RIGHTS_WO_EDIT_OTHER = "wo_edit_other"; - public static string RIGHTS_WO_CREATE_MY = "wo_create_my"; - public static string RIGHTS_WO_CREATE_OTHER = "wo_create_other"; - public static string RIGHTS_WO_STATUS_MY = "wo_status_my"; - public static string RIGHTS_WO_STATUS_CREATED = "wo_status_created"; - public static string RIGHTS_WO_STATUS_OTHER = "wo_status_other"; - public static string RIGHTS_WO_DELETE_MY = "wo_delete_my"; - public static string RIGHTS_WO_DELETE_CREATED = "wo_delete_created"; - public static string RIGHTS_WO_DELETE_OTHER = "wo_delete_other"; - public static string RIGHTS_WO_REASSIGN_OTHER = "wo_reassign_other"; + public const string RIGHTS_AI_VIEW_MY = "ai_view_my"; + public const string RIGHTS_AI_VIEW_CREATED = "ai_view_created"; + public const string RIGHTS_AI_VIEW_OTHER = "ai_view_other"; + public const string RIGHTS_AI_EDIT_MY = "ai_edit_my"; + public const string RIGHTS_AI_EDIT_CREATED = "ai_edit_created"; + public const string RIGHTS_AI_EDIT_OTHER = "ai_edit_other"; + public const string RIGHTS_AI_CREATE_MY = "ai_create_my"; + public const string RIGHTS_AI_CREATE_OTHER = "ai_create_other"; + public const string RIGHTS_AI_STATUS_MY = "ai_status_my"; + public const string RIGHTS_AI_STATUS_CREATED = "ai_status_created"; + public const string RIGHTS_AI_STATUS_OTHER = "ai_status_other"; + public const string RIGHTS_AI_DELETE_MY = "ai_delete_my"; + public const string RIGHTS_AI_DELETE_CREATED = "ai_delete_created"; + public const string RIGHTS_AI_DELETE_OTHER = "ai_delete_other"; + public const string RIGHTS_AI_REASSIGN_OTHER = "ai_reassign_other"; - public static string RIGHTS_USER_VIEW_MY = "user_view_my"; - public static string RIGHTS_USER_VIEW_OTHER = "user_view_other"; - public static string RIGHTS_USER_EDIT_MY = "user_edit_my"; - public static string RIGHTS_USER_EDIT_OTHER = "user_edit_other"; - public static string RIGHTS_USER_CREATE = "user_create"; - public static string RIGHTS_USER_DELETE = "user_delete"; + public const string RIGHTS_WO_VIEW_MY = "wo_view_my"; + public const string RIGHTS_WO_VIEW_CREATED = "wo_view_created"; + public const string RIGHTS_WO_VIEW_OTHER = "wo_view_other"; + public const string RIGHTS_WO_EDIT_MY = "wo_edit_my"; + public const string RIGHTS_WO_EDIT_CREATED = "wo_edit_created"; + public const string RIGHTS_WO_EDIT_OTHER = "wo_edit_other"; + public const string RIGHTS_WO_CREATE_MY = "wo_create_my"; + public const string RIGHTS_WO_CREATE_OTHER = "wo_create_other"; + public const string RIGHTS_WO_STATUS_MY = "wo_status_my"; + public const string RIGHTS_WO_STATUS_CREATED = "wo_status_created"; + public const string RIGHTS_WO_STATUS_OTHER = "wo_status_other"; + public const string RIGHTS_WO_DELETE_MY = "wo_delete_my"; + public const string RIGHTS_WO_DELETE_CREATED = "wo_delete_created"; + public const string RIGHTS_WO_DELETE_OTHER = "wo_delete_other"; + public const string RIGHTS_WO_REASSIGN_OTHER = "wo_reassign_other"; - public static string RIGHTS_PREFERENCE_VIEW_MY = "preference_view_my"; - public static string RIGHTS_PREFERENCE_VIEW_OTHER = "preference_view_other"; - public static string RIGHTS_PREFERENCE_EDIT_MY = "preference_edit_my"; - public static string RIGHTS_PREFERENCE_EDIT_OTHER = "preference_edit_other"; + public const string RIGHTS_USER_VIEW_MY = "user_view_my"; + public const string RIGHTS_USER_VIEW_OTHER = "user_view_other"; + public const string RIGHTS_USER_EDIT_MY = "user_edit_my"; + public const string RIGHTS_USER_EDIT_OTHER = "user_edit_other"; + public const string RIGHTS_USER_CREATE = "user_create"; + public const string RIGHTS_USER_DELETE = "user_delete"; - 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"; + public const string RIGHTS_PREFERENCE_VIEW_MY = "preference_view_my"; + public const string RIGHTS_PREFERENCE_VIEW_OTHER = "preference_view_other"; + public const string RIGHTS_PREFERENCE_EDIT_MY = "preference_edit_my"; + public const string RIGHTS_PREFERENCE_EDIT_OTHER = "preference_edit_other"; - public static string RIGHTS_RIGHTS_VIEW = "rights_view"; + public const string RIGHTS_ROLE_VIEW_MY = "role_view_my"; + public const string RIGHTS_ROLE_VIEW_OTHER = "role_view_other"; + public const string RIGHTS_ROLE_EDIT = "role_edit"; + public const string RIGHTS_ROLE_EDIT_MY = "role_edit_my"; + public const string RIGHTS_ROLE_EDIT_USERS = "role_edit_users"; + public const string RIGHTS_ROLE_CREATE = "role_create"; + public const string RIGHTS_ROLE_DELETE = "role_delete"; - public static string RIGHTS_PRODUCT_VIEW = "product_view"; - 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 const string RIGHTS_RIGHTS_VIEW = "rights_view"; - 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 const string RIGHTS_PRODUCT_VIEW = "product_view"; + public const string RIGHTS_PRODUCT_EDIT = "product_edit"; + public const string RIGHTS_PRODUCT_CREATE = "product_create"; + public const string RIGHTS_PRODUCT_DELETE = "product_delete"; - 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 const string RIGHTS_VERSION_VIEW = "version_view"; + public const string RIGHTS_VERSION_EDIT = "version_edit"; + public const string RIGHTS_VERSION_CREATE = "version_create"; + public const string RIGHTS_VERSION_HIDE = "version_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 const string RIGHTS_BUILD_VIEW = "build_view"; + public const string RIGHTS_BUILD_EDIT = "build_edit"; + public const string RIGHTS_BUILD_CREATE = "build_create"; + public const string RIGHTS_BUILD_HIDE = "build_hide"; + + public const string RIGHTS_TESTPASS_VIEW = "testpass_view"; + public const string RIGHTS_TESTPASS_EDIT = "testpass_edit"; + public const string RIGHTS_TESTPASS_CREATE = "testpass_create"; + public const string RIGHTS_TESTPASS_HIDE = "testpass_hide"; } public static class Help @@ -1656,5 +1659,30 @@ } return result; } + + public static void Tree_SetValue(TreeNode n, string key, string value) + { + string encodedValues = n.Value; + encodedValues = encodedValues + "|" + key + ":" + value; + n.Value = encodedValues; + } + + public static string Tree_GetValue(TreeNode n, string key) + { + string encodedValues = n.Value; + char[] delim = "|".ToCharArray(); + string[] split = null; + split = encodedValues.Split(delim); + delim = ":".ToCharArray(); + string[] kvPair = null; + foreach (string s in split) + { + kvPair = s.Split(delim); + if (kvPair[0] == key) + return kvPair[1]; + } + + return null; + } } } Modified: Website/Assignments.aspx =================================================================== --- Website/Assignments.aspx 2006-08-11 19:46:14 UTC (rev 309) +++ Website/Assignments.aspx 2006-08-11 19:48:28 UTC (rev 310) @@ -1,13 +1,29 @@ -<%@ Page Language="C#" MasterPageFile="~/TCDB.master" AutoEventWireup="true" Title="TCDB: Assignments" %> +<%@ Page Language="C#" MasterPageFile="~/TCDB.master" AutoEventWireup="true" Title="TCDB: Assignments" + ClassName="TCDB.Page.Assignments" %> +<%@ Import Namespace="TCDB.Code" %> <%@ Register Src="~/Includes/AssignmentsTree.ascx" TagPrefix="assignment" TagName="Tree" %> <%@ Register Src="~/Includes/Assignments.ascx" TagPrefix="assignment" TagName="Form" %> - +<%@ Register Src="~/Includes/ActionItems.ascx" TagPrefix="assignment" TagName="ActionItem" %> +<%@ Register Src="~/Includes/ActionItems.ascx" TagPrefix="assignment" TagName="WorkOrder" %> <asp:Content ID="TreeContent" ContentPlaceHolderID="TreeContentPlaceHolder" runat="Server"> - <assignment:Tree runat="Server" ID="Tree" /> + <assignment:Tree runat="Server" ID="Tree" /> </asp:Content> <asp:Content ID="MainContent" ContentPlaceHolderID="MainContentPlaceHolder" runat="Server"> + <% + string tab = Convert.ToString(Session["AssignmentTab_Name"]); + if (tab == Constants.CODE_AI) + { %> + <assignment:ActionItem runat="server" ID="ActionItem" /> + <% } + else if (tab == Constants.CODE_WO) + { %> + <assignment:WorkOrder runat="server" ID="WorkOrder" /> + <% } + else + { %> <assignment:Form ID="List" runat="server" /> + <% } %> </asp:Content> <asp:Content ID="NotesContent" ContentPlaceHolderID="NotesContentPlaceHolder" runat="Server"> </asp:Content> Modified: Website/Includes/ActionItems.ascx =================================================================== --- Website/Includes/ActionItems.ascx 2006-08-11 19:46:14 UTC (rev 309) +++ Website/Includes/ActionItems.ascx 2006-08-11 19:48:28 UTC (rev 310) @@ -324,8 +324,8 @@ TypeName="tcdbDataSetTableAdapters.db_actionItemsTableAdapter" InsertMethod="Insert" UpdateMethod="Update" DeleteMethod="Delete"> <SelectParameters> - <asp:SessionParameter Name="actionItemID" SessionField="item_id" Type="Int32" /> - <asp:SessionParameter DefaultValue="" Name="active" SessionField="active" Type="Boolean" /> + <asp:SessionParameter Name="actionItemID" SessionField="AssignmentTab_item_id" Type="Int32" /> + <asp:SessionParameter DefaultValue="" Name="active" SessionField="AssignmentTab_active" Type="Boolean" /> </SelectParameters> <InsertParameters> <asp:Parameter Name="name" Type="String" /> Modified: Website/Includes/ActionItems.ascx.cs =================================================================== --- Website/Includes/ActionItems.ascx.cs 2006-08-11 19:46:14 UTC (rev 309) +++ Website/Includes/ActionItems.ascx.cs 2006-08-11 19:48:28 UTC (rev 310) @@ -20,30 +20,42 @@ public partial class ActionItems : SiteUserControl { private static Logger m_logg = new Logger("TCDB.ActionItems"); + private const string PREFIX = "AssignmentTab_"; private ActionItem ai; private String item_id = ""; private int productID = 0; private String mode = ""; + private bool current = false; protected void Page_Load(object sender, EventArgs e) { + if (Convert.ToString(Session[PREFIX + "Name"]) != Constants.CODE_AI) + { + current = false; + return; + } + else + { + current = true; + } + if (productID == 0) productID = Constants.PRODUCT_SITEID; // Load session data try { - item_id = Session[Constants.CODE_AI].ToString(); + item_id = Session[PREFIX + Constants.CODE_AI].ToString(); } catch { } try { - mode = Session[Constants.CODE_MODE].ToString(); + mode = Session[PREFIX + Constants.CODE_MODE].ToString(); } catch { } try { - productID = Convert.ToInt32(Session[Constants.CODE_PRODUCT]); + productID = Convert.ToInt32(Session[PREFIX + Constants.CODE_PRODUCT]); } catch { } @@ -59,18 +71,25 @@ } else { - ai = ActionItemDB.GetActionItem(Convert.ToInt32(item_id), active); + try + { + ai = ActionItemDB.GetActionItem(Convert.ToInt32(item_id), active); + } + catch { } if (ai != null && (!m_user.HasRight(Constants.RIGHTS_AI_VIEW_OTHER, productID) && !(ai.ASSIGNED.ID == m_user.ID && m_user.HasRight(Constants.RIGHTS_AI_VIEW_MY, productID)) && !(ai.CREATOR.ID == m_user.ID && m_user.HasRight(Constants.RIGHTS_AI_VIEW_CREATED, productID)))) + { + Response.Redirect("~/Assignments.aspx?" + Constants.CODE_USER + "=" + m_user.ID); + } } - Session.Add("item_id", item_id); - Session.Add("productID", productID); - Session.Add("tableName", "tcdb_actionItem"); + Session.Add(PREFIX + "item_id", item_id); + Session.Add(PREFIX + "productID", productID); + Session.Add(PREFIX + "tableName", "tcdb_actionItem"); if (mode == "new" && (m_user.HasRight(Constants.RIGHTS_AI_CREATE_MY) || m_user.HasRight(Constants.RIGHTS_AI_CREATE_OTHER))) ActionItemsView.ChangeMode(FormViewMode.Insert); @@ -120,13 +139,13 @@ if (dateFinished.SelectedValue != null) { - dateFinished.ClearDateText = "Clear Date"; + dateFinished.ClearDateText = "Clear Date"; statusList.SelectedValue = statusList.Items.FindByText("Completed").Value; percentList.SelectedValue = "100"; } else { - dateFinished.ClearDateText = ""; + dateFinished.ClearDateText = ""; if (statusList.SelectedItem.Text == "Completed") statusList.SelectedValue = statusList.Items.FindByText("Active").Value; if (percentList.SelectedValue == "100") @@ -170,7 +189,7 @@ if (dateFinished.SelectedValue == null) dateFinished.SelectedValue = DateTime.Today; - dateFinished.ClearDateText = "Clear Date"; + dateFinished.ClearDateText = "Clear Date"; } } else @@ -191,7 +210,7 @@ CalendarPopup dateFinished = (CalendarPopup)ActionItemsView.FindControl("dateFinished"); dateFinished.Clear(); dateFinished.PostedDate = ""; - dateFinished.ClearDateText = ""; + dateFinished.ClearDateText = ""; } } if (ActionItemsView.CurrentMode == FormViewMode.ReadOnly) @@ -229,7 +248,7 @@ CalendarPopup dateFinished = (CalendarPopup)ActionItemsView.FindControl("dateFinished"); dateFinished.SelectedValue = DateTime.Today; - dateFinished.ClearDateText = "Clear Date"; + dateFinished.ClearDateText = "Clear Date"; } } else @@ -250,7 +269,7 @@ CalendarPopup dateFinished = (CalendarPopup)ActionItemsView.FindControl("dateFinished"); dateFinished.Clear(); dateFinished.PostedDate = ""; - dateFinished.ClearDateText = ""; + dateFinished.ClearDateText = ""; } } @@ -269,6 +288,8 @@ protected void ActionItemsView_DataBound(object sender, EventArgs e) { + if (!current) return; + DataRowView data = (DataRowView)ActionItemsView.DataItem; if (ActionItemsView.CurrentMode == FormViewMode.Insert) @@ -303,22 +324,22 @@ Page.Title = "TCDB: " + data["name"].ToString(); if (ActionItemsView.CurrentMode == FormViewMode.Edit) { - CalendarPopup dateDue = (CalendarPopup)ActionItemsView.FindControl("dateDue"); - CalendarPopup dateFinished = (CalendarPopup)ActionItemsView.FindControl("dateFinished"); + CalendarPopup dateDue = (CalendarPopup)ActionItemsView.FindControl("dateDue"); + CalendarPopup dateFinished = (CalendarPopup)ActionItemsView.FindControl("dateFinished"); - if (data["dateFinished"].ToString() == "") + if (data["dateFinished"].ToString() == "") { - dateFinished.SelectedValue = null; - dateFinished.ClearDateText = " "; - dateFinished.Clear(); + dateFinished.SelectedValue = null; + dateFinished.ClearDateText = " "; + dateFinished.Clear(); } else - { - dateFinished.SelectedValue = (Nullable<DateTime>)data["dateFinished"]; - dateFinished.VisibleDate = dateFinished.SelectedDate; + { + dateFinished.SelectedValue = (Nullable<DateTime>)data["dateFinished"]; + dateFinished.VisibleDate = dateFinished.SelectedDate; + } + dateDue.VisibleDate = dateDue.SelectedDate; } - dateDue.VisibleDate = dateDue.SelectedDate; - } else { Label nameLabel = (Label)ActionItemsView.FindControl("nameLbl"); @@ -378,6 +399,8 @@ protected void statusList_Init(object sender, EventArgs e) { + if (!current) return; + DropDownList statusList = (DropDownList)sender; if (ai != null && @@ -388,6 +411,8 @@ } protected void percentList_Init(object sender, EventArgs e) { + if (!current) return; + RadioButtonList percentList = (RadioButtonList)sender; if (ai != null && @@ -398,6 +423,8 @@ } protected void dateFinished_Init(object sender, EventArgs e) { + if (!current) return; + CalendarPopup dateFinished = (CalendarPopup)sender; if (ai != null && @@ -408,18 +435,22 @@ } protected void NewButton_Init(object sender, EventArgs e) { + if (!current) return; + LinkButton newBtn = (LinkButton)sender; - Label newLbl = (Label)ActionItemsView.FindControl("newLbl"); + Label newLbl = (Label)ActionItemsView.FindControl("newLbl"); if (ai != null && !m_user.HasRight(Constants.RIGHTS_AI_CREATE_MY, Constants.PRODUCT_ANYID) && !m_user.HasRight(Constants.RIGHTS_AI_CREATE_OTHER, Constants.PRODUCT_ANYID)) - { + { newBtn.Visible = false; - newLbl.Visible = false; + newLbl.Visible = false; + } } - } protected void EditButton_Init(object sender, EventArgs e) { + if (!current) return; + LinkButton editBtn = (LinkButton)sender; if (ai != null && @@ -430,21 +461,25 @@ } protected void DeleteButton_Init(object sender, EventArgs e) { + if (!current) return; + LinkButton deleteBtn = (LinkButton)sender; - Label deleteLbl = (Label)ActionItemsView.FindControl("deleteLbl"); - Label deletedLbl = (Label)ActionItemsView.FindControl("deletedLbl"); + Label deleteLbl = (Label)ActionItemsView.FindControl("deleteLbl"); + Label deletedLbl = (Label)ActionItemsView.FindControl("deletedLbl"); - if (deletedLbl.Visible || (ai != null && - !m_user.HasRight(Constants.RIGHTS_AI_DELETE_OTHER, productID) && - !(ai.ASSIGNED.ID == m_user.ID && m_user.HasRight(Constants.RIGHTS_AI_DELETE_MY, productID)) && - !(ai.CREATOR.ID == m_user.ID && m_user.HasRight(Constants.RIGHTS_AI_DELETE_CREATED, productID)))) - { + if (deletedLbl.Visible || (ai != null && + !m_user.HasRight(Constants.RIGHTS_AI_DELETE_OTHER, productID) && + !(ai.ASSIGNED.ID == m_user.ID && m_user.HasRight(Constants.RIGHTS_AI_DELETE_MY, productID)) && + !(ai.CREATOR.ID == m_user.ID && m_user.HasRight(Constants.RIGHTS_AI_DELETE_CREATED, productID)))) + { deleteBtn.Visible = false; - deleteLbl.Visible = false; + deleteLbl.Visible = false; + } } - } protected void assignedTo_Init(object sender, EventArgs e) { + if (!current) return; + DropDownList assignedTo = (DropDownList)sender; if (ai == null) ai = ActionItemDB.GetActionItem(Convert.ToInt32(item_id), active); @@ -461,15 +496,15 @@ { assignedTo.Enabled = true; - List<Product> products = ProductDB.GetProductList(true); + List<Product> products = ProductDB.GetProductList(true); tcdbDataSetTableAdapters.db_roleProductUserTableAdapter rpuAdapter = new tcdbDataSetTableAdapters.db_roleProductUserTableAdapter(); - foreach (Product product in products) + foreach (Product product in products) { - if ((ActionItemsView.CurrentMode == FormViewMode.Insert && m_user.HasRight(Constants.RIGHTS_AI_CREATE_OTHER, product.ID)) || - (ActionItemsView.CurrentMode == FormViewMode.Edit && m_user.HasRight(Constants.RIGHTS_AI_REASSIGN_OTHER, ai.CREATOR, product.ID))) + if ((ActionItemsView.CurrentMode == FormViewMode.Insert && m_user.HasRight(Constants.RIGHTS_AI_CREATE_OTHER, product.ID)) || + (ActionItemsView.CurrentMode == FormViewMode.Edit && m_user.HasRight(Constants.RIGHTS_AI_REASSIGN_OTHER, ai.CREATOR, product.ID))) { - tcdbDataSet.db_roleProductUserDataTable rpuTable = rpuAdapter.GetData(null, product.ID, true); + tcdbDataSet.db_roleProductUserDataTable rpuTable = rpuAdapter.GetData(null, product.ID, true); int lastID = -1; foreach (tcdbDataSet.db_roleProductUserRow rpuRow in rpuTable) @@ -487,6 +522,8 @@ } protected void activeBox_Init(object sender, EventArgs e) { + if (!current) return; + CheckBox activeBox = (CheckBox)sender; Label deletedLbl = (Label)ActionItemsView.FindControl("deletedLbl"); Modified: Website/Includes/AdministrationTree.ascx =================================================================== --- Website/Includes/AdministrationTree.ascx 2006-08-11 19:46:14 UTC (rev 309) +++ Website/Includes/AdministrationTree.ascx 2006-08-11 19:48:28 UTC (rev 310) @@ -1,11 +1,11 @@ -<%@ Control Language="C#" AutoEventWireup="true" CodeFile="AdministrationTree.ascx.cs" Inherits="TCDB.AdministrationTree" %> - +<%@ Control Language="C#" AutoEventWireup="true" CodeFile="AdministrationTree.ascx.cs" + Inherits="TCDB.AdministrationTree" %> <asp:TreeView ID="AdminTree" runat="server" SelectedNodeStyle-CssClass="selectednode" - OnTreeNodePopulate="AdminTree_TreeNodePopulate" ExpandDepth="1" OnTreeNodeCollapsed="AdminTree_TreeNodeCollapsed" - OnTreeNodeExpanded="AdminTree_TreeNodeExpanded" OnInit="AdminTree_Init"> + OnTreeNodePopulate="AdminTree_TreeNodePopulate" OnTreeNodeCollapsed="AdminTree_TreeNodeCollapsed" + OnTreeNodeExpanded="AdminTree_TreeNodeExpanded" OnInit="AdminTree_Init" + OnSelectedNodeChanged="AdminTree_SelectedNodeChanged" ExpandDepth="1"> <Nodes> - <asp:TreeNode Text="Administration" Value="Users" PopulateOnDemand="True" SelectAction="Expand" - NavigateUrl="~/Administration.aspx" /> + <asp:TreeNode Text="Administration" Value="Admin" PopulateOnDemand="True" SelectAction="Expand" /> </Nodes> <SelectedNodeStyle CssClass="selectednode" /> -</asp:TreeView> \ No newline at end of file +</asp:TreeView> Modified: Website/Includes/AdministrationTree.ascx.cs =================================================================== --- Website/Includes/AdministrationTree.ascx.cs 2006-08-11 19:46:14 UTC (rev 309) +++ Website/Includes/AdministrationTree.ascx.cs 2006-08-11 19:48:28 UTC (rev 310) @@ -15,6 +15,8 @@ { public partial class AdministrationTree : SiteUserControl { + private const string PREFIX = "AdministrationTree_"; + private const string PREFIX_TAB = "AdministrationTab_"; private static Logger m_logg = new Logger("TCDB.AdministrationTree"); protected void Page_Load(object sender, EventArgs e) @@ -30,6 +32,60 @@ if (Session["AdminNodes"] == null) Session.Add("AdminNodes", new ArrayList()); } + + protected void AdminTree_SelectedNodeChanged(object sender, EventArgs e) + { + TreeNode node = AdminTree.SelectedNode; + String nodeType = Help.Tree_GetValue(node, "NodeType"); + if (nodeType == null) nodeType = "Root"; + + String nodeValue = Help.Tree_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": + Response.Redirect("~/Administration.aspx"); + break; + case "Product": + Session[Constants.CODE_PRODUCT] = nodeValue; + Response.Redirect("~/Assignments.aspx"); + break; + case "User": + Session[Constants.CODE_USER] = nodeValue; + Session[Constants.CODE_PRODUCT] = Help.Tree_GetValue(node.Parent, "Value"); + try + { + if (bool.Parse(Help.Tree_GetValue(node, "IsCreated"))) + { + Session[Constants.CODE_MODE] = Constants.CODE_CREATED; + Session[Constants.CODE_PRODUCT] = Constants.PRODUCT_ANYID; + } + } + catch { } + Response.Redirect("~/Assignments.aspx"); + break; + case "Created": + 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 "WorkOrder": + Session[Constants.CODE_WO] = nodeValue; + Response.Redirect("~/WorkOrder.aspx"); + break; + default: + break; + } + // } + } + protected void AdminTree_TreeNodeExpanded(object sender, TreeNodeEventArgs e) { ArrayList nodes = (ArrayList)Session["AdminNodes"]; @@ -58,7 +114,7 @@ // Create the new node. TreeNode newNode = new TreeNode(); newNode.Text = "<product>" + product.NAME + "</product>"; - newNode.Value = product.ID.ToString(); + Help.Tree_SetValue(newNode, PREFIX + Constants.CODE_PRODUCT, product.ID.ToString()); // Set the PopulateOnDemand property to true so that the child nodes can be // dynamically populated. @@ -66,7 +122,7 @@ // Set additional properties for the node. newNode.SelectAction = TreeNodeSelectAction.Expand; - newNode.NavigateUrl = "~/Product.aspx?" + Constants.CODE_PRODUCT + "=" + newNode.Value; + newNode.NavigateUrl = "~/Product.aspx"; if (!product.ACTIVE) newNode.Text = "<font class='deleted'>" + newNode.Text + "</font>"; Modified: Website/Includes/Assignments.ascx =================================================================== --- Website/Includes/Assignments.ascx 2006-08-11 19:46:14 UTC (rev 309) +++ Website/Includes/Assignments.ascx 2006-08-11 19:48:28 UTC (rev 310) @@ -8,10 +8,10 @@ <SelectParameters> <asp:Parameter Name="aType" Type="String" /> <asp:Parameter Name="finished" Type="Int32" /> - <asp:SessionParameter Name="assignedID" SessionField="uid" Type="Int32" /> - <asp:SessionParameter Name="creatorID" SessionField="myID" Type="Int32" /> + <asp:SessionParameter Name="assignedID" SessionField="AssignmentTree_u" Type="Int32" /> + <asp:SessionParameter Name="creatorID" SessionField="AssignmentTab_myID" Type="Int32" /> <asp:Parameter Name="highPriority" Type="Boolean" /> - <asp:SessionParameter DefaultValue="" Name="active" SessionField="active" Type="Boolean" /> + <asp:SessionParameter DefaultValue="" Name="active" SessionField="AssignmentTab_active" Type="Boolean" /> </SelectParameters> </asp:ObjectDataSource> <div id="Assignments"> Modified: Website/Includes/Assignments.ascx.cs =================================================================== --- Website/Includes/Assignments.ascx.cs 2006-08-11 19:46:14 UTC (rev 309) +++ Website/Includes/Assignments.ascx.cs 2006-08-11 19:48:28 UTC (rev 310) @@ -20,33 +20,44 @@ /// </summary> public partial class Assignments : SiteUserControl { + private const string PREFIX = "AssignmentTab_"; + private const string PREFIX_TREE = "AssignmentTree_"; private static Logger m_logg = new Logger("TCDB.Assignments"); private int uid = 0; - private String mode = null; + private string mode = null; private int productID = 0; private const int MAX_NAME_LENGTH = 30; + private bool current = false; protected void Page_Load(object sender, EventArgs e) { - Session.Remove("uid"); - Session.Remove("myID"); + if (Convert.ToString(Session[PREFIX + "Name"]) != Constants.CODE_ASSIGNMENT) + { + current = false; + return; + } + else + { + current = true; + } + m_logg.Debug("Loading assignments for [" + m_user.ToString() + "]"); // Load session data try { - uid = Convert.ToInt32(Session[Constants.CODE_USER]); + uid = Convert.ToInt32(Session[PREFIX_TREE + Constants.CODE_USER]); } catch { } try { - mode = Session[Constants.CODE_MODE].ToString(); + mode = Session[PREFIX_TREE + Constants.CODE_MODE].ToString(); } catch { } try { - productID = Convert.ToInt32(Session[Constants.CODE_PRODUCT]); + productID = Convert.ToInt32(Session[PREFIX_TREE + Constants.CODE_PRODUCT]); } catch { } @@ -120,12 +131,14 @@ } } if (mode == Constants.CODE_CREATED) - Session["myID"] = m_user.ID; + Session[PREFIX + "myID"] = m_user.ID; if (uid != 0) - Session.Add("uid", uid); + Session.Add(PREFIX_TREE + Constants.CODE_USER, uid); + else + Session.Remove(PREFIX_TREE + Constants.CODE_USER); m_logg.Debug("Databinding the AssignmentsGridView"); - if (Session["refresh"] != null) + if (Session[PREFIX + "refresh"] != null) AssignmentsGridView.DataBind(); } @@ -299,22 +312,22 @@ // update Session if (date.ID == "toDate") - Session["toDate"] = date.SelectedDate; + Session[PREFIX + "toDate"] = date.SelectedDate; else if (date.ID == "fromDate") - Session["fromDate"] = date.SelectedDate; + Session[PREFIX + "fromDate"] = date.SelectedDate; else if (date.ID == "toDueDate") - Session["toDueDate"] = date.SelectedDate; + Session[PREFIX + "toDueDate"] = date.SelectedDate; else if (date.ID == "fromDueDate") - Session["fromDueDate"] = date.SelectedDate; + Session[PREFIX + "fromDueDate"] = date.SelectedDate; else if (date.ID == "toFinishedDate") - Session["toFinishedDate"] = date.SelectedDate; + Session[PREFIX + "toFinishedDate"] = date.SelectedDate; else if (date.ID == "fromFinishedDate") - Session["fromFinishedDate"] = date.SelectedDate; + Session[PREFIX + "fromFinishedDate"] = date.SelectedDate; - Session.Add("refresh", true); + Session.Add(PREFIX + "refresh", true); AssignmentsGridView.DataBind(); } - + /* protected String getURL(int cid, String type, String name) { String displayName; @@ -332,31 +345,36 @@ m_logg.Error("Bad Assignment type. Can't display URL"); return ""; } - } + }*/ + protected void AssignmentsGridView_Sorted(object sender, EventArgs e) { - Session["refresh"] = true; + Session[PREFIX + "refresh"] = true; //foreach (GridViewRow row in AssignmentsGridView.Rows) // filter(row); } protected void AssignmentsGridView_DataBinding(object sender, EventArgs e) { - if (Session["refresh"] != null) + if (!current) return; + + if (Session[PREFIX + "refresh"] != null) { AssignmentsGridView.Visible = true; NoAssignments.Visible = false; - Session["rows"] = 0; + Session[PREFIX + "rows"] = 0; } } protected void AssignmentsGridView_DataBound(object sender, EventArgs e) { - if (Session["refresh"] != null) + if (!current) return; + + if (Session[PREFIX + "refresh"] != null) { - Session.Remove("refresh"); + Session.Remove(PREFIX + "refresh"); // TODO: Figure out how to dynamically set the column head here but still have it linkable/sortable //AssignmentsGridView.Columns[0].HeaderText = "<div class=\"priority_high\" />"; - int rows = Convert.ToInt32(Session["rows"]); + int rows = Convert.ToInt32(Session[PREFIX + "rows"]); if (rows < 2) { AssignmentsGridView.Visible = false; @@ -368,11 +386,13 @@ } protected void AssignmentsGridView_RowDataBound(object sender, GridViewRowEventArgs e) { - if (Session["refresh"] != null) + if (!current) return; + + if (Session[PREFIX + "refresh"] != null) { e.Row.Visible = filter(e.Row); if (e.Row.Visible) - Session["rows"] = Convert.ToInt32(Session["rows"]) + 1; + Session[PREFIX + "rows"] = Convert.ToInt32(Session[PREFIX + "rows"]) + 1; } } protected void AssignmentsGridView_RowCommand(object sender, GridViewCommandEventArgs e) @@ -385,13 +405,14 @@ if (type == Constants.CODE_AI) { - - Session[Constants.CODE_AI] = childID; + Session[PREFIX + "Name"] = Constants.CODE_AI; + Session[PREFIX + Constants.CODE_AI] = childID; Response.Redirect("~/ActionItem.aspx"); } else if (type == Constants.CODE_WO) { - Session[Constants.CODE_WO] = childID; + Session[PREFIX + "Name"] = Constants.CODE_AI; + Session[PREFIX + Constants.CODE_WO] = childID; Response.Redirect("~/WorkOrder.aspx"); } } @@ -412,11 +433,11 @@ woStatusList.Items.FindByText("Completed").Selected = false; } // update Session - Session["showCompleted"] = cboShowCompleted.Checked; - Session["showAICompleted"] = aiStatusList.Items.FindByText("Completed").Selected; - Session["showWOCompleted"] = woStatusList.Items.FindByText("Completed").Selected; + Session[PREFIX + "showCompleted"] = cboShowCompleted.Checked; + Session[PREFIX + "showAICompleted"] = aiStatusList.Items.FindByText("Completed").Selected; + Session[PREFIX + "showWOCompleted"] = woStatusList.Items.FindByText("Completed").Selected; - Session.Add("refresh", true); + Session.Add(PREFIX + "refresh", true); Response.Redirect(Request.RawUrl); } protected void cboStatusFilter_CheckedChanged(object sender, EventArgs e) @@ -431,9 +452,9 @@ aiStatusList.Enabled = false; woStatusList.Enabled = false; } - Session["filterStatus"] = cboStatusFilter.Checked; + Session[PREFIX + "filterStatus"] = cboStatusFilter.Checked; - Session.Add("refresh", true); + Session.Add(PREFIX + "refresh", true); AssignmentsGridView.DataBind(); } protected void aiStatusList_SelectedIndexChanged(object sender, EventArgs e) @@ -444,13 +465,13 @@ cboShowCompleted.Checked = false; // update Session - Session["showAIActive"] = aiStatusList.Items.FindByText("Active").Selected; - Session["showAIInactive"] = aiStatusList.Items.FindByText("Inactive").Selected; - Session["showAINotStarted"] = aiStatusList.Items.FindByText("Not Started").Selected; - Session["showAICompleted"] = aiStatusList.Items.FindByText("Completed").Selected; - Session["showCompleted"] = cboShowCompleted.Checked; + Session[PREFIX + "showAIActive"] = aiStatusList.Items.FindByText("Active").Selected; + Session[PREFIX + "showAIInactive"] = aiStatusList.Items.FindByText("Inactive").Selected; + Session[PREFIX + "showAINotStarted"] = aiStatusList.Items.FindByText("Not Started").Selected; + Session[PREFIX + "showAICompleted"] = aiStatusList.Items.FindByText("Completed").Selected; + Session[PREFIX + "showCompleted"] = cboShowCompleted.Checked; - Session.Add("refresh", true); + Session.Add(PREFIX + "refresh", true); Response.Redirect(Request.RawUrl); } protected void woStatusList_SelectedIndexChanged(object sender, EventArgs e) @@ -460,13 +481,13 @@ else cboShowCompleted.Checked = false; // update Session - Session["showWOActive"] = woStatusList.Items.FindByText("Active").Selected; - Session["showWOInactive"] = woStatusList.Items.FindByText("Inactive").Selected; - Session["showWONotStarted"] = woStatusList.Items.FindByText("Not Started").Selected; - Session["showWOCompleted"] = woStatusList.Items.FindByText("Completed").Selected; - Session["showCompleted"] = cboShowCompleted.Checked; + Session[PREFIX + "showWOActive"] = woStatusList.Items.FindByText("Active").Selected; + Session[PREFIX + "showWOInactive"] = woStatusList.Items.FindByText("Inactive").Selected; + Session[PREFIX + "showWONotStarted"] = woStatusList.Items.FindByText("Not Started").Selected; + Session[PREFIX + "showWOCompleted"] = woStatusList.Items.FindByText("Completed").Selected; + Session[PREFIX + "showCompleted"] = cboShowCompleted.Checked; - Session.Add("refresh", true); + Session.Add(PREFIX + "refresh", true); AssignmentsGridView.DataBind(); } protected void cboTypeFilter_CheckedChanged(object sender, EventArgs e) @@ -481,46 +502,46 @@ cboShowActionItems.Enabled = false; cboShowWorkOrders.Enabled = false; } - Session["filterType"] = cboTypeFilter.Checked; - Session["showActionItems"] = cboShowActionItems.Checked; - Session["showWorkOrders"] = cboShowWorkOrders.Checked; + Session[PREFIX + "filterType"] = cboTypeFilter.Checked; + Session[PREFIX + "showActionItems"] = cboShowActionItems.Checked; + Session[PREFIX + "showWorkOrders"] = cboShowWorkOrders.Checked; - Session.Add("refresh", true); + Session.Add(PREFIX + "refresh", true); AssignmentsGridView.DataBind(); } protected void cboShowActionItems_CheckedChanged(object sender, EventArgs e) { - Session["showActionItems"] = cboShowActionItems.Checked; + Session[PREFIX + "showActionItems"] = cboShowActionItems.Checked; - Session.Add("refresh", true); + Session.Add(PREFIX + "refresh", true); AssignmentsGridView.DataBind(); } protected void cboShowWorkOrders_CheckedChanged(object sender, EventArgs e) { - Session["showWorkOrders"] = cboShowWorkOrders.Checked; + Session[PREFIX + "showWorkOrders"] = cboShowWorkOrders.Checked; - Session.Add("refresh", true); + Session.Add(PREFIX + "refresh", true); AssignmentsGridView.DataBind(); } protected void cboDateFilter_CheckedChanged(object sender, EventArgs e) { - Session["filterAssignedDate"] = cboDateFilter.Checked; + Session[PREFIX + "filterAssignedDate"] = cboDateFilter.Checked; - Session.Add("refresh", true); + Session.Add(PREFIX + "refresh", true); AssignmentsGridView.DataBind(); } protected void cboDueFilter_CheckedChanged(object sender, EventArgs e) { - Session["filterDueDate"] = cboDueFilter.Checked; + Session[PREFIX + "filterDueDate"] = cboDueFilter.Checked; - Session.Add("refresh", true); + Session.Add(PREFIX + "refresh", true); AssignmentsGridView.DataBind(); } protected void cboFinishedFilter_CheckedChanged(object sender, EventArgs e) { - Session["filterFinishedDate"] = cboFinishedFilter.Checked; + Session[PREFIX + "filterFinishedDate"] = cboFinishedFilter.Checked; - Session.Add("refresh", true); + Session.Add(PREFIX + "refresh", true); AssignmentsGridView.DataBind(); } protected void cboPriorityFilter_CheckedChanged(object sender, EventArgs e) @@ -535,297 +556,337 @@ cboHighPriority.Enabled = false; cboLowPriority.Enabled = false; } - Session["filterPriority"] = cboPriorityFilter.Checked; + Session[PREFIX + "filterPriority"] = cboPriorityFilter.Checked; - Session.Add("refresh", true); + Session.Add(PREFIX + "refresh", true); AssignmentsGridView.DataBind(); } protected void cboHighPriority_CheckedChanged(object sender, EventArgs e) { - Session["showHighPriority"] = cboPriorityFilter.Checked; + Session[PREFIX + "showHighPriority"] = cboPriorityFilter.Checked; - Session.Add("refresh", true); + Session.Add(PREFIX + "refresh", true); AssignmentsGridView.DataBind(); } protected void cboLowPriority_CheckedChanged(object sender, EventArgs e) { - Session["showLowPriority"] = cboPriorityFilter.Checked; + Session[PREFIX + "showLowPriority"] = cboPriorityFilter.Checked; - Session.Add("refresh", true); + Session.Add(PREFIX + "refresh", true); AssignmentsGridView.DataBind(); } protected void aiStatusList_DataBound(object sender, EventArgs e) { + if (!current) return; + if (!IsPostBack) { - if (Session["showAIActive"] == null) + if (Session[PREFIX + "showAIActive"] == null) { aiStatusList.Items.FindByText("Active").Selected = m_user.GetConfigBool("filter_show_ai_active"); - Session["showAIActive"] = aiStatusList.Items.FindByText("Active").Selected; + Session[PREFIX + "showAIActive"] = aiStatusList.Items.FindByText("Active").Selected; } else - aiStatusList.Items.FindByText("Active").Selected = Convert.ToBoolean(Session["showAIActive"]); - if (Session["showAIInactive"] == null) + aiStatusList.Items.FindByText("Active").Selected = Convert.ToBoolean(Session[PREFIX + "showAIActive"]); + if (Session[PREFIX + "showAIInactive"] == null) { aiStatusList.Items.FindByText("Inactive").Selected = m_user.GetConfigBool("filter_show_ai_inactive"); - Session["showAIInactive"] = aiStatusList.Items.FindByText("Inactive").Selected; + Session[PREFIX + "showAIInactive"] = aiStatusList.Items.FindByText("Inactive").Selected; } else - aiStatusList.Items.FindByText("Inactive").Selected = Convert.ToBoolean(Session["showAIInactive"]); - if (Session["showAICompleted"] == null) + aiStatusList.Items.FindByText("Inactive").Selected = Convert.ToBoolean(Session[PREFIX + "showAIInactive"]); + if (Session[PREFIX + "showAICompleted"] == null) { aiStatusList.Items.FindByText("Completed").Selected = m_user.GetConfigBool("filter_show_ai_complete"); - Session["showAICompleted"] = aiStatusList.Items.FindByText("Completed").Selected; + Session[PREFIX + "showAICompleted"] = aiStatusList.Items.FindByText("Completed").Selected; } else - aiStatusList.Items.FindByText("Completed").Selected = Convert.ToBoolean(Session["showAICompleted"]); - if (Session["showAINotStarted"] == null) + aiStatusList.Items.FindByText("Completed").Selected = Convert.ToBoolean(Session[PREFIX + "showAICompleted"]); + if (Session[PREFIX + "showAINotStarted"] == null) { aiStatusList.Items.FindByText("Not Started").Selected = m_user.GetConfigBool("filter_show_ai_not_started"); - Session["showAINotStarted"] = aiStatusList.Items.FindByText("Not Started").Selected; + Session[PREFIX + "showAINotStarted"] = aiStatusList.Items.FindByText("Not Started").Selected; } else - aiStatusList.Items.FindByText("Not Started").Selected = Convert.ToBoolean(Session["showAINotStarted"]); + aiStatusList.Items.FindByText("Not Started").Selected = Convert.ToBoolean(Session[PREFIX + "showAINotStarted"]); - if (Session["refresh"] != null) + if (Session[PREFIX + "refresh"] != null) AssignmentsGridView.DataBind(); else - Session.Add("refresh", true); + Session.Add(PREFIX + "refresh", true); } } protected void woStatusList_DataBound(object sender, EventArgs e) { + if (!current) return; + if (!IsPostBack) { - if (Session["showWOActive"] == null) + if (Session[PREFIX + "showWOActive"] == null) { woStatusList.Items.FindByText("Active").Selected = m_user.GetConfigBool("filter_show_wo_active"); - Session["showWOActive"] = woStatusList.Items.FindByText("Active").Selected; + Session[PREFIX + "showWOActive"] = woStatusList.Items.FindByText("Active").Selected; } else - woStatusList.Items.FindByText("Active").Selected = Convert.ToBoolean(Session["showWOActive"]); - if (Session["showWOInactive"] == null) + woStatusList.Items.FindByText("Active").Selected = Convert.ToBoolean(Session[PREFIX + "showWOActive"]); + if (Session[PREFIX + "showWOInactive"] == null) { woStatusList.Items.FindByText("Inactive").Selected = m_user.GetConfigBool("filter_show_wo_inactive"); - Session["showWOInactive"] = woStatusList.Items.FindByText("Inactive").Selected; + Session[PREFIX + "showWOInactive"] = woStatusList.Items.FindByText("Inactive").Selected; } else - woStatusList.Items.FindByText("Inactive").Selected = Convert.ToBoolean(Session["showWOInactive"]); - if (Session["showWOCompleted"] == null) + woStatusList.Items.FindByText("Inactive").Selected = Convert.ToBoolean(Session[PREFIX + "showWOInactive"]); + if (Session[PREFIX + "showWOCompleted"] == null) { woStatusList.Items.FindByText("Completed").Selected = m_user.GetConfigBool("filter_show_wo_completed"); - Session["showWOCompleted"] = woStatusList.Items.FindByText("Completed").Selected; + Session[PREFIX + "showWOCompleted"] = woStatusList.Items.FindByText("Completed").Selected; } else - woStatusList.Items.FindByText("Completed").Selected = Convert.ToBoolean(Session["showWOCompleted"]); - if (Session["showWONotStarted"] == null) + woStatusList.Items.FindByText("Completed").Selected = Convert.ToBoolean(Session[PREFIX + "showWOCompleted"]); + if (Session[PREFIX + "showWONotStarted"] == null) { woStatusList.Items.FindByText("Not Started").Selected = m_user.GetConfigBool("filter_show_wo_not_started"); - Session["showWONotStarted"] = woStatusList.Items.FindByText("Not Started").Selected; + Session[PREFIX + "showWONotStarted"] = woStatusList.Items.FindByText("Not Started").Selected; } else - woStatusList.Items.FindByText("Not Started").Selected = Convert.ToBoolean(Session["showWONotStarted"]); + woStatusList.Items.FindByText("Not Started").Selected = Convert.ToBoolean(Session[PREFIX + "showWONotStarted"]); - if (Session["refresh"] != null) + if (Session[PREFIX + "refresh"] != null) AssignmentsGridView.DataBind(); else - Session.Add("refresh", true); + Session.Add(PREFIX + "refresh", true); } } protected void toDate_Init(object sender, EventArgs e) { + if (!current) return; + if (!IsPostBack) { - if (Session["toDate"] == null) + if (Session[PREFIX + "toDate"] == null) { toDate.SelectedDate = m_user.GetConfigDate("filter_show_to_assigned_date"); - Session["toD... [truncated message content] |
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-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 14:16:44
|
Revision: 307 Author: rouquin Date: 2006-08-11 07:16:29 -0700 (Fri, 11 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=307&view=rev Log Message: ----------- Added content to a lot of pages. They are only accessible with dev_access rights. However, the content is not enabled since most of them don't have stored procedures to back them up. Modified Paths: -------------- Website/App_Code/tcdbDataSet.xsd Website/App_Code/tcdbDataSet.xss Website/Includes/Builds.ascx Website/Includes/Builds.ascx.cs Website/Includes/Features.ascx Website/Includes/Objectives.ascx Website/Includes/Tags.ascx Website/Includes/TestCases.ascx Website/Includes/TestPasses.ascx Website/Includes/TestPasses.ascx.cs Website/Includes/Versions.ascx Website/Includes/Versions.ascx.cs Added Paths: ----------- Website/Includes/Features.ascx.cs Website/Includes/Objectives.ascx.cs Website/Includes/Tags.ascx.cs Website/Includes/TestCases.ascx.cs Website/Tag.aspx Modified: Website/App_Code/tcdbDataSet.xsd =================================================================== --- Website/App_Code/tcdbDataSet.xsd 2006-08-10 23:35:49 UTC (rev 306) +++ Website/App_Code/tcdbDataSet.xsd 2006-08-11 14:16:29 UTC (rev 307) @@ -960,6 +960,118 @@ <Sources> </Sources> </TableAdapter> + <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="db_platformTableAdapter" GeneratorDataComponentClassName="db_platformTableAdapter" Name="db_platform" UserDataComponentName="db_platformTableAdapter"> + <MainSource> + <DbSource ConnectionRef="tcdbConnectionString (Web.config)" DbObjectName="tcdb.dbo.sel_platform" 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_platform</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="@architectureID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumn="archID" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@osID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumn="osID" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + </Parameters> + </DbCommand> + </InsertCommand> + <SelectCommand> + <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> + <CommandText>dbo.sel_platform</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="@platformID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@archID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@archName" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@osID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@osFriendlyName" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@osCodeName" Precision="0" ProviderType="VarChar" Scale="0" Size="30" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + </Parameters> + </DbCommand> + </SelectCommand> + </DbSource> + </MainSource> + <Mappings> + <Mapping SourceColumn="platformID" DataSetColumn="platformID" /> + <Mapping SourceColumn="archID" DataSetColumn="archID" /> + <Mapping SourceColumn="archName" DataSetColumn="archName" /> + <Mapping SourceColumn="osID" DataSetColumn="osID" /> + <Mapping SourceColumn="osFriendlyName" DataSetColumn="osFriendlyName" /> + <Mapping SourceColumn="osCodeName" DataSetColumn="osCodeName" /> + </Mappings> + <Sources> + </Sources> + </TableAdapter> + <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="db_buildTableAdapter" GeneratorDataComponentClassName="db_buildTableAdapter" Name="db_build" UserDataComponentName="db_buildTableAdapter"> + <MainSource> + <DbSource ConnectionRef="tcdbConnectionString (Web.config)" DbObjectName="tcdb.dbo.sel_build" 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_build</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="@versionID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumn="versionID" SourceColumnNullMapping="False" SourceVersion="Current"> + </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> + <SelectCommand> + <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> + <CommandText>dbo.sel_build</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="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> + <Parameter AllowDbNull="True" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@buildID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="False" SourceVersion="Current"> + </Parameter> + </Parameters> + </DbCommand> + </SelectCommand> + <UpdateCommand> + <DbCommand CommandType="StoredProcedure" ModifiedByUser="False"> + <CommandText>dbo.upd_build</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="@buildID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumn="buildID" 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="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> + </UpdateCommand> + </DbSource> + </MainSource> + <Mappings> + <Mapping SourceColumn="buildID" DataSetColumn="buildID" /> + <Mapping SourceColumn="versionID" DataSetColumn="versionID" /> + <Mapping SourceColumn="number" DataSetColumn="number" /> + <Mapping SourceColumn="active" DataSetColumn="active" /> + <Mapping SourceColumn="dateCreated" DataSetColumn="dateCreated" /> + </Mappings> + <Sources> + </Sources> + </TableAdapter> </Tables> <Sources> </Sources> @@ -972,108 +1084,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" /> @@ -1086,17 +1198,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" /> @@ -1109,102 +1221,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" /> @@ -1217,25 +1329,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:A... [truncated message content] |
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-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: <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: <m_h...@us...> - 2006-08-10 19:19:34
|
Revision: 303 Author: m_hildebrand Date: 2006-08-10 12:18:40 -0700 (Thu, 10 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=303&view=rev Log Message: ----------- Added lots of new graphics to the administration page Fixed some CSS problems Modified Paths: -------------- Website/App_Themes/Python/Images/product_add_48.png Website/App_Themes/Python/Images/product_edit_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_role_48.png Website/App_Themes/Python/Python.skin Website/App_Themes/Python/python.css Website/Includes/Administration.ascx Website/Includes/Administration.ascx.cs Website/TCDB.master Added Paths: ----------- Graphics/Python/Processed/ Graphics/Python/Processed/ArrowDown.gif Graphics/Python/Processed/ArrowUp.gif Graphics/Python/Processed/Header-Background.gif Graphics/Python/Processed/TCDB-2006-Logo-on-Blue.gif Graphics/Python/Processed/TCDB-2006-Logo-on-White.gif Graphics/Python/Processed/Thumbs.db Graphics/Python/Processed/important.png Graphics/Python/Processed/important_large.png Graphics/Python/Processed/product_add_48.png Graphics/Python/Processed/product_delete_48.png Graphics/Python/Processed/product_edit_48.png Graphics/Python/Processed/product_view_48.png Graphics/Python/Processed/reddot.gif Graphics/Python/Processed/role_add_48.png Graphics/Python/Processed/role_delete_48.png Graphics/Python/Processed/role_edit_48.png Graphics/Python/Processed/role_view_48.png Graphics/Python/Processed/toolbar_calendar_48.png Graphics/Python/Processed/user_add_48.png Graphics/Python/Processed/user_delete_48.png Graphics/Python/Processed/user_edit_48.png Graphics/Python/Processed/user_role_48.png Graphics/Python/Processed/user_view_48.png Graphics/Python/Raw PSD/ Graphics/Python/Raw PSD/Delete Overlay.psd Graphics/Python/Raw PSD/Edit Overlay.psd Graphics/Python/Raw PSD/New Overlay.psd Graphics/Python/Raw PSD/TCDB 2006 Logo.psd Graphics/Python/Raw PSD/product_add_48.psd Graphics/Python/Raw PSD/product_delete_48.psd Graphics/Python/Raw PSD/product_edit_48.psd Graphics/Python/Raw PSD/product_view_48.psd Graphics/Python/Raw PSD/role_add_48.psd Graphics/Python/Raw PSD/role_delete_48.psd Graphics/Python/Raw PSD/role_edit_48.psd Graphics/Python/Raw PSD/role_view_48.psd Graphics/Python/Raw PSD/user_add_48.psd Graphics/Python/Raw PSD/user_delete_48.psd Graphics/Python/Raw PSD/user_edit_48.psd Graphics/Python/Raw PSD/user_role_48.psd Graphics/Python/Raw PSD/user_view_48.psd Website/App_Themes/Python/Images/important.png Website/App_Themes/Python/Images/important_large.png Website/App_Themes/Python/Images/role_add_48.png Website/App_Themes/Python/Images/role_delete_48.png Website/App_Themes/Python/Images/role_edit_48.png Website/App_Themes/Python/Images/role_view_48.png Website/App_Themes/Python/style-ie.style Removed Paths: ------------- Graphics/Python/ArrowDown.gif Graphics/Python/ArrowUp.gif Graphics/Python/Header-Background.gif Graphics/Python/TCDB 2006 Logo.psd Graphics/Python/TCDB-2006-Logo-on-Blue.gif Graphics/Python/TCDB-2006-Logo-on-White.gif Graphics/Python/reddot.gif Website/App_Themes/Python/style-ie.css Deleted: Graphics/Python/ArrowDown.gif =================================================================== (Binary files differ) Deleted: Graphics/Python/ArrowUp.gif =================================================================== (Binary files differ) Deleted: Graphics/Python/Header-Background.gif =================================================================== (Binary files differ) Copied: Graphics/Python/Processed/ArrowDown.gif (from rev 299, Graphics/Python/ArrowDown.gif) =================================================================== (Binary files differ) Copied: Graphics/Python/Processed/ArrowUp.gif (from rev 299, Graphics/Python/ArrowUp.gif) =================================================================== (Binary files differ) Copied: Graphics/Python/Processed/Header-Background.gif (from rev 299, Graphics/Python/Header-Background.gif) =================================================================== (Binary files differ) Copied: Graphics/Python/Processed/TCDB-2006-Logo-on-Blue.gif (from rev 299, Graphics/Python/TCDB-2006-Logo-on-Blue.gif) =================================================================== (Binary files differ) Copied: Graphics/Python/Processed/TCDB-2006-Logo-on-White.gif (from rev 299, Graphics/Python/TCDB-2006-Logo-on-White.gif) =================================================================== (Binary files differ) Added: Graphics/Python/Processed/Thumbs.db =================================================================== (Binary files differ) Property changes on: Graphics/Python/Processed/Thumbs.db ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: Graphics/Python/Processed/important.png =================================================================== (Binary files differ) Property changes on: Graphics/Python/Processed/important.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: Graphics/Python/Processed/important_large.png =================================================================== (Binary files differ) Property changes on: Graphics/Python/Processed/important_large.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: Graphics/Python/Processed/product_add_48.png =================================================================== (Binary files differ) Property changes on: Graphics/Python/Processed/product_add_48.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: Graphics/Python/Processed/product_delete_48.png =================================================================== (Binary files differ) Property changes on: Graphics/Python/Processed/product_delete_48.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: Graphics/Python/Processed/product_edit_48.png =================================================================== (Binary files differ) Property changes on: Graphics/Python/Processed/product_edit_48.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: Graphics/Python/Processed/product_view_48.png =================================================================== (Binary files differ) Property changes on: Graphics/Python/Processed/product_view_48.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Copied: Graphics/Python/Processed/reddot.gif (from rev 299, Graphics/Python/reddot.gif) =================================================================== (Binary files differ) Added: Graphics/Python/Processed/role_add_48.png =================================================================== (Binary files differ) Property changes on: Graphics/Python/Processed/role_add_48.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: Graphics/Python/Processed/role_delete_48.png =================================================================== (Binary files differ) Property changes on: Graphics/Python/Processed/role_delete_48.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: Graphics/Python/Processed/role_edit_48.png =================================================================== (Binary files differ) Property changes on: Graphics/Python/Processed/role_edit_48.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: Graphics/Python/Processed/role_view_48.png =================================================================== (Binary files differ) Property changes on: Graphics/Python/Processed/role_view_48.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: Graphics/Python/Processed/toolbar_calendar_48.png =================================================================== (Binary files differ) Property changes on: Graphics/Python/Processed/toolbar_calendar_48.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: Graphics/Python/Processed/user_add_48.png =================================================================== (Binary files differ) Property changes on: Graphics/Python/Processed/user_add_48.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: Graphics/Python/Processed/user_delete_48.png =================================================================== (Binary files differ) Property changes on: Graphics/Python/Processed/user_delete_48.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: Graphics/Python/Processed/user_edit_48.png =================================================================== (Binary files differ) Property changes on: Graphics/Python/Processed/user_edit_48.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: Graphics/Python/Processed/user_role_48.png =================================================================== (Binary files differ) Property changes on: Graphics/Python/Processed/user_role_48.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: Graphics/Python/Processed/user_view_48.png =================================================================== (Binary files differ) Property changes on: Graphics/Python/Processed/user_view_48.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: Graphics/Python/Raw PSD/Delete Overlay.psd =================================================================== (Binary files differ) Property changes on: Graphics/Python/Raw PSD/Delete Overlay.psd ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: Graphics/Python/Raw PSD/Edit Overlay.psd =================================================================== (Binary files differ) Property changes on: Graphics/Python/Raw PSD/Edit Overlay.psd ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: Graphics/Python/Raw PSD/New Overlay.psd =================================================================== (Binary files differ) Property changes on: Graphics/Python/Raw PSD/New Overlay.psd ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Copied: Graphics/Python/Raw PSD/TCDB 2006 Logo.psd (from rev 299, Graphics/Python/TCDB 2006 Logo.psd) =================================================================== (Binary files differ) Added: Graphics/Python/Raw PSD/product_add_48.psd =================================================================== (Binary files differ) Property changes on: Graphics/Python/Raw PSD/product_add_48.psd ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: Graphics/Python/Raw PSD/product_delete_48.psd =================================================================== (Binary files differ) Property changes on: Graphics/Python/Raw PSD/product_delete_48.psd ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: Graphics/Python/Raw PSD/product_edit_48.psd =================================================================== (Binary files differ) Property changes on: Graphics/Python/Raw PSD/product_edit_48.psd ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: Graphics/Python/Raw PSD/product_view_48.psd =================================================================== (Binary files differ) Property changes on: Graphics/Python/Raw PSD/product_view_48.psd ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: Graphics/Python/Raw PSD/role_add_48.psd =================================================================== (Binary files differ) Property changes on: Graphics/Python/Raw PSD/role_add_48.psd ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: Graphics/Python/Raw PSD/role_delete_48.psd =================================================================== (Binary files differ) Property changes on: Graphics/Python/Raw PSD/role_delete_48.psd ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: Graphics/Python/Raw PSD/role_edit_48.psd =================================================================== (Binary files differ) Property changes on: Graphics/Python/Raw PSD/role_edit_48.psd ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: Graphics/Python/Raw PSD/role_view_48.psd =================================================================== (Binary files differ) Property changes on: Graphics/Python/Raw PSD/role_view_48.psd ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: Graphics/Python/Raw PSD/user_add_48.psd =================================================================== (Binary files differ) Property changes on: Graphics/Python/Raw PSD/user_add_48.psd ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: Graphics/Python/Raw PSD/user_delete_48.psd =================================================================== (Binary files differ) Property changes on: Graphics/Python/Raw PSD/user_delete_48.psd ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: Graphics/Python/Raw PSD/user_edit_48.psd =================================================================== (Binary files differ) Property changes on: Graphics/Python/Raw PSD/user_edit_48.psd ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: Graphics/Python/Raw PSD/user_role_48.psd =================================================================== (Binary files differ) Property changes on: Graphics/Python/Raw PSD/user_role_48.psd ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: Graphics/Python/Raw PSD/user_view_48.psd =================================================================== (Binary files differ) Property changes on: Graphics/Python/Raw PSD/user_view_48.psd ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Deleted: Graphics/Python/TCDB 2006 Logo.psd =================================================================== (Binary files differ) Deleted: Graphics/Python/TCDB-2006-Logo-on-Blue.gif =================================================================== (Binary files differ) Deleted: Graphics/Python/TCDB-2006-Logo-on-White.gif =================================================================== (Binary files differ) Deleted: Graphics/Python/reddot.gif =================================================================== (Binary files differ) Added: Website/App_Themes/Python/Images/important.png =================================================================== (Binary files differ) Property changes on: Website/App_Themes/Python/Images/important.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: Website/App_Themes/Python/Images/important_large.png =================================================================== (Binary files differ) Property changes on: Website/App_Themes/Python/Images/important_large.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: Website/App_Themes/Python/Images/product_add_48.png =================================================================== (Binary files differ) Modified: Website/App_Themes/Python/Images/product_edit_48.png =================================================================== (Binary files differ) Added: Website/App_Themes/Python/Images/role_add_48.png =================================================================== (Binary files differ) Property changes on: Website/App_Themes/Python/Images/role_add_48.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: Website/App_Themes/Python/Images/role_delete_48.png =================================================================== (Binary files differ) Property changes on: Website/App_Themes/Python/Images/role_delete_48.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: Website/App_Themes/Python/Images/role_edit_48.png =================================================================== (Binary files differ) Property changes on: Website/App_Themes/Python/Images/role_edit_48.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: Website/App_Themes/Python/Images/role_view_48.png =================================================================== (Binary files differ) Property changes on: Website/App_Themes/Python/Images/role_view_48.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: Website/App_Themes/Python/Images/user_delete_48.png =================================================================== (Binary files differ) Modified: Website/App_Themes/Python/Images/user_edit_48.png =================================================================== (Binary files differ) Modified: Website/App_Themes/Python/Images/user_role_48.png =================================================================== (Binary files differ) Modified: Website/App_Themes/Python/Python.skin =================================================================== --- Website/App_Themes/Python/Python.skin 2006-08-10 18:58:26 UTC (rev 302) +++ Website/App_Themes/Python/Python.skin 2006-08-10 19:18:40 UTC (rev 303) @@ -25,7 +25,12 @@ <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="newRoleImage" ImageUrl="Images/role_add_48.png" /> +<asp:Image runat="server" SkinId="viewRoleImage" ImageUrl="Images/role_view_48.png" /> +<asp:Image runat="server" SkinId="editRoleImage" ImageUrl="Images/role_edit_48.png" /> +<asp:Image runat="server" SkinId="deleteRoleImage" ImageUrl="Images/role_delete_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" /> Modified: Website/App_Themes/Python/python.css =================================================================== --- Website/App_Themes/Python/python.css 2006-08-10 18:58:26 UTC (rev 302) +++ Website/App_Themes/Python/python.css 2006-08-10 19:18:40 UTC (rev 303) @@ -149,6 +149,13 @@ text-indent: -5em } +.clean +{ + margin: 0; + padding: 0; + border: none; +} + /********** END Global Classes **********/ /********** BEGIN Calendar Classes **********/ Deleted: Website/App_Themes/Python/style-ie.css =================================================================== --- Website/App_Themes/Python/style-ie.css 2006-08-10 18:58:26 UTC (rev 302) +++ Website/App_Themes/Python/style-ie.css 2006-08-10 19:18:40 UTC (rev 303) @@ -1,59 +0,0 @@ -.body -{ - background: red; -} - -.bottom -{ - position: static; - padding-top: 8px; -} - -.item .checkbox INPUT -{ - position: static; -} - -/* A CSS hack that only applied to IE -- forces the height of NonFooter - to be 100%, something that causes problems in Mozilla */ -#NonFooter -{ - height: 100%; -} - -/* A CSS hack that only applies to IE -- specifies a different height for the footer - and set the position to static so the background displays */ -/* TODO: Figure out a way to keep the footer in IE from overlaping page content */ -/* -#FooterContent -{ - position: static; - margin-top: -2.3em; -} -*/ - -.form .checkbox INPUT -{ - width: 15px; -} - -#fullname input -{ - width: 100px; -} - -.cb -{ - position: static; -} - -.cb .bottom -{ - position: relative; - top: 5px; -} - -.ct H2 -{ - font-size: 16px; -} \ No newline at end of file Copied: Website/App_Themes/Python/style-ie.style (from rev 301, Website/App_Themes/Python/style-ie.css) =================================================================== --- Website/App_Themes/Python/style-ie.style (rev 0) +++ Website/App_Themes/Python/style-ie.style 2006-08-10 19:18:40 UTC (rev 303) @@ -0,0 +1,71 @@ +.bottom +{ + position: static; + padding-top: 8px; +} + +.item .checkbox INPUT +{ + position: static; +} + +/* A CSS hack that only applied to IE -- forces the height of NonFooter + to be 100%, something that causes problems in Mozilla */ +#NonFooter +{ + height: 100%; +} + +/* A CSS hack that only applies to IE -- specifies a different height for the footer + and set the position to static so the background displays */ +/* TODO: Figure out a way to keep the footer in IE from overlaping page content */ +/* +#FooterContent +{ + position: static; + margin-top: -2.3em; +} +*/ + +.form .checkbox INPUT +{ + width: 15px; +} + +#fullname input +{ + width: 100px; +} + +.cb +{ + position: static; +} + +.cb .bottom +{ + position: relative; + top: 5px; +} + +.ct H2 +{ + font-size: 16px; +} + +#Administration .menu +{ + display: block; + margin: 15px; + float: left; + clear: left; + width: 550px; +} + +.button +{ + float: left; + position: relative; + z-index: 50; + margin: 5px 0 5px -10px; +} \ No newline at end of file Modified: Website/Includes/Administration.ascx =================================================================== --- Website/Includes/Administration.ascx 2006-08-10 18:58:26 UTC (rev 302) +++ Website/Includes/Administration.ascx 2006-08-10 19:18:40 UTC (rev 303) @@ -2,20 +2,72 @@ Inherits="TCDB.Administration" %> <!-- TODO: make these pull-downs dynamic --> <div id="Administration"> - <div class="menu"> + <asp:Panel runat="server" ID="ProductAdmin" CssClass="menu"> <label> Product Administration</label> - <div class="pictureMenu" id="ProductAdmin"> + <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"> + <!--<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> + </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"> + <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="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> + <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="end"> </div> <div class="hr"> @@ -23,47 +75,46 @@ <div class="pulldown"> <label> For:</label> - <asp:DropDownList runat="server" ID="productList" AutoPostBack="True" OnInit="productList_Init" OnSelectedIndexChanged="productList_SelectedIndexChanged"> + <asp:DropDownList runat="server" ID="userList" AutoPostBack="True" OnInit="userList_Init" + OnSelectedIndexChanged="userList_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> + <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="editProduct" runat="server" CommandName="edit" OnCommand="Product_Command"> - <asp:Image ID="editProductIcon" runat="server" SkinID="editProductImage" AlternateText="Edit Product" />Edit - Product</asp:LinkButton> - </div> + <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="deleteProduct" runat="server" CommandName="delete" OnCommand="Product_Command"> - <asp:Image ID="deleteProductIcon" runat="server" SkinID="deleteProductImage" AlternateText="Delete Product" />Delete - Product</asp:LinkButton> - </div> + <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"> </div> </div> - <b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b></b> - <b class="xb1"></b> + <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"> <label> - User Administration</label> - <div class="pictureMenu" id="UserAdmin"> + Role Administration</label> + <div class="pictureMenu" id="RoleAdmin"> <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="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" OnInit="userRole_Init" CommandName="role" OnCommand="User_Command"> + <asp:LinkButton ID="userRole" runat="server" OnInit="userRole_Init" CommandName="role" + OnCommand="Role_Command"> <asp:Image ID="userRoleIcon" runat="server" SkinID="userRoleImage" AlternateText="User Roles" />User Roles</asp:LinkButton></div> <div class="end"> @@ -73,29 +124,27 @@ <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="roleList" AutoPostBack="True" OnInit="roleList_Init" + OnSelectedIndexChanged="roleList_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> + <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="userEdit" runat="server" - CommandName="edit" OnCommand="User_Command"> - <asp:Image ID="userEditIcon" runat="server" SkinID="editUserImage" AlternateText="Edit User" />Edit - User</asp:LinkButton></div> + <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="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="roleDelete" runat="server" CommandName="delete" OnCommand="Role_Command"> + <asp:Image ID="roleDeleteIcon" runat="server" SkinID="deleteRoleImage" AlternateText="Delete Role" />Delete + Role</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> + <b class="xbottom"><b class="xb4"></b><b class="xb3"></b><b class="xb2"></b> + <b class="xb1"></b></b> </div> </div> </div> Modified: Website/Includes/Administration.ascx.cs =================================================================== --- Website/Includes/Administration.ascx.cs 2006-08-10 18:58:26 UTC (rev 302) +++ Website/Includes/Administration.ascx.cs 2006-08-10 19:18:40 UTC (rev 303) @@ -32,12 +32,18 @@ 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; + } 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) { @@ -58,20 +64,25 @@ } protected void productList_SelectedIndexChanged(object sender, EventArgs e) { - int productID = Convert.ToInt32(productList.SelectedValue); + try + { + int productID = Convert.ToInt32(productList.SelectedValue); if (!m_user.HasRight(Constants.RIGHTS_PRODUCT_VIEW, productID)) - viewProduct.Visible = false; - else - viewProduct.Visible = true; + viewProduct.Visible = false; + else + viewProduct.Visible = true; if (!m_user.HasRight(Constants.RIGHTS_PRODUCT_EDIT, productID)) - editProduct.Visible = false; - else - editProduct.Visible = true; + editProduct.Visible = false; + else + editProduct.Visible = true; if (!m_user.HasRight(Constants.RIGHTS_PRODUCT_DELETE, productID)) - deleteProduct.Visible = false; - else - deleteProduct.Visible = true; + deleteProduct.Visible = false; + else + deleteProduct.Visible = true; + } + catch { } + } protected void userList_Init(object sender, EventArgs e) @@ -102,7 +113,81 @@ } protected void userList_SelectedIndexChanged(object sender, EventArgs e) { + try + { + List<Product> products = ProductDB.GetProductList(active); + User user = UserDB.GetUserInfo(Convert.ToInt32(userList.SelectedValue)); + + if (user.ID == m_user.ID) + { + userView.Visible = false; + userEdit.Visible = false; + userDelete.Visible = false; + foreach (Product product in products) + { + 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)) + userEdit.Visible = true; + } + } + else + { + userView.Visible = false; + userEdit.Visible = false; + userDelete.Visible = true; + foreach (Product product in products) + { + 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)) + 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)) + userDelete.Visible = false; + } + } + } + } + catch { } + } + + 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(); + + 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; + + 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; + } + } + if (!IsPostBack) + userList_SelectedIndexChanged(sender, e); + */ + } + protected void roleList_SelectedIndexChanged(object sender, EventArgs e) + { + //TODO: Turn this into stuff for roles! + + /* + List<Product> products = ProductDB.GetProductList(active); User user = UserDB.GetUserInfo(Convert.ToInt32(userList.SelectedValue)); if (user.ID == m_user.ID) @@ -112,9 +197,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("view_my_settings", product.ID)) userView.Visible = true; - if (!userEdit.Visible && m_user.HasRight(Constants.RIGHTS_USER_EDIT_MY, product.ID)) + if (!userEdit.Visible && m_user.HasRight("edit_my_settings", product.ID)) userEdit.Visible = true; } } @@ -125,18 +210,20 @@ 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("view_other_settings", 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("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(Constants.RIGHTS_USER_DELETE, product.ID)) + if (userDelete.Visible && !m_user.HasRight("delete_user", product.ID)) userDelete.Visible = false; } } } + */ } + protected void Product_Command(object sender, CommandEventArgs e) { int productID = Convert.ToInt32(productList.SelectedValue); @@ -180,7 +267,19 @@ case "new": Response.Redirect("~/UserSettings.aspx?" + Constants.CODE_MODE + "=new"); break; - case "role": + default: + m_logg.Error("Invalid Command: " + e.CommandName); + break; + } + } + protected void Role_Command(object sender, CommandEventArgs e) + { + int roleID = Convert.ToInt32(roleList.SelectedValue); + + // TODO: Flush this out completely + switch (e.CommandName) + { + case "new": Response.Redirect("~/AdminRole.aspx"); break; default: @@ -189,4 +288,4 @@ } } } -} \ No newline at end of file +} Modified: Website/TCDB.master =================================================================== --- Website/TCDB.master 2006-08-10 18:58:26 UTC (rev 302) +++ Website/TCDB.master 2006-08-10 19:18:40 UTC (rev 303) @@ -14,10 +14,10 @@ <head runat="server"> <title>TCDB: Test Case DataBase 2006</title> </head> +<body> <!--[if IE]> - <link href="App_Themes/<%= Page.StyleSheetTheme %>/style-ie.css" type="text/css" rel="stylesheet" /> + <link href="App_Themes/<%= Page.StyleSheetTheme %>/style-ie.style" type="text/css" rel="stylesheet" /> <![endif]--> -<body> <!--<div id="NonFooter" style="border: solid thin red;">--> <% if (ConfigDB.GetConfigString("tcdb_version").Equals(Constants.TCDB_VERSION)) { 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 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 17:29:05
|
Revision: 298 Author: rouquin Date: 2006-08-10 09:22:36 -0700 (Thu, 10 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=298&view=rev Log Message: ----------- Modified Paths: -------------- Website/App_Code/Common.cs Website/App_Code/SiteUserControl.cs Website/Includes/ActionItems.ascx.cs Website/Includes/Administration.ascx.cs Website/Includes/AdministrationTree.ascx.cs Website/Includes/Assignments.ascx.cs Website/Includes/AssignmentsTree.ascx.cs Website/Includes/Builds.ascx.cs Website/Includes/FeaturesTree.ascx.cs Website/Includes/Header_Menu.ascx Website/Includes/Header_User.ascx Website/Includes/Platforms.ascx.cs Website/Includes/Products.ascx.cs Website/Includes/Rights.ascx.cs Website/Includes/RoleAdmin.ascx.cs Website/Includes/RoleAssignments.ascx.cs Website/Includes/TestPasses.ascx.cs Website/Includes/UserConfig.ascx.cs Website/Includes/UserRoles.ascx.cs Website/Includes/UserSettings.ascx.cs Property Changed: ---------------- Website/ Property changes on: Website ___________________________________________________________________ Name: svn:ignore - App_Data tcdb2006.log licenses.licx tcdb2006.log.3 tcdb2006.log.1 + App_Data tcdb2006.log licenses.licx tcdb2006.log.3 Modified: Website/App_Code/Common.cs =================================================================== --- Website/App_Code/Common.cs 2006-08-10 15:36:41 UTC (rev 297) +++ Website/App_Code/Common.cs 2006-08-10 16:22:36 UTC (rev 298) @@ -1417,17 +1417,74 @@ public static int ASSIGNMENT_FINISHED = 1; public static int ASSIGNMENT_UNFINISHED = 0; public static int ASSIGNMENT_NEW = 3; + public static string ASSIGNMENT_MINE = "My Assignments"; + public static string ASSIGNMENT_CREATED = "My Created Assignments"; public static string TCDB_VERSION = "1.0.0 Alpha 3"; public static bool IS_DEV_ENV = true; - public static string RIGHTS_ASSIGNPERMISSION = "assignPermission"; - public static string RIGHTS_SITEADMIN = "siteAdmin"; - public static string RIGHTS_ASSIGNASSIGNMENT = "assignAssignment"; + // Rights + public static string RIGHTS_DEV_ACCESS = "dev_access"; + public static string RIGHTS_ADMIN_VIEW = "admin_view"; - public static string ASSIGNMENT_MINE = "My Assignments"; - public static string ASSIGNMENT_CREATED = "My Created Assignments"; + public static string RIGHTS_AI_VIEW_MY = "ai_view_my"; + public static string RIGHTS_AI_VIEW_CREATED = "ai_view_created"; + public static string RIGHTS_AI_VIEW_OTHER = "ai_view_other"; + public static string RIGHTS_AI_EDIT_MY = "ai_edit_my"; + public static string RIGHTS_AI_EDIT_CREATED = "ai_edit_created"; + public static string RIGHTS_AI_EDIT_OTHER = "ai_edit_other"; + public static string RIGHTS_AI_CREATE_MY = "ai_create_my"; + public static string RIGHTS_AI_CREATE_OTHER = "ai_create_other"; + public static string RIGHTS_AI_STATUS_MY = "ai_status_my"; + public static string RIGHTS_AI_STATUS_CREATED = "ai_status_created"; + public static string RIGHTS_AI_STATUS_OTHER = "ai_status_other"; + public static string RIGHTS_AI_DELETE_MY = "ai_delete_my"; + public static string RIGHTS_AI_DELETE_CREATED = "ai_delete_created"; + public static string RIGHTS_AI_DELETE_OTHER = "ai_delete_other"; + public static string RIGHTS_AI_REASSIGN_OTHER = "ai_reassign_other"; + + public static string RIGHTS_WO_VIEW_MY = "wo_view_my"; + public static string RIGHTS_WO_VIEW_CREATED = "wo_view_created"; + public static string RIGHTS_WO_VIEW_OTHER = "wo_view_other"; + public static string RIGHTS_WO_EDIT_MY = "wo_edit_my"; + public static string RIGHTS_WO_EDIT_CREATED = "wo_edit_created"; + public static string RIGHTS_WO_EDIT_OTHER = "wo_edit_other"; + public static string RIGHTS_WO_CREATE_MY = "wo_create_my"; + public static string RIGHTS_WO_CREATE_OTHER = "wo_create_other"; + public static string RIGHTS_WO_STATUS_MY = "wo_status_my"; + public static string RIGHTS_WO_STATUS_CREATED = "wo_status_created"; + public static string RIGHTS_WO_STATUS_OTHER = "wo_status_other"; + public static string RIGHTS_WO_DELETE_MY = "wo_delete_my"; + public static string RIGHTS_WO_DELETE_CREATED = "wo_delete_created"; + public static string RIGHTS_WO_DELETE_OTHER = "wo_delete_other"; + public static string RIGHTS_WO_REASSIGN_OTHER = "wo_reassign_other"; + + public static string RIGHTS_USER_VIEW_MY = "user_view_my"; + public static string RIGHTS_USER_VIEW_OTHER = "user_view_other"; + public static string RIGHTS_USER_EDIT_MY = "user_edit_my"; + public static string RIGHTS_USER_EDIT_OTHER = "user_edit_other"; + public static string RIGHTS_USER_CREATE = "user_create"; + public static string RIGHTS_USER_DELETE = "user_delete"; + + public static string RIGHTS_PREFERENCE_VIEW_MY = "preference_view_my"; + public static string RIGHTS_PREFERENCE_VIEW_OTHER = "preference_view_other"; + public static string RIGHTS_PREFERENCE_EDIT_MY = "preference_edit_my"; + public static string RIGHTS_PREFERENCE_EDIT_OTHER = "preference_edit_other"; + + 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_USERS = "role_edit_users"; + public static string RIGHTS_ROLE_CREATE = "role_create"; + public static string RIGHTS_ROLE_DELETE = "role_delete"; + + public static string RIGHTS_RIGHTS_VIEW = "rights_view"; + + public static string RIGHTS_PRODUCT_VIEW = "product_view"; + 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 class Help Modified: Website/App_Code/SiteUserControl.cs =================================================================== --- Website/App_Code/SiteUserControl.cs 2006-08-10 15:36:41 UTC (rev 297) +++ Website/App_Code/SiteUserControl.cs 2006-08-10 16:22:36 UTC (rev 298) @@ -51,7 +51,7 @@ m_logg.Debug("Unable to load request start time", ex); } - if (m_user.HasRight("dev_access")) + if (m_user.HasRight(Constants.RIGHTS_DEV_ACCESS)) { m_logg.Debug("User has developer access right, setting 'active' to 'null'"); active = null; Modified: Website/Includes/ActionItems.ascx.cs =================================================================== --- Website/Includes/ActionItems.ascx.cs 2006-08-10 15:36:41 UTC (rev 297) +++ Website/Includes/ActionItems.ascx.cs 2006-08-10 16:22:36 UTC (rev 298) @@ -62,9 +62,9 @@ ai = ActionItemDB.GetActionItem(Convert.ToInt32(item_id), active); if (ai != null && - (!m_user.HasRight("view_other_ai", productID) && - !(ai.ASSIGNED.ID == m_user.ID && m_user.HasRight("view_my_ai", productID)) && - !(ai.CREATOR.ID == m_user.ID && m_user.HasRight("view_created_ai", productID)))) + (!m_user.HasRight(Constants.RIGHTS_AI_VIEW_OTHER, productID) && + !(ai.ASSIGNED.ID == m_user.ID && m_user.HasRight(Constants.RIGHTS_AI_VIEW_MY, productID)) && + !(ai.CREATOR.ID == m_user.ID && m_user.HasRight(Constants.RIGHTS_AI_VIEW_CREATED, productID)))) Response.Redirect("~/Assignments.aspx?" + Constants.CODE_USER + "=" + m_user.ID); } @@ -72,7 +72,7 @@ Session.Add("productID", productID); Session.Add("tableName", "tcdb_actionItem"); - if (mode == "new" && (m_user.HasRight("create_my_ai") || m_user.HasRight("create_other_ai"))) + if (mode == "new" && (m_user.HasRight(Constants.RIGHTS_AI_CREATE_MY) || m_user.HasRight(Constants.RIGHTS_AI_CREATE_OTHER))) ActionItemsView.ChangeMode(FormViewMode.Insert); } @@ -378,9 +378,9 @@ DropDownList statusList = (DropDownList)sender; if (ai != null && - (!m_user.HasRight("status_other_ai", productID) && - !(ai.ASSIGNED.ID == m_user.ID && m_user.HasRight("status_my_ai", productID)) && - !(ai.CREATOR.ID == m_user.ID && m_user.HasRight("status_created_ai", productID)))) + (!m_user.HasRight(Constants.RIGHTS_AI_STATUS_OTHER, productID) && + !(ai.ASSIGNED.ID == m_user.ID && m_user.HasRight(Constants.RIGHTS_AI_STATUS_MY, productID)) && + !(ai.CREATOR.ID == m_user.ID && m_user.HasRight(Constants.RIGHTS_AI_STATUS_CREATED, productID)))) statusList.Enabled = false; } protected void percentList_Init(object sender, EventArgs e) @@ -388,9 +388,9 @@ RadioButtonList percentList = (RadioButtonList)sender; if (ai != null && - (!m_user.HasRight("status_other_ai", productID) && - !(ai.ASSIGNED.ID == m_user.ID && m_user.HasRight("status_my_ai", productID)) && - !(ai.CREATOR.ID == m_user.ID && m_user.HasRight("status_created_ai", productID)))) + (!m_user.HasRight(Constants.RIGHTS_AI_STATUS_OTHER, productID) && + !(ai.ASSIGNED.ID == m_user.ID && m_user.HasRight(Constants.RIGHTS_AI_STATUS_MY, productID)) && + !(ai.CREATOR.ID == m_user.ID && m_user.HasRight(Constants.RIGHTS_AI_STATUS_CREATED, productID)))) percentList.Enabled = false; } protected void dateFinished_Init(object sender, EventArgs e) @@ -398,9 +398,9 @@ CalendarPopup dateFinished = (CalendarPopup)sender; if (ai != null && - (!m_user.HasRight("status_other_ai", productID) && - !(ai.ASSIGNED.ID == m_user.ID && m_user.HasRight("status_my_ai", productID)) && - !(ai.CREATOR.ID == m_user.ID && m_user.HasRight("status_created_ai", productID)))) + (!m_user.HasRight(Constants.RIGHTS_AI_STATUS_OTHER, productID) && + !(ai.ASSIGNED.ID == m_user.ID && m_user.HasRight(Constants.RIGHTS_AI_STATUS_MY, productID)) && + !(ai.CREATOR.ID == m_user.ID && m_user.HasRight(Constants.RIGHTS_AI_STATUS_CREATED, productID)))) dateFinished.Enabled = false; } protected void NewButton_Init(object sender, EventArgs e) @@ -409,7 +409,7 @@ Label newLbl = (Label)ActionItemsView.FindControl("newLbl"); if (ai != null && - !m_user.HasRight("create_my_ai", Constants.PRODUCT_ANYID) && !m_user.HasRight("create_other_ai", Constants.PRODUCT_ANYID)) + !m_user.HasRight(Constants.RIGHTS_AI_CREATE_MY, Constants.PRODUCT_ANYID) && !m_user.HasRight(Constants.RIGHTS_AI_CREATE_OTHER, Constants.PRODUCT_ANYID)) { newBtn.Visible = false; newLbl.Visible = false; @@ -420,9 +420,9 @@ LinkButton editBtn = (LinkButton)sender; if (ai != null && - !m_user.HasRight("edit_other_ai", productID) && - !(ai.ASSIGNED.ID == m_user.ID && m_user.HasRight("edit_my_ai", productID)) && - !(ai.CREATOR.ID == m_user.ID && m_user.HasRight("edit_created_ai", productID))) + !m_user.HasRight(Constants.RIGHTS_AI_EDIT_OTHER, productID) && + !(ai.ASSIGNED.ID == m_user.ID && m_user.HasRight(Constants.RIGHTS_AI_EDIT_MY, productID)) && + !(ai.CREATOR.ID == m_user.ID && m_user.HasRight(Constants.RIGHTS_AI_EDIT_CREATED, productID))) editBtn.Visible = false; } protected void DeleteButton_Init(object sender, EventArgs e) @@ -432,9 +432,9 @@ Label deletedLbl = (Label)ActionItemsView.FindControl("deletedLbl"); 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)))) + !m_user.HasRight(Constants.RIGHTS_AI_DELETE_OTHER, productID) && + !(ai.ASSIGNED.ID == m_user.ID && m_user.HasRight(Constants.RIGHTS_AI_DELETE_MY, productID)) && + !(ai.CREATOR.ID == m_user.ID && m_user.HasRight(Constants.RIGHTS_AI_DELETE_CREATED, productID)))) { deleteBtn.Visible = false; deleteLbl.Visible = false; @@ -445,8 +445,8 @@ DropDownList assignedTo = (DropDownList)sender; 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))) + if (!(ActionItemsView.CurrentMode == FormViewMode.Insert && m_user.HasRight(Constants.RIGHTS_AI_CREATE_OTHER, Constants.PRODUCT_ANYID)) && + !(ActionItemsView.CurrentMode == FormViewMode.Edit && m_user.HasRight(Constants.RIGHTS_AI_REASSIGN_OTHER, ai.CREATOR, Constants.PRODUCT_ANYID))) { assignedTo.Enabled = false; if (ActionItemsView.CurrentMode == FormViewMode.Edit) @@ -463,8 +463,8 @@ foreach (Product product in products) { - 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))) + if ((ActionItemsView.CurrentMode == FormViewMode.Insert && m_user.HasRight(Constants.RIGHTS_AI_CREATE_OTHER, product.ID)) || + (ActionItemsView.CurrentMode == FormViewMode.Edit && m_user.HasRight(Constants.RIGHTS_AI_REASSIGN_OTHER, ai.CREATOR, product.ID))) { tcdbDataSet.db_roleProductUserDataTable rpuTable = rpuAdapter.GetData(null, product.ID, true); @@ -487,7 +487,7 @@ CheckBox activeBox = (CheckBox)sender; Label deletedLbl = (Label)ActionItemsView.FindControl("deletedLbl"); - if (!m_user.HasRight("dev_access")) + if (!m_user.HasRight(Constants.RIGHTS_DEV_ACCESS)) { activeBox.Visible = false; deletedLbl.Visible = false; Modified: Website/Includes/Administration.ascx.cs =================================================================== --- Website/Includes/Administration.ascx.cs 2006-08-10 15:36:41 UTC (rev 297) +++ Website/Includes/Administration.ascx.cs 2006-08-10 16:22:36 UTC (rev 298) @@ -24,17 +24,17 @@ protected void newProduct_Init(object sender, EventArgs e) { - if (!m_user.HasRight("create_product", Constants.PRODUCT_ANYID)) + 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("create_user", Constants.PRODUCT_ANYID)) + if (!m_user.HasRight(Constants.RIGHTS_USER_CREATE, Constants.PRODUCT_ANYID)) newUser.Visible = false; } protected void userRole_Init(object sender, EventArgs e) { - if (!m_user.HasRight("view_my_roles", Constants.PRODUCT_ANYID) && !m_user.HasRight("view_other_roles", Constants.PRODUCT_ANYID)) + 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; } @@ -45,7 +45,7 @@ foreach (Product product in products) { - if (!m_user.HasRight("view_product", product.ID)) continue; + if (!m_user.HasRight(Constants.RIGHTS_PRODUCT_VIEW, product.ID)) continue; ListItem item = new ListItem(product.NAME, product.ID.ToString()); if (!product.ACTIVE) @@ -60,15 +60,15 @@ { int productID = Convert.ToInt32(productList.SelectedValue); - if (!m_user.HasRight("view_product", productID)) + if (!m_user.HasRight(Constants.RIGHTS_PRODUCT_VIEW, productID)) viewProduct.Visible = false; else viewProduct.Visible = true; - if (!m_user.HasRight("edit_product", productID)) + if (!m_user.HasRight(Constants.RIGHTS_PRODUCT_EDIT, productID)) editProduct.Visible = false; else editProduct.Visible = true; - if (!m_user.HasRight("delete_product", productID)) + if (!m_user.HasRight(Constants.RIGHTS_PRODUCT_DELETE, productID)) deleteProduct.Visible = false; else deleteProduct.Visible = true; @@ -84,9 +84,9 @@ { 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))) + 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; ListItem item = new ListItem(user.FULLNAME, user.ID.ToString()); @@ -112,9 +112,9 @@ userDelete.Visible = false; foreach (Product product in products) { - if (!userView.Visible && m_user.HasRight("view_my_settings", product.ID)) + if (!userView.Visible && m_user.HasRight(Constants.RIGHTS_USER_VIEW_MY, product.ID)) userView.Visible = true; - if (!userEdit.Visible && m_user.HasRight("edit_my_settings", product.ID)) + if (!userEdit.Visible && m_user.HasRight(Constants.RIGHTS_USER_EDIT_MY, product.ID)) userEdit.Visible = true; } } @@ -125,13 +125,13 @@ userDelete.Visible = true; foreach (Product product in products) { - if (!userView.Visible && m_user.HasRight("view_other_settings", 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("edit_other_settings", 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("delete_user", product.ID)) + if (userDelete.Visible && !m_user.HasRight(Constants.RIGHTS_USER_DELETE, product.ID)) userDelete.Visible = false; } } Modified: Website/Includes/AdministrationTree.ascx.cs =================================================================== --- Website/Includes/AdministrationTree.ascx.cs 2006-08-10 15:36:41 UTC (rev 297) +++ Website/Includes/AdministrationTree.ascx.cs 2006-08-10 16:22:36 UTC (rev 298) @@ -20,7 +20,7 @@ protected void Page_Load(object sender, EventArgs e) { if (!m_user.ISAUTHENTICATED) { return; } - if (this.Visible && !m_user.HasRight("view_admin", Constants.PRODUCT_ANYID)) + if (this.Visible && !m_user.HasRight(Constants.RIGHTS_ADMIN_VIEW, Constants.PRODUCT_ANYID)) Response.Redirect("~/Assignments.aspx?" + Constants.CODE_USER + "=" + m_user.ID); } @@ -52,7 +52,7 @@ foreach (Product product in products) { - if (m_user.HasRight("view_product", product.ID)) + if (m_user.HasRight(Constants.RIGHTS_PRODUCT_VIEW, product.ID)) { // Create the new node. TreeNode newNode = new TreeNode(); @@ -118,7 +118,7 @@ newNode.Expand(); // Rights - if (m_user.HasRight("dev_access")) + if (m_user.HasRight(Constants.RIGHTS_DEV_ACCESS)) { newNode = new TreeNode(); newNode.Text = "User Rights"; @@ -220,7 +220,7 @@ TreeNode newNode; // Versions - if (m_user.HasRight("dev_access")) + if (m_user.HasRight(Constants.RIGHTS_DEV_ACCESS)) { newNode = new TreeNode(); newNode.Text = "Releases"; @@ -369,7 +369,7 @@ else lastID = row.userID; - if (m_user.HasRight("view_other_settings", productID)) + if (m_user.HasRight(Constants.RIGHTS_USER_VIEW_OTHER, productID)) { // Create the new node. TreeNode newNode = new TreeNode(); @@ -391,7 +391,7 @@ foreach (tcdbDataSet.db_usersRow row in uTable) { - if (m_user.HasRight("view_other_settings", productID)) + if (m_user.HasRight(Constants.RIGHTS_USER_VIEW_OTHER, productID)) { TreeNode child = new TreeNode(); child.Text = row.fullName; Modified: Website/Includes/Assignments.ascx.cs =================================================================== --- Website/Includes/Assignments.ascx.cs 2006-08-10 15:36:41 UTC (rev 297) +++ Website/Includes/Assignments.ascx.cs 2006-08-10 16:22:36 UTC (rev 298) @@ -56,8 +56,8 @@ 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) || - m_user.HasRight("view_other_wo", productID) || m_user.HasRight("view_created_wo", productID)) + 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); @@ -72,7 +72,7 @@ } else { - if (m_user.HasRight("view_my_ai") || m_user.HasRight("view_my_wo")) + if (m_user.HasRight(Constants.RIGHTS_AI_VIEW_MY) || m_user.HasRight(Constants.RIGHTS_WO_VIEW_MY)) { m_logg.Debug("User has no special privledges, only display own assignments"); uid = m_user.ID; @@ -85,7 +85,7 @@ } else if (uid == m_user.ID) { - if (m_user.HasRight("view_my_ai") || m_user.HasRight("view_my_wo")) + if (m_user.HasRight(Constants.RIGHTS_AI_VIEW_MY) || m_user.HasRight(Constants.RIGHTS_WO_VIEW_MY)) { m_logg.Debug("The current user's assignments have been requested, only displaying those"); Page.Title = "TCDB: My Assignments"; @@ -99,8 +99,8 @@ User user = UserDB.GetUserInfo(uid); if (user.HasRights(productID) && - (m_user.HasRight("view_other_ai", productID) || m_user.HasRight("view_other_wo", productID) || - m_user.HasRight("view_created_ai", productID) || m_user.HasRight("view_created_wo", productID))) + (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))) { String name = user.FULLNAME; m_logg.Debug("User requested assignments for [" + name + "]"); @@ -147,13 +147,13 @@ 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)) && + !(ai.ASSIGNED.ID != m_user.ID && m_user.HasRight(Constants.RIGHTS_AI_VIEW_OTHER, ai.ASSIGNED, productID)) && // It's not mine, I don't have any product rights, or I can't view my own - !(ai.ASSIGNED.ID == m_user.ID && m_user.HasRights(productID) && m_user.HasRight("view_my_ai", productID)) && + !(ai.ASSIGNED.ID == m_user.ID && m_user.HasRights(productID) && m_user.HasRight(Constants.RIGHTS_AI_VIEW_MY, productID)) && // It's mine, the assignee doesn't belong to this product group, I didn't create it, or I don't have rights to look at it - !(ai.ASSIGNED.ID != m_user.ID && ai.CREATOR.ID == m_user.ID && m_user.HasRight("view_created_ai", ai.ASSIGNED, productID)) + !(ai.ASSIGNED.ID != m_user.ID && ai.CREATOR.ID == m_user.ID && m_user.HasRight(Constants.RIGHTS_AI_VIEW_CREATED, ai.ASSIGNED, productID)) ) return false; @@ -171,13 +171,13 @@ 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)) && + !(wo.ASSIGNED.ID != m_user.ID && m_user.HasRight(Constants.RIGHTS_WO_VIEW_OTHER, wo.ASSIGNED, productID)) && // It's not mine, I don't have any product rights, or I can't view my own - !(wo.ASSIGNED.ID == m_user.ID && m_user.HasRight("view_my_wo", m_user, productID)) && + !(wo.ASSIGNED.ID == m_user.ID && m_user.HasRight(Constants.RIGHTS_WO_VIEW_MY, m_user, productID)) && // It's mine, the assignee doesn't belong to this product group, I didn't create it, or I don't have rights to look at it - !(wo.ASSIGNED.ID != m_user.ID && wo.CREATOR.ID == m_user.ID && m_user.HasRight("view_created_wo", wo.ASSIGNED, productID)) + !(wo.ASSIGNED.ID != m_user.ID && wo.CREATOR.ID == m_user.ID && m_user.HasRight(Constants.RIGHTS_WO_VIEW_CREATED, wo.ASSIGNED, productID)) ) return false; @@ -817,14 +817,14 @@ { LinkButton newAI = (LinkButton)sender; - if (!m_user.HasRight("create_my_ai", Constants.PRODUCT_ANYID) && !m_user.HasRight("create_other_ai", Constants.PRODUCT_ANYID)) + if (!m_user.HasRight(Constants.RIGHTS_AI_CREATE_MY, Constants.PRODUCT_ANYID) && !m_user.HasRight(Constants.RIGHTS_AI_CREATE_OTHER, Constants.PRODUCT_ANYID)) newAI.Visible = false; } protected void newWorkOrder_Init(object sender, EventArgs e) { LinkButton newWorkOrder = (LinkButton)sender; - if (!m_user.HasRight("dev_access")) + if (!m_user.HasRight(Constants.RIGHTS_DEV_ACCESS)) newWorkOrder.Visible = false; } protected void newActionItem_Command(object sender, EventArgs e) Modified: Website/Includes/AssignmentsTree.ascx.cs =================================================================== --- Website/Includes/AssignmentsTree.ascx.cs 2006-08-10 15:36:41 UTC (rev 297) +++ Website/Includes/AssignmentsTree.ascx.cs 2006-08-10 16:22:36 UTC (rev 298) @@ -57,8 +57,8 @@ if (Session["AssignmentNodes"] == null) Session.Add("AssignmentNodes", new ArrayList()); - if (!m_user.HasRight("view_other_ai", Constants.PRODUCT_ANYID) && !m_user.HasRight("view_created_ai", Constants.PRODUCT_ANYID) && - !m_user.HasRight("view_other_wo", Constants.PRODUCT_ANYID) && !m_user.HasRight("view_created_wo", Constants.PRODUCT_ANYID)) + if (!m_user.HasRight(Constants.RIGHTS_AI_VIEW_OTHER, Constants.PRODUCT_ANYID) && !m_user.HasRight(Constants.RIGHTS_AI_VIEW_CREATED, Constants.PRODUCT_ANYID) && + !m_user.HasRight(Constants.RIGHTS_WO_VIEW_OTHER, Constants.PRODUCT_ANYID) && !m_user.HasRight(Constants.RIGHTS_WO_VIEW_CREATED, Constants.PRODUCT_ANYID)) { AssignmentTree.Visible = false; } @@ -181,7 +181,7 @@ foreach (Product product in products) { - if (product.ID == Constants.PRODUCT_SITEID && !m_user.HasRight("view_admin")) + if (product.ID == Constants.PRODUCT_SITEID && !m_user.HasRight(Constants.RIGHTS_ADMIN_VIEW)) continue; TreeNode child = new TreeNode(); @@ -203,7 +203,7 @@ // *************************** // My assignments node // *************************** - if (m_user.HasRight("view_my_ai", Constants.PRODUCT_ANYID) || m_user.HasRight("view_my_wo", Constants.PRODUCT_ANYID)) + if (m_user.HasRight(Constants.RIGHTS_AI_VIEW_MY, Constants.PRODUCT_ANYID) || m_user.HasRight(Constants.RIGHTS_WO_VIEW_MY, Constants.PRODUCT_ANYID)) { TreeNode mine = new TreeNode(); SetValue(mine, "NodeType", "User"); @@ -224,7 +224,7 @@ // *************************** // My Created assignments node // *************************** - if (m_user.HasRight("view_created_ai", Constants.PRODUCT_ANYID) || m_user.HasRight("view_created_wo", Constants.PRODUCT_ANYID)) + if (m_user.HasRight(Constants.RIGHTS_AI_VIEW_CREATED, Constants.PRODUCT_ANYID) || m_user.HasRight(Constants.RIGHTS_WO_VIEW_CREATED, Constants.PRODUCT_ANYID)) { TreeNode created = new TreeNode(); SetValue(created, "NodeType", "Created"); @@ -362,9 +362,9 @@ if (a.ISACTIONITEM) { SetValue(child, "NodeType", "ActionItem"); - if ((m_user.HasRight("view_other_ai", productID)) || - ((userID == m_user.ID) && m_user.HasRight("view_my_ai", productID)) || - ((a.ACTIONITEM.CREATOR.ID == m_user.ID) && m_user.HasRight("view_created_ai", productID))) + if ((m_user.HasRight(Constants.RIGHTS_AI_VIEW_OTHER, productID)) || + ((userID == m_user.ID) && m_user.HasRight(Constants.RIGHTS_AI_VIEW_MY, productID)) || + ((a.ACTIONITEM.CREATOR.ID == m_user.ID) && m_user.HasRight(Constants.RIGHTS_AI_VIEW_CREATED, productID))) { SetValue(child, "Value", a.ACTIONITEM.ID.ToString()); } @@ -373,9 +373,9 @@ else { SetValue(child, "NodeType", "WorkOrder"); - if ((m_user.HasRight("view_other_wo", productID)) || - ((userID == m_user.ID) && m_user.HasRight("view_my_ai", productID)) || - ((a.WORKORDER.CREATOR.ID == m_user.ID) && m_user.HasRight("view_created_ai", productID))) + if ((m_user.HasRight(Constants.RIGHTS_WO_VIEW_OTHER, productID)) || + ((userID == m_user.ID) && m_user.HasRight(Constants.RIGHTS_AI_VIEW_MY, productID)) || + ((a.WORKORDER.CREATOR.ID == m_user.ID) && m_user.HasRight(Constants.RIGHTS_AI_VIEW_CREATED, productID))) { SetValue(child, "Value", a.WORKORDER.ID.ToString()); } Modified: Website/Includes/Builds.ascx.cs =================================================================== --- Website/Includes/Builds.ascx.cs 2006-08-10 15:36:41 UTC (rev 297) +++ Website/Includes/Builds.ascx.cs 2006-08-10 16:22:36 UTC (rev 298) @@ -19,7 +19,7 @@ void Page_Load(Object sender, EventArgs e) { - if (!m_user.HasRight("dev_access")) + if (!m_user.HasRight(Constants.RIGHTS_DEV_ACCESS)) Response.Redirect("~/Administration.aspx"); } } Modified: Website/Includes/FeaturesTree.ascx.cs =================================================================== --- Website/Includes/FeaturesTree.ascx.cs 2006-08-10 15:36:41 UTC (rev 297) +++ Website/Includes/FeaturesTree.ascx.cs 2006-08-10 16:22:36 UTC (rev 298) @@ -47,7 +47,7 @@ foreach (Product product in products) { - if (!m_user.HasRight("view_product", product.ID)) + if (!m_user.HasRight(Constants.RIGHTS_PRODUCT_VIEW, product.ID)) continue; // Create the new node. @@ -210,7 +210,7 @@ BuildProductList(e.Node); break; case 1: - if (m_user.HasRight("dev_access")) + if (m_user.HasRight(Constants.RIGHTS_DEV_ACCESS)) BuildVersionList(e.Node); break; case 2: Modified: Website/Includes/Header_Menu.ascx =================================================================== --- Website/Includes/Header_Menu.ascx 2006-08-10 15:36:41 UTC (rev 297) +++ Website/Includes/Header_Menu.ascx 2006-08-10 16:22:36 UTC (rev 298) @@ -4,7 +4,7 @@ <% if (Constants.IS_DEV_ENV) { %> | Execute -<% } if (m_user.HasRight("dev_access")) +<% } if (m_user.HasRight(Constants.RIGHTS_DEV_ACCESS)) { %> | <a href="TestManagement.aspx">Management</a> <% } %> Modified: Website/Includes/Header_User.ascx =================================================================== --- Website/Includes/Header_User.ascx 2006-08-10 15:36:41 UTC (rev 297) +++ Website/Includes/Header_User.ascx 2006-08-10 16:22:36 UTC (rev 298) @@ -2,12 +2,12 @@ <%@ Import Namespace="TCDB.Code" %> Welcome <div class="username"><%= m_user.FIRSTNAME %> <%= m_user.LASTNAME %></div> (<asp:LoginStatus ID="LoginStatus" runat="server" OnLoggingOut="LoginStatus_LoggingOut" CssClass="username" />) -<% if (m_user.HasRight("view_my_settings", Constants.PRODUCT_ANYID)) +<% if (m_user.HasRight(Constants.RIGHTS_USER_VIEW_MY, Constants.PRODUCT_ANYID)) { %> | <a href="UserSettings.aspx?mode=read&<%= Constants.CODE_USER %>=<%= m_user.ID %>" >Settings</a> <% }%> -<% if (m_user.HasRight("view_admin", Constants.PRODUCT_ANYID)) +<% if (m_user.HasRight(Constants.RIGHTS_ADMIN_VIEW, Constants.PRODUCT_ANYID)) { %> | <a href="Administration.aspx">Admin</a> <% } %> \ No newline at end of file Modified: Website/Includes/Platforms.ascx.cs =================================================================== --- Website/Includes/Platforms.ascx.cs 2006-08-10 15:36:41 UTC (rev 297) +++ Website/Includes/Platforms.ascx.cs 2006-08-10 16:22:36 UTC (rev 298) @@ -19,7 +19,7 @@ void Page_Load(Object sender, EventArgs e) { - if (!m_user.HasRight("dev_access")) + if (!m_user.HasRight(Constants.RIGHTS_DEV_ACCESS)) Response.Redirect("~/Administration.aspx"); } } Modified: Website/Includes/Products.ascx.cs =================================================================== --- Website/Includes/Products.ascx.cs 2006-08-10 15:36:41 UTC (rev 297) +++ Website/Includes/Products.ascx.cs 2006-08-10 16:22:36 UTC (rev 298) @@ -40,14 +40,14 @@ productID = Constants.PRODUCT_ANYID; // Insert shortcut - if (mode == "new" && m_user.HasRight("create_product", Constants.PRODUCT_ANYID)) + if (mode == "new" && m_user.HasRight(Constants.RIGHTS_PRODUCT_CREATE, Constants.PRODUCT_ANYID)) ProductsView.ChangeMode(FormViewMode.Insert); - else if (mode == "edit" && m_user.HasRight("edit_product", productID)) + else if (mode == "edit" && m_user.HasRight(Constants.RIGHTS_PRODUCT_EDIT, productID)) ProductsView.ChangeMode(FormViewMode.Edit); else { // Check viewing rights - if (!m_user.HasRight("view_product", productID)) + if (!m_user.HasRight(Constants.RIGHTS_PRODUCT_VIEW, productID)) Response.Redirect("~/TestManagement.aspx"); } @@ -174,7 +174,7 @@ LinkButton newBtn = (LinkButton)sender; Label newLbl = (Label)ProductsView.FindControl("newLbl"); - if (mode == "read" || (!m_user.HasRight("create_product", Constants.PRODUCT_ANYID))) + if (mode == "read" || (!m_user.HasRight(Constants.RIGHTS_PRODUCT_CREATE, Constants.PRODUCT_ANYID))) { newBtn.Visible = false; newLbl.Visible = false; @@ -186,7 +186,7 @@ Label deleteLbl = (Label)ProductsView.FindControl("deleteLbl"); Label activeLbl = (Label)ProductsView.FindControl("activeLbl"); - if (mode == "read" || activeLbl.Visible || (!m_user.HasRight("delete_product",productID))) + if (mode == "read" || activeLbl.Visible || (!m_user.HasRight(Constants.RIGHTS_PRODUCT_DELETE,productID))) { deleteBtn.Visible = false; deleteLbl.Visible = false; @@ -196,7 +196,7 @@ { LinkButton editBtn = (LinkButton)sender; - if (mode == "read" || (!m_user.HasRight("editProduct", productID) && !m_user.HasRight("edit_role_users", productID))) + if (mode == "read" || (!m_user.HasRight("editProduct", productID) && !m_user.HasRight(Constants.RIGHTS_ROLE_EDIT_USERS, productID))) { editBtn.Visible = false; } @@ -212,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(Constants.RIGHTS_PRODUCT_EDIT, productID)) { nameBox.Visible = false; codeBox.Visible = false; @@ -229,7 +229,7 @@ CheckBox activeBox = (CheckBox)sender; Label activeLbl = (Label)ProductsView.FindControl("activeLbl"); - if (!m_user.HasRight("dev_access")) + if (!m_user.HasRight(Constants.RIGHTS_DEV_ACCESS)) { activeBox.Visible = false; activeLbl.Visible = false; Modified: Website/Includes/Rights.ascx.cs =================================================================== --- Website/Includes/Rights.ascx.cs 2006-08-10 15:36:41 UTC (rev 297) +++ Website/Includes/Rights.ascx.cs 2006-08-10 16:22:36 UTC (rev 298) @@ -33,16 +33,16 @@ Response.Redirect("~/Administration.aspx"); } } - if (!m_user.HasRight("view_rights", Constants.PRODUCT_ANYID)) + if (!m_user.HasRight(Constants.RIGHTS_RIGHTS_VIEW, Constants.PRODUCT_ANYID)) Response.Redirect("~/Administration.aspx"); Session.Add("rightsID", rightsID); right = RightDB.GetRightInfo(rightsID); Session.Add("tableName", "tcdb_rights"); - if (mode == "new" && m_user.HasRight("dev_access")) + if (mode == "new" && m_user.HasRight(Constants.RIGHTS_DEV_ACCESS)) FormView1.ChangeMode(FormViewMode.Insert); - else if (mode == "edit" && (m_user.HasRight("dev_access") || m_user.HasRight("edit_role", Constants.PRODUCT_ANYID))) + else if (mode == "edit" && (m_user.HasRight(Constants.RIGHTS_DEV_ACCESS) || m_user.HasRight(Constants.RIGHTS_ROLE_EDIT, Constants.PRODUCT_ANYID))) FormView1.ChangeMode(FormViewMode.Edit); } @@ -78,7 +78,7 @@ LinkButton editBtn = (LinkButton)FormView1.FindControl("Edit"); Label newLbl = (Label)FormView1.FindControl("newLbl"); - if (!m_user.HasRight("dev_access")) + if (!m_user.HasRight(Constants.RIGHTS_DEV_ACCESS)) { newBtn.Visible = false; newLbl.Visible = false; @@ -92,7 +92,7 @@ Label nameLbl = (Label)FormView1.FindControl("nameLbl"); Label descriptionLbl = (Label)FormView1.FindControl("descriptionLbl"); - if (!m_user.HasRight("dev_access")) + if (!m_user.HasRight(Constants.RIGHTS_DEV_ACCESS)) { nameBox.Visible = false; descriptionBox.Visible = false; @@ -106,7 +106,7 @@ CheckBox activeBox = (CheckBox)sender; Label activeLbl = (Label)FormView1.FindControl("activeLbl"); - if (!m_user.HasRight("dev_access")) + if (!m_user.HasRight(Constants.RIGHTS_DEV_ACCESS)) { activeBox.Visible = false; activeLbl.Visible = false; Modified: Website/Includes/RoleAdmin.ascx.cs =================================================================== --- Website/Includes/RoleAdmin.ascx.cs 2006-08-10 15:36:41 UTC (rev 297) +++ Website/Includes/RoleAdmin.ascx.cs 2006-08-10 16:22:36 UTC (rev 298) @@ -53,12 +53,12 @@ protected void newRole_Init(object sender, EventArgs e) { - if (!m_user.HasRight("create_role", Constants.PRODUCT_ANYID)) + if (!m_user.HasRight(Constants.RIGHTS_ROLE_CREATE, Constants.PRODUCT_ANYID)) newRoleBtn.Visible = false; } protected void newRight_Init(object sender, EventArgs e) { - if (!m_user.HasRight("dev_access")) + if (!m_user.HasRight(Constants.RIGHTS_DEV_ACCESS)) newRightBtn.Visible = false; } @@ -78,7 +78,7 @@ } protected void rightsList_Init(object sender, EventArgs e) { - if (!m_user.HasRight("view_rights", Constants.PRODUCT_ANYID)) + if (!m_user.HasRight(Constants.RIGHTS_RIGHTS_VIEW, Constants.PRODUCT_ANYID)) { rightsList.Visible = false; viewRightBtn.Visible = false; @@ -86,7 +86,7 @@ return; } - if (!m_user.HasRight("dev_access")) + if (!m_user.HasRight(Constants.RIGHTS_DEV_ACCESS)) editRightsBtn.Visible = false; List<Right> rights = RightDB.TCDB_GetRightList(active); @@ -105,15 +105,15 @@ { String role = roleList.SelectedItem.Text; - if (!m_user.HasRight("edit_role_users", productID)) + if (!m_user.HasRight(Constants.RIGHTS_ROLE_EDIT_USERS, productID)) addRoleBtn.Visible = false; } protected void viewRoleBtn_Load(object sender, EventArgs e) { String role = roleList.SelectedItem.Text; - if (!(m_user.HasRole(role, productID) && m_user.HasRight("view_my_roles", productID)) && - !m_user.HasRight("view_other_roles", productID)) + if (!(m_user.HasRole(role, productID) && m_user.HasRight(Constants.RIGHTS_ROLE_VIEW_MY, productID)) && + !m_user.HasRight(Constants.RIGHTS_ROLE_VIEW_OTHER, productID)) viewRoleBtn.Visible = false; } } Modified: Website/Includes/RoleAssignments.ascx.cs =================================================================== --- Website/Includes/RoleAssignments.ascx.cs 2006-08-10 15:36:41 UTC (rev 297) +++ Website/Includes/RoleAssignments.ascx.cs 2006-08-10 16:22:36 UTC (rev 298) @@ -31,7 +31,7 @@ role = RightDB.GetRoleInfo(roleID); // Check rights - if (!m_user.HasRight("edit_role_users",Constants.PRODUCT_ANYID)) + if (!m_user.HasRight(Constants.RIGHTS_ROLE_EDIT_USERS,Constants.PRODUCT_ANYID)) Response.Redirect("~/Administration.aspx"); roleNameBtn.Text = role.NAME; @@ -104,11 +104,11 @@ { List<Product> products = ProductDB.GetProductList(active); foreach (Product product in products) - if (m_user.HasRight("edit_role_users", product.ID)) + if (m_user.HasRight(Constants.RIGHTS_ROLE_EDIT_USERS, product.ID)) productList.Items.Add(new ListItem(product.NAME, product.ID.ToString())); // Set selected value - if (productList.Items.FindByValue(productID.ToString()) != null && m_user.HasRight("edit_role_users", productID)) + if (productList.Items.FindByValue(productID.ToString()) != null && m_user.HasRight(Constants.RIGHTS_ROLE_EDIT_USERS, productID)) productList.SelectedValue = productID.ToString(); Session["product"] = productList.SelectedValue; Modified: Website/Includes/TestPasses.ascx.cs =================================================================== --- Website/Includes/TestPasses.ascx.cs 2006-08-10 15:36:41 UTC (rev 297) +++ Website/Includes/TestPasses.ascx.cs 2006-08-10 16:22:36 UTC (rev 298) @@ -19,7 +19,7 @@ void Page_Load(Object sender, EventArgs e) { - if (!m_user.HasRight("dev_access")) + if (!m_user.HasRight(Constants.RIGHTS_DEV_ACCESS)) Response.Redirect("~/Administration.aspx"); } } Modified: Website/Includes/UserConfig.ascx.cs =================================================================== --- Website/Includes/UserConfig.ascx.cs 2006-08-10 15:36:41 UTC (rev 297) +++ Website/Includes/UserConfig.ascx.cs 2006-08-10 16:22:36 UTC (rev 298) @@ -25,7 +25,7 @@ { if (!m_user.ISAUTHENTICATED) { return; } - if (!m_user.HasRight("view_my_preferences", Constants.PRODUCT_ANYID)) + if (!m_user.HasRight(Constants.RIGHTS_PREFERENCE_VIEW_MY, Constants.PRODUCT_ANYID)) Response.Redirect("~/UserSettings.aspx?" + Constants.CODE_USER + "=" + m_user.ID); m_logg.Debug("Loading page UserConfig"); @@ -34,7 +34,7 @@ m_logg.Debug("Unable to locate user ID in query string. Default to current user"); userID = m_user.ID; } - bool enabled = m_user.HasRight("edit_my_preferences", Constants.PRODUCT_ANYID); + bool enabled = m_user.HasRight(Constants.RIGHTS_PREFERENCE_EDIT_MY, Constants.PRODUCT_ANYID); Dictionary<String, List<Config>> settings = ConfigDB.GetUserSettings(); Modified: Website/Includes/UserRoles.ascx.cs =================================================================== --- Website/Includes/UserRoles.ascx.cs 2006-08-10 15:36:41 UTC (rev 297) +++ Website/Includes/UserRoles.ascx.cs 2006-08-10 16:22:36 UTC (rev 298) @@ -40,16 +40,16 @@ Session.Add("roleID", roleID); // Check rights - if (!(m_user.HasRole(role.NAME) && m_user.HasRight("view_my_roles", Constants.PRODUCT_ANYID)) && - !m_user.HasRight("view_other_roles", Constants.PRODUCT_ANYID)) + if (!(m_user.HasRole(role.NAME) && m_user.HasRight(Constants.RIGHTS_ROLE_VIEW_MY, Constants.PRODUCT_ANYID)) && + !m_user.HasRight(Constants.RIGHTS_ROLE_VIEW_OTHER, Constants.PRODUCT_ANYID)) Response.Redirect("~/Administration.aspx"); // Setup notes //Session.Add("tableName", "tcdb_role"); - if (mode == "new" && m_user.HasRight("create_role", Constants.PRODUCT_ANYID)) + if (mode == "new" && m_user.HasRight(Constants.RIGHTS_ROLE_CREATE, Constants.PRODUCT_ANYID)) UserRoleView.ChangeMode(FormViewMode.Insert); - else if (mode == "edit" && (m_user.HasRight("edit_role", Constants.PRODUCT_ANYID) || m_user.HasRight("edit_role_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))) UserRoleView.ChangeMode(FormViewMode.Edit); } @@ -185,7 +185,7 @@ { LinkButton btn = (LinkButton)sender; - if (!m_user.HasRight("dev_access")) + if (!m_user.HasRight(Constants.RIGHTS_DEV_ACCESS)) btn.Visible = false; } @@ -194,7 +194,7 @@ LinkButton newBtn = (LinkButton)sender; Label newLbl = (Label)UserRoleView.FindControl("NewLbl"); - if (!m_user.HasRight("create_role", Constants.PRODUCT_ANYID)) + if (!m_user.HasRight(Constants.RIGHTS_ROLE_CREATE, Constants.PRODUCT_ANYID)) { newBtn.Visible = false; newLbl.Visible = false; @@ -206,7 +206,7 @@ LinkButton editBtn = (LinkButton)sender; Label editLbl = (Label)UserRoleView.FindControl("NewLbl"); - if (!m_user.HasRight("edit_role", Constants.PRODUCT_ANYID) && !m_user.HasRight("edit_role_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)) { editBtn.Visible = false; editLbl.Visible = false; @@ -225,12 +225,12 @@ foreach (int productID in ProductUsers.Keys) { - if (activeLbl.Visible == true || ((ProductUsers[productID].Count > 0) && !m_user.HasRight("delete_role", productID))) + if (activeLbl.Visible == true || ((ProductUsers[productID].Count > 0) && !m_user.HasRight(Constants.RIGHTS_ROLE_DELETE, productID))) { deleteBtn.Visible = false; deleteLbl.Visible = false; } - if ((ProductUsers[productID].Count > 0) && !m_user.HasRight("edit_role", productID)) + if ((ProductUsers[productID].Count > 0) && !m_user.HasRight(Constants.RIGHTS_ROLE_EDIT, productID)) { editBtn.Visible = false; newLbl.Visible = false; @@ -243,7 +243,7 @@ CheckBox activeBox = (CheckBox)sender; Label activeLbl = (Label)UserRoleView.FindControl("ActiveLbl"); - if (!m_user.HasRight("dev_access")) + if (!m_user.HasRight(Constants.RIGHTS_DEV_ACCESS)) { activeBox.Visible = false; activeLbl.Visible = false; Modified: Website/Includes/UserSettings.ascx.cs =================================================================== --- Website/Includes/UserSettings.ascx.cs 2006-08-10 15:36:41 UTC (rev 297) +++ Website/Includes/UserSettings.ascx.cs 2006-08-10 16:22:36 UTC (rev 298) @@ -41,9 +41,9 @@ // Rights check if (mode == "read" && userID != m_user.ID) Response.Redirect("~/UserSettings.aspx?" + Constants.CODE_USER + "=" + m_user.ID); - if (userID == m_user.ID && !m_user.HasRight("view_my_settings", productID)) + if (userID == m_user.ID && !m_user.HasRight(Constants.RIGHTS_USER_VIEW_MY, productID)) Response.Redirect("~/Assignments.aspx?" + Constants.CODE_USER + "=" + m_user.ID); - if (userID != m_user.ID && !(m_user.HasRight("view_other_settings", user, productID))) + if (userID != m_user.ID && !(m_user.HasRight(Constants.RIGHTS_USER_VIEW_OTHER, user, productID))) Response.Redirect("~/UserSettings.aspx?" + Constants.CODE_USER + "=" + m_user.ID); // Settings init @@ -51,10 +51,10 @@ Session.Add("userID", userID); Session.Add("tableName", "tcdb_user"); - if (mode == "new" && m_user.HasRight("create_user", Constants.PRODUCT_ANYID)) + if (mode == "new" && m_user.HasRight(Constants.RIGHTS_USER_CREATE, 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)))) + m_user.HasRight(Constants.RIGHTS_USER_EDIT_MY,productID)) || (m_user.HasRight(Constants.RIGHTS_USER_EDIT_OTHER, user, productID)))) UserSettingsView.ChangeMode(FormViewMode.Edit); } @@ -67,7 +67,7 @@ if ((mode == "read") || (userID == m_user.ID) || !user.HasRights(productID) || - !m_user.HasRight("delete_user", productID)) + !m_user.HasRight(Constants.RIGHTS_USER_DELETE, productID)) deleteButton.Visible = false; } protected void deleteLabel_Load(object sender, EventArgs e) @@ -78,7 +78,7 @@ if ((mode == "read") || (userID == m_user.ID) || !user.HasRights(productID) || - !m_user.HasRight("delete_user", productID)) + !m_user.HasRight(Constants.RIGHTS_USER_DELETE, productID)) deleteLabel.Visible = false; } protected void newButton_Load(object sender, EventArgs e) @@ -88,7 +88,7 @@ if ((mode == "read") || !user.HasRights(productID) || - !m_user.HasRight("create_user", Constants.PRODUCT_ANYID)) + !m_user.HasRight(Constants.RIGHTS_USER_CREATE, Constants.PRODUCT_ANYID)) newButton.Visible = false; } protected void newLabel_Load(object sender, EventArgs e) @@ -98,7 +98,7 @@ if ((mode == "read") || !user.HasRights(productID) || - !m_user.HasRight("create_user", Constants.PRODUCT_ANYID)) + !m_user.HasRight(Constants.RIGHTS_USER_CREATE, Constants.PRODUCT_ANYID)) newLabel.Visible = false; } protected void Edit_Init(object sender, EventArgs e) @@ -106,8 +106,8 @@ LinkButton editBtn = (LinkButton)sender; if (user == null) user = UserDB.GetUserInfo(userID); - if (!(userID == m_user.ID && m_user.HasRight("edit_my_settings", Constants.PRODUCT_ANYID)) && - !(userID != m_user.ID && user.HasRights(productID) && m_user.HasRight("edit_other_settings", productID))) + if (!(userID == m_user.ID && m_user.HasRight(Constants.RIGHTS_USER_EDIT_MY, Constants.PRODUCT_ANYID)) && + !(userID != m_user.ID && user.HasRights(productID) && m_user.HasRight(Constants.RIGHTS_USER_EDIT_OTHER, productID))) editBtn.Visible = false; } protected void editConfig_Init(object sender, EventArgs e) @@ -115,8 +115,8 @@ LinkButton editConfigBtn = (LinkButton)sender; if (user == null) user = UserDB.GetUserInfo(userID); - if (!(userID == m_user.ID && m_user.HasRight("view_my_preferences", Constants.PRODUCT_ANYID)) && - !(userID != m_user.ID && user.HasRights(productID) && m_user.HasRight("view_other_preferences", productID))) + if (!(userID == m_user.ID && m_user.HasRight(Constants.RIGHTS_PREFERENCE_VIEW_MY, Constants.PRODUCT_ANYID)) && + !(userID != m_user.ID && user.HasRights(productID) && m_user.HasRight(Constants.RIGHTS_PREFERENCE_VIEW_OTHER, productID))) editConfigBtn.Visible = false; } protected void editLabel_Load(object sender, EventArgs e) @@ -124,8 +124,8 @@ Label editLabel = (Label)sender; if (user == null) user = UserDB.GetUserInfo(userID); - if (!(userID == m_user.ID && m_user.HasRight("view_my_preferences", Constants.PRODUCT_ANYID)) && - !(userID != m_user.ID && user.HasRights(productID) && m_user.HasRight("view_other_preferences", productID))) + if (!(userID == m_user.ID && m_user.HasRight(Constants.RIGHTS_PREFERENCE_VIEW_MY, Constants.PRODUCT_ANYID)) && + !(userID != m_user.ID && user.HasRights(productID) && m_user.HasRight(Constants.RIGHTS_PREFERENCE_VIEW_OTHER, productID))) editLabel.Visible = false; } @@ -293,8 +293,8 @@ { Literal roleTree = (Literal)sender; - if ((userID == m_user.ID && m_user.HasRight("view_my_roles", Constants.PRODUCT_ANYID)) || - (userID != m_user.ID && m_user.HasRight("view_other_roles", Constants.PRODUCT_ANYID))) + if ((userID == m_user.ID && m_user.HasRight(Constants.RIGHTS_ROLE_VIEW_MY, Constants.PRODUCT_ANYID)) || + (userID != m_user.ID && m_user.HasRight(Constants.RIGHTS_ROLE_VIEW_OTHER, Constants.PRODUCT_ANYID))) { roleTree.Visible = true; roleTree.ID = "roleTree"; @@ -311,8 +311,8 @@ foreach (Product product in products) { - if ((userID == m_user.ID && m_user.HasRight("view_my_roles", product.ID)) || - (userID != m_user.ID && m_user.HasRight("view_other_roles", 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(); @@ -352,7 +352,7 @@ TreeView roleTree = (TreeView)sender; // Only display the rights tree if the user has permissions to access this - if (!m_user.HasRight("view_my_roles", Constants.PRODUCT_ANYID)) + if (!m_user.HasRight(Constants.RIGHTS_ROLE_VIEW_MY, Constants.PRODUCT_ANYID)) roleTree.Visible = false; if (!m_user.HasRight("edit_my_roles", Constants.PRODUCT_ANYID)) @@ -388,7 +388,7 @@ foreach (Product product in products) { - if (m_user.HasRight("edit_role_users", product.ID)) + if (m_user.HasRight(Constants.RIGHTS_ROLE_EDIT_USERS, product.ID)) { TreeNode child = new TreeNode(); child.Text = "<label>" + product.NAME + "</label>"; 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:05:59
|
Revision: 299 Author: rouquin Date: 2006-08-10 09:23:55 -0700 (Thu, 10 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=299&view=rev Log Message: ----------- Whoops forgot to add the log on the last one. Here it is: Renamed right codes and added RIGHTS constants to Common Modified Paths: -------------- Website/App_Code/Common.cs Modified: Website/App_Code/Common.cs =================================================================== --- Website/App_Code/Common.cs 2006-08-10 16:22:36 UTC (rev 298) +++ Website/App_Code/Common.cs 2006-08-10 16:23:55 UTC (rev 299) @@ -1443,7 +1443,7 @@ public static string RIGHTS_AI_DELETE_CREATED = "ai_delete_created"; public static string RIGHTS_AI_DELETE_OTHER = "ai_delete_other"; public static string RIGHTS_AI_REASSIGN_OTHER = "ai_reassign_other"; - + public static string RIGHTS_WO_VIEW_MY = "wo_view_my"; public static string RIGHTS_WO_VIEW_CREATED = "wo_view_created"; public static string RIGHTS_WO_VIEW_OTHER = "wo_view_other"; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aci...@us...> - 2006-08-10 17:01:39
|
Revision: 300 Author: aciddeath Date: 2006-08-10 10:01:33 -0700 (Thu, 10 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=300&view=rev Log Message: ----------- Fix alternate text. Modified Paths: -------------- Website/Includes/Administration.ascx Modified: Website/Includes/Administration.ascx =================================================================== --- Website/Includes/Administration.ascx 2006-08-10 16:23:55 UTC (rev 299) +++ Website/Includes/Administration.ascx 2006-08-10 17:01:33 UTC (rev 300) @@ -28,7 +28,7 @@ </div> <div class="button"> <asp:LinkButton ID="viewProduct" runat="server" CommandName="view" OnCommand="Product_Command"> - <asp:Image ID="viewProductIcon" runat="server" SkinID="viewProductImage" AlternateText="Edit Product" />View + <asp:Image ID="viewProductIcon" runat="server" SkinID="viewProductImage" AlternateText="View Product" />View Product</asp:LinkButton> </div> <div class="button"> @@ -38,7 +38,7 @@ </div> <div class="button"> <asp:LinkButton ID="deleteProduct" runat="server" CommandName="delete" OnCommand="Product_Command"> - <asp:Image ID="deleteProductIcon" runat="server" SkinID="deleteProductImage" AlternateText="Edit Product" />Delete + <asp:Image ID="deleteProductIcon" runat="server" SkinID="deleteProductImage" AlternateText="Delete Product" />Delete Product</asp:LinkButton> </div> <div class="end"> 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 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 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: <m_h...@us...> - 2006-08-09 23:03:53
|
Revision: 294 Author: m_hildebrand Date: 2006-08-09 16:03:50 -0700 (Wed, 09 Aug 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=294&view=rev Log Message: ----------- Minor change -- view product icon was wrong Modified Paths: -------------- Website/Includes/Administration.ascx Modified: Website/Includes/Administration.ascx =================================================================== --- Website/Includes/Administration.ascx 2006-08-09 23:00:54 UTC (rev 293) +++ Website/Includes/Administration.ascx 2006-08-09 23:03:50 UTC (rev 294) @@ -30,7 +30,7 @@ <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 + <asp:Image ID="viewProductIcon" runat="server" SkinID="viewProductImage" AlternateText="Edit Product" />View Product</asp:LinkButton> </div> <div class="button"> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |