Subversion Repositories DevTools

Rev

Rev 6579 | Rev 6873 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
5357 dpurdie 1
<%@LANGUAGE="VBSCRIPT"%>
2
<%
3
'=====================================================
4
'|                                                   |
5
'|          Edit/View Build Configuration            |
6
'|                                                   |
7
'=====================================================
8
%>
9
<%
10
Option explicit
11
' Good idea to set when using redirect
12
Response.Expires = 0   ' always load the page, dont store
13
%>
14
<!--#include file="common/conf.asp"-->
15
<!--#include file="common/globals.asp"-->
16
<!--#include file="common/formating.asp"-->
17
<!--#include file="common/qstr.asp"-->
18
<!--#include file="common/common_subs.asp"-->
19
<!--#include file="common/_form_window_common.asp"-->
20
<!--#include file="_action_buttons.asp"-->
21
<!--#include file="class/classActionButtonControl.asp"-->
6175 dpurdie 22
<!--#include file="common/common_daemon.asp"-->
6052 dpurdie 23
<% objPMod.PersistInQryString("proj_id") %>
24
<% '------------ ACCESS CONTROL ------------------ %>
6181 dpurdie 25
<!--#include file="_access_control_login_optional.asp"-->
6070 dpurdie 26
<!--#include file="_access_control_general.asp"-->
6052 dpurdie 27
<!--#include file="_access_control_action_project.asp"-->
5357 dpurdie 28
<%
29
'------------ Variable Definition -------------
30
Dim rsQry
31
Dim parRtagId
32
Dim query_string
33
Dim objBtnControl
34
Dim rcon_id
6166 dpurdie 35
Dim masterCount
36
Dim toolsetWarning
37
 
5357 dpurdie 38
'------------ Constants Declaration -----------
39
'------------ Variable Init -------------------
40
parRtagId = Request("rtag_id")
41
objPMod.PersistInQryString("rtag_id")
42
Set objBtnControl = New ActionButtonControl
43
'----------------------------------------------
44
%>
45
<%
46
'--------------------------------------------------------------------------------------------------------------------------
47
Sub GetFormDetails ( parRtagId, ByRef outobjDetails )
48
   Dim rsQry, query
49
 
50
 
51
   OraDatabase.Parameters.Add "RTAG_ID",    parRtagId,      ORAPARM_INPUT, ORATYPE_NUMBER
52
 
53
   query = _
54
   " SELECT * "&_
55
   "  FROM RELEASE_TAGS rt"&_
56
   " WHERE rt.RTAG_ID = :RTAG_ID"
57
 
58
   Set rsQry = OraDatabase.DbCreateDynaset( query, ORADYN_DEFAULT )
59
 
60
   OraDatabase.Parameters.Remove "RTAG_ID"
61
 
62
 
63
 
64
   If rsQry.RecordCount > 0 Then
65
      outobjDetails.Item ("rtag_id") = rsQry("rtag_id")
66
      outobjDetails.Item ("rtag_name") = rsQry("rtag_name")
67
   Else
68
      Err.Raise 8, "Sub GetFormDetails in "& ScriptName, "Empty record set returned. parRtagId="& parRtagId
69
 
70
   End If
71
 
72
   rsQry.Close
73
   Set rsQry = Nothing
74
End Sub
75
'--------------------------------------------------------------------------------------------------------------------------
76
Sub DeleteDaemon(rcon_id_list)
77
 
78
   OraDatabase.Parameters.Add "RCON_ID_LIST",   rcon_id_list,    ORAPARM_INPUT, ORATYPE_VARCHAR2
79
 
80
   On Error Resume Next
81
   objEH.TryORA()
82
 
83
   OraDatabase.ExecuteSQL "BEGIN  PK_BUILDAPI.DELETE_DAEMON(:RCON_ID_LIST);  END;"
84
 
85
   objEH.CatchORA ( OraSession )
86
 
87
   OraDatabase.Parameters.Remove "RCON_ID_LIST"
