Subversion Repositories DevTools

Rev

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