Subversion Repositories DevTools

Rev

Rev 6784 | Rev 6874 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

<%@LANGUAGE="VBSCRIPT"%>
<%
'=====================================================
'
'  Build Status Information
'
'=====================================================
%>
<%
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/_form_window_common.asp"-->
<!--#include file="_action_buttons.asp"-->
<!--#include file="class/classActionButtonControl.asp"-->
<!--#include file="common/daemon_instructions.asp"-->
<!--#include file="common/common_daemon.asp"-->
<% '------------ ACCESS CONTROL ------------------ %>
<!--#include file="_access_control_login_optional.asp"-->
<!--#include file="_access_control_general.asp"-->
<!--#include file="_access_control_action_project.asp"-->
<% '------------ Scripts -------------------------- %>
<%
'------------ Variable Definition -------------
Dim rsQry
Dim parRtagId
Dim query_string
Dim rcon_id
Dim shref_base
Dim canControl
'------------ Constants Declaration -----------
'------------ Variable Init -------------------
parRtagId = Request("rtag_id")
objPMod.PersistInQryString("rtag_id")
canControl = canActionControlInProject("BuildControl")
'----------------------------------------------
Sub IncludePackages()

   On Error Resume Next
   objEH.ErrorRedirect = TRUE
   OraDatabase.Parameters.Add "PV_ID_LIST",  Request("pv_id_list"),  ORAPARM_INPUT, ORATYPE_VARCHAR2
   OraDatabase.Parameters.Add "RTAG_ID",     parRtag_id,  ORAPARM_INPUT, ORATYPE_NUMBER
   OraDatabase.Parameters.Add "USER_ID",     objAccessControl.UserId,  ORAPARM_INPUT, ORATYPE_NUMBER

   objEH.TryORA ( OraSession )
   OraDatabase.ExecuteSQL "BEGIN  Ripple_Package( :PV_ID_LIST, :RTAG_ID, :USER_ID );  END;"
   objEH.CatchORA ( OraSession )

   OraDatabase.Parameters.Remove "PV_ID_LIST"
   OraDatabase.Parameters.Remove "RTAG_ID"
   OraDatabase.Parameters.Remove "USER_ID"

End Sub
'--------------------------------------------------------------------------------------------------------------------------
'------------ RUN BEFORE PAGE RENDER ----------
shref_base = "http://" & archive_server & "/devl/abtlog/"

'----------------------------------------------------
' --- RUN onPostBack ---
If Request("action") <> "" AND objAccessControl.UserLogedIn Then

  If objEH.Finally Then
    If Request("action") = "include" Then
      Call IncludePackages ()
      ' Redirect to the current page so that a refesh will not
      ' cause a form re-submit.
      Call Destroy_All_Objects
      Response.Redirect(ScriptName & "?rtag_id=" & parRtagId)
    Else
      Call OpenInWindow ( "dependencies.asp?rtag_id="& parRtagId )
    End If
  End If

End If

