Subversion Repositories DevTools

Rev

Rev 185 | Blame | Compare with Previous | Last modification | View Log | RSS feed

<%@LANGUAGE="VBSCRIPT"%>
<%
'=====================================================
'|                                                   |
'|                        RTREE                      |
'|                                                   |
'=====================================================
%>
<%
Option explicit
' Good idea to set when using redirect
Response.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 present
If Request("proj_id") = "" Then
   Response.Redirect("index.asp")
End If
'------------ ACCESS CONTROL ------------------
%>
<!--#include file="_access_control_general.asp"-->
<%
'------------ Variable Definition -------------
Dim objSortHelper
Dim ViewType
Dim rsQryStr
Dim rsQry
Dim parProjId
Dim parShowFilter
Dim nProjTreeVersion
Dim objBtnControl
Dim currLevel, lastLevel, lastRow, aVersions, i
Dim dListFilter
Dim 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 = 1
Const LCONST_TREE_VIEW = 2
Const 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 default
parShowFilter = Request("show_filter")
If NOT IsNull(parShowFilter) AND parShowFilter <> "" Then
   Response.Cookies (COOKIE_RELEASE_MANAGER_MEMORY)("show_filter") = parShowFilter
Else
   parShowFilter = Request.Cookies (COOKIE_RELEASE_MANAGER_MEMORY)("show_filter")
   If IsNull(parShowFilter) OR parShowFilter = "" Then
      parShowFilter = DEFAULT_SHOW_FILTER
      Response.Cookies (COOKIE_RELEASE_MANAGER_MEMORY)("show_filter") = parShowFilter
   End If
End If

Set dListFilter = CreateObject("Scripting.Dictionary")

nProjTreeVersion = GetProjTreeVersion( parProjId )
Set objBtnControl = New ActionButtonControl
objPMod.PersistInQryString("proj_id")

'----------------------------------------------
%>
<%
'--------------------------------------------------------------------------------------------------------------------------
' Determines icon that precedes the drop down arrow in the filter box
Function GetIsListFilterInUseIcon()
   GetIsListFilterInUseIcon = LIMG_FILTER_ON & LIMG_DROP_DOWN_ARROW

   If dListFilter.Count > 0 Then
      GetIsListFilterInUseIcon = LIMG_FILTER_OFF & LIMG_DROP_DOWN_ARROW
   End If
End Function
'--------------------------------------------------------------------------------------------------------------------------
' Determines if the specified filter is on/off and returns a string to use to check the associated checkbox accordingly
Function GetIsListFilterChecked( nFilterId )
   GetIsListFilterChecked = ""
   If dListFilter.Exists ( "'" & CStr(nFilterId) & "'"  ) Then
      GetIsListFilterChecked = "checked"
   End If
End 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 options
Sub GetListFilterValues ( outDepFilter )
   Dim FilterVal, aFilterValues

   If Request.Cookies(COOKIE_RELEASE_MANAGER_MEMORY)("show_filter") <> "" Then
      aFilterValues = Split( Replace( Request.Cookies(COOKIE_RELEASE_MANAGER_MEMORY)("show_filter"), " ", ""), ",")

      For Each FilterVal In aFilterValues
         outDepFilter.Item (CStr( FilterVal )) = ""
      Next
   End If
End Sub

'----------------------------------------------------------------------------------------------------------------------------------------------
Function GetProjTreeVersion ( nProjId )
   Dim rsTemp, QueryString

   QueryString = _
   " 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_NUMBER

   Set rsTemp = OraDatabase.DbCreateDynaset( QueryString, cint(0))

   OraDatabase.Parameters.Remove "PROJ_ID"



   If ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF)) Then
      GetProjTreeVersion = rsTemp("rtag_version")
   Else
      GetProjTreeVersion = NULL
   End If

   rsTemp.Close
   Set rsTemp = nothing
End Function
'----------------------------------------------------------------------------------------------------------------------------------------------
Sub RenderRowConnectors ( nLastLevel, nCurrLevel )
   Dim i, LastLine

   '-- Initial Draw --
   If nLastLevel = 0 Then
      nLastLevel = nCurrLevel
      Exit Sub
   End If

   '-- Calculate number of half lines rendered
   If nLastLevel < nCurrLevel Then
      LastLine = nLastLevel
   Else
      LastLine = nCurrLevel
   End If


   '-- Render half lines
   For i = 1 To LastLine
      Response.write LIMG_TREE_I_HALF
   Next

