Subversion Repositories DevTools

Rev

Rev 6545 | Rev 6548 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 6545 Rev 6546
Line 77... Line 77...
77
  End If
77
  End If
78
 
78
 
79
End If
79
End If
80
 
80
 
81
'----------------------------------------------
81
'----------------------------------------------
-
 
82
Sub ShowBuildStatus
-
 
83
    <!-- FORM START -->
-
 
84
    objFormComponent.FormName = "FormName"
-
 
85
    objFormComponent.Action = ScriptName &"?rtag_id="& parRtagId
-
 
86
    Call objFormComponent.FormStart()
-
 
87
    %>
-
 
88
    <table class="embedded_table" style="margin-bottom:20px">
-
 
89
      <tr>
-
 
90
         <td>
-
 
91
            <table width="95%" border="0" cellspacing="0" cellpadding="0" align="center">
-
 
92
                <tr>
-
 
93
                    <td nowrap class="form_ttl" align="left">BUILD STATUS INFORMATION</td>
-
 
94
                </tr>
-
 
95
            </table>
-
 
96
                <tr>
-
 
97
                    <td>
-
 
98
                        <table class="rounded_box embedded_table">
-
 
99
                            <tr>
-
 
100
                                <td bgcolor="#FFFFFF"><img src="images/h_trsp_dot.gif" width="10" height="100"></td>
-
 
101
                                <td bgcolor="#FFFFFF" valign="top">
-
 
102
                                <!-- MESSAGE +++++++++++++++++++++++++++++++++++++++++++++++++++ -->
-
 
103
                                <!--#include file="messages/_msg_inline.asp"-->
-
 
104
                                <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
-
 
105
                                <table width="100%" border="0" cellspacing="2" cellpadding="0">
-
 
106
                                    <tr>
-
 
107
                                        <td colspan=4 class='err_alert'><font size='2'><b>Packages Excluded From Build</b></font></td>
-
 
108
                                    </tr>
-
 
109
                                    <tr>
-
 
110
                                    <td></td>
-
 
111
                                    <td  colspan=3 class="body_row">
-
 
112
                                       <fieldset class="fset" align="right" style=" border: 1px groove;">
-
 
113
                                            Show
-
 
114
                                            <input type="checkbox" checked value=0 name="showManual"   id="manualCause"   onClick="toggleDispClass('manualCause',1);">Manual Exclusions
-
 
115
                                            <input type="checkbox" checked value=0 name="showCause"    id="rootCause"     onClick="toggleDispClass('rootCause',1);">Config Errors
-
 
116
                                            <input type="checkbox" checked value=0 name="showNoEnv"    id="rootNoEnv"     onClick="toggleDispClass('rootNoEnv',1);">Env Errors
-
 
117
                                            <input type="checkbox" checked value=0 name="showFile"     id="rootFile"      onClick="toggleDispClass('rootFile',1);">Build Errors
-
 
118
                                            <input type="checkbox" checked value=0 name="showIndirect" id="rootIndirect"  onClick="toggleDispClass('rootIndirect',1);">Indirect Exclusions
-
 
119
                                       </fieldset>
-
 
120
                                       </td>
-
 
121
                                    </tr>
-
 
122
 
-
 
123
                                   <tr>
-
 
124
                                      <td background="images/bg_table_col.gif" class="err_alert"><b>Directly</b></td>
-
 
125
                                      <td valign="top" nowrap background="images/bg_table_col.gif" class="body_col">Package</td>
-
 
126
                                      <td valign="top" nowrap background="images/bg_table_col.gif" class="body_col">Version</td>
-
 
127
                                      <td valign="top" nowrap background="images/bg_table_col.gif" class="body_col">Root Cause</td>
-
 
128
                                   </tr>
-
 
129
                                   <tr>
-
 
130
               <%
-
 
131
               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"&_
-
 
132
                              "   from do_not_ripple dnr, package_versions pv, packages pkg"&_
-
 
133
                              "  where dnr.rtag_id = "& parRtagId &_
-
 
134
                              "    and pv.pv_id    = dnr.pv_id"&_
-
 
135
                              "    and pkg.pkg_id  = pv.pkg_id"&_
-
 
136
                              "    and nvl(dnr.root_pv_id, -1) < 0 " &_
-
 
137
                              "  order by pkg_name"
-
 
138
               Set rsQry = OraDatabase.DbCreateDynaset( query_string, ORADYN_DEFAULT )
-
 
139
               '--- Render rows ---
-
 
140
               Do While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
-
 
141
                Dim rowClass
-
 
142
                Dim rowData
-
 
143
                '
-
 
144
                ' Manually excluded packages have no root_cause or root_file or root_pv_id
-
 
145
                '
-
 
146
                ' root_file, if supplied, indicates a build failure log file exists
-
 
147
                ' this should always prevail over the textual root_cause
-
 
148
                '
-
 
149
                If (IsNull(rsQry("root_file")) AND IsNull(rsQry("root_cause"))) Then
-
 
150
                    rowData = "Manually Excluded"
-
 
151
                    rowClass = "manualCause"
-
 
152
 
-
 
153
                ElseIf IsNull(rsQry("root_file")) Then
-
 
154
                   rowData = rsQry("root_cause")
-
 
155
                   If InStr(rowData, "no build env") Then
-
 
156
                       rowClass = "rootNoEnv"
-
 
157
                   Else
-
 
158
                       rowClass = "rootCause"
-
 
159
                   End If
-
 
160
 
-
 
161
                Else
-
 
162
                    rowClass = "rootFile"
-
 
163
                    rowData = "<a class=""txt_linked"" title=""" & rsQry("root_file") &_
-
 
164
                              " Log file may have expired."" " &_
-
 
165
                              "href=""" & shref_base & rsQry("root_file") & """>" &_
-
 
166
                              "Build Failure Log File</a>"
-
 
167
                End If
-
 
168
 
-
 
169
                Dim checkBoxData, checkBoxClass
-
 
170
                If NiceInt(rsQry("root_pv_id"), -1) = -1   Then
-
 
171
                    checkBoxData = ""
-
 
172
                    checkBoxClass = "directInclude"
-
 
173
                Else
-
 
174
                    checkBoxData = "disabled"
-
 
175
                    checkBoxClass = ""    
-
 
176
                End If
-
 
177
 
-
 
178
               %>
-
 
179
                  <tr class="<%=rowClass%>">
-
 
180
                     <td colspan="5" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
-
 
181
                  </tr>
-
 
182
                  <tr class="<%=rowClass%>">
-
 
183
                     <td nowrap width="1%">
-
 
184
                        <a name="PkgName_<%=rsQry("pkg_name")%>">
-
 
185
                        <input class="<%=checkBoxClass%>" type="checkbox" value="<%=rsQry("pv_id")%>" name="pv_id_list" <%=checkBoxData%>>
-
 
186
                        </a>
-
 
187
                     </td>
-
 
188
                     <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>
-
 
189
                     <td nowrap class="body_rowg"><%=rsQry("pkg_version")%></td>
-
 
190
                     <td nowrap class="body_rowg"><%=rowData%></td>
-
 
191
                  </tr>
-
 
192
               <%
-
 
193
                rsQry.MoveNext
-
 
194
               Loop
-
 
195
 
-
 
196
               query_string = " select pv.pv_id, pkg.pkg_name, pv.pkg_version, qkg.pkg_name, dnr.rtag_id, pv.pv_description"&_
-
 
197
                              "   from do_not_ripple dnr, package_versions pv, package_versions qv, packages pkg, packages qkg"&_
-
 
198
                              "  where dnr.rtag_id = "& parRtagId &_
-
 
199
                              "    and pv.pv_id    = dnr.pv_id"&_
-
 
200
                              "    and pkg.pkg_id  = pv.pkg_id"&_
-
 
201
                              "    and qv.pv_id    = dnr.root_pv_id"&_
-
 
202
                              "    and qkg.pkg_id  = qv.pkg_id"&_
-
 
203
                              "    and nvl(dnr.root_pv_id, -1) > 0"&_
-
 
204
                              "  order by pkg.pkg_name"
-
 
205
               Dim rsQry2
-
 
206
               Set rsQry2 = OraDatabase.DbCreateDynaset( query_string, ORADYN_DEFAULT )
-
 
207
               ' -- DISPLAY INDIRECTLY EXCLUDED PACKAGES
-
 
208
               '--- Render rows ---
-
 
209
                If rsQry2.recordCount > 0    Then 
-
 
210
                %>
-
 
211
                  <tr>
-
 
212
                  <td background="images/bg_table_col.gif" class="err_alert"><b>Indirectly</b></td>
-
 
213
                  <td valign="top" nowrap background="images/bg_table_col.gif" class="body_col">Package</td>
-
 
214
                  <td valign="top" nowrap background="images/bg_table_col.gif" class="body_col">Version</td>
-
 
215
                  <td valign="top" nowrap background="images/bg_table_col.gif" class="body_col">Root Cause Package</td>
-
 
216
                  </tr>
-
 
217
               <%
-
 
218
                End If
-
 
219
               Do While (NOT rsQry2.BOF) AND (NOT rsQry2.EOF)%>
-
 
220
                  <tr class="rootIndirect">
-
 
221
                     <td colspan="5" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
-
 
222
                  </tr>
-
 
223
                  <tr class="rootIndirect">
-
 
224
 
-
 
225
                     <td nowrap><input type="checkbox" value=0 disabled=true name="notused"></td>
-
 
226
                     <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>
-
 
227
                     <td nowrap class="body_rowg"><%=rsQry2(2)%></td>
-
 
228
                     <td nowrap class="body_rowg"><a href="#PkgName_<%=rsQry2(3)%>" style="text-decoration: none;">&raquo;&nbsp;<%=rsQry2(3)%></a></td>
-
 
229
                  </tr>
-
 
230
                  <%
-
 
231
                  rsQry2.MoveNext
-
 
232
               Loop%>
-
 
233
            </table>
-
 
234
         </td>
-
 
235
         <td background="images/lbox_bgside_white.gif">&nbsp;</td>
-
 
236
      </tr>
-
 
237
      <tr background="images/bg_action_norm.gif">
-
 
238
         <td></td>
-
 
239
         <td>
-
 
240
         <table class="full_table">
-
 
241
             <tr>
-
 
242
                 <td><input id="toggleDirect" 
-
 
243
                            <%=Iif(rsQry.RecordCount > 0, "", " disabled ")%>
-
 
244
                            type="checkbox" title="Toggle all visible directly excluded packages"></td>
-
 
245
                 <td align="right">
-
 
246
                    <%
-
 
247
                    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'})""" ))