88
End Sub
89
'--------------------------------------------------------------------------------------------------------------------------
90
Sub RemoveDaemon(rcon_id_list)
91
 
92
   OraDatabase.Parameters.Add "RCON_ID_LIST",   rcon_id_list,    ORAPARM_INPUT, ORATYPE_VARCHAR2
93
 
94
   On Error Resume Next
95
   objEH.TryORA()
96
 
97
   OraDatabase.ExecuteSQL "BEGIN  PK_BUILDAPI.REMOVE_DAEMON(:RCON_ID_LIST);  END;"
98
 
99
   objEH.CatchORA ( OraSession )
100
 
101
   OraDatabase.Parameters.Remove "RCON_ID_LIST"
102
End Sub
103
'--------------------------------------------------------------------------------------------------------------------------
6166 dpurdie 104
Sub CheckMasterConfig()
105
    Dim rsQry, query
106
    OraDatabase.Parameters.Add "RTAG_ID",    parRtagId,      ORAPARM_INPUT, ORATYPE_NUMBER
107
 
108
    '
109
    '   Check that there is exacly one master in the build set
110
    query = _
111
        "SELECT COUNT (rc.daemon_mode) as masterCount" &_
112
        " FROM release_manager.release_config rc, release_manager.run_level rl" &_
113
        " WHERE rc.rtag_id   = :RTAG_ID" &_
114
        " AND rl.RCON_ID = rc.RCON_ID" &_
115
        " AND   rc.bmcon_id is not NULL" &_
116
        " GROUP BY rc.daemon_mode" &_
117
        " HAVING rc.daemon_mode = 'M'"
118
 
119
    Set rsQry = OraDatabase.DbCreateDynaset( query, ORADYN_DEFAULT )
120
 
121
    If rsQry.RecordCount > 0 Then
122
       masterCount = rsQry("masterCount")
123
    End If
124
    rsQry.Close
125
    Set rsQry = Nothing
126
 
6183 dpurdie 127
    If bGetApplication("CheckToolset", TRUE) Then
128
        '
129
        '   Check that each GBE_MACHTYPE has exactly one instance where the BUILDFILTER contains
130
        '   a TOOLSET builder. The test is a bit sloppy
131
        query = _
132
            "SELECT * from ( " &_
133
            "SELECT GBE_ID, COUNT(hasToolset) as ToolsetCount " &_
134
            "FROM  " &_
135
            "  (SELECT bc.GBE_ID, " &_
136
            "    CASE " &_
137
            "      WHEN INSTR(rc.GBE_BUILDFILTER, 'TOOLSET') > 0 " &_
138
            "      THEN 1 " &_
139
            "      ELSE NULL " &_
140
            "    END AS hasToolset " &_
141
            "  FROM release_manager.release_config rc, " &_
142
            "    BUILD_MACHINE_CONFIG bc " &_
143
            "  WHERE rc.rtag_id = :RTAG_ID " &_
144
            "  AND rc.bmcon_id IS NOT NULL " &_
145
            "  AND bc.bmcon_id  = rc.bmcon_id " &_
146
            "  ) " &_
147
            "GROUP BY GBE_ID ) " &_
148
            "Where  ToolsetCount != 1 "
6166 dpurdie 149
 
6183 dpurdie 150
        Set rsQry = OraDatabase.DbCreateDynaset( query, ORADYN_DEFAULT )
6166 dpurdie 151
 
6183 dpurdie 152
        toolsetWarning =  rsQry.RecordCount > 0 
153
        rsQry.Close
154
        Set rsQry = Nothing
155
    End If
6166 dpurdie 156
 
157
    OraDatabase.Parameters.Remove "RTAG_ID"
158
 
159
End Sub
5357 dpurdie 160
%>
161
<%
162
'------------ RUN BEFORE PAGE RENDER ----------
163
' --- Get Form details from DB ---
164
Call GetFormDetails ( Request("rtag_id"), objFormCollector )
165
 