End Sub
'----------------------------------------------------------------------------------------------------------------------------------------------
Sub RenderIndent ( nLastLevel, nCurrLevel )
   Dim i

   If nCurrLevel <= 1 Then Exit Sub


   '-- Render half lines
   If nCurrLevel > 2 Then
      For i = 1 To nCurrLevel - 2
         Response.write LIMG_TREE_I_FULL
      Next
   End If


   '-- Render branch or line
   If nLastLevel < nCurrLevel Then
      Response.write LIMG_TREE_T
   Else
      Response.write LIMG_TREE_I_FULL
   End If




End Sub
'----------------------------------------------------------------------------------------------------------------------------------------------
Function GetLevel ( sRtagVersion )
   Dim tempArr

   If InStr( sRtagVersion, "." ) > 0 Then
      '-- Dot separator found --

      '-- Split version --
      tempArr = Split( sRtagVersion, "." )

      GetLevel = UBound( tempArr ) + 1

   Else
      GetLevel = 1

   End If

End Function
'----------------------------------------------------------------------------------------------------------------------------------------------
Sub NewRelease ()
   On Error Resume Next

   objEH.Try
      If NOT IsNumeric(Request("rtag_id_list")) Then
         Err.Raise 8, "Please select one release only.", "No further details available."

      Else
         Call OpenInWindow ( "new_release.asp?rtag_id_list="& Replace( Request("rtag_id_list"), " ","" ) &"&"& objPMod.ComposeURL() )

      End If

   objEH.Catch

End Sub
'----------------------------------------------------------------------------------------------------------------------------------------------
Sub DestroyRelease ()
   On Error Resume Next

   objEH.Try
      If NOT IsNumeric(Request("rtag_id_list")) Then
         Err.Raise 8, "Please select one release only.", "No further details available."

      Else
         If Request("rtag_id_list") = "" Then
            Err.Raise 8, "Please select one release.", "No further details available."
         Else
            Call OpenInWindow ( "_destroy_release.asp?rtag_id_list="& Replace( Request("rtag_id_list"), " ","" ) &"&"& objPMod.ComposeURL() )
         End If

      End If

   objEH.Catch

End Sub
'----------------------------------------------------------------------------------------------------------------------------------------------
Sub EditRelease ()
   On Error Resume Next

   objEH.Try
      If NOT IsNumeric(Request("rtag_id_list")) Then
         Err.Raise 8, "Please select one release only.", "No further details available."

      Else
         If Request("rtag_id_list") = "" Then
            Err.Raise 8, "Please select one release.", "No further details available."
         Else
            Call OpenInWindow ( "form_edit_release.asp?rtag_id_list="& Replace( Request("rtag_id_list"), " ","" ) &"&"& objPMod.ComposeURL() )
         End If

      End If

   objEH.Catch

End Sub
'----------------------------------------------------------------------------------------------------------------------------------------------
Sub MoveRelease ()
   On Error Resume Next

   objEH.Try
      If NOT IsNumeric(Request("rtag_id_list")) Then
         Err.Raise 8, "Please select one release only.", "No further details available."

      Else
         If Request("rtag_id_list") = "" Then
            Err.Raise 8, "Please select one release.", "No further details available."
         Else
            Call OpenInWindow ( "form_move_release.asp?rtag_id_list="& Replace( Request("rtag_id_list"), " ","" ) &"&"& objPMod.ComposeURL() )
         End If

      End If

   objEH.Catch

End Sub
'----------------------------------------------------------------------------------------------------------------------------------------------
Sub MergeManager ()
   Dim aReleases
   On Error Resume Next

   objEH.Try

      If Request("rtag_id_list") <> "" Then
         aReleases = Split ( Replace( Request("rtag_id_list"), " ", ""), "," )

         If UBound(aReleases) = 0 Then
            ' Open Merge Manager
            Call OpenInWindow ( "diff.asp?rtagA="& aReleases(0)  )


         ElseIf UBound(aReleases) = 1 Then
            ' Open Merge Manager
            Call OpenInWindow ( "diff.asp?rtagA="& aReleases(0) &"&rtagB="& aReleases(1) )


         Else
            Err.Raise 8, "Please select maximum two release.", "No further details available."

         End If

      Else
         ' Open Merge Manager without parameters
         Call OpenInWindow ( "diff.asp" )

      End If

   objEH.Catch

