Subversion Repositories DevTools

Rev

Blame | Last modification | View Log | RSS feed

<%@LANGUAGE="VBSCRIPT"%>
<%
'=====================================================
'|                                                   |
'|                         Build Order                               |
'|                                                   |
'=====================================================
%>
<%
Option explicit
' Good idea to set when using redirect
Response.Expires = 0    ' always load the page, dont store
%>
<%
'To enable the script timeout to 20 mins
Server.ScriptTimeout=1200
%>
<!--#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/common_dbedit.asp"-->
<!--#include file="_tabs.asp"-->
<!--#include file="_action_buttons.asp"-->
<%
' Make sure rtag_id is always present
If Request("rtag_id") = "" Then
        Response.Redirect("index.asp")
End If
%>
<%
'------------ ACCESS CONTROL ------------------
%>
<!--#include file="_access_control_general.asp"-->
<%
'------------ Variable Definition -------------
Dim rsOrder
Dim parPv_id
'Dim parMinEnv          ' show/hide whole environment
'------------ Constants Declaration -----------
Const UP_THE_TREE = 1
Const DOWN_THE_TREE = -1
'------------ Variable Init -------------------
Set pkgInfoHash = CreateObject("Scripting.Dictionary")
parPv_id = QStrPar("pv_id")
'parMinEnv = Get_parMinEnv ( QStrPar("minenv") )
'----------------------------------------------
%>
<%
Call Rebuild_Environment ( parRtag_id )
%>
<%
Function Get_Build_Order ( nRtag_id )
        Get_Build_Order = _
        "   SELECT bo.step_num, pv.pv_id, pkg.pkg_name, pv.pkg_version, pv.v_ext, bo.UNRESOLVED "&_
        "         FROM build_order bo,"&_
        "                  package_versions pv,"&_
        "                  packages pkg"&_
        "        WHERE bo.RTAG_ID = "& nRtag_id &_
        "          AND bo.pv_id = pv.pv_id"&_
        "          AND pv.pkg_id = pkg.pkg_id"&_
        "       ORDER BY bo.STEP_NUM, UPPER(pkg.pkg_name)"
End Function


Function Indent
        Indent = "<img src='images/rex_images/_corrner.gif' width='26' height='16' border='0' align='absmiddle'>"
End Function


Function TabsFromStart ( SStabs )
        Dim widthimg
        widthimg = SStabs * 27
        TabsFromStart = "<img src='images/h_trsp_dot.gif' width='"& widthimg &"' height='16' border='0' align='absmiddle'>"
End Function


Sub Generate_Build_Tree ( nRtag_id, outSessionNum )
        OraDatabase.Parameters.Add "RTAG_ID",           nRtag_id,       ORAPARM_INPUT,  ORATYPE_NUMBER
        OraDatabase.Parameters.Add "SESSION_NUM",       0,                      ORAPARM_OUTPUT, ORATYPE_NUMBER

        OraSession.BeginTrans
        
        OraDatabase.ExecuteSQL _
        " BEGIN Build_Tree ( :RTAG_ID, :SESSION_NUM ); END;"
        
        OraSession.CommitTrans
        
        outSessionNum = OraDatabase.Parameters("SESSION_NUM").Value 
        OraDatabase.Parameters.Remove "RTAG_ID"
        OraDatabase.Parameters.Remove "SESSION_NUM"
End Sub


Sub Delete_Build_Tree ( nSessionNum )
        OraSession.BeginTrans
        OraDatabase.ExecuteSQL _
        " DELETE FROM TEMP_TREE_BROWSE WHERE session_num = "& nSessionNum
        OraSession.CommitTrans