-
 
248
                    Response.Write(objPMod.ComposeHiddenTags())
-
 
249
                    %>
-
 
250
                 </td>
-
 
251
             </tr>
-
 
252
         </table>
-
 
253
         </td>
-
 
254
         <td background="images/bg_action_norm.gif"><img src="images/h_trsp_dot.gif" width="5" height="30"></td>
-
 
255
      </tr>
-
 
256
    </table>
-
 
257
    </td>
-
 
258
    </tr>
-
 
259
    </table>
-
 
260
    <!-- ACTION BUTTONS ---------------------------------------------->
-
 
261
    <input type="hidden" name="action" value="include">
-
 
262
    <!-- ACTION BUTTONS END  ------------------------------------------>
-
 
263
    <%Call objFormComponent.FormEnd()%>
-
 
264
    <!-- FORM END ----------------------------------------------------->
-
 
265
    <%
-
 
266
    rsQry.Close()
-
 
267
    Set rsQry = nothing
-
 
268
    rsQry2.Close()
-
 
269
    Set rsQry2 = nothing
-
 
270
End Sub
-
 
271
'-------------------------------------------------
-
 
272
' 
-
 
273
Sub ShowDaemonStatus
-
 
274
%>
-
 
275
<table class="embedded_table" style="margin-bottom:20px">
-
 
276
  <tr>
-
 
277
     <td>
-
 
278
        <table width="95%" align="center" class="embedded_table">
-
 
279
           <tr>
-
 
280
              <td nowrap class="form_ttl"><p>DAEMON STATUS INFORMATION</p>
-
 
281
              </td>
-
 
282
              <td  valign="bottom" class="body_rowg">
-
 
283
                Last Build: <%=GetLastBuildAge(parRtagId)%> [<%=GetModifiedSeqNo(parRtagId)%>]
-
 
284
              </td>
-
 
285
              <td align="right" valign="bottom">
-
 
286
                <a class="txt_linked" href="<%=scriptName%>?rtag_id=<%=parRtagId%>" title="Refresh Page">[Refresh]</a>
-
 
287
              </td>
-
 
288
           </tr>
-
 
289
        </table>
-
 
290
     </td>
-
 
291
  </tr>
-
 
292
  <tr>
-
 
293
   <td>
-
 
294
   <table class="rounded_box embedded_table">
-
 
295
  <tr>
-
 
296
     <td bgcolor="#FFFFFF"><img src="images/h_trsp_dot.gif" width="10" height="100"></td>
-
 
297
     <td bgcolor="#FFFFFF" valign="top">
-
 
298
        <!-- MESSAGE +++++++++++++++++++++++++++++++++++++++++++++++++++ -->
-
 
299
        <!--#include file="messages/_msg_inline.asp"-->
-
 
300
        <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
-
 
301
        <br>
-
 
302
        <table width="100%" border="0" cellspacing="2" cellpadding="0">
-
 
303
           <%
-
 
304
           Dim bInactiveMachine : bInactiveMachine = false
-
 
305
           Dim indefinitelyPaused : indefinitelyPaused = Indefinitely_Paused()
-
 
306
           ' Insert a warning into the page if the build daemons are indefintely paused.
-
 
307
           If indefinitelyPaused Then %>
-
 
308
              <tr>
-
 
309
                 <span class='err_alert'>
-
 
310
                    <font size='2'><b>WARNING: Build Daemons are all stopped - please contact an administrator</b></font>
-
 
311
                 </span>
-
 
312
              </tr>
-
 
313
           <%End If
-
 
314
           %>
-
 
315
           <td width="9%" valign="top"></td>
-
 
316
           <tr>
-
 
317
              <td valign="top" nowrap background="images/bg_table_col.gif" class="body_col">Daemon Host</td>
-
 
318
              <td valign="top" nowrap background="images/bg_table_col.gif" class="body_col">Machine Type</td>
-
 
319
              <td valign="top" nowrap background="images/bg_table_col.gif" class="body_col">Mode</td>
-
 
320
              <td valign="top" nowrap background="images/bg_table_col.gif" class="body_col">Run Level</td>
-
 
321
              <td valign="top" nowrap background="images/bg_table_col.gif" class="body_col">Current Package</td>
-
 
322
              <td valign="top" nowrap background="images/bg_table_col.gif" class="body_col">Est Duration<%=Quick_Help("h_buildtime")%></td>
-
 
323
              <td valign="top" nowrap background="images/bg_table_col.gif" class="body_col">Last Change<%=Quick_Help("h_lastchange")%></td>
-
 
324
              <td valign="top" nowrap background="images/bg_table_col.gif" class="body_col">Control State</td>
-
 
325
           </tr>
-
 
326
           <%
-
 
327
           ' Get the number of release configurations for this RTAG_ID, and iterate through them
-
 
328
           query_string = " select rc.rcon_id, display_name, gbe_value, daemon_mode, NVL(ACTIVE, 'U') as ACTIVE" &_
-
 
329
                          " from release_config rc, gbe_machtype gm, build_machine_config bm"&_
-
 
330
                          "  where rc.rtag_id = "& parRtagId &_
-
 
331
                          "    and gm.gbe_id = rc.gbe_id"&_
-
 
332
                          "    and rc.bmcon_id=bm.bmcon_id(+)" &_
-
 
333
                          "  order by bm.display_name, rc.rcon_id"
-
 
334
 
-
 
335
           Set rsQry = OraDatabase.DbCreateDynaset( query_string, ORADYN_DEFAULT )
-
 
336
 
-
 
337
           Do While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
-
 
338
              rcon_id = rsQry("rcon_id")
-
 
339
 
-
 
340
              Dim pkgName
-
 
341
              Dim pkgPvid
-
 
342
              Dim pkgBuildTime
-
 
343
              Dim currentRunLevel
-
 
344
              Dim daemonState
-
 
345
              Dim delta
-
 
346
              Dim pkgId
-
 
347
              Dim bActive : bActive = rsQry("active")
-
 
348
              If bActive = "N" Then bInactiveMachine = true
-
 
349
 
-
 
350
              ' For this release configuration, get its entry from the run_level table. This table may not
-
 
351
              ' have an entry so we must handle that outcome too.
-
 
352
              query_string = " select rl.pause, rl.current_run_level, rl.current_pkg_id_being_built, "&_
-
 
353
                             "        TRUNC (86400*(SYSDATE - rl.KEEP_ALIVE)) as delta" &_
-
 
354
                             "   from run_level rl"&_
-
 
355
                             "  where rl.rcon_id = "& rcon_id
-
 
356
 
-
 
357
              Dim rsQry2
-
 
358
              Set rsQry2 = OraDatabase.DbCreateDynaset( query_string, ORADYN_DEFAULT )
-
 
359
 
-
 
360
              currentRunLevel = -1
-
 
361
              pkgId = Null
-
 
362
              pkgName = NULL
-
 
363
              pkgPvid = NULL
-
 
364
              pkgBuildTime = NULL
-
 
365
              daemonState = 0
-
 
366
              delta = NULL
-
 
367
 
-
 
368
              If (rsQry2.RecordCount > 0) Then
-
 
369
                ' Get the run level from the run_level table
-
 
370
                currentRunLevel = rsQry2("current_run_level")
-
 
371
                pkgId = rsQry2("current_pkg_id_being_built")