'----------------------------------------------
Sub ShowBuildStatus
    <!-- FORM START -->
    objFormComponent.FormName = "FormName"
    objFormComponent.Action = ScriptName &"?rtag_id="& parRtagId
    Call objFormComponent.FormStart()
    %>
    <table class="embedded_table" style="margin-bottom:20px">
      <tr>
         <td>
                <tr>
                    <td>
                        <table class="rounded_box embedded_table">
                          <caption nowrap class="form_ttl tleft">BUILD STATUS INFORMATION</caption>
                            <tr>
                                <td>
                                    <div class='round_box_pad'>
                                <!-- MESSAGE +++++++++++++++++++++++++++++++++++++++++++++++++++ -->
                                <!--#include file="messages/_msg_inline.asp"-->
                                <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
                                <table width="100%" border="0" cellspacing="2" cellpadding="0">
                                    <tr>
                                        <td colspan=4 class='err_alert'><font size='2'><b>Packages Excluded From Build</b></font></td>
                                    </tr>
                                    <tr>
                                    <td></td>
                                    <td  colspan=3 class="body_row">
                                       <fieldset class="fset" align="right" style=" border: 1px groove;">
                                            Show
                                            <input type="checkbox" checked value=0 name="showManual"   id="manualCause"   onClick="toggleDispClass('manualCause',1);">Manual Exclusions
                                            <input type="checkbox" checked value=0 name="showCause"    id="rootCause"     onClick="toggleDispClass('rootCause',1);">Config Errors
                                            <input type="checkbox" checked value=0 name="showNoEnv"    id="rootNoEnv"     onClick="toggleDispClass('rootNoEnv',1);">Env Errors
                                            <input type="checkbox" checked value=0 name="showFile"     id="rootFile"      onClick="toggleDispClass('rootFile',1);">Build Errors
                                            <input type="checkbox" checked value=0 name="showIndirect" id="rootIndirect"  onClick="toggleDispClass('rootIndirect',1);">Indirect Exclusions
                                       </fieldset>
                                       </td>
                                    </tr>

                                   <tr>
                                      <td class="err_alert body_lcol"><b>Directly</b></td>
                                      <td valign="top" nowrap class="body_lcol">Package</td>
                                      <td valign="top" nowrap class="body_lcol">Version</td>
                                      <td valign="top" nowrap class="body_lcol">Root Cause</td>
                                   </tr>
                                   <tr>
               <%
               query_string = " select pkg.pkg_name, pv.pkg_version, pv.pv_id, dnr.rtag_id, dnr.root_cause, dnr.root_file, pv.pv_description, dnr.root_pv_id"&_
                              "   from do_not_ripple dnr, package_versions pv, packages pkg"&_
                              "  where dnr.rtag_id = "& parRtagId &_
                              "    and pv.pv_id    = dnr.pv_id"&_
                              "    and pkg.pkg_id  = pv.pkg_id"&_
                              "    and nvl(dnr.root_pv_id, -1) < 0 " &_
                              "  order by pkg_name"
               Set rsQry = OraDatabase.DbCreateDynaset( query_string, ORADYN_DEFAULT )
               '--- Render rows ---
               Do While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
                Dim rowClass
                Dim rowData
                '
                ' Manually excluded packages have no root_cause or root_file or root_pv_id
                '
                ' root_file, if supplied, indicates a build failure log file exists
                ' this should always prevail over the textual root_cause
                '
                If (IsNull(rsQry("root_file")) AND IsNull(rsQry("root_cause"))) Then
                    rowData = "Manually Excluded"
                    rowClass = "manualCause"

                ElseIf IsNull(rsQry("root_file")) Then
                   rowData = rsQry("root_cause")
                   If InStr(rowData, "no build env") Then
                       rowClass = "rootNoEnv"
                   Else
                       rowClass = "rootCause"
                   End If

                Else
                    rowClass = "rootFile"
                    rowData = "<a class=""txt_linked"" title=""" & rsQry("root_file") &_
                              " Log file may have expired."" " &_
                              "href=""" & shref_base & rsQry("root_file") & """>" &_
                              "Build Failure Log File</a>"
                End If

                Dim checkBoxData, checkBoxClass
                If NiceInt(rsQry("root_pv_id"), -1) = -1   Then
                    checkBoxData = ""
                    checkBoxClass = "directInclude"
                Else
                    checkBoxData = "disabled"
                    checkBoxClass = ""    
                End If

               %>
                  <tr class="<%=rowClass%>">
                     <td colspan="5" class=body_line></td>
                  </tr>
                  <tr class="<%=rowClass%>">
                     <td nowrap width="1%">
                        <a name="PkgName_<%=rsQry("pkg_name")%>">
                        <input class="<%=checkBoxClass%>" type="checkbox" value="<%=rsQry("pv_id")%>" name="pv_id_list" <%=checkBoxData%>>
                        </a>
                     </td>
                     <td nowrap class="body_rowg"><a class="txt_linked" href="dependencies.asp?pv_id=<%=rsQry("pv_id")%>&rtag_id=<%=rsQry("rtag_id")%>" title="<%=rsQry("pv_description")%>"><%=rsQry("pkg_name")%></a></td>
                     <td nowrap class="body_rowg"><%=rsQry("pkg_version")%></td>
                     <td nowrap class="body_rowg"><%=rowData%></td>
                  </tr>
               <%
                rsQry.MoveNext
               Loop

               query_string = " select pv.pv_id, pkg.pkg_name, pv.pkg_version, qkg.pkg_name, dnr.rtag_id, pv.pv_description"&_
                              "   from do_not_ripple dnr, package_versions pv, package_versions qv, packages pkg, packages qkg"&_
                              "  where dnr.rtag_id = "& parRtagId &_
                              "    and pv.pv_id    = dnr.pv_id"&_
                              "    and pkg.pkg_id  = pv.pkg_id"&_
                              "    and qv.pv_id    = dnr.root_pv_id"&_
                              "    and qkg.pkg_id  = qv.pkg_id"&_
                              "    and nvl(dnr.root_pv_id, -1) > 0"&_
                              "  order by pkg.pkg_name"
               Dim rsQry2
               Set rsQry2 = OraDatabase.DbCreateDynaset( query_string, ORADYN_DEFAULT )
               ' -- DISPLAY INDIRECTLY EXCLUDED PACKAGES
               '--- Render rows ---
                If rsQry2.recordCount > 0    Then 
                %>
                  <tr>
                  <td class="body_lcol err_alert"><b>Indirectly</b></td>
                  <td valign="top" nowrap class="body_lcol">Package</td>
                  <td valign="top" nowrap class="body_lcol">Version</td>
                  <td valign="top" nowrap class="body_lcol">Root Cause Package</td>
                  </tr>
               <%
                End If
               Do While (NOT rsQry2.BOF) AND (NOT rsQry2.EOF)%>
                  <tr class="rootIndirect">
                     <td colspan="5" class=body_line></td>
                  </tr>
                  <tr class="rootIndirect">

                     <td nowrap><input type="checkbox" value=0 disabled=true name="notused"></td>
                     <td nowrap class="body_rowg"><a class="txt_linked" href="dependencies.asp?pv_id=<%=rsQry2(0)%>&rtag_id=<%=rsQry2(4)%>" title="<%=rsQry2(5)%>"><%=rsQry2(1)%></a></td>
                     <td nowrap class="body_rowg"><%=rsQry2(2)%></td>
                     <td nowrap class="body_rowg"><a href="#PkgName_<%=rsQry2(3)%>" style="text-decoration: none;">&raquo;&nbsp;<%=rsQry2(3)%></a></td>
                  </tr>
                  <%
                  rsQry2.MoveNext
               Loop%>
            </table>
             <table class="full_table form_bg_light">
                 <tr>
                     <td><input id="toggleDirect" 
                                <%=Iif(rsQry.RecordCount > 0, "", " disabled ")%>
                                type="checkbox" title="Toggle all visible directly excluded packages"></td>
                     <td align="right">
                        <%
                        Response.Write(objFormComponent.SubmitButton ( "Include", "name='IncludeSubmit' id='IncludeSubmit' class='form_btn' disabled style='color:silver' onClick=""return vixConfirm('Are you sure you want to include these packages for building?',{title:'Include Packages', post : 'FormName'})""" ))
                        Response.Write(objPMod.ComposeHiddenTags())
                        %>
                     </td>
                 </tr>
             </table>
            </div>
         </td>
      </tr>
    </table>
    </td>
    </tr>
    </table>
    <!-- ACTION BUTTONS ---------------------------------------------->
    <input type="hidden" name="action" value="include">
    <!-- ACTION BUTTONS END  ------------------------------------------>
    <%Call objFormComponent.FormEnd()%>
    <!-- FORM END ----------------------------------------------------->
    <%
    rsQry.Close()
    Set rsQry = nothing
    rsQry2.Close()
    Set rsQry2 = nothing