End Sub
%>
<html>
<head>
<title>Release Manager</title>
<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>
<!-- HEADER -->
<!--#include file="_header.asp"-->
<!-- BODY ---->
<table width="100%" border="0" cellspacing="0" cellpadding="0">
        <tr> 
                <td valign="top" width="1" background="images/bg_bage.gif">
                <!-- LEFT -->
                </td>
                <td width="1" bgcolor="#999999"><img src="images/h_trsp_dot.gif" width="1" height="1"></td>
                <td valign="top" width="100%">
                <!-- MIDDLE -->
                <table width="100%" border="0" cellspacing="0" cellpadding="0">
                  <tr>
                    <td width="1%" background="images/bg_action_norm.gif"><IMG height=35 src="images/spacer.gif" width=15></td>
                    <td width="100%" background="images/bg_action_norm.gif"></td>
                    <td width="1%" background="images/bg_action_norm.gif"><IMG height=1 src="images/spacer.gif" width=15></td>
                  </tr>
                  <!-- PACKAGE PROPERTIES ----------------------------  -->
                  <%'Call RenderPackageProperties ()%>
                  <tr>
                    <td background="images/bg_lght_gray.gif">&nbsp;</td>
                    <td valign="bottom" background="images/bg_lght_gray.gif">
                      <table width="100" border="0" cellspacing="0" cellpadding="0">
                        <tr>
                          <td><IMG height=1 src="images/spacer.gif" width=150></td>
                          <td>
                                  <!-- TABS ------------------------------------->
                                  <%'Call Generate_Tab_Menu ( TABarray1, "Build Order", "orange" )%>
                                  </td>
                        </tr>
                      </table>
                    </td>
                    <td background="images/bg_lght_gray.gif">&nbsp;</td>
                  </tr>
                  <tr>
                    <td background="images/lbox_bg_orange.gif"><IMG height=35 src="images/spacer.gif" width=1></td>
                    <td background="images/lbox_bg_orange.gif">
                        <!-- TAB ACTION BUTTONS ------------------------------------->
                        </td>
                    <td background="images/lbox_bg_orange.gif">&nbsp;</td>
                  </tr>
                  <tr>
                    <td></td>
                    <td valign="top">
                        <!-- BUILD ORDER --------------------------------------------->
                        <table width="100%" border="0" cellspacing="1" cellpadding="2">
              <tr>
                <td width="1%" align="center" background="images/bg_form_lightbluedark.gif" class="form_field">Steps</td>
                <td width="100%" background="images/bg_form_lightbluedark.gif">&nbsp;
                          <%
                                Dim currLevel, SessionNum, link, stepNum
                                currLevel = 0
                                stepNum = 0
                                Call Generate_Build_Tree ( parRtag_id, SessionNum )             ' Generate Tree
                                
                          %>
                          <!--------------- UP THE TREE ---------------->
                          <%Set rsOrder = OraDatabase.DbCreateDynaset( Get_Build_Order ( parRtag_id ), cint(0))%>
                          <%Do While ((NOT rsOrder.BOF) AND (NOT rsOrder.EOF))%>
                          <%link = "dependencies.asp?pv_id="& rsOrder("pv_id") &"&rtag_id="& parRtag_id%>
                          <%If currLevel <> CInt( rsOrder("step_num") ) Then%>
                                <%
                                  currLevel = CInt( rsOrder("step_num") )
                                  stepNum = stepNum + 1
                                %>
                                </td>
                          </tr>
                                  <tr>
                                        <%If IsNull(rsOrder("UNRESOLVED")) Then%>
                                        <td colspan="2" background="images/bg_form_lightbluedark_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
                                        <%Else%>
                                        <td bgcolor="#FF3C3C"></td>
                                        <td bgcolor="#FFECEC" align="center" class="err_alert" nowrap><b>Circular dependency detected!</b></td>
                                        <%End If%>
                              </tr>
                                  <tr>
                                        <td align="center" <%If IsNull(rsOrder("UNRESOLVED")) Then%>background="images/bg_form_lightbluedark.gif"<%Else%>bgcolor="#FF3C3C"<%End If%> class="lbox_ttl"><%=stepNum%></td>
                                        <td class="body_txt" <%If NOT IsNull(rsOrder("UNRESOLVED")) Then%>bgcolor="#FFECEC"<%End If%>><a href="<%=link%>" class="sublbox_item"><%=rsOrder("pkg_name") &"&nbsp;&nbsp;"& rsOrder("v_ext")%></a><br>
                          <%Else%>
                                 <a href="<%=link%>" class="sublbox_item"><%=rsOrder("pkg_name") &"&nbsp;&nbsp;"& rsOrder("v_ext")%></a><br>
                          <%End If%>
                          <%rsOrder.MoveNext
                          Loop%>
                          <%
                          '  Clean up temporary table 
                          Call Delete_Build_Tree ( SessionNum ) ' Clean UP
                          %>
                            </td>
              </tr>
                          <tr>
                <td colspan="2" background="images/bg_form_lightbluedark_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
              </tr>
            </table>
                        <br><br>
                        <!------------------------------------------------------------> 
                        </td>
                    <td>&nbsp;</td>
                  </tr>
                </table>
                <!-- END MIDDLE -------->
                </td>
        </tr>
</table>
<!-- FOOTER -->
<!--#include file="_footer.asp"-->
</body>
</html>