166
' --- Enter Form Validation Rule Changes here... ----
167
'----------------------------------------------------
168
 
169
' --- RUN onPostBack ---
170
If Request("action") <> "" AND objAccessControl.UserLogedIn Then
171
   If objForm.IsValidOnPostBack Then
172
      If canActionControlInProject("BuildConfiguration") Then
173
         If Request("btn") = "Delete" Then
174
             Call DeleteDaemon(Request("rcon_id_list"))
175
         ElseIf Request("btn") = "Unlink" Then
176
             Call RemoveDaemon(Request("rcon_id_list"))
177
        End If
178
      End If
179
 
180
      If objEH.Finally Then
181
         Call OpenInWindow ( "release_config.asp?rtag_id="& parRtagId )
182
      End If
183
 
184
   End If
185
 
186
End If
6166 dpurdie 187
Call CheckMasterConfig()
5357 dpurdie 188
'----------------------------------------------
6548 dpurdie 189
Sub ShowBuildConfig
190
    '-- FROM START ---------------------------------------------------------------------------------------------------------
191
    objFormComponent.FormName = "FormName"
192
    objFormComponent.Action = ScriptName
193
    Call objFormComponent.FormStart()
5357 dpurdie 194
%>
6548 dpurdie 195
    <table class="embedded_table" style="margin-bottom:20px" width="10">
196
        <tr>
197
            <td>
198
                <table width="95%" border="0" cellspacing="0" cellpadding="0" align="center">
199
                   <tr>
200
                      <td nowrap class="form_ttl">
201
                            <%If canActionControlInProject("BuildConfiguration") Then%>
202
                               ADMINISTER
203
                            <%Else%>
204
                               VIEW
205
                            <%End If%>
206
                            BUILD CONFIGURATION
207
                      </td>
208
                   </tr>
209
                </table>
210
            <tr>
211
                <td>
212
                    <table class="rounded_box embedded_table">
213
                        <tr>
214
                         <td bgcolor="#FFFFFF"><img src="images/h_trsp_dot.gif" width="10"></td>
215
                         <td bgcolor="#FFFFFF" valign="top">
216
                            <!-- MESSAGE +++++++++++++++++++++++++++++++++++++++++++++++++++ -->
217
                            <!--#include file="messages/_msg_inline.asp"-->
218
                            <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
219
                            <!-- BUTTONS CONTROL +++++++++++++++++++ -->
220
                            <%
221
                            If canActionControlInProject("BuildConfiguration") Then
222
                               Call Action_Buttons ( "Add Daemon" )
223
                            End If
5357 dpurdie 224
 
6548 dpurdie 225
                            ' Load some action buttons
226
                            Call objBtnControl.LoadActionButtons ( Array("btnEditDaemon", "btnRemoveDaemon", "btnDeleteDaemon"), OraDatabase )
227
                            objBtnControl.ButtonSpacer = 1
228
 
229
                            %>
230
                            <!-- +++++++++++++++++++++++++++++++++++ -->
231
                            <table width="100%"  border="0" cellspacing="2" cellpadding="0">
232
                              <tr>
233
                                 <td valign="top" nowrap background="images/bg_table_col.gif" class="body_col"></td>
234
                                 <td valign="top" nowrap background="images/bg_table_col.gif" class="body_col">DAEMON HOST</td>
235
                                 <td valign="top" nowrap background="images/bg_table_col.gif" class="body_col">GBE_MACHTYPE</td>
236
                                 <td valign="top" nowrap background="images/bg_table_col.gif" class="body_col">DAEMON MODE</td>
237
                                 <td valign="top"   wrap background="images/bg_table_col.gif" class="body_col">GBE_BUILDFILTER</td>
238
                                 <%If canActionControlInProject("BuildConfiguration") Then%>
239
                                    <td valign="top" nowrap background="images/bg_table_col.gif" class="body_col">ACTION</td>
240
                                 <%End If%>
241
                                 <td valign="top">
242
                              </tr>
243
                              <%