End Sub
'-------------------------------------------------
' 
Sub ShowDaemonStatus
%>
<table class="embedded_table" style="margin-bottom:20px">
    <tr>
        <td>
            <table class="rounded_box embedded_table">
                <caption>
                    <table align="center" class="full_table">
                       <tr>
                          <td nowrap class="form_ttl"><p>DAEMON STATUS INFORMATION</p>
                          </td>
                          <td  valign="bottom" class="body_rowg">
                            Last Build: <%=GetLastBuildAge(parRtagId)%> [<%=GetModifiedSeqNo(parRtagId)%>]
                          </td>
                          <td align="right" valign="bottom">
                            <a class="txt_linked" href="<%=scriptName%>?rtag_id=<%=parRtagId%>" title="Refresh Page">[Refresh]</a>
                          </td>
                       </tr>
                    </table>
                </caption>
            <tr>
                <td>
                    <div class='round_box_pad'>
                        <!-- MESSAGE +++++++++++++++++++++++++++++++++++++++++++++++++++ -->
                        <!--#include file="messages/_msg_inline.asp"-->
                        <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
                        <br>
                        <table width="100%" border="0" cellspacing="2" cellpadding="0">
                           <%
                           Dim bInactiveMachine : bInactiveMachine = false
                           Dim indefinitelyPaused : indefinitelyPaused = Indefinitely_Paused()
                           ' Insert a warning into the page if the build daemons are indefintely paused.
                           If indefinitelyPaused Then %>
                              <tr>
                                 <span class='err_alert'>
                                    <font size='2'><b>WARNING: Build Daemons are all stopped - please contact an administrator</b></font>
                                 </span>
                              </tr>
                           <%End If
                           %>
                           <td width="9%" valign="top"></td>
                           <tr>
                              <td valign="top" nowrap class="body_lcol">Daemon Host</td>
                              <td valign="top" nowrap class="body_lcol">Machine Type</td>
                              <td valign="top" nowrap class="body_lcol">Mode</td>
                              <td valign="top" nowrap class="body_lcol">Run Level</td>
                              <td valign="top" nowrap class="body_lcol">Current Package</td>
                              <td valign="top" nowrap class="body_lcol">Est Duration<%=Quick_Help("h_buildtime")%></td>
                              <td valign="top" nowrap class="body_lcol">Last Change<%=Quick_Help("h_lastchange")%></td>
                              <td valign="top" nowrap class="body_lcol">Control State</td>
                           </tr>
                           <%
                           ' Get Build Information for this Release
                           query_string = _
                                "SELECT rc.rcon_id, display_name, gbe_value, daemon_mode, NVL(ACTIVE, 'U') AS ACTIVE," &_
                                "       rl.pause, rl.current_run_level, rl.current_pkg_id_being_built, TRUNC (86400*(SYSDATE - rl.KEEP_ALIVE)) AS delta," &_
                                "       pk.pkg_name, rl.current_pv_id, pv.build_time, TRUNC (86400*(SYSDATE - rl.LAST_BUILD)) AS build_delta" &_
                                " FROM release_config rc," &_
                                "   gbe_machtype gm," &_
                                "   build_machine_config bm," &_
                                "   run_level rl," &_
                                "   packages pk," &_
                                "   package_versions pv" &_
                                " WHERE rc.rtag_id     = " & parRtagId &_
                                "  AND gm.gbe_id        = rc.gbe_id" &_
                                "  AND rl.rcon_id       = rc.rcon_id" &_
                                "  AND rc.bmcon_id      =bm.bmcon_id(+)" &_
                                "  AND pk.pkg_id(+)     = rl.current_pkg_id_being_built" &_
                                "  AND rl.current_pv_id = pv.pv_id(+)" &_
                                " ORDER BY bm.display_name, rc.rcon_id"

                           Set rsQry = OraDatabase.DbCreateDynaset( query_string, ORADYN_DEFAULT )

                           Do While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
                              Dim pkgName
                              Dim pkgPvid
                              Dim pkgBuildTime
                              Dim currentRunLevel
                              Dim daemonState
                              Dim delta
                              Dim PkgBuildDelta
                              Dim pkgId
                              Dim bActive
                              Dim estDuration
                              Dim daemonMode 
                              Dim lastChange

                              rcon_id = rsQry("rcon_id")
                              ' = rsQry("display_name")
                              ' = rsQry("gbe_value")
                              daemonMode = rsQry("daemon_mode")
                              bActive = rsQry("ACTIVE")
                              daemonState = rsQry("pause")
                              currentRunLevel = rsQry("current_run_level")
                              pkgId = rsQry("current_pkg_id_being_built")
                              delta = rsQry("delta")
                              pkgName = rsQry("pkg_name")
                              pkgPvid = rsQry("current_pv_id")
                              pkgBuildTime = rsQry("build_time")
                              PkgBuildDelta = rsQry("build_delta")
                              lastChange = NULL
                              bInactiveMachine = FALSE
                              estDuration = NULL

                              If bActive = "N" Then bInactiveMachine = true
                              If IsNull(daemonState) Then daemonState = 0
                              If daemonState = "2" Then pkgId = Null
                              If IsNull(currentRunLevel) Then currentRunLevel = -1
                              If daemonMode = "M" AND not IsNull(pkgName) Then estDuration = pkgBuildTime & "[" & PkgBuildDelta & "]"
                              If bActive <> "U" Then lastChange = PrettyDelta(delta, daemonState,pkgName )

                              ' --- Now render HTML for this release configuration ---
                              %>
                              <tr>
                                 <td colspan="8" class=body_line></td>
                              </tr>
                              <tr>
                                 <td nowrap class="body_rowg"><%=rsQry("display_name")%></td>
                                 <td nowrap class="body_rowg"><%=rsQry("gbe_value")%></td>
                                 <td nowrap class="body_rowg"><%=Get_Daemon_Mode(daemonMode)%></td>
                                 <td nowrap class="body_rowg"><%=Get_Run_Level(currentRunLevel, indefinitelyPaused, daemonState, bActive)%></td>
                                 <td nowrap class="body_rowg"><%=Get_Package_Name(pkgName,parRtagId,pkgPvid, daemonState, bActive)%></td>
                                 <td nowrap class="body_rowg"><%=estDuration%></td>
                                 <td nowrap class="body_rowg"><%=lastChange%></td>
                                 <td nowrap class="body_rowg">
                                    <%
                                    If NOT indefinitelyPaused  Then
                                        If bActive = "U" Then
                                        ElseIf bActive = "N" Then
                                            Call Action_Buttons ( "Daemon Unavailable" )
                                        ElseIf daemonState = 0 Then
                                            Call Action_Buttons_State ( "Daemon Pause", canControl )
                                        ElseIf daemonState = 1 Then
                                            Call Action_Buttons_State ( "Daemon Resume", canControl )
                                        ElseIf daemonState = 2 Then
                                            Call Action_Buttons_State ( "Daemon Start", canControl )
                                        Else
                                            Call Action_Buttons_State ( "Daemon Resume", canControl )
                                      End If
                                    Else
                                       %>Unavailable<%
                                    End If
                                    %>
                                 </td>
                              </tr>
                              <%
                              rsQry.MoveNext
                           Loop
                           %>
                           <tr class=form_bg_light>
                             <td nowrap class="body_col" colspan=7>
                             <%If CheckConfigErrors(parRtagId) OR bInactiveMachine Then%><span class="err_alert">&nbsp;Daemon configuration errors detected</span>
                                <a class="txt_linked" href="release_config.asp?rtag_id=<%=parRtagId%>">
                                    <img src="images/i_link.gif" hspace="2" border="0" align="absmiddle" title="Goto Configuration">
                                </a>
                             <%End If%>
                             </td>
                             <td valign="bottom" nowrap class="body_col">
                             <%
                               If (rsQry.RecordCount > 0) AND NOT indefinitelyPaused Then
                                   Call Action_Buttons_State ( "Daemon Control All", objAccessControl.UserLogedIn AND canControl )
                               Else
                                 %>&nbsp<%
                               End If
                             %>
                             </td>
                           </tr>
                           <%
                             rsQry.Close()
                             Set rsQry = nothing
                           %>
                        </table>
                    </div>
                </td>
            </tr>
        </table>
    </td>