-
 
372
 
-
 
373
                daemonState = rsQry2("pause")
-
 
374
                If IsNull(daemonState) Then daemonState = 0
-
 
375
                If daemonState = "2" Then pkgId = Null
-
 
376
 
-
 
377
                delta = rsQry2("delta")
-
 
378
 
-
 
379
              End If
-
 
380
 
-
 
381
              ' If we got an entry from the run_level table, try and use the pkg_id it contains, to obtain a
-
 
382
              ' package name from the packages table
-
 
383
              Dim rsQry3
-
 
384
              If NOT IsNull(pkgId) Then
-
 
385
                 query_string = " select pkg_name,rl.current_pv_id, pv.build_time from run_level rl, packages pk, package_versions pv"&_
-
 
386
                                "  where rl.rcon_id = "& rcon_id &_
-
 
387
                                "   and  rl.current_pkg_id_being_built = pk.pkg_id" &_
-
 
388
                                "   and  rl.current_pv_id = pv.pv_id"
-
 
389
 
-
 
390
                 Set rsQry3 = OraDatabase.DbCreateDynaset( query_string, ORADYN_DEFAULT )
-
 
391
                 If (rsQry3.RecordCount > 0) Then
-
 
392
                    pkgName = rsQry3("pkg_name")
-
 
393
                    pkgPvid = rsQry3("current_pv_id")
-
 
394
                    pkgBuildTime = rsQry3("build_time")
-
 
395
                 End If
-
 
396
                 rsQry3.Close()
-
 
397
                 Set rsQry3 = nothing
-
 
398
              End If
-
 
399
 
-
 
400
              ' --- Now render HTML for this release configuration ---
-
 
401
              %>
-
 
402
              <tr>
-
 
403
                 <td colspan="8" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
-
 
404
              </tr>
-
 
405
              <tr>
-
 
406
                 <td nowrap class="body_rowg"><%=rsQry("display_name")%></td>
-
 
407
                 <td nowrap class="body_rowg"><%=rsQry("gbe_value")%></td>
-
 
408
                 <td nowrap class="body_rowg"><%=Get_Daemon_Mode(rsQry("daemon_mode"))%></td>
-
 
409
                 <td nowrap class="body_rowg"><%=Get_Run_Level(currentRunLevel, indefinitelyPaused, daemonState, bActive)%></td>
-
 
410
                 <td nowrap class="body_rowg"><%=Get_Package_Name(pkgName,parRtagId,pkgPvid, bActive)%></td>
-
 
411
                 <td nowrap class="body_rowg"><%=IIF(rsQry("daemon_mode") = "M", pkgBuildTime, "")%></td>
-
 
412
                 <td nowrap class="body_rowg"><%=PrettyDelta(delta, daemonState,pkgName )%></td>
-
 
413
                 <td nowrap class="body_rowg">
-
 
414
                    <%
-
 
415
                    If (rsQry2.RecordCount > 0) AND NOT indefinitelyPaused  Then
-
 
416
                       If canActionControlInProject("BuildControl") Then
-
 
417
                          If bActive = "U" Then
-
 
418
                          ElseIf bActive = "N" Then
-
 
419
                             Call Action_Buttons ( "Daemon Unavailable" )
-
 
420
                          ElseIf daemonState = 0 Then
-
 
421
                             Call Action_Buttons ( "Daemon Pause" )
-
 
422
                          ElseIf daemonState = 1 Then
-
 
423
                             Call Action_Buttons ( "Daemon Resume" )
-
 
424
                          ElseIf daemonState = 2 Then
-
 
425
                             Call Action_Buttons ( "Daemon Start" )
-
 
426
                          Else
-
 
427
                             Call Action_Buttons ( "Daemon Resume" )
-
 
428
                          End If
-
 
429
                       Else
-
 
430
                          If bActive = "U" Then
-
 
431
                          ElseIf bActive = "N" Then
-
 
432
                             Call Action_Buttons ( "Daemon Unavailable" )
-
 
433
                          ElseIf daemonState = 0 Then
-
 
434
                             Call Action_Buttons ( "Daemon Pause Disabled" )
-
 
435
                          ElseIf daemonState = 1 Then
-
 
436
                             Call Action_Buttons ( "Daemon Resume Disabled" )
-
 
437
                          ElseIf daemonState = 2 Then
-
 
438
                             Call Action_Buttons ( "Daemon Start Disabled" )
-
 
439
                          Else
-
 
440
                             Call Action_Buttons ( "Daemon Resume Disabled" )
-
 
441
                          End If
-
 
442
                       End If
-
 
443
                    Else
-
 
444
                       %>Unavailable<%
-
 
445
                    End If
-
 
446
                    %>
-
 
447
                 </td>
-
 
448
              </tr>
-
 
449
              <%
-
 
450
              rsQry2.Close()
-
 
451
              Set rsQry2 = nothing
-
 
452
              rsQry.MoveNext
-
 
453
           Loop
-
 
454
           %>
-
 
455
           <tr>
-
 
456
             <td nowrap background="images/bg_table_col.gif" class="body_col" colspan=7>
-
 
457
             <%If CheckConfigErrors(parRtagId) OR bInactiveMachine Then%><span class="err_alert">&nbsp;Daemon configuration errors detected</span>
-
 
458
                <a class="txt_linked" href="release_config.asp?rtag_id=<%=parRtagId%>">
-
 
459
                    <img src="images/i_link.gif" hspace="2" border="0" align="absmiddle" title="Goto Configuration">
-
 
460
                </a>
-
 
461
             <%End If%>
-
 
462
             </td>
-
 
463
             <td valign="bottom" nowrap background="images/bg_table_col.gif" class="body_col">
-
 
464
             <%
-
 
465
               If (rsQry.RecordCount > 0) AND NOT indefinitelyPaused Then
-
 
466
                 If objAccessControl.UserLogedIn AND canActionControlInProject("BuildControl") Then
-
 
467
                   Call Action_Buttons ( "Daemon Control All" )
-
 
468
                 Else 
-
 
469
                   Call Action_Buttons ( "Daemon Control All Disabled" )
-
 
470
                 End If
-
 
471
               Else
-
 
472
                 %>&nbsp<%
-
 
473
               End If
-
 
474
             %>
-
 
475
             </td>
-
 
476
           </tr>
-
 
477
           <%
-
 
478
             rsQry.Close()
-
 
479
             Set rsQry = nothing
-
 
480
           %>
-
 
481
        </table>
-
 
482
     </td>
-
 
483
     <td background="images/lbox_bgside_white.gif">&nbsp;</td>
-
 
484
  </tr>
-
 
485
  <tr>
-
 
486
     <input type="hidden" name="action" value="true">
-
 
487
     <%=objPMod.ComposeHiddenTags()%>
-
 
488
  </tr>
-
 
489
</table>
-
 
490
</td>
-
 
491
</table>
-
 
492
 
-
 
493
<%
-
 
494
End Sub
-
 
495
'-------------------------------------------------
-
 
496
'
-
 
497
Sub ShowDaemonInstructions
-
 
498
%>
-
 
499
<!-- Daemon Instructions Display -->
-
 
500
<table class="embedded_table" style="margin-bottom:10px">
-
 
501
  <tr>
-
 
502
     <td>
-
 
503
        <table align="center" width="95%" class="embedded_table">
-
 
504
           <tr>
-
 
505
              <td nowrap class="form_ttl">DAEMON INSTRUCTIONS FOR THIS RELEASE</td>
-
 
506
           </tr>
-
 
507
        </table>
-
 
508
     </td>
-
 
509
  </tr>
-
 
510
  <tr>
-
 
511
   <td>
-
 
512
   <table class="rounded_box embedded_table">
-
 
513
  <tr>
-
 
514
     <td bgcolor="#FFFFFF"><img src="images/h_trsp_dot.gif" width="10" ></td>
-
 
515
     <td bgcolor="#FFFFFF" valign="top">
-
 
516
        <table width="100%" border="0" cellspacing="2" cellpadding="0">
-
 
517
           <tr>
-
 
518
              <td align="left" nowrap background="images/bg_table_col.gif" class="body_col">Operation</td>
-
 
519
              <td align="left" nowrap background="images/bg_table_col.gif" class="body_col">Package</td>
-
 
520
              <td align="left" nowrap background="images/bg_table_col.gif" class="body_col">Version</td>
-
 
521
              <td align="left" nowrap background="images/bg_table_col.gif" class="body_col">Scheduled Time<%=Quick_Help("SchedTime")%>
-
 
522
              <td align="left" nowrap background="images/bg_table_col.gif" class="body_col">Repeat</td>
-
 
523
              <td align="left" nowrap background="images/bg_table_col.gif" class="body_col">In Progress</td>
-
 
524
           </tr>
-
 
525
           <%
-
 
526
           Dim PkgVersion
-
 
527
           Dim UserName
-
 
528
           Dim UserEmail
-
 
529
           Dim bInProgress
-
 