End Sub
'----------------------------------------------------------------------------------------------------------------------------------------------
Function GetViewType ()
   Dim CookieViewType

   CookieViewType = Request.Cookies (COOKIE_RELEASE_MANAGER_MEMORY)("RELEASE_VIEW")

   If CookieViewType <> "" Then
      ' Get current view type from cookie
      GetViewType = CInt(CookieViewType)
   Else
      ' Set current view to list view
      Response.Cookies (COOKIE_RELEASE_MANAGER_MEMORY)("RELEASE_VIEW") = LCONST_LIST_VIEW
      GetViewType = LCONST_LIST_VIEW
   End If

End Function
'----------------------------------------------------------------------------------------------------------------------------------------------
Sub SetViewType ()
   If Request("viewtype") = "" Then Exit Sub    ' Nothing to do

   Response.Cookies (COOKIE_RELEASE_MANAGER_MEMORY)("RELEASE_VIEW") = Request("viewtype")
End Sub

'----------------------------------------------------------------------------------------------------------------------------------------------
%>
<%
'------------ RUN BEFORE PAGE RENDER ----------
If (Request("action") <> "") Then

   If Request("btn") = "Show" Then
      ' Store filter in cookie
      Response.Cookies (COOKIE_RELEASE_MANAGER_MEMORY)("show_filter") = Request("listFilter")
      parShowFilter = Request("listFilter")
   Else
      '-- Select Action
      Select 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_String
         Query_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 viewRecordCount
         Dim id
         viewRecordCount=0
         viewRecordCount = rsQry.RecordCount

         While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
            id=rsQry.Fields("view_id")
            rsQry.MoveNext
         WEnd

          rsQry.Close()
         Set rsQry = nothing

         If viewRecordCount = 0 Then
            OraDatabase.Parameters.Add "PROJ_ID", parProjId,    ORAPARM_INPUT, ORATYPE_NUMBER
            Query_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.RecordCount

            While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
               id=rsQry.Fields("view_id")
               rsQry.MoveNext
            WEnd

            rsQry.Close()
            Set rsQry = nothing
         End If
         If viewRecordCount = 0 Then
            Call OpenInWindow ( "form_edit_project_view.asp?proj_id="&Request("proj_id"))
         Else
            Call OpenInWindow ( "form_edit_project_view.asp?proj_id="&Request("proj_id")&"&FRview_id="&id)
         End If
      End Select
   End If

End If

' Set view type if required
Call SetViewType ()