</table>
<%
End Sub
'-------------------------------------------------
'
Sub ShowDaemonInstructions
%>
<!-- Daemon Instructions Display -->
<table class="embedded_table" style="margin-bottom:10px">
    <tr>
        <td>
            <table class="rounded_box embedded_table">
                <caption nowrap class="form_ttl tleft">DAEMON INSTRUCTIONS FOR THIS RELEASE</caption>
                <tr>
                    <td>
                        <div class='round_box_pad'>
                            <table width="100%" border="0" cellspacing="2" cellpadding="0">
                               <tr>
                                  <td align="left" nowrap class="body_lcol">Operation</td>
                                  <td align="left" nowrap class="body_lcol">Package</td>
                                  <td align="left" nowrap class="body_lcol">Version</td>
                                  <td align="left" nowrap class="body_lcol">Scheduled Time<%=Quick_Help("SchedTime")%>
                                  <td align="left" nowrap class="body_lcol">Repeat</td>
                                  <td align="left" nowrap class="body_lcol">In Progress</td>
                               </tr>
                               <%
                               Dim PkgVersion
                               Dim UserName
                               Dim UserEmail
                               Dim bInProgress
                               Dim bIsOverdue
                               Dim bIsReady

                               Set rsQry = OraDatabase.DbCreateDynaset( "SELECT DAEMON_INSTRUCTIONS_ID,"&_
                                                                      "       OP_CODE,"&_
                                                                      "       RTAG_ID,"&_
                                                                      "       PV_ID,"&_
                                                                      "       SCHEDULED_DATETIME,"&_
                                                                      "       REPEAT_SECS,"&_
                                                                      "       ADDED_DATETIME,"&_
                                                                      "       USER_ID,"&_
                                                                      "       IN_PROGRESS,"&_
                                                                      "       (CASE WHEN SCHEDULED_DATETIME <= SYSDATE THEN 1 ELSE 0 END) AS READY,"&_
                                                                      "       (CASE WHEN (SCHEDULED_DATETIME + (1/144)) < SYSDATE THEN 1 ELSE 0 END) AS OVERDUE"&_
                                                                      "  FROM DAEMON_INSTRUCTIONS "&_
                                                                      "  WHERE RTAG_ID = "& parRtagId &_
                                                                      "  ORDER BY PV_ID, SCHEDULED_DATETIME, DAEMON_INSTRUCTIONS_ID", ORADYN_DEFAULT )
                               While (NOT rsQry.BOF) AND (NOT rsQry.EOF)

                                  If IsNull(rsQry("IN_PROGRESS")) OR rsQry("IN_PROGRESS") = "0" Then
                                     bInProgress = False
                                  Else
                                     bInProgress = True
                                  End If

                                  ' only flag as overdue if time threshold has been met but the daemon has not marked the instruction as being in progress.
                                  If rsQry("OVERDUE") AND NOT bInProgress Then
                                     bIsOverdue = True
                                  Else
                                     bIsOverdue = False
                                  End If

                                  If rsQry("READY") Then
                                     bIsReady = True
                                  Else
                                     bIsReady = False
                                  End If

                                  ' Get as much info about the package as we can
                                  Dim PkgId: PkgId = 0
                                  Dim PkgName : PkgName = "N/A"
                                  If (NOT IsNull(rsQry("PV_ID"))) AND (rsQry("PV_ID") <> "") Then
                                     Call Get_Pkg_Short_Info(rsQry("PV_ID"), PkgId, PkgName, PkgVersion, NULL, NULL, NULL)
                                  End If
                                  %>
                                  <tr>
                                     <td colspan="6" class=body_line></td>
                                  </tr>
                                  <tr>
                                     <td align="left" valign="top" class="body_rowg nowrap">
                                        <%=DaemonInstructionOperationName(rsQry("OP_CODE"))%>
                                     </td>

                                     <td align="left" valign="top" class="body_rowg">
                                        <%If (NOT IsNull(rsQry("PV_ID"))) AND (rsQry("PV_ID") <> "") Then%>
                                           <a href='fixed_issues.asp?rtag_id=<%=rsQry("RTAG_ID")%>&pv_id=<%=rsQry("PV_ID")%>'><%=PkgName%>
                                        <%Else%>
                                           <%=PkgName%>
                                        <%End If%>
                                     </td>

                                     <td align="left" valign="top" class="body_rowg">
                                        <%=PkgVersion%>
                                     </td>

                                     <td align="left" valign="top" class="body_rowg" <%If bIsOverdue Then%>style=color:Red<%Elseif bIsReady Then%>style=color:Green<%End If%>><%=DisplayDateTime(rsQry("SCHEDULED_DATETIME"))%></td>

                                     <td align="left" valign="top" class="body_rowg"><%=DaemonInstructionRepeatString(rsQry("OP_CODE"), rsQry("REPEAT_SECS"))%></td>

                                     <td align="left" valign="top" class="body_rowg">
                                        <%If bInProgress Then%>
                                           YES
                                        <%Else%>
                                           NO
                                        <%End If%>
                                     </td>
                                  </tr>
                                  <%
                                  rsQry.MoveNext()
                               Wend
                               rsQry.Close()
                               Set rsQry = nothing
                               %>
                            </table>
                        </div>
                    </td>
                </tr>
            </table>
        </td>
    </tr>