244
                              query_string = "select rcon_id, display_name, rc.bmcon_id, daemon_mode, gbe_value, gbe_buildfilter, NVL(active, 'U') as ACTIVE " &_
245
                                             " from release_manager.release_config rc," &_
246
                                             "      release_manager.build_machine_config bm," &_
247
                                             "      release_manager.gbe_machtype gbe" &_
248
                                             " where rc.rtag_id=" & parRtagId &_
249
                                             "      and rc.bmcon_id=bm.bmcon_id(+)" &_
250
                                             "      and rc.gbe_id=gbe.gbe_id" &_
251
                                             " order by daemon_mode, bm.display_name"
252
                              Set rsQry = OraDatabase.DbCreateDynaset( query_string, ORADYN_DEFAULT )
253
                              Dim daemon_mode, daemon, cbtype, bActive, bInactiveMachine, dClass
254
                              bInactiveMachine = false
255
 
256
                              cbtype = "hidden"
257
                              If canActionControlInProject("BuildConfiguration") Then
258
                                 cbtype = "checkbox"
259
                              End If
260
 
261
                              '--- Render rows ---
262
                              Do While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
263
                                 rcon_id = rsQry("rcon_id")
264
                                 daemon  = rsQry("display_name")
265
                                 If IsNull(daemon) Then
266
                                     daemon = ""
267
                                 End If
268
 
269
                                 If rsQry("daemon_mode") = "M" Then
270
                                    daemon_mode = "MASTER"
271
                                 Else
272
                                    daemon_mode = "SLAVE"
273
                                 End If
274
 
275
                                 bActive = rsQry("active")
276
                                 dClass = ""
277
                                 If bActive = "N" Then
278
                                    bInactiveMachine = true
279
                                    dClass = " err_alert strike"
280
                                 End If
281
 
282
                                 %>
283
                                 <tr>
284
                                    <td colspan="5" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
285
                                 </tr>
286
                                 <tr>
287
                                    <td valign="top" align="center"><input type=<%=cbtype%> name="rcon_id_list" value="<%=rsQry("rcon_id")%>"></td>
288
                                    <td valign="top"    nowrap class="body_rowg<%=dClass%>"><%=daemon%></td>
289
                                    <td valign="top"    nowrap class="body_rowg"><%=rsQry("gbe_value")%></td>
290
                                    <td valign="top"    nowrap class="body_rowg"><%=daemon_mode%></td>
291
                                    <td valign="top"      wrap class="body_rowg"><%=rsQry("gbe_buildfilter")%></td>
292
                                    <%If canActionControlInProject("BuildConfiguration") Then%>
293
                                       <td valign="top" nowrap class="body_rowg">
294
                                            <%Call objBtnControl.Render  ( Array("btnEditDaemon", "btnRemoveDaemon", "btnDeleteDaemon"), objAccessControl )%>
295
                                       </td>
296
                                    <%End If%>
297
                                 </tr>
298
                                 <%
299
                                 rsQry.MoveNext
300
                                  Loop
301
                                  rsQry.Close()
302
                                  Set rsQry = nothing
303
                                  %>
304
                            </table>
305
                        </td>
306
                        <td background="images/lbox_bgside_white.gif">&nbsp;</td>
307
                        </tr>
308
                        <%If masterCount <> 1 OR toolsetWarning OR bInactiveMachine Then %>
309
                          <tr class="form_error form_btn">
310
                            <td></td>
311
                            <td style="padding: 10px;">
312
                            <table class="full_table form_error">
313
                                <%If masterCount <> 1 Then %>
314
                                 <tr>
315
                                    <td nowrap class="err_alert">Error
316
                                    <td class="body_rowg"> The set of Build Machines must have exactly one Master.
317
                                 </tr>
318
                                <%End If%>
319
                                <%If bInactiveMachine Then %>
320
                                 <tr>
321
                                    <td nowrap class="err_alert">Error
322
                                    <td class="body_rowg">One or more of the Build Machines have been deprecated and no longer available for use.