' Get current view type
ViewType = 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.Close
   Set 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">&nbsp;</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 Then
                     Response.write LIMG_TREE_VIEW
                  Else
                     Response.write LIMG_LIST_VIEW
                  End If
                  %>
               </td>
               <td width="100%" bgcolor="#DAD7C8">
                  <%
                  Dim aBtnsDef
                  ' Define action buttons
                  aBtnsDef = Array("btnNewRelease", "btnEditRelease", "btnMoveRelease", "width=20", "btnDestroyRelease", "width=20", "btnMergeManager", "width=20", "btnAdminView")

                  ' Load action buttons from database
                  Call objBtnControl.LoadActionButtons ( aBtnsDef, OraDatabase )

                  ' Set spacing to minimum between buttons
                  objBtnControl.ButtonSpacer = 0
                  objBtnControl.ImageHspace = 2

                  ' Access Control
                  If 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 Buttons
                  Call 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_NUMBER
                           OraDatabase.Parameters.Add "PROJ_ID",  parProjId,  ORAPARM_INPUT, ORATYPE_NUMBER

                           Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("ReleaseVersionTree.sql") , ORADYN_DEFAULT )
                           lastLevel = 0

                           'OraDatabase.Parameters.Remove "TREE_VERSION"
                           OraDatabase.Parameters.Remove "PROJ_ID"

                           Dim lastRtagId, parentRtag_id

                           If rsQry.RecordCount > 0 Then

                              Set objDmSts = New DaemonStatus
                              Call 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 order
                              While (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") )%>&nbsp;<%=rsQry("rtag_name")%></a>
                                       <td bgcolor="#F5F5F5" class="body_rowg"><%=rsQry("created_stamp") & " by " & rsQry("creator")%></td>
                                       <%
                                       If parProjId <> 2 Then
                                          Dim assocMASSREF, rsQryAssoc, assocMASSREFName, link
                                          assocMASSREF =  rsQry("assoc_mass_ref")
                                          If assocMASSREF <> "" Then
                                             Set 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.Close
                                             Set rsQryAssoc = Nothing
                                          Else
                                             assocMASSREFName = "None."
                                          End If
                                       Else
                                          Dim UsedBy, rsQryUse, comment, linkB
                                          UsedBy =  rsQry("rtag_id")
                                          If UsedBy <> "" Then
                                             Set 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 Then
                                                   linkB = "dependencies.asp?rtag_id="&rsQryUse("rtag_id")
                                                   If comment = "" Then
                                                      comment = rsQryUse("proj_name") & " -> <a href="&linkB&">"& rsQryUse("rtag_name") &"</a>"
                                                   Else
                                                   comment = comment &" <br> " & rsQryUse("proj_name") & " -> <a href="&linkB&">"& rsQryUse("rtag_name") &"</a>"
                                                   End If
                                                   rsQryUse.MoveNext
                                                End If
                                             WEnd
                                          End 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 release
                                         Call objDmSts.RenderDaemonStatus(rsQry("rtag_id"),16)
                                       %>
                                       </td>
                                 </tr>
                                 <%
                                 lastLevel = currLevel
                                 rsQry.MoveNext
                                 comment = ""
                              WEnd
                              'Next
                              Set objDmSts = Nothing
                           End If
                           rsQry.Close
                           Set 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() %>&nbsp;Show&nbsp;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">&nbsp;Open&nbsp;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">&nbsp;Restrictive&nbsp;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">&nbsp;CCB&nbsp;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">&nbsp;Closed&nbsp;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">&nbsp;Archive&nbsp;Mode
                                    </td>
                                 </tr>
                                 <tr>
                                    <td background="images/bg_action_norm.gif">&nbsp;</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">&nbsp;</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">&nbsp;</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) Then
                              OraDatabase.Parameters.Add "PROJ_ID",  parProjId,  ORAPARM_INPUT, ORATYPE_NUMBER

                              rsQryStr = GetQuery ("ReleaseVersionList.sql")
                              rsQryStr = Replace(rsQryStr, "/*SHOW_FILTER*/", parShowFilter)

                              Set rsQry = OraDatabase.DbCreateDynaset( rsQryStr, ORADYN_DEFAULT )
                              lastLevel = 0

                              OraDatabase.Parameters.Remove "PROJ_ID"


                              If rsQry.RecordCount > 0 Then

                                 aVersions = rsQry.GetRows()
                                 lastRow = UBound( aVersions, 2 )

                                 Set objDmSts = New DaemonStatus
                                 Call 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 ) )%>&nbsp;<%=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 Then
                                          assocMASSREF = aVersions( rsQry.FieldIndex("assoc_mass_ref"), i )
                                          If assocMASSREF <> "" Then
                                             Set 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.Close
                                             Set rsQryAssoc = Nothing
                                          Else
                                             assocMASSREFName = "None."
                                          End If
                                       Else
                                          UsedBy = aVersions( rsQry.FieldIndex("rtag_id"), i )
                                          If UsedBy <> "" Then
                                          Set 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 Then
                                                linkB = rsQryUse("rtag_id")
                                                   If comment = "" Then
                                                      comment = rsQryUse("proj_name") & " -> <a href=dependencies.asp?rtag_id="&linkB&">"& rsQryUse("rtag_name") &"</a>"
                                                   Else
                                                   comment = comment &" <br> " & rsQryUse("proj_name") & " -> <a href=dependencies.asp?rtag_id="&linkB&">"& rsQryUse("rtag_name") &"</a>"
                                                   End If
                                                   rsQryUse.MoveNext
                                                End If
                                             WEnd
                                          End 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">&nbsp;</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 release
                                         Call objDmSts.RenderDaemonStatus(aVersions( rsQry.FieldIndex("rtag_id"), i ),16)
                                       %>
                                       </td>
                                    </tr>
                                    <%
                                    'lastLevel = currLevel
                                    comment = ""
                                 Next
                                 Set objDmSts = Nothing
                              End If

                              rsQry.Close
                              Set rsQry = Nothing
                           End 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>&nbsp;</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
%>