</table>
<%
End Sub
%>
<html>
   <head>
      <title>Release Manager</title>
      <link rel="shortcut icon" href="<%=FavIcon%>"/>
      <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?ver=<%=VixVerNum%>" type="text/css">
      <link rel="stylesheet" href="images/navigation.css?ver=<%=VixVerNum%>" type="text/css">
      <script language="JavaScript" src="images/common.js?ver=<%=VixVerNum%>"></script>
      <!--#include file="_jquery_includes.asp"-->
      <!-- TIPS -->
      <script type="text/javascript" src="scripts/json2.js?ver=<%=VixVerNum%>"></script>
      <script language="JavaScript" src="images/tipster.js?ver=<%=VixVerNum%>"></script>
      <script language="JavaScript" src="images/_help_tips.js?ver=<%=VixVerNum%>"></script>
      <script language="JavaScript" type="text/JavaScript">
      formTips.tips.h_buildtime       = stdTip(300, 'Est. Build Duration', 'Estimated build duration in seconds. Based simply on the last build duration for this package');

      formTips.tips.h_lastchange       = stdTip(300, 'Last Change', 'This is an indication of the time since the daemon interogated the database.' +
                                                                  '<p>Short times will be shown as seconds. Longer times will be shown as a time within ' + 
                                                                  'the last 24 hours. Longer times will be shown as a date.' 
                                                                  );
      </script>
    <script language="JavaScript" type="text/JavaScript">
    $(document).ready(function() {
        //
        //  Init the check boxes
        InitShow();
        isChecked('pv_id_list','IncludeSubmit');

<% If objAccessControl.UserLogedIn Then %>
        // Attach function to toggle checkbox
        // toggle all visible checkboxes
         $('#toggleDirect').click(function(){
            var state = this.checked;
            var list = $('.directInclude:visible:enabled');
            list.prop('checked', state);
            isChecked('pv_id_list','IncludeSubmit');
         });

         $('.directInclude').click(function(){
             isChecked('pv_id_list','IncludeSubmit');
         });
<%Else%>
        {
        // Not logged in - disable boxes
        var list = $('.directInclude');
            list.prop('disabled', true);
         $('#toggleDirect').prop('disabled', true);    
        }
<%End If%>

    });

    function InitShow(e)
    {
        toggleDispClass('rootCause',0);
        toggleDispClass('rootNoEnv',0);
        toggleDispClass('rootFile',0);
        toggleDispClass('rootIndirect',0);
        toggleDispClass('manualCause',0);
    }

    function toggleDispClass(cname,flip)
    {
        var cookieName = 'RELMGR_BUILDSTATUS';
        var cv = JSON.parse(getCookie(cookieName));
        if (!cv)
            cv = new Object;
        if (!cv.BuildStatus)
            cv.BuildStatus = new Object;

        var state = cv.BuildStatus[cname];
        if (state === undefined)
            state = true;

        if (flip>0)
            state = !state;

        cv.BuildStatus[cname] = state;

        // Reflect the current state in the checkbox
        var de = document.getElementById(cname);
        if (de)
            de.checked = state;

        var elements = new Array();
        elements = getElementsByClassName(cname);
        for(i in elements ){
            if (state) {
                elements[i].style.display = "";
            }
            else {
                elements[i].style.display = "none";
            }
        }
        setCookie(cookieName, JSON.stringify(cv), 365 );
    }

    </script>
      <!-- DROPDOWN MENUS -->
      <!--#include file="_menu_def.asp"-->
      <script language="JavaScript1.2" src="images/popup_menu.js?ver=<%=VixVerNum%>"></script>
   </head>
   <body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0">
      <!-- HEADER -->
      <!--#include file="_header.asp"-->
      <!-- BODY ---->
      <table class="full_table">
         <tr>
            <td width="146px" class="panel_bg" valign="top">
                <%Call BuildMenuPane%>
            </td>
            <td width="100%" rowspan="2" align="center" valign="top" bgcolor="#EEEFEF">
                <%Call ShowBuildStatus%>
                <%Call ShowDaemonStatus%>
                <%Call ShowDaemonInstructions%>
            </td>
         </tr>
         <tr>
            <td class="panel_bg" valign="bottom" align="center" height="350">
                <img src="images/img_gears.png" vspace="20" hspace="30"></td>
         </tr>
      </table>
      <!-- FOOTER -->
      <!--#include file="_footer.asp"-->
   </body>
</html>