323
                                 </tr>
324
                                <%End If%>
325
                                <%If toolsetWarning Then %>
326
                                 <tr>
327
                                    <td nowrap class="err_alert">Warning
328
                                    <td class="body_rowg">There should be one TOOLSET builder within each set of machines with the same GBE_MACHTYPE.
329
                                 </tr>
330
                                <%End If%>
331
                                </tr>
332
                            </table>
333
                         </td>
334
                            <td></td>
335
                         </tr>
336
                        <%End If%>
337
                         <tr>
338
                            <!-- ACTION BUTTONS ---------------------------------------------->
339
                            <td background="images/bg_action_norm.gif" ></td>
340
                            <td align="right" background="images/bg_action_norm.gif" >
341
 
342
                               <%=objFormComponent.CancelButton ( "OK", "class='form_btn'", "build_status.asp?rtag_id="& parRtagId )%>
343
                               <%=objPMod.ComposeHiddenTags()%>
344
                               <%If canActionControlInProject("BuildConfiguration") Then%>
345
                                  <input name="btn" type="submit" class="form_btn" value="Unlink">
346
                                  <input name="btn" type="submit" class="form_btn" value="Delete">
347
                               <%End If%>
348
                               <input type="hidden" name="rcon_id_list" value="<%=Request("rcon_id_list")%>">
349
                               <input type="hidden" name="action" value="true">
350
                            </td>
351
                            <td background="images/bg_action_norm.gif" ><img src="images/h_trsp_dot.gif" width="5" height="30"></td>
352
                         <!-- ACTION BUTTONS END  ------------------------------------------></td>
353
                         </tr>
354
                    </table>
355
                </tr>
356
    </table>
357
<%
358
Call objFormComponent.FormEnd()
359
'-- FROM END ----------------------------------------------------------------------------------------------------------------
360
End Sub
361
'---------------------------------------------------------------------
362
%>
5357 dpurdie 363
<html>
364
   <head>
365
      <title>Release Manager</title>
366
      <link rel="shortcut icon" href="<%=FavIcon%>"/>
367
      <meta HTTP-EQUIV="Pragma" CONTENT="no-cache">
368
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
6579 dpurdie 369
      <link rel="stylesheet" href="images/release_manager_style.css?ver=<%=VixVerNum%>" type="text/css">
370
      <link rel="stylesheet" href="images/navigation.css?ver=<%=VixVerNum%>" type="text/css">
371
      <script language="JavaScript" src="images/common.js?ver=<%=VixVerNum%>"></script>
5357 dpurdie 372
      <!--#include file="_jquery_includes.asp"-->
373
      <!-- DROPDOWN MENUS -->
374
      <!--#include file="_menu_def.asp"-->
6579 dpurdie 375
      <script language="JavaScript1.2" src="images/popup_menu.js?ver=<%=VixVerNum%>"></script>
5357 dpurdie 376
   </head>
377
   <body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0">
378
      <!-- HEADER -->
379
      <!--#include file="_header.asp"-->
380
      <!-- BODY ---->
6548 dpurdie 381
      <table class="full_table">
5357 dpurdie 382
         <tr>
6548 dpurdie 383
            <td width="146px" class="panel_bg" valign="top">
384
                <%Call BuildMenuPane%>
385
            </td>
5357 dpurdie 386
            <td width="100%" rowspan="2" align="center" valign="top" bgcolor="#EEEFEF">
6548 dpurdie 387
                <%Call ShowBuildConfig%>
5357 dpurdie 388
            </td>
389
         </tr>
390
         <tr>
6548 dpurdie 391
            <td class="panel_bg" valign="bottom" align="center" height="350">
392
                <img src="images/img_gears.png" vspace="20" hspace="30"></td>
5357 dpurdie 393
         </tr>
394
      </table>
6548 dpurdie 395
      <!-- FOOTER -->
396
      <!--#include file="_footer.asp"-->
397
   </body>
5357 dpurdie 398
</html>