Rev 185 | Blame | Compare with Previous | Last modification | View Log | RSS feed
<%@LANGUAGE="VBSCRIPT"%><%'====================================================='| |'| RTREE |'| |'=====================================================%><%Option explicit' Good idea to set when using redirectResponse.Expires = 0 ' always load the page, dont store%><!--#include file="common/conf.asp"--><!--#include file="common/globals.asp"--><!--#include file="common/formating.asp"--><!--#include file="common/qstr.asp"--><!--#include file="common/common_subs.asp"--><!--#include file="common/_rtree_common.asp"--><!--#include file="common/daemon_status.asp"--><%' Make sure rtag_id is always presentIf Request("proj_id") = "" ThenResponse.Redirect("index.asp")End If'------------ ACCESS CONTROL ------------------%><!--#include file="_access_control_general.asp"--><%'------------ Variable Definition -------------Dim objSortHelperDim ViewTypeDim rsQryStrDim rsQryDim parProjIdDim parShowFilterDim nProjTreeVersionDim objBtnControlDim currLevel, lastLevel, lastRow, aVersions, iDim dListFilterDim objDmSts'------------ Constants Declaration -----------'Const LIMG_TREE_I_HALF = "<img src='images/spacer.gif' width='5' height='1'><img src='icons/tree_i_half.gif' align='absmiddle'>"'Const LIMG_TREE_I_FULL = "<img src='images/spacer.gif' width='5' height='1'><img src='icons/tree_i.gif' align='absmiddle'>"'Const LIMG_TREE_T = "<img src='images/spacer.gif' width='5' height='1'><img src='icons/tree_t.gif' align='absmiddle'>"Const LIMG_TREE_I_HALF = "<img src='images/spacer.gif' width='20' height='1'>"Const LIMG_TREE_I_FULL = "<img src='images/dot1.gif' width='30' height='15'>"Const LIMG_TREE_T = "<img src='images/dot1.gif' width='30' height='15'>"Const LIMG_LIST_VIEW = "<img src='images/abtn_list_view.gif' border='0' align=absmiddle' name='imgviewtype' usemap='#mapviewtype' id='imgviewtype'>"Const LIMG_TREE_VIEW = "<img src='images/abtn_tree_view.gif' border='0' align=absmiddle' name='imgviewtype' usemap='#mapviewtype' id='imgviewtype'>"Const LCONST_LIST_VIEW = 1Const LCONST_TREE_VIEW = 2Const DEFAULT_SHOW_FILTER = "'N','R','C'"Const LIMG_FILTER_ON = "<img src='images/i_data_table.gif' border='0' align='absmiddle' hspace='0' title='Filter in use.'>"Const LIMG_FILTER_OFF = "<img src='images/i_data_table_off.gif' border='0' align='absmiddle' hspace='0' title='Filter not in use.'>"Const LIMG_DROP_DOWN_ARROW = "<img src='images/i_drop_down_arrow.gif' width='5' height='15' hspace='1' border='0' align='absmiddle'>"'------------ Variable Init -------------------parProjId = Request("proj_id")' Get show_filter from query string or failing that, from the cookie.' Make sure that if neither supplies it, use the defaultparShowFilter = Request("show_filter")If NOT IsNull(parShowFilter) AND parShowFilter <> "" ThenResponse.Cookies (COOKIE_RELEASE_MANAGER_MEMORY)("show_filter") = parShowFilterElseparShowFilter = Request.Cookies (COOKIE_RELEASE_MANAGER_MEMORY)("show_filter")If IsNull(parShowFilter) OR parShowFilter = "" ThenparShowFilter = DEFAULT_SHOW_FILTERResponse.Cookies (COOKIE_RELEASE_MANAGER_MEMORY)("show_filter") = parShowFilterEnd IfEnd IfSet dListFilter = CreateObject("Scripting.Dictionary")nProjTreeVersion = GetProjTreeVersion( parProjId )Set objBtnControl = New ActionButtonControlobjPMod.PersistInQryString("proj_id")'----------------------------------------------%><%'--------------------------------------------------------------------------------------------------------------------------' Determines icon that precedes the drop down arrow in the filter boxFunction GetIsListFilterInUseIcon()GetIsListFilterInUseIcon = LIMG_FILTER_ON & LIMG_DROP_DOWN_ARROWIf dListFilter.Count > 0 ThenGetIsListFilterInUseIcon = LIMG_FILTER_OFF & LIMG_DROP_DOWN_ARROWEnd IfEnd Function'--------------------------------------------------------------------------------------------------------------------------' Determines if the specified filter is on/off and returns a string to use to check the associated checkbox accordinglyFunction GetIsListFilterChecked( nFilterId )GetIsListFilterChecked = ""If dListFilter.Exists ( "'" & CStr(nFilterId) & "'" ) ThenGetIsListFilterChecked = "checked"End IfEnd Function'--------------------------------------------------------------------------------------------------------------------------' Reads the cookie for the filter and creats a dictionary element for each item therein. the dictionary' is used by the GetIsListFilterChecked function to determine checkbox state in the filter optionsSub GetListFilterValues ( outDepFilter )Dim FilterVal, aFilterValuesIf Request.Cookies(COOKIE_RELEASE_MANAGER_MEMORY)("show_filter") <> "" ThenaFilterValues = Split( Replace( Request.Cookies(COOKIE_RELEASE_MANAGER_MEMORY)("show_filter"), " ", ""), ",")For Each FilterVal In aFilterValuesoutDepFilter.Item (CStr( FilterVal )) = ""NextEnd IfEnd Sub'----------------------------------------------------------------------------------------------------------------------------------------------Function GetProjTreeVersion ( nProjId )Dim rsTemp, QueryStringQueryString = _" SELECT rt.RTAG_VERSION "&_" FROM RELEASE_TAGS rt "&_" WHERE rt.PROJ_ID = :PROJ_ID "&_" AND rt.RTAG_ID = rt.PARENT_RTAG_ID"OraDatabase.Parameters.Add "PROJ_ID", nProjId, ORAPARM_INPUT, ORATYPE_NUMBERSet rsTemp = OraDatabase.DbCreateDynaset( QueryString, cint(0))OraDatabase.Parameters.Remove "PROJ_ID"If ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF)) ThenGetProjTreeVersion = rsTemp("rtag_version")ElseGetProjTreeVersion = NULLEnd IfrsTemp.CloseSet rsTemp = nothingEnd Function'----------------------------------------------------------------------------------------------------------------------------------------------Sub RenderRowConnectors ( nLastLevel, nCurrLevel )Dim i, LastLine'-- Initial Draw --If nLastLevel = 0 ThennLastLevel = nCurrLevelExit SubEnd If'-- Calculate number of half lines renderedIf nLastLevel < nCurrLevel ThenLastLine = nLastLevelElseLastLine = nCurrLevelEnd If'-- Render half linesFor i = 1 To LastLineResponse.write LIMG_TREE_I_HALFNextEnd Sub'----------------------------------------------------------------------------------------------------------------------------------------------Sub RenderIndent ( nLastLevel, nCurrLevel )Dim iIf nCurrLevel <= 1 Then Exit Sub'-- Render half linesIf nCurrLevel > 2 ThenFor i = 1 To nCurrLevel - 2Response.write LIMG_TREE_I_FULLNextEnd If'-- Render branch or lineIf nLastLevel < nCurrLevel ThenResponse.write LIMG_TREE_TElseResponse.write LIMG_TREE_I_FULLEnd IfEnd Sub'----------------------------------------------------------------------------------------------------------------------------------------------Function GetLevel ( sRtagVersion )Dim tempArrIf InStr( sRtagVersion, "." ) > 0 Then'-- Dot separator found --'-- Split version --tempArr = Split( sRtagVersion, "." )GetLevel = UBound( tempArr ) + 1ElseGetLevel = 1End IfEnd Function'----------------------------------------------------------------------------------------------------------------------------------------------Sub NewRelease ()On Error Resume NextobjEH.TryIf NOT IsNumeric(Request("rtag_id_list")) ThenErr.Raise 8, "Please select one release only.", "No further details available."ElseCall OpenInWindow ( "new_release.asp?rtag_id_list="& Replace( Request("rtag_id_list"), " ","" ) &"&"& objPMod.ComposeURL() )End IfobjEH.CatchEnd Sub'----------------------------------------------------------------------------------------------------------------------------------------------Sub DestroyRelease ()On Error Resume NextobjEH.TryIf NOT IsNumeric(Request("rtag_id_list")) ThenErr.Raise 8, "Please select one release only.", "No further details available."ElseIf Request("rtag_id_list") = "" ThenErr.Raise 8, "Please select one release.", "No further details available."ElseCall OpenInWindow ( "_destroy_release.asp?rtag_id_list="& Replace( Request("rtag_id_list"), " ","" ) &"&"& objPMod.ComposeURL() )End IfEnd IfobjEH.CatchEnd Sub'----------------------------------------------------------------------------------------------------------------------------------------------Sub EditRelease ()On Error Resume NextobjEH.TryIf NOT IsNumeric(Request("rtag_id_list")) ThenErr.Raise 8, "Please select one release only.", "No further details available."ElseIf Request("rtag_id_list") = "" ThenErr.Raise 8, "Please select one release.", "No further details available."ElseCall OpenInWindow ( "form_edit_release.asp?rtag_id_list="& Replace( Request("rtag_id_list"), " ","" ) &"&"& objPMod.ComposeURL() )End IfEnd IfobjEH.CatchEnd Sub'----------------------------------------------------------------------------------------------------------------------------------------------Sub MoveRelease ()On Error Resume NextobjEH.TryIf NOT IsNumeric(Request("rtag_id_list")) ThenErr.Raise 8, "Please select one release only.", "No further details available."ElseIf Request("rtag_id_list") = "" ThenErr.Raise 8, "Please select one release.", "No further details available."ElseCall OpenInWindow ( "form_move_release.asp?rtag_id_list="& Replace( Request("rtag_id_list"), " ","" ) &"&"& objPMod.ComposeURL() )End IfEnd IfobjEH.CatchEnd Sub'----------------------------------------------------------------------------------------------------------------------------------------------Sub MergeManager ()Dim aReleasesOn Error Resume NextobjEH.TryIf Request("rtag_id_list") <> "" ThenaReleases = Split ( Replace( Request("rtag_id_list"), " ", ""), "," )If UBound(aReleases) = 0 Then' Open Merge ManagerCall OpenInWindow ( "diff.asp?rtagA="& aReleases(0) )ElseIf UBound(aReleases) = 1 Then' Open Merge ManagerCall OpenInWindow ( "diff.asp?rtagA="& aReleases(0) &"&rtagB="& aReleases(1) )ElseErr.Raise 8, "Please select maximum two release.", "No further details available."End IfElse' Open Merge Manager without parametersCall OpenInWindow ( "diff.asp" )End IfobjEH.CatchEnd Sub'----------------------------------------------------------------------------------------------------------------------------------------------Function GetViewType ()Dim CookieViewTypeCookieViewType = Request.Cookies (COOKIE_RELEASE_MANAGER_MEMORY)("RELEASE_VIEW")If CookieViewType <> "" Then' Get current view type from cookieGetViewType = CInt(CookieViewType)Else' Set current view to list viewResponse.Cookies (COOKIE_RELEASE_MANAGER_MEMORY)("RELEASE_VIEW") = LCONST_LIST_VIEWGetViewType = LCONST_LIST_VIEWEnd IfEnd Function'----------------------------------------------------------------------------------------------------------------------------------------------Sub SetViewType ()If Request("viewtype") = "" Then Exit Sub ' Nothing to doResponse.Cookies (COOKIE_RELEASE_MANAGER_MEMORY)("RELEASE_VIEW") = Request("viewtype")End Sub'----------------------------------------------------------------------------------------------------------------------------------------------%><%'------------ RUN BEFORE PAGE RENDER ----------If (Request("action") <> "") ThenIf Request("btn") = "Show" Then' Store filter in cookieResponse.Cookies (COOKIE_RELEASE_MANAGER_MEMORY)("show_filter") = Request("listFilter")parShowFilter = Request("listFilter")Else'-- Select ActionSelect Case Request("action")Case "btnNewRelease"Call NewRelease()Case "btnDestroyRelease"Call DestroyRelease()Case "btnEditRelease"Call EditRelease()Case "btnMoveRelease"Call MoveRelease()Case "btnMergeManager"Call MergeManager()Case "btnAdminView"Dim Query_StringQuery_String = _" SELECT DISTINCT vi.view_id, vi.view_name"&_" FROM VIEWS vi"&_" WHERE vi.view_name = 'PROJECT WIDE'"Set rsQry = OraDatabase.DbCreateDynaset( Query_String , cint(0) )Dim viewRecordCountDim idviewRecordCount=0viewRecordCount = rsQry.RecordCountWhile (NOT rsQry.BOF) AND (NOT rsQry.EOF)id=rsQry.Fields("view_id")rsQry.MoveNextWEndrsQry.Close()Set rsQry = nothingIf viewRecordCount = 0 ThenOraDatabase.Parameters.Add "PROJ_ID", parProjId, ORAPARM_INPUT, ORATYPE_NUMBERQuery_String = _" SELECT DISTINCT vi.view_id, vi.view_name"&_" FROM VIEWS vi, RELEASE_CONTENT rc, RELEASE_TAGS rt"&_" WHERE rc.BASE_VIEW_ID = vi.VIEW_ID AND rt.proj_id = "& parProjId &"AND rc.rtag_id = rt.rtag_id"&_" ORDER BY ( vi.view_name )"Set rsQry = OraDatabase.DbCreateDynaset( Query_String , cint(0) )OraDatabase.Parameters.Remove "PROJ_ID"viewRecordCount = rsQry.RecordCountWhile (NOT rsQry.BOF) AND (NOT rsQry.EOF)id=rsQry.Fields("view_id")rsQry.MoveNextWEndrsQry.Close()Set rsQry = nothingEnd IfIf viewRecordCount = 0 ThenCall OpenInWindow ( "form_edit_project_view.asp?proj_id="&Request("proj_id"))ElseCall OpenInWindow ( "form_edit_project_view.asp?proj_id="&Request("proj_id")&"&FRview_id="&id)End IfEnd SelectEnd IfEnd If' Set view type if requiredCall SetViewType ()' Get current view typeViewType = GetViewType()'----------------------------------------------%><html><head><%Set rsQry = OraDatabase.DbCreateDynaset( "SELECT PROJ_NAME FROM PROJECTS WHERE PROJ_ID="& Request("proj_id"), ORADYN_DEFAULT )%><title><%=rsQry("proj_name")%></title><%rsQry.CloseSet rsQry = Nothing%><meta HTTP-EQUIV="Pragma" CONTENT="no-cache"><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><link rel="stylesheet" href="images/release_manager_style.css" type="text/css"><link rel="stylesheet" href="images/navigation.css" type="text/css"><script language="JavaScript" src="images/common.js"></script><!-- DROPDOWN MENUS --><!--#include file="_menu_def.asp"--><script language="JavaScript1.2" src="images/popup_menu.js"></script></head><body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0" ><!-- MENU LAYERS --------------------------------------><div id="popmenu" class="menuskin" onMouseover="clearhidemenu();highlightmenu(event,'on')" onMouseout="highlightmenu(event,'off');dynamichide(event)"></div><!-- TIPS LAYERS --------------------------------------><div id="formTipsLayer" style="position: absolute; z-index: 1000; visibility: hidden; left:0; top: 0; width: 10"> </div><!-----------------------------------------------------><!-- HEADER --><!--#include file="_header.asp"--><!-- BODY ----><table width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td width="1" background="images/bg_home_orange.gif" valign="top"></td><td rowspan="2" valign="top" width="100%"><!-- ACTION BUTTONS ----------------------------------------------><table width="100%" border="0" cellspacing="0" cellpadding="7"><tr><td width="1" bgcolor="#DAD7C8"><%If ViewType = LCONST_TREE_VIEW ThenResponse.write LIMG_TREE_VIEWElseResponse.write LIMG_LIST_VIEWEnd If%></td><td width="100%" bgcolor="#DAD7C8"><%Dim aBtnsDef' Define action buttonsaBtnsDef = Array("btnNewRelease", "btnEditRelease", "btnMoveRelease", "width=20", "btnDestroyRelease", "width=20", "btnMergeManager", "width=20", "btnAdminView")' Load action buttons from databaseCall objBtnControl.LoadActionButtons ( aBtnsDef, OraDatabase )' Set spacing to minimum between buttonsobjBtnControl.ButtonSpacer = 0objBtnControl.ImageHspace = 2' Access ControlIf NOT objAccessControl.IsActive("CreateNewRelease") Then Call objBtnControl.Active ( "btnNewRelease", "N" )If NOT objAccessControl.IsActive("DestroyRelease") Then Call objBtnControl.Active ( "btnDestroyRelease", "N" )If NOT objAccessControl.IsActive("CreateNewRelease") Then Call objBtnControl.Active ( "btnMoveRelease", "N" )' -- Render ButtonsCall objBtnControl.Render ( aBtnsDef, objAccessControl )%></td></tr></table><!-- ACTION BUTTONS END ------------------------------------------><table width="100%" border="0" cellspacing="10" cellpadding="0"><form name="FormName" method="post" action="<%=ScriptName%>"><tr><td><!-- TREE VIEW ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --><%If ViewType = LCONST_TREE_VIEW Then%><table width="100%" border="0" cellspacing="1" cellpadding="1"><tr><td width="30%" bgcolor="#E4E9EC" class="body_txt">Release Name </td><%If parProjId <> 2 Then %><td width="20%" bgcolor="#E4E9EC" class="body_txt">Created</td><td width="47%" bgcolor="#E4E9EC" class="body_txt">Comments</td><td width="3%" bgcolor="#E4E9EC" class="body_txt">Daemon Status</td><%Else%><td width="20%" bgcolor="#E4E9EC" class="body_txt">Created</td><td width="25%" bgcolor="#E4E9EC" class="body_txt">Used By </td><td width="22%" bgcolor="#E4E9EC" class="body_txt">Comments</td><td width="3%" bgcolor="#E4E9EC" class="body_txt"">Daemon Status</td><%End If%></tr><%'OraDatabase.Parameters.Add "TREE_VERSION", nProjTreeVersion, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "PROJ_ID", parProjId, ORAPARM_INPUT, ORATYPE_NUMBERSet rsQry = OraDatabase.DbCreateDynaset( GetQuery ("ReleaseVersionTree.sql") , ORADYN_DEFAULT )lastLevel = 0'OraDatabase.Parameters.Remove "TREE_VERSION"OraDatabase.Parameters.Remove "PROJ_ID"Dim lastRtagId, parentRtag_idIf rsQry.RecordCount > 0 ThenSet objDmSts = New DaemonStatusCall objDmSts.GetDaemonStatus(parProjId)'aVersions = rsQry.GetRows()'lastRow = UBound( aVersions, 2 )'Set objSortHelper = New SortHelper' Sort versions'Call objSortHelper.VersionSort( aVersions, 0, lastRow, rsQry.FieldIndex("version") )'For i = 0 To lastRow ' Ascending orderWhile (NOT rsQry.BOF) AND (NOT rsQry.EOF)'currLevel = GetLevel ( aVersions( rsQry.FieldIndex("rtag_version"), i ) )currLevel = CInt(rsQry("hierarchy"))'lastLevel = currLevel - 1%><tr><td bgcolor="#F5F5F5" class="body_rowg"><%Call RenderIndent( lastLevel, currLevel )%><input type="checkbox" name="rtag_id_list" value="<%=rsQry("rtag_id")%>" style="vertical-align:middle;"><%If rsQry("official") <> "A" Then%><a href="dependencies.asp?rtag_id=<%=rsQry("rtag_id")%>" class="body_link" title="<%=HTMLEncode( rsQry("description") ) %>" ><%End If%><%=ReleaseIcon( rsQry("official") )%> <%=rsQry("rtag_name")%></a><td bgcolor="#F5F5F5" class="body_rowg"><%=rsQry("created_stamp") & " by " & rsQry("creator")%></td><%If parProjId <> 2 ThenDim assocMASSREF, rsQryAssoc, assocMASSREFName, linkassocMASSREF = rsQry("assoc_mass_ref")If assocMASSREF <> "" ThenSet rsQryAssoc = OraDatabase.DbCreateDynaset("SELECT RTAG_NAME, RTAG_ID FROM RELEASE_TAGS WHERE RTAG_ID="&assocMASSREF , ORADYN_DEFAULT)assocMASSREFName = rsQryAssoc("RTAG_NAME")link = "dependencies.asp?rtag_id="&rsQryAssoc("rtag_id")rsQryAssoc.CloseSet rsQryAssoc = NothingElseassocMASSREFName = "None."End IfElseDim UsedBy, rsQryUse, comment, linkBUsedBy = rsQry("rtag_id")If UsedBy <> "" ThenSet rsQryUse = OraDatabase.DbCreateDynaset("SELECT * FROM RELEASE_TAGS RT, PROJECTS P WHERE RT.ASSOC_MASS_REF="&rsQry("rtag_id")&" AND RT.PROJ_ID=P.PROJ_ID", ORADYN_DEFAULT)While ((NOT rsQryUse.BOF) AND (NOT rsQryUse.EOF))If rsQryUse("assoc_mass_ref") = UsedBy ThenlinkB = "dependencies.asp?rtag_id="&rsQryUse("rtag_id")If comment = "" Thencomment = rsQryUse("proj_name") & " -> <a href="&linkB&">"& rsQryUse("rtag_name") &"</a>"Elsecomment = comment &" <br> " & rsQryUse("proj_name") & " -> <a href="&linkB&">"& rsQryUse("rtag_name") &"</a>"End IfrsQryUse.MoveNextEnd IfWEndEnd If%><%If comment <> "" Then %><td bgcolor="#F5F5F5" class="body_rowg"><%=comment%></td><%Else%><td bgcolor="#F5F5F5" class="body_rowg">None.</td><%End If%><%End If%><td bgcolor="#F5F5F5" class="body_rowg"><%=NewLine_To_BR(rsQry("description"))%></td><td bgcolor="#F5F5F5" class="body_rowg" valign=top><%' Get daemon summary bar chart for current releaseCall objDmSts.RenderDaemonStatus(rsQry("rtag_id"),16)%></td></tr><%lastLevel = currLevelrsQry.MoveNextcomment = ""WEnd'NextSet objDmSts = NothingEnd IfrsQry.CloseSet rsQry = Nothing%></table><!-- LIST VIEW ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --><%Else%><%Call GetListFilterValues ( dListFilter )%><!-- RELEASE LIST FILTER +++++++++++++++++++++++++++++++++++++++++++ --><fieldset style="width:200px;"><legend><a href="javascript:;" class="body_scol" onClick="ToggleDisplay('divListFilter');" ><%=GetIsListFilterInUseIcon() %> Show Release Types...</a></legend><div name="divListFilter" id="divListFilter" class="body_txt" style="display:none;"><br><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td width="10" background="images/bg_action_norm.gif"><input name="listFilter" type="checkbox" value="'<%=enumDB_RELEASE_IN_OPEN_MODE%>'" <%=GetIsListFilterChecked(enumDB_RELEASE_IN_OPEN_MODE)%>></td><td width="1" nowrap background="images/bg_action_norm.gif" class="form_field"><img src="images/i_rtag_open_mode.gif" width="15" height="13"> Open Mode</td></tr><tr><td width="10" background="images/bg_action_norm.gif"><input name="listFilter" type="checkbox" value="'<%=enumDB_RELEASE_IN_RESTRICTIVE_MODE%>'" <%=GetIsListFilterChecked(enumDB_RELEASE_IN_RESTRICTIVE_MODE)%>></td><td width="1" nowrap background="images/bg_action_norm.gif" class="form_field"><img src="images/i_rtag_restrictive_mode.gif" width="15" height="13"> Restrictive Mode</td></tr><tr><td width="10" background="images/bg_action_norm.gif"><input name="listFilter" type="checkbox" value="'<%=enumDB_RELEASE_IN_CCB_MODE%>'" <%=GetIsListFilterChecked(enumDB_RELEASE_IN_CCB_MODE)%>></td><td width="1" nowrap background="images/bg_action_norm.gif" class="form_field"><img src="images/i_rtag_ccb_mode.gif" width="15" height="13"> CCB Mode</td></tr><tr><td width="10" background="images/bg_action_norm.gif"><input name="listFilter" type="checkbox" value="'<%=enumDB_RELEASE_IN_CLOSED_MODE%>'" <%=GetIsListFilterChecked(enumDB_RELEASE_IN_CLOSED_MODE)%>></td><td width="1" nowrap background="images/bg_action_norm.gif" class="form_field"><img src="images/i_rtag_closed_mode.gif" width="15" height="13"> Closed Mode</td></tr><tr><td width="10" background="images/bg_action_norm.gif"><input name="listFilter" type="checkbox" value="'<%=enumDB_RELEASE_IN_ARCHIVE_MODE%>'" <%=GetIsListFilterChecked(enumDB_RELEASE_IN_ARCHIVE_MODE)%>></td><td width="1" nowrap background="images/bg_action_norm.gif" class="form_field"><img src="images/i_rtag_archive_mode.gif" width="15" height="13"> Archive Mode</td></tr><tr><td background="images/bg_action_norm.gif"> </td><td background="images/bg_action_norm.gif"><input name="btn" type="submit" class="form_btn" value="Show"></td></tr></table></div></fieldset><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td width="1" bgcolor="#E4E9EC"> </td><td width="30%" bgcolor="#E4E9EC" class="body_txt">Release Name </td><%If parProjId <> 2 Then %><td width="20%" bgcolor="#E4E9EC" class="body_txt">Created</td><td width="47%" bgcolor="#E4E9EC" class="body_txt">Comments</td><td width="3%" bgcolor="#E4E9EC" class="body_txt">Daemon Status</td><%Else%><td width="20%" bgcolor="#E4E9EC" class="body_txt">Created</td><td width="1" bgcolor="#E4E9EC"> </td><td width="24%" bgcolor="#E4E9EC" class="body_txt">Used By </td><td width="22%" bgcolor="#E4E9EC" class="body_txt">Comments</td><td width="3%" bgcolor="#E4E9EC" class="body_txt">Daemon Status</td><%End If%></tr><%If NOT IsEmpty(parShowFilter) ThenOraDatabase.Parameters.Add "PROJ_ID", parProjId, ORAPARM_INPUT, ORATYPE_NUMBERrsQryStr = GetQuery ("ReleaseVersionList.sql")rsQryStr = Replace(rsQryStr, "/*SHOW_FILTER*/", parShowFilter)Set rsQry = OraDatabase.DbCreateDynaset( rsQryStr, ORADYN_DEFAULT )lastLevel = 0OraDatabase.Parameters.Remove "PROJ_ID"If rsQry.RecordCount > 0 ThenaVersions = rsQry.GetRows()lastRow = UBound( aVersions, 2 )Set objDmSts = New DaemonStatusCall objDmSts.GetDaemonStatus(parProjId)'Set objSortHelper = New SortHelper' Sort versions'Call objSortHelper.VersionSort( aVersions, 0, lastRow, rsQry.FieldIndex("version") )For i = 0 To lastRow ' Ascending order'currLevel = GetLevel ( aVersions( rsQry.FieldIndex("rtag_version"), i ) )%><tr><td bgcolor="#F5F5F5" class="body_txt" valign="top"><input type="checkbox" name="rtag_id_list" value="<%=aVersions( rsQry.FieldIndex("rtag_id"), i )%>"></td><td bgcolor="#F5F5F5" valign="top"><%If aVersions( rsQry.FieldIndex("official"), i ) <> "A" Then%><a href="dependencies.asp?rtag_id=<%=aVersions( rsQry.FieldIndex("rtag_id"), i )%>" class="body_link" title="Open Release..."><%End If%><%=ReleaseIcon( aVersions( rsQry.FieldIndex("official"), i ) )%> <%=aVersions( rsQry.FieldIndex("rtag_name"), i )%></a></td><td bgcolor="#F5F5F5" class="body_rowg"><%=aVersions( rsQry.FieldIndex("created_stamp"), i) & " by " & aVersions( rsQry.FieldIndex("creator"), i)%></td><%If parProjId <> 2 ThenassocMASSREF = aVersions( rsQry.FieldIndex("assoc_mass_ref"), i )If assocMASSREF <> "" ThenSet rsQryAssoc = OraDatabase.DbCreateDynaset("SELECT RTAG_NAME, RTAG_ID FROM RELEASE_TAGS WHERE RTAG_ID="&assocMASSREF , ORADYN_DEFAULT)assocMASSREFName = rsQryAssoc("RTAG_NAME")link = rsQryAssoc("rtag_id")rsQryAssoc.CloseSet rsQryAssoc = NothingElseassocMASSREFName = "None."End IfElseUsedBy = aVersions( rsQry.FieldIndex("rtag_id"), i )If UsedBy <> "" ThenSet rsQryUse = OraDatabase.DbCreateDynaset("SELECT * FROM RELEASE_TAGS RT, PROJECTS P WHERE RT.ASSOC_MASS_REF="&aVersions( rsQry.FieldIndex("rtag_id"), i )&" AND RT.PROJ_ID=P.PROJ_ID", ORADYN_DEFAULT)While ((NOT rsQryUse.BOF) AND (NOT rsQryUse.EOF))If rsQryUse("assoc_mass_ref") = UsedBy ThenlinkB = rsQryUse("rtag_id")If comment = "" Thencomment = rsQryUse("proj_name") & " -> <a href=dependencies.asp?rtag_id="&linkB&">"& rsQryUse("rtag_name") &"</a>"Elsecomment = comment &" <br> " & rsQryUse("proj_name") & " -> <a href=dependencies.asp?rtag_id="&linkB&">"& rsQryUse("rtag_name") &"</a>"End IfrsQryUse.MoveNextEnd IfWEndEnd If%><%If comment <> "" Then %><td bgcolor="#F5F5F5" class="body_txt" valign="top"><input type="checkbox" name="rtag_id_list" value="<%=linkB%>"></td><td bgcolor="#F5F5F5" class="body_rowg"><%=comment%></td><%Else%><td width="1" bgcolor="#E4E9EC"> </td><td bgcolor="#F5F5F5" class="body_rowg">None.</td><%End If%><%End If%><td bgcolor="#F5F5F5" class="body_rowg"><%=NewLine_To_BR( aVersions( rsQry.FieldIndex("description"), i ) )%></td><td bgcolor="#F5F5F5" class="body_rowg" valign=top><%' Get daemon summary bar chart for current releaseCall objDmSts.RenderDaemonStatus(aVersions( rsQry.FieldIndex("rtag_id"), i ),16)%></td></tr><%'lastLevel = currLevelcomment = ""NextSet objDmSts = NothingEnd IfrsQry.CloseSet rsQry = NothingEnd If%></table><br><!-- MESSAGE +++++++++++++++++++++++++++++++++++++++++++++++++++ --><!--#include file="messages/_msg_inline.asp"--><!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --><%End If%><!-- LIST VIEW END ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --><hr noshade color="#CAC5B8" width="100%" size="1"></td></tr><%=objPMod.ComposeHiddenTags()%><input type="hidden" name="action" value="true"></form></table><table width="118" border="0" align="left"><tr><td bgcolor="#E4E9EC" width="26"><span class="body_txt">Icon</span></td><td bgcolor="#E4E9EC" width="82"><span class="body_txt">Release State </span></td></tr><tr><td bgcolor="#F5F5F5"><img src="images/i_rtag_open_mode.gif" width="15" height="13"></td><td bgcolor="#F5F5F5"><span class="body_txt">Open Mode</span></td></tr><tr><td bgcolor="#F5F5F5"><img src="images/i_rtag_restrictive_mode.gif" width="15" height="15"></td><td bgcolor="#F5F5F5"><span class="body_txt">Restrictive Mode</span></td></tr><tr><td bgcolor="#F5F5F5"><img src="images/i_rtag_ccb_mode.gif" width="15" height="15"></td><td bgcolor="#F5F5F5"><span class="body_txt">CCB Mode</span></td></tr><tr><td bgcolor="#F5F5F5"><img src="images/i_rtag_closed_mode.gif" width="15" height="14"></td><td bgcolor="#F5F5F5"><span class="body_txt">Closed Mode</span></td></tr><tr><td bgcolor="#F5F5F5"><img src="images/i_rtag_archive_mode.gif" width="15" height="14"></td><td bgcolor="#F5F5F5"><span class="body_txt">Archive Mode</span></td></tr></table><p> </p></td><td width="1" valign="top"><img src="images/h_trsp_dot.gif" width="1" height="1"></td></tr><tr><td valign="bottom" align="center" background="images/bg_home_orange.gif"><img src="images/img_vtree.gif" width="86" height="99" vspace="20" hspace="30"></td><td background="images/bg_lght_gray.gif" valign="top"><img src="images/h_trsp_dot.gif" width="1" height="500"></td></tr></table><!-- FOOTER --><!--#include file="_footer.asp"--><map name="mapviewtype"><area shape="rect" coords="2,2,69,23" href="<%=ScriptName%>?viewtype=1&<%=objPMod.ComposeURL()%>" title="Switch to List View"><area shape="rect" coords="73,2,143,23" href="<%=ScriptName%>?viewtype=2&<%=objPMod.ComposeURL()%>" title="Switch to Tree View"></map></body></html><%Call Destroy_All_Objects%>