530
           Dim bIsOverdue
-
 
531
           Dim bIsReady
-
 
532
 
-
 
533
           Set rsQry = OraDatabase.DbCreateDynaset( "SELECT DAEMON_INSTRUCTIONS_ID,"&_
-
 
534
                                                  "       OP_CODE,"&_
-
 
535
                                                  "       RTAG_ID,"&_
-
 
536
                                                  "       PV_ID,"&_
-
 
537
                                                  "       SCHEDULED_DATETIME,"&_
-
 
538
                                                  "       REPEAT_SECS,"&_
-
 
539
                                                  "       ADDED_DATETIME,"&_
-
 
540
                                                  "       USER_ID,"&_
-
 
541
                                                  "       IN_PROGRESS,"&_
-
 
542
                                                  "       (CASE WHEN SCHEDULED_DATETIME <= SYSDATE THEN 1 ELSE 0 END) AS READY,"&_
-
 
543
                                                  "       (CASE WHEN (SCHEDULED_DATETIME + (1/144)) < SYSDATE THEN 1 ELSE 0 END) AS OVERDUE"&_
-
 
544
                                                  "  FROM DAEMON_INSTRUCTIONS "&_
-
 
545
                                                  "  WHERE RTAG_ID = "& parRtagId &_
-
 
546
                                                  "  ORDER BY PV_ID, SCHEDULED_DATETIME, DAEMON_INSTRUCTIONS_ID", ORADYN_DEFAULT )
-
 
547
           While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
-
 
548
 
-
 
549
              If IsNull(rsQry("IN_PROGRESS")) OR rsQry("IN_PROGRESS") = "0" Then
-
 
550
                 bInProgress = False
-
 
551
              Else
-
 
552
                 bInProgress = True
-
 
553
              End If
-
 
554
 
-
 
555
              ' only flag as overdue if time threshold has been met but the daemon has not marked the instruction as being in progress.
-
 
556
              If rsQry("OVERDUE") AND NOT bInProgress Then
-
 
557
                 bIsOverdue = True
-
 
558
              Else
-
 
559
                 bIsOverdue = False
-
 
560
              End If
-
 
561
 
-
 
562
              If rsQry("READY") Then
-
 
563
                 bIsReady = True
-
 
564
              Else
-
 
565
                 bIsReady = False
-
 
566
              End If
-
 
567
 
-
 
568
              ' Get as much info about the package as we can
-
 
569
              Dim PkgId: PkgId = 0
-
 
570
              Dim PkgName : PkgName = "N/A"
-
 
571
              If (NOT IsNull(rsQry("PV_ID"))) AND (rsQry("PV_ID") <> "") Then
-
 
572
                 Call Get_Pkg_Short_Info(rsQry("PV_ID"), PkgId, PkgName, PkgVersion, NULL, NULL, NULL)
-
 
573
              End If
-
 
574
              %>
-
 
575
              <tr>
-
 
576
                 <td colspan="6" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
-
 
577
              </tr>
-
 
578
              <tr>
-
 
579
                 <td align="left" valign="top" class="body_rowg nowrap">
-
 
580
                    <%=DaemonInstructionOperationName(rsQry("OP_CODE"))%>
-
 
581
                 </td>
-
 
582
 
-
 
583
                 <td align="left" valign="top" class="body_rowg">
-
 
584
                    <%If (NOT IsNull(rsQry("PV_ID"))) AND (rsQry("PV_ID") <> "") Then%>
-
 
585
                       <a href='fixed_issues.asp?rtag_id=<%=rsQry("RTAG_ID")%>&pv_id=<%=rsQry("PV_ID")%>'><%=PkgName%>
-
 
586
                    <%Else%>
-
 
587
                       <%=PkgName%>
-
 
588
                    <%End If%>
-
 
589
                 </td>
-
 
590
 
-
 
591
                 <td align="left" valign="top" class="body_rowg">
-
 
592
                    <%=PkgVersion%>
-
 
593
                 </td>
-
 
594
 
-
 
595
                 <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>
-
 
596
 
-
 
597
                 <td align="left" valign="top" class="body_rowg"><%=DaemonInstructionRepeatString(rsQry("OP_CODE"), rsQry("REPEAT_SECS"))%></td>
-
 
598
 
-
 
599
                 <td align="left" valign="top" class="body_rowg">
-
 
600
                    <%If bInProgress Then%>
-
 
601
                       YES
-
 
602
                    <%Else%>
-
 
603
                       NO
-
 
604
                    <%End If%>
-
 
605
                 </td>
-
 
606
              </tr>
-
 
607
              <%
-
 
608
              rsQry.MoveNext()
-
 
609
           Wend
-
 
610
           rsQry.Close()
-
 
611
           Set rsQry = nothing
-
 
612
           %>
-
 
613
        </table>
-
 
614
     </td>
-
 
615
     <td background="images/lbox_bgside_white.gif">&nbsp;</td>
-
 
616
  </td>
-
 
617
  </tr>
-
 
618
  </table>
-
 
619
  </td>
-
 
620
   </tr>
-
 
621
</table>
-
 
622
<%
-
 
623
End Sub
82
%>
624
%>
83
<html>
625
<html>
84
   <head>
626
   <head>
85
      <title>Release Manager</title>
627
      <title>Release Manager</title>
86
      <link rel="shortcut icon" href="<%=FavIcon%>"/>
628
      <link rel="shortcut icon" href="<%=FavIcon%>"/>
Line 105... Line 647...
105
    <script language="JavaScript" type="text/JavaScript">
647
    <script language="JavaScript" type="text/JavaScript">
