Subversion Repositories DevTools

Rev

Rev 129 | Blame | Compare with Previous | 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

   objEH.TryORA ( OraSession )
   On Error Resume Next

   OraDatabase.ExecuteSQL _
   " BEGIN Build_Tree ( :RTAG_ID, :SESSION_NUM ); END;"

   objEH.CatchORA ( OraSession )

   outSessionNum = OraDatabase.Parameters("SESSION_NUM").Value
   OraDatabase.Parameters.Remove "RTAG_ID"
   OraDatabase.Parameters.Remove "SESSION_NUM"
End Sub


Sub Delete_Build_Tree ( nSessionNum )
   objEH.TryORA ( OraSession )
   On Error Resume Next

   OraDatabase.ExecuteSQL _
   " DELETE FROM TEMP_TREE_BROWSE WHERE session_num = "& nSessionNum

   objEH.CatchORA ( OraSession )
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>