106
    $(document).ready(function() {
648
    $(document).ready(function() {
107
        //
649
        //
108
        //  Init the check boxes
650
        //  Init the check boxes
109
        InitShow();
651
        InitShow();
-
 
652
        isChecked('pv_id_list','IncludeSubmit');
110
 
653
 
111
        // Attach function to toggle checkbox
654
        // Attach function to toggle checkbox
112
        // toggle all visible checkboxes
655
        // toggle all visible checkboxes
113
         $('#toggleDirect').click(function(){
656
         $('#toggleDirect').click(function(){
114
            var state = this.checked;
657
            var state = this.checked;
Line 171... Line 714...
171
    </script>
714
    </script>
172
      <!-- DROPDOWN MENUS -->
715
      <!-- DROPDOWN MENUS -->
173
      <!--#include file="_menu_def.asp"-->
716
      <!--#include file="_menu_def.asp"-->
174
      <script language="JavaScript1.2" src="images/popup_menu.js"></script>
717
      <script language="JavaScript1.2" src="images/popup_menu.js"></script>
175
   </head>
718
   </head>
176
   <body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0" onload="isChecked('pv_id_list','submit');">
719
   <body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0">
177
      <!-- HEADER -->
720
      <!-- HEADER -->
178
      <!--#include file="_header.asp"-->
721
      <!--#include file="_header.asp"-->
179
      <!-- BODY ---->
722
      <!-- BODY ---->
180
      <table width="100%" border="0" cellspacing="0" cellpadding="0">
723
      <table class="full_table">
181
         <tr>
724
         <tr>
182
            <td width="146px" class="panel_bg" valign="top"><%Call BuildMenuPane%></td>
725
            <td width="146px" class="panel_bg" valign="top">
183
            <td width="100%" rowspan="1" align="center" valign="top" bgcolor="#EEEFEF">
-
 
184
               <!-- FORM START -->
-
 
185
               <%
-
 
186
               objFormComponent.FormName = "FormName"
-
 
187
               objFormComponent.Action = ScriptName &"?rtag_id="& parRtagId
-
 
188
               Call objFormComponent.FormStart()
-
 
189
               %>
-
 
190
               <table width="10" border="0" cellspacing="0" cellpadding="0">
-
 
191
                  <tr>
-
 
192
                     <td width="1%"></td>
-
 
193
                     <td width="100%">
-
 
194
                        <table width="100%" border="0" cellspacing="0" cellpadding="0">
-
 
195
                           <tr>
-
 
196
                              <td nowrap class="body_txt"></td>
-
 
197
                           </tr>
-
 
198
                        </table>
-
 
199
                        <table width="100%" border="0" cellspacing="0" cellpadding="0">
-
 
200
                           <tr>
-
 
201
                              <td nowrap class="form_ttl"><p>&nbsp;</p>
-
 
202
                                 <p>BUILD STATUS INFORMATION</p>
-
 
203
                              </td>
-
 
204
                              <td align="right" valign="bottom"></td>
-
 
205
                           </tr>
-
 
206
                        </table>
-
 
207
                     </td>
-
 
208
                     <td width="1%"></td>
-
 
209
                  </tr>
-
 
210
                  <tr>
-
 
211
                     <td align="left" valign="top" background="images/lbox_bg_blue.gif"><img src="images/lbox_tl_cnr_b.gif" width="13" height="13"></td>
-
 
212
                     <td background="images/lbox_bg_blue.gif" class="lbox_ttl_w"><img src="images/h_trsp_dot.gif" width="600" height="15"></td>
-
 
213
                     <td align="right" valign="top" background="images/lbox_bg_blue.gif"><img src="images/lbox_tr_cnr_b.gif" width="13" height="13"></td>
-
 
214
                  </tr>
-
 
215
                  <tr>
-
 
216
                     <td bgcolor="#FFFFFF"><img src="images/h_trsp_dot.gif" width="10" height="100"></td>
-
 
217
                     <td bgcolor="#FFFFFF" valign="top">
-
 
218
                        <!-- MESSAGE +++++++++++++++++++++++++++++++++++++++++++++++++++ -->
-
 
219
                        <!--#include file="messages/_msg_inline.asp"-->
-
 
220
                        <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
-
 
221
                        <br>
-
 
222
                        <table width="100%" border="0" cellspacing="2" cellpadding="0">
-
 
223
                        <tr><td colspan=4 class='err_alert'>
-
 
224
                              <font size='2'><b>Packages Excluded From Build</b></font>
-
 
225
                           </td>
-
 
226
                           </tr>
-
 
227
                           <td><input id="toggleDirect" type="checkbox" title="Toggle all visible directly excluded packages"></td>
-
 
228
                           <td  colspan=3 class="body_row">
-
 
229
                           <fieldset class="fset" align="right" style=" border: 1px groove;">
-
 
230
                                Show
-
 
231
                                <input type="checkbox" checked value=0 name="showManual"   id="manualCause"   onClick="toggleDispClass('manualCause',1);">Manual Exclusions
-
 
232
                                <input type="checkbox" checked value=0 name="showCause"    id="rootCause"     onClick="toggleDispClass('rootCause',1);">Config Errors
-
 
233
                                <input type="checkbox" checked value=0 name="showNoEnv"    id="rootNoEnv"     onClick="toggleDispClass('rootNoEnv',1);">Env Errors
-
 
234
                                <input type="checkbox" checked value=0 name="showFile"     id="rootFile"      onClick="toggleDispClass('rootFile',1);">Build Errors
-
 
235
                                <input type="checkbox" checked value=0 name="showIndirect" id="rootIndirect"  onClick="toggleDispClass('rootIndirect',1);">Indirect Exclusions
-
 
236
                           </fieldset>
-
 
237
                           </td>
-
 
238
                           </tr>
-
 
239
 
-
 
240
                           <tr>
-
 
241
                              <td background="images/bg_table_col.gif" class="err_alert"><b>Directly</b></td>
-
 
242
                              <td valign="top" nowrap background="images/bg_table_col.gif" class="body_col">Package</td>
-
 
243
                              <td valign="top" nowrap background="images/bg_table_col.gif" class="body_col">Version</td>
-
 
244
                              <td valign="top" nowrap background="images/bg_table_col.gif" class="body_col">Root Cause</td>
-
 
245
                           </tr>
-
 
246
                           <tr>
-
 
247
                           <%
-
 
248
                           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"&_
-
 
249
                                          "   from do_not_ripple dnr, package_versions pv, packages pkg"&_
-
 
250
                                          "  where dnr.rtag_id = "& parRtagId &_
-
 
251
                                          "    and pv.pv_id    = dnr.pv_id"&_
-
 
252
                                          "    and pkg.pkg_id  = pv.pkg_id"&_
-
 
253
                                          "    and nvl(dnr.root_pv_id, -1) < 0 " &_
-
 
254
                                          "  order by pkg_name"
-
 
255
                           Set rsQry = OraDatabase.DbCreateDynaset( query_string, ORADYN_DEFAULT )
-
 
256
                           '--- Render rows ---
-
 
257
                           Do While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
-
 
258
                            Dim rowClass
-
 
259
                            Dim rowData
-
 
260
                            '
-
 
261
                            ' Manually excluded packages have no root_cause or root_file or root_pv_id
-
 
262
                            '
-
 
263
                            ' root_file, if supplied, indicates a build failure log file exists
-
 
264
                            ' this should always prevail over the textual root_cause
-
 
265
                            '
-
 
266
                            If (IsNull(rsQry("root_file")) AND IsNull(rsQry("root_cause"))) Then
-
 
267
                                rowData = "Manually Excluded"
-
 
268
                                rowClass = "manualCause"
-
 
269
 
-
 
270
                            ElseIf IsNull(rsQry("root_file")) Then
-
 
271
                               rowData = rsQry("root_cause")
-
 
272
                               If InStr(rowData, "no build env") Then
-
 
273
                                   rowClass = "rootNoEnv"
-
 
274
                               Else
-
 
275
                                   rowClass = "rootCause"
-
 
276
                               End If
-
 
277
 
-
 
278
                            Else
-
 
279
                                rowClass = "rootFile"
-
 
280
                                rowData = "<a class=""txt_linked"" title=""" & rsQry("root_file") &_
-
 
281
                                          " Log file may have expired."" " &_
-
 
282
                                          "href=""" & shref_base & rsQry("root_file") & """>" &_
-
 
283
                                          "Build Failure Log File</a>"
-
 
284
                            End If
-
 
285
 
-
 
286
                            Dim checkBoxData, checkBoxClass
-
 
287
                            If NiceInt(rsQry("root_pv_id"), -1) = -1   Then
-
 
288
                                checkBoxData = ""
-
 
289
                                checkBoxClass = "directInclude"
-
 
290
                            Else
-
 
291
                                checkBoxData = "disabled"
-
 
292
                                checkBoxClass = ""    
-
 
293
                            End If
-
 
294
 
-
 
295
                           %>
-
 
296
                              <tr class="<%=rowClass%>">
-
 
297
                                 <td colspan="5" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
-
 
298
                              </tr>
-
 
299
                              <tr class="<%=rowClass%>">
-
 
300
                                 <td nowrap width="1%">
-
 
301
                                    <a name="PkgName_<%=rsQry("pkg_name")%>">
-
 
302
                                    <input class="<%=checkBoxClass%>" type="checkbox" value="<%=rsQry("pv_id")%>" name="pv_id_list" <%=checkBoxData%>>
-
 
303
                                    </a>
-
 
304
                                 </td>
-
 
305
                                 <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>
-
 
306
                                 <td nowrap class="body_rowg"><%=rsQry("pkg_version")%></td>
-
 
307
                                 <td nowrap class="body_rowg"><%=rowData%></td>
-
 
308
                              </tr>
-
 
309
                           <%
-
 
310
                            rsQry.MoveNext
-
 
311
                           Loop%>
-
 
312
                           <tr>
-
 
313
                              <td background="images/bg_table_col.gif" class="err_alert"><b>Indirectly</b></td>
-
 
314
                              <td valign="top" nowrap background="images/bg_table_col.gif" class="body_col">Package</td>
-
 
315
                              <td valign="top" nowrap background="images/bg_table_col.gif" class="body_col">Version</td>
-
 
316
                              <td valign="top" nowrap background="images/bg_table_col.gif" class="body_col">Root Cause Package</td>
-
 
317
                           </tr>
-
 
318
                           <%
-
 
319
                           query_string = " select pv.pv_id, pkg.pkg_name, pv.pkg_version, qkg.pkg_name, dnr.rtag_id, pv.pv_description"&_
-
 
320
                                          "   from do_not_ripple dnr, package_versions pv, package_versions qv, packages pkg, packages qkg"&_
-
 
321
                                          "  where dnr.rtag_id = "& parRtagId &_
-
 
322
                                          "    and pv.pv_id    = dnr.pv_id"&_
-
 
323
                                          "    and pkg.pkg_id  = pv.pkg_id"&_
-
 
324
                                          "    and qv.pv_id    = dnr.root_pv_id"&_
-
 
325
                                          "    and qkg.pkg_id  = qv.pkg_id"&_
-
 
326
                                          "    and nvl(dnr.root_pv_id, -1) > 0"&_
-
 
327
                                          "  order by pkg.pkg_name"
-
 
328
                           Dim rsQry2
-
 
329
                           Set rsQry2 = OraDatabase.DbCreateDynaset( query_string, ORADYN_DEFAULT )
-
 
330
                           '--- Render rows ---
-
 
331
                           Do While (NOT rsQry2.BOF) AND (NOT rsQry2.EOF)%>
-
 
332
                              <tr class="rootIndirect">
-
 
333
                                 <td colspan="5" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
-
 
334
                              </tr>
-
 
335
                              <tr class="rootIndirect">
-
 
336
 
-
 
337
                                 <td nowrap width="1%">
-
 
338
                                    <input type="checkbox" value=0 disabled=true name="notused" id="notused">
-
 
339
                                 </td>
-
 
340
                                 <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>
-
 
341
                                 <td nowrap class="body_rowg"><%=rsQry2(2)%></td>
-
 
342
                                 <td nowrap class="body_rowg"><a href="#PkgName_<%=rsQry2(3)%>" style="text-decoration: none;">&raquo;&nbsp;<%=rsQry2(3)%></a></td>
-
 
343
                              </tr>
-
 
344
                              <%
-
 
345
                              rsQry2.MoveNext
-
 
346
                           Loop%>
-
 
347
                        </table>
-
 
348
                     </td>
-
 
349
                     <td background="images/lbox_bgside_white.gif">&nbsp;</td>
-
 
350
                  </tr>
-
 
351
                  <%If rsQry.RecordCount > 0 Then%>
-
 
352
                     <tr>
-
 
353
                        <td background="images/bg_action_norm.gif"></td>
-
 
354
                        <td align="right" background="images/bg_action_norm.gif">
-
 
355
                           <%
-
 
356
                           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'})""" ))
726
                <%Call BuildMenuPane%>
357
                           Response.Write(objPMod.ComposeHiddenTags())
-
 
358
                           %>
-
 
359
                        </td>
-
 
360
                        <td background="images/bg_action_norm.gif"><img src="images/h_trsp_dot.gif" width="5" height="30"></td>
-
 
361
                     </tr>
-
 
362
                  <%End If%>
-
 
363
                  <tr>
-
 
364
                     <td background="images/lbox_bg_blue.gif" valign="bottom"><img src="images/lbox_bl_cnr_b.gif" width="13" height="13"></td>
-
 
365
                     <td background="images/lbox_bg_blue.gif"></td>
-
 
366
                     <td background="images/lbox_bg_blue.gif" valign="bottom" align="right"><img src="images/lbox_br_cnr_b.gif" width="13" height="13"></td>
-
 
367
                  </tr>
-
 
368
               </table>
-
 
369
               <!-- ACTION BUTTONS ---------------------------------------------->
-
 
370
               <input type="hidden" name="action" value="include">
-
 
371
               <!-- ACTION BUTTONS END  ------------------------------------------>
-
 
372
               <%Call objFormComponent.FormEnd()%>
-
 
373
               <!-- FORM END ----------------------------------------------------->
-
 
374
            </td>
727
            </td>
375
            <td width="1" valign="top"><img src="images/h_trsp_dot.gif" width="1" height="1"></td>
-
 
376
         </tr>
-
 
377
         <%
-
 
378
         rsQry.Close()
-
 
379
         Set rsQry = nothing
-
 
380
         rsQry2.Close()
-
 
381
         Set rsQry2 = nothing
-
 
382
         %>
-
 
383
         <tr>
-
 
384
            <td width="1" background="images/bg_home_orange.gif" valign="top"></td>
-
 
385
            <td width="100%" rowspan="2" align="center" valign="top" bgcolor="#EEEFEF">
728
            <td width="100%" rowspan="2" align="center" valign="top" bgcolor="#EEEFEF">
386
               <table width="10" border="0" cellspacing="0" cellpadding="0">
-
 
387
                  <tr>
-
 
388
                     <td width="1%"></td>
-
 
389
                     <td width="100%">
729
                <%Call ShowBuildStatus%>
390
                        <table width="100%" border="0" cellspacing="0" cellpadding="0">
-
 
391
                           <tr>
-
 
392
                              <td nowrap class="form_ttl"><p>&nbsp;</p>
-
 
393
                                 <p>DAEMON STATUS INFORMATION</p>
-
 
394
                              </td>
-
 
395
                              <td  valign="bottom" class="body_rowg">
-
 
396
                                Last Build: <%=GetLastBuildAge(parRtagId)%> [<%=GetModifiedSeqNo(parRtagId)%>]
-
 
397
                              </td>
-
 
398
                              <td align="right" valign="bottom">
-
 
399
                                <a class="txt_linked" href="<%=scriptName%>?rtag_id=<%=parRtagId%>" title="Refresh Page">[Refresh]</a></td>
-
 
400
                              </td>
-
 
401
                           </tr>
-
 
402
                        </table>
-
 
403
                     </td>
-
 
404
                     <td width="1%"></td>
-
 
405
                  </tr>
-
 
406
                  <tr>
-
 
407
                     <td align="left" valign="top" background="images/lbox_bg_blue.gif"><img src="images/lbox_tl_cnr_b.gif" width="13" height="13"></td>
-
 
408
                     <td background="images/lbox_bg_blue.gif" class="lbox_ttl_w"><img src="images/h_trsp_dot.gif" width="600" height="15"></td>
-
 
409
                     <td align="right" valign="top" background="images/lbox_bg_blue.gif"><img src="images/lbox_tr_cnr_b.gif" width="13" height="13"></td>
-
 
410
                  </tr>
-
 
411
                  <tr>
-
 
412
                     <td bgcolor="#FFFFFF"><img src="images/h_trsp_dot.gif" width="10" height="100"></td>
-
 
413
                     <td bgcolor="#FFFFFF" valign="top">
-
 
414
                        <!-- MESSAGE +++++++++++++++++++++++++++++++++++++++++++++++++++ -->
-
 
415
                        <!--#include file="messages/_msg_inline.asp"-->
-
 
416
                        <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
-
 
417
                        <br>
-
 
418
                        <table width="100%" border="0" cellspacing="2" cellpadding="0">
-
 
419
                           <%
-
 
420
                           Dim bInactiveMachine : bInactiveMachine = false
-
 
421
                           Dim indefinitelyPaused : indefinitelyPaused = Indefinitely_Paused()
-
 
422
                           ' Insert a warning into the page if the build daemons are indefintely paused.
-
 
423
                           If indefinitelyPaused Then %>
-
 
424
                              <tr>
-
 
425
                                 <span class='err_alert'>
-
 
426
                                    <font size='2'><b>WARNING: Build Daemons are all stopped - please contact an administrator</b></font>
-
 
427
                                 </span>
-
 
428
                              </tr>
-
 
429
                           <%End If
-
 
430
                           %>
-
 
431
                           <td width="9%" valign="top"></td>
-
 
432
                           <tr>
-
 
433
                              <td valign="top" nowrap background="images/bg_table_col.gif" class="body_col">Daemon Host</td>
-
 
434
                              <td valign="top" nowrap background="images/bg_table_col.gif" class="body_col">Machine Type</td>
-
 
435
                              <td valign="top" nowrap background="images/bg_table_col.gif" class="body_col">Mode</td>
-
 
436
                              <td valign="top" nowrap background="images/bg_table_col.gif" class="body_col">Run Level</td>
-
 
437
                              <td valign="top" nowrap background="images/bg_table_col.gif" class="body_col">Current Package</td>
-
 
438
                              <td valign="top" nowrap background="images/bg_table_col.gif" class="body_col">Est Duration<%=Quick_Help("h_buildtime")%></td>
-
 
439
                              <td valign="top" nowrap background="images/bg_table_col.gif" class="body_col">Last Change<%=Quick_Help("h_lastchange")%></td>
-
 
440
                              <td valign="top" nowrap background="images/bg_table_col.gif" class="body_col">Control State</td>
-
 
441
                           </tr>
-
 
442
                           <%
-
 
443
                           ' Get the number of release configurations for this RTAG_ID, and iterate through them
-
 
444
                           query_string = " select rc.rcon_id, display_name, gbe_value, daemon_mode, NVL(ACTIVE, 'U') as ACTIVE" &_
-
 
445
                                          " from release_config rc, gbe_machtype gm, build_machine_config bm"&_
-
 
446
                                          "  where rc.rtag_id = "& parRtagId &_
-
 
447
                                          "    and gm.gbe_id = rc.gbe_id"&_
-
 
448
                                          "    and rc.bmcon_id=bm.bmcon_id(+)" &_
-
 
449
                                          "  order by bm.display_name, rc.rcon_id"
-
 
450
 
-
 
451
                           Set rsQry = OraDatabase.DbCreateDynaset( query_string, ORADYN_DEFAULT )
-
 
452
 
-
 
453
                           Do While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
-
 
454
                              rcon_id = rsQry("rcon_id")
-
 
455
 
-
 
456
                              Dim pkgName
-
 
457
                              Dim pkgPvid
-
 
458
                              Dim pkgBuildTime
-
 
459
                              Dim currentRunLevel
-
 
460
                              Dim daemonState
-
 
461
                              Dim delta
-
 
462
                              Dim pkgId
-
 
463
                              Dim bActive : bActive = rsQry("active")
-
 
464
                              If bActive = "N" Then bInactiveMachine = true
-
 
465
 
-
 
466
                              ' For this release configuration, get its entry from the run_level table. This table may not
-
 
467
                              ' have an entry so we must handle that outcome too.
-
 
468
                              query_string = " select rl.pause, rl.current_run_level, rl.current_pkg_id_being_built, "&_
-
 
469
                                             "        TRUNC (86400*(SYSDATE - rl.KEEP_ALIVE)) as delta" &_
-
 
470
                                             "   from run_level rl"&_
-
 
471
                                             "  where rl.rcon_id = "& rcon_id
-
 
472
 
-
 
473
                              Set rsQry2 = OraDatabase.DbCreateDynaset( query_string, ORADYN_DEFAULT )
-
 
474
 
-
 
475
                              currentRunLevel = -1
-
 
476
                              pkgId = Null
-
 
477
                              pkgName = NULL
-
 
478
                              pkgPvid = NULL
-
 
479
                              pkgBuildTime = NULL
-
 
480
                              daemonState = 0
730
                <%Call ShowDaemonStatus%>
481
                              delta = NULL
-
 
482
 
-
 
483
                              If (rsQry2.RecordCount > 0) Then
-
 
484
                                ' Get the run level from the run_level table
-
 
485
                                currentRunLevel = rsQry2("current_run_level")
-
 
486
                                pkgId = rsQry2("current_pkg_id_being_built")
-
 
487
 
-
 
488
                                daemonState = rsQry2("pause")
-
 
489
                                If IsNull(daemonState) Then daemonState = 0
-
 
490
                                If daemonState = "2" Then pkgId = Null
-
 
491
 
-
 
492
                                delta = rsQry2("delta")
-
 
493
 
-
 
494
                              End If
-
 
495
 
-
 
496
                              ' If we got an entry from the run_level table, try and use the pkg_id it contains, to obtain a
-
 
497
                              ' package name from the packages table
-
 
498
                              Dim rsQry3
-
 
499
                              If NOT IsNull(pkgId) Then
-
 
500
                                 query_string = " select pkg_name,rl.current_pv_id, pv.build_time from run_level rl, packages pk, package_versions pv"&_
-
 
501
                                                "  where rl.rcon_id = "& rcon_id &_
-
 
502
                                                "   and  rl.current_pkg_id_being_built = pk.pkg_id" &_
-
 
503
                                                "   and  rl.current_pv_id = pv.pv_id"
-
 
504
 
-
 
505
                                 Set rsQry3 = OraDatabase.DbCreateDynaset( query_string, ORADYN_DEFAULT )
-
 
506
                                 If (rsQry3.RecordCount > 0) Then
-
 
507
                                    pkgName = rsQry3("pkg_name")
-
 
508
                                    pkgPvid = rsQry3("current_pv_id")
-
 
509
                                    pkgBuildTime = rsQry3("build_time")
-
 
510
                                 End If
-
 
511
                                 rsQry3.Close()
-
 
512
                                 Set rsQry3 = nothing
-
 
513
                              End If
-
 
514
 
-
 
515
                              ' --- Now render HTML for this release configuration ---
-
 
516
                              %>
-
 
517
                              <tr>
-
 
518
                                 <td colspan="8" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
-
 
519
                              </tr>
-
 
520
                              <tr>
-
 
521
                                 <td nowrap class="body_rowg"><%=rsQry("display_name")%></td>
-
 
522
                                 <td nowrap class="body_rowg"><%=rsQry("gbe_value")%></td>
-
 
523
                                 <td nowrap class="body_rowg"><%=Get_Daemon_Mode(rsQry("daemon_mode"))%></td>
-
 
524
                                 <td nowrap class="body_rowg"><%=Get_Run_Level(currentRunLevel, indefinitelyPaused, daemonState, bActive)%></td>
-
 
525
                                 <td nowrap class="body_rowg"><%=Get_Package_Name(pkgName,parRtagId,pkgPvid, bActive)%></td>
-
 
526
                                 <td nowrap class="body_rowg"><%=IIF(rsQry("daemon_mode") = "M", pkgBuildTime, "")%></td>
-
 
527
                                 <td nowrap class="body_rowg"><%=PrettyDelta(delta, daemonState,pkgName )%></td>
-
 
528
                                 <td nowrap class="body_rowg">
-
 
529
                                    <%
-
 
530
                                    If (rsQry2.RecordCount > 0) AND NOT indefinitelyPaused  Then
-
 
531
                                       If canActionControlInProject("BuildControl") Then
-
 
532
                                          If bActive = "U" Then
-
 
533
                                          ElseIf bActive = "N" Then
-
 
534
                                             Call Action_Buttons ( "Daemon Unavailable" )
-
 
535
                                          ElseIf daemonState = 0 Then
-
 
536
                                             Call Action_Buttons ( "Daemon Pause" )
-
 
537
                                          ElseIf daemonState = 1 Then
-
 
538
                                             Call Action_Buttons ( "Daemon Resume" )
-
 
539
                                          ElseIf daemonState = 2 Then
-
 
540
                                             Call Action_Buttons ( "Daemon Start" )
-
 
541
                                          Else
-
 
542
                                             Call Action_Buttons ( "Daemon Resume" )
-
 
543
                                          End If
-
 
544
                                       Else
-
 
545
                                          If bActive = "U" Then
-
 
546
                                          ElseIf bActive = "N" Then
-
 
547
                                             Call Action_Buttons ( "Daemon Unavailable" )
-
 
548
                                          ElseIf daemonState = 0 Then
-
 
549
                                             Call Action_Buttons ( "Daemon Pause Disabled" )
-
 
550
                                          ElseIf daemonState = 1 Then
-
 
551
                                             Call Action_Buttons ( "Daemon Resume Disabled" )
-
 
552
                                          ElseIf daemonState = 2 Then
-
 
553
                                             Call Action_Buttons ( "Daemon Start Disabled" )
-
 
554
                                          Else
-
 
555
                                             Call Action_Buttons ( "Daemon Resume Disabled" )
-
 
556
                                          End If
-
 
557
                                       End If
-
 
558
                                    Else
-
 
559
                                       %>Unavailable<%
-
 
560
                                    End If
-
 
561
                                    %>
-
 
562
                                 </td>
-
 
563
                              </tr>
-
 
564
                              <%
-
 
565
                              rsQry2.Close()
-
 
566
                              Set rsQry2 = nothing
-
 
567
                              rsQry.MoveNext
-
 
568
                           Loop
-
 
569
                           %>
-
 
570
                           <tr>
-
 
571
                             <td nowrap background="images/bg_table_col.gif" class="body_col" colspan=7>
-
 
572
                             <%If CheckConfigErrors(parRtagId) OR bInactiveMachine Then%><span class="err_alert">&nbsp;Daemon configuration errors detected</span>
-
 
573
                                <a class="txt_linked" href="release_config.asp?rtag_id=<%=parRtagId%>">
-
 
574
                                    <img src="images/i_link.gif" hspace="2" border="0" align="absmiddle" title="Goto Configuration">
-
 
575
                                </a>
-
 
576
                             <%End If%>
-
 
577
                             </td>
-
 
578
                             <td valign="bottom" nowrap background="images/bg_table_col.gif" class="body_col">
-
 
579
                             <%
-
 
580
                               If (rsQry.RecordCount > 0) AND NOT indefinitelyPaused Then
-
 
581
                                 If objAccessControl.UserLogedIn AND canActionControlInProject("BuildControl") Then
-
 
582
                                   Call Action_Buttons ( "Daemon Control All" )
-
 
583
                                 Else 
-
 
584
                                   Call Action_Buttons ( "Daemon Control All Disabled" )
-
 
585
                                 End If
-
 
586
                               Else
-
 
587
                                 %>&nbsp<%
-
 
588
                               End If
-
 
589
                             %>
-
 
590
                             </td>
-
 
591
                           </tr>
-
 
592
                           <%
-
 
593
                             rsQry.Close()
-
 
594
                             Set rsQry = nothing
-
 
595
                           %>
-
 
596
                        </table>
-
 
597
                     </td>
-
 
598
                     <td background="images/lbox_bgside_white.gif">&nbsp;</td>
-
 
599
                  </tr>
-
 
600
                  <tr>
-
 
601
                     <input type="hidden" name="action" value="true">
-
 
602
                     <%=objPMod.ComposeHiddenTags()%>
-
 
603
                     <td background="images/lbox_bg_blue.gif" valign="bottom"><img src="images/lbox_bl_cnr_b.gif" width="13" height="13"></td>
-
 
604
                     <td background="images/lbox_bg_blue.gif"></td>
-
 
605
                     <td background="images/lbox_bg_blue.gif" valign="bottom" align="right"><img src="images/lbox_br_cnr_b.gif" width="13" height="13"></td>
-
 
606
                  </tr>
-
 
607
               </table>
-
 
608
 
-
 
609
               <!-- Daemon Instructions Display -->
731
                <%Call ShowDaemonInstructions%>
610
               <table width="10" border="0" cellspacing="0" cellpadding="0">
-
 
611
                  <tr>
-
 
612
                     <td width="1%"></td>
-
 
613
                     <td width="100%">
-
 
614
                        <table width="100%" border="0" cellspacing="0" cellpadding="0">
-
 
615
                           <tr>
-
 
616
                              <td nowrap class="form_ttl"><p>&nbsp;</p>
-
 
617
                                 <p>DAEMON INSTRUCTIONS FOR THIS RELEASE</p>
-
 
618
                              </td>
-
 
619
                              <td align="right" valign="bottom"></td>
-
 
620
                           </tr>
-
 
621
                        </table>
-
 
622
                     </td>
-
 
623
                     <td width="1%"></td>
-
 
624
                  </tr>
-
 
625
                  <tr>
-
 
626
                     <td align="left" valign="top" background="images/lbox_bg_blue.gif"><img src="images/lbox_tl_cnr_b.gif" width="13" height="13"></td>
-
 
627
                     <td background="images/lbox_bg_blue.gif" class="lbox_ttl_w"><img src="images/h_trsp_dot.gif" width="600" height="15"></td>
-
 
628
                     <td align="right" valign="top" background="images/lbox_bg_blue.gif"><img src="images/lbox_tr_cnr_b.gif" width="13" height="13"></td>
-
 
629
                  </tr>
-
 
630
                  <tr>
-
 
631
                     <td bgcolor="#FFFFFF"><img src="images/h_trsp_dot.gif" width="10" ></td>
-
 
632
                     <td bgcolor="#FFFFFF" valign="top">
-
 
633
                        <table width="100%" border="0" cellspacing="2" cellpadding="0">
-
 
634
                           <tr>
-
 
635
                              <td align="left" nowrap background="images/bg_table_col.gif" class="body_col">Operation</td>
-
 
636
                              <td align="left" nowrap background="images/bg_table_col.gif" class="body_col">Package</td>
-
 
637
                              <td align="left" nowrap background="images/bg_table_col.gif" class="body_col">Version</td>
-
 
638
                              <td align="left" nowrap background="images/bg_table_col.gif" class="body_col">Scheduled Time<%=Quick_Help("SchedTime")%>
-
 
639
                              <td align="left" nowrap background="images/bg_table_col.gif" class="body_col">Repeat</td>
-
 
640
                              <td align="left" nowrap background="images/bg_table_col.gif" class="body_col">In Progress</td>
-
 
641
                           </tr>
-
 
642
                           <%
-
 
643
                           Dim PkgVersion
-
 
644
                           Dim UserName
-
 
645
                           Dim UserEmail
-
 
646
                           Dim bInProgress
-
 
647
                           Dim bIsOverdue
-
 
648
                           Dim bIsReady
-
 
649
 
-
 
650
                           Set rsQry = OraDatabase.DbCreateDynaset( "SELECT DAEMON_INSTRUCTIONS_ID,"&_
-
 
651
                                                                  "       OP_CODE,"&_
-
 
652
                                                                  "       RTAG_ID,"&_
-
 
653
                                                                  "       PV_ID,"&_
-
 
654
                                                                  "       SCHEDULED_DATETIME,"&_
-
 
655
                                                                  "       REPEAT_SECS,"&_
-
 
656
                                                                  "       ADDED_DATETIME,"&_
-
 
657
                                                                  "       USER_ID,"&_
-
 
658
                                                                  "       IN_PROGRESS,"&_
-
 
659
                                                                  "       (CASE WHEN SCHEDULED_DATETIME <= SYSDATE THEN 1 ELSE 0 END) AS READY,"&_
-
 
660
                                                                  "       (CASE WHEN (SCHEDULED_DATETIME + (1/144)) < SYSDATE THEN 1 ELSE 0 END) AS OVERDUE"&_
-
 
661
                                                                  "  FROM DAEMON_INSTRUCTIONS "&_
-
 
662
                                                                  "  WHERE RTAG_ID = "& parRtagId &_
-
 
663
                                                                  "  ORDER BY PV_ID, SCHEDULED_DATETIME, DAEMON_INSTRUCTIONS_ID", ORADYN_DEFAULT )
-
 
664
                           While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
-
 
665
 
-
 
666
                              If IsNull(rsQry("IN_PROGRESS")) OR rsQry("IN_PROGRESS") = "0" Then
-
 
667
                                 bInProgress = False
-
 
668
                              Else
-
 
669
                                 bInProgress = True
-
 
670
                              End If
-
 
671
 
-
 
672
                              ' only flag as overdue if time threshold has been met but the daemon has not marked the instruction as being in progress.
-
 
673
                              If rsQry("OVERDUE") AND NOT bInProgress Then
-
 
674
                                 bIsOverdue = True
-
 
675
                              Else
-
 
676
                                 bIsOverdue = False
-
 
677
                              End If
-
 
678
 
-
 
679
                              If rsQry("READY") Then
-
 
680
                                 bIsReady = True
-
 
681
                              Else
-
 
682
                                 bIsReady = False
-
 
683
                              End If
-
 
684
 
-
 
685
                              ' Get as much info about the package as we can
-
 
686
                              PkgId = 0
-
 
687
                              PkgName = "N/A"
-
 
688
                              PkgVersion = "N/A"
-
 
689
                              If (NOT IsNull(rsQry("PV_ID"))) AND (rsQry("PV_ID") <> "") Then
-
 
690
                                 Call Get_Pkg_Short_Info(rsQry("PV_ID"), PkgId, PkgName, PkgVersion, NULL, NULL, NULL)
-
 
691
                              End If
-
 
692
 
-
 
693
                              %>
-
 
694
                              <tr>
-
 
695
 
-
 
696
                                 <td align="left" valign="top" class="body_txt">
-
 
697
                                    <%=DaemonInstructionOperationName(rsQry("OP_CODE"))%>
-
 
698
                                 </td>
-
 
699
 
-
 
700
                                 <td align="left" valign="top" class="body_txt">
-
 
701
                                    <%If (NOT IsNull(rsQry("PV_ID"))) AND (rsQry("PV_ID") <> "") Then%>
-
 
702
                                       <a href='fixed_issues.asp?rtag_id=<%=rsQry("RTAG_ID")%>&pv_id=<%=rsQry("PV_ID")%>'><%=PkgName%>
-
 
703
                                    <%Else%>
-
 
704
                                       <%=PkgName%>
-
 
705
                                    <%End If%>
-
 
706
                                 </td>
-
 
707
 
-
 
708
                                 <td align="left" valign="top" class="body_txt">
-
 
709
                                    <%=PkgVersion%>
-
 
710
                                 </td>
-
 
711
 
-
 
712
                                 <td align="left" valign="top" class="body_txt" <%If bIsOverdue Then%>style=color:Red<%Elseif bIsReady Then%>style=color:Green<%End If%>><%=DisplayDateTime(rsQry("SCHEDULED_DATETIME"))%></td>
-
 
713
 
-
 
714
                                 <td align="left" valign="top" class="body_txt"><%=DaemonInstructionRepeatString(rsQry("OP_CODE"), rsQry("REPEAT_SECS"))%></td>
-
 
715
 
-
 
716
                                 <td align="left" valign="top" class="body_txt">
-
 
717
                                    <%If bInProgress Then%>
-
 
718
                                       YES
-
 
719
                                    <%Else%>
-
 
720
                                       NO
-
 
721
                                    <%End If%>
-
 
722
                                 </td>
-
 
723
                              </tr>
-
 
724
                              <tr>
-
 
725
                                 <td colspan="6" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
-
 
726
                              </tr>
-
 
727
                              <%
-
 
728
                              rsQry.MoveNext()
-
 
729
                           Wend
-
 
730
                           rsQry.Close()
-
 
731
                           Set rsQry = nothing
-
 
732
                           %>
-
 
733
                        </table>
-
 
734
                     </td>
-
 
735
                     <td background="images/lbox_bgside_white.gif">&nbsp;</td>
-
 
736
                  </tr>
-
 
737
                  <tr>
-
 
738
                     <td background="images/lbox_bg_blue.gif" valign="bottom"><img src="images/lbox_bl_cnr_b.gif" width="13" height="13"></td>
-
 
739
                     <td background="images/lbox_bg_blue.gif"></td>
-
 
740
                     <td background="images/lbox_bg_blue.gif" valign="bottom" align="right"><img src="images/lbox_br_cnr_b.gif" width="13" height="13"></td>
-
 
741
                  </tr>
-
 
742
               </table>
-
 
743
 
-
 
744
            </td>
732
            </td>
745
            <td width="1" valign="top"><img src="images/h_trsp_dot.gif" width="1" height="1"></td>
-
 
746
         </tr>
733
         </tr>
747
         <tr>
734
         <tr>
748
            <td valign="bottom" align="center" background="images/bg_home_orange.gif">
735
            <td class="panel_bg" valign="bottom" align="center" height="350">
749
                <img src="images/img_gear.gif" width="86" height="99" vspace="20" hspace="30">
736
                <img src="images/img_gears.png" vspace="20" hspace="30"></td>
750
            </td>
-
 
751
            <td background="images/bg_lght_gray.gif" valign="top"><img src="images/h_trsp_dot.gif" width="1" height="350">
-
 
752
            </td>
-
 
753
         </tr>
737
         </tr>
754
      </table>
738
      </table>
755
      <!-- FOOTER -->
739
      <!-- FOOTER -->
756
      <!--#include file="_footer.asp"-->
740
      <!--#include file="_footer.asp"-->
757
   </body>
741
   </body>
758
</html>
742
</html>
-
 
743