Subversion Repositories DevTools

Rev

Rev 7286 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
5357 dpurdie 1
<%@LANGUAGE="VBSCRIPT"%>
2
<%
3
'=====================================================
4
'|                                                   |
5
'|                   wAddDaemon                      |
6
'|                                                   |
7
'=====================================================
8
%>
9
<%
10
Option explicit
11
Response.Expires = 0
12
%>
13
<!--#include file="common/conf.asp"-->
14
<!--#include file="common/globals.asp"-->
15
<!--#include file="common/formating.asp"-->
16
<!--#include file="common/qstr.asp"-->
17
<!--#include file="common/common_subs.asp"-->
7286 dpurdie 18
<!--#include file="common/_popup_window_common.asp"-->
5357 dpurdie 19
<!--#include file="common/_form_window_common.asp"-->
20
<%
21
'------------ ACCESS CONTROL ------------------
22
%>
7286 dpurdie 23
<!--#include file="_access_control_login.asp"-->
5357 dpurdie 24
<!--#include file="_access_control_general.asp"-->
25
<%
26
'------------ VARIABLE DEFINITION -------------
27
Dim rsQry, healthTag, cmdInterface, pkgOwner, isInterface, package, procDesc
28
Dim sMessage
29
Dim Query_String
30
Dim RecordCount
31
Dim bmcon_id
32
Dim daemon_mode
33
Dim gbe_buildfilter
34
Dim bShowEmpty
7278 dpurdie 35
Dim bAdd
5357 dpurdie 36
'------------ CONSTANTS DECLARATION -----------
37
'------------ VARIABLE INIT -------------------
38
sMessage = NULL
39
 
40
parRtag_id = Request("rtag_id")
5523 dpurdie 41
bmcon_id = RequestDefault("bmcon_id",Request("base_bmcon_id"))
7278 dpurdie 42
bAdd = (Request("rcon_id") = "")
5357 dpurdie 43
 
44
Set objFormCollector = CreateObject("Scripting.Dictionary")
45
'------------ CONDITIONS ----------------------
46
'----------------------------------------------
47
%>
48
<%
49
'--------------------------------------------------------------------------------------------------------------------------
7278 dpurdie 50
' Function:     GetData
51
' Description:  Determine the basic data for the edit session
52
Sub GetData
53
 
54
     '  Determine if any daemons have been configured in this release
55
     '  Will be used to determine if a new entry should be a MASTER or a SLAVE
56
     '
57
     Query_String = "select * " &_
58
    				" from release_config rc," &_
59
    				"      gbe_machtype gbe " &_
60
    				" where rc.rtag_id = "& parRtag_id &_
61
    				"   and gbe.gbe_id = rc.gbe_id"
62
 
63
     Set rsQry = OraDatabase.DbCreateDynaset( Query_String, cint(0))
64
 
65
     RecordCount = rsQry.RecordCount
66
     If RecordCount = 0 Then
67
    	daemon_mode = "M"
68
     else   
69
    	daemon_mode = "S"
70
     End If
71
     rsQry.Close()
72
     Set rsQry = Nothing
73
 
74
 
75
    ' Edit an existing entry
76
    '   May have a link into the build_machine_config - or it may not
77
    '   Check first
78
    bShowEmpty = TRUE
79
 
80
	If NOT bAdd Then
81
        Query_String = "SELECT * " &_
82
                       " FROM RELEASE_CONFIG rc," &_
83
                       "      gbe_machtype gb" &_
84
                       " WHERE rc.rcon_id = "& Request("rcon_id") &_
85
                       "   AND rc.gbe_id = gb.gbe_id"
86
 
87
        Set rsQry = OraDatabase.DbCreateDynaset( Query_String, cint(0))
88
 
89
        If rsQry.RecordCount > 0 Then
90
            bmcon_id        =  rsQry("bmcon_id")
91
            daemon_mode     =  rsQry("daemon_mode")
92
            gbe_buildfilter =  NiceCStr(rsQry("gbe_buildfilter"),"")
93
        End If
94
 
95
        rsQry.Close()
96
        Set rsQry = Nothing
97
    End If
98
 
99
    If NOT isNULL(bmcon_id) AND bmcon_id <> "" Then
100
 
101
    	'   Extract information from the machine config
102
    	Query_String = "SELECT * " &_
103
    				   " FROM build_machine_config bc, " &_
104
    				   "      gbe_machtype gb " &_
105
    				   "WHERE bc.bmcon_id = " & bmcon_id &_
106
    				   "  AND bc.gbe_id = gb.gbe_id"
107
 
108
    	Set rsQry = OraDatabase.DbCreateDynaset( Query_String, cint(0))
109
 
110
    	If rsQry.RecordCount > 0 Then
111
    		bmcon_id        =  rsQry("bmcon_id")
112
    		bShowEmpty      = FALSE
113
    	End If
114
 
115
    	rsQry.Close()
116
    	Set rsQry = Nothing
117
    End If
118
 
119
	' Cleanup gbe_buildfilter
120
    Dim regEx
121
    Set regEx = New RegExp
122
    regEx.Global = true
123
    regEx.IgnoreCase = True
124
 
125
    regEx.Pattern = "\s{2,}"
126
 
127
    gbe_buildfilter = Replace(gbe_buildfilter,","," ")
128
    gbe_buildfilter = Trim(regEx.Replace(gbe_buildfilter, " "))
129
End Sub
130
 
131
Sub InsertXrefData
132
	'
133
	'   Create a data structure (javascript) to map build machine (bmcon_id) to available platforms
134
	'
135
    Query_String = "SELECT bp.bp_name, bp.bp_id, bc2.bmcon_id" &_
136
            " FROM release_manager.build_platforms bp, release_manager.build_platforms_config2 bc2 " &_
137
            " WHERE bp.bp_id = bc2.bp_id " &_
138
            " ORDER BY upper(bp.bp_name)"
139
 
140
    Set rsQry = OraDatabase.DbCreateDynaset( Query_String, ORADYN_DEFAULT )
141
    While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
142
        Response.Write "AddXrefEntry('" & rsQry("bp_name") &"',"& rsQry("bmcon_id") & ");" & vbCrLf
143
       rsQry.MoveNext
144
    Wend
145
    rsQry.Close()
146
    Set rsQry = Nothing
147
End Sub
148
 
5357 dpurdie 149
'-------------------------------------------------
7279 dpurdie 150
'   Gnerate a table of build machine information
151
Sub DisplayBuildMachines
5357 dpurdie 152
   Dim rsQry, query
153
 
7279 dpurdie 154
    Response.Write "<table id='daemonHost' class='comboBox' width='100%'>"
5357 dpurdie 155
 
7279 dpurdie 156
    OraDatabase.Parameters.Add "bmcon_id", bmcon_id,        ORAPARM_INPUT, ORATYPE_NUMBER
157
    OraDatabase.Parameters.Add "rtag_id",  parRtag_id,      ORAPARM_INPUT, ORATYPE_NUMBER
5357 dpurdie 158
 
7279 dpurdie 159
    query = ReadFile( rootPath & "queries\available_build_machines.sql" )
5357 dpurdie 160
 
7279 dpurdie 161
    Set rsQry = OraDatabase.DbCreateDynaset( query, ORADYN_DEFAULT )
162
    While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
163
        Response.Write "<tr class='"& rsQry("state") & "' data-bmconid="& rsQry("bmcon_id") &">"
164
        Response.Write "<td>" & rsQry("display_name") & "</td>"
165
        Response.Write "<td>" & rsQry("gbe_value") & "</td>"
166
        Response.Write "<td style='max-width:300px'>" & rsQry("description") & "</td>"
167
        Response.Write "</tr>"
5357 dpurdie 168
 
7279 dpurdie 169
        rsQry.MoveNext
170
    Wend
171
 
172
    rsQry.Close()
173
    Set rsQry = Nothing
174
 
175
    OraDatabase.Parameters.Remove "bmcon_id"
176
    OraDatabase.Parameters.Remove "rtag_id"
177
 
178
    Response.Write "</table>"
179
 
180
End Sub
181
 
5357 dpurdie 182
'--------------------------------------------------------------------------------------------------------------------------
183
'------------ RUN BEFORE PAGE RENDER ----------
184
 
185
If CBool(Request("action")) Then
186
 
5523 dpurdie 187
    If  bmcon_id = "" Then
5357 dpurdie 188
        sMessage = "Select a Build Machine before updating the entry"
189
    Else
190
 
191
       '    Add or Update after the users edit session
192
       If Request("rcon_id") <> "" Then
193
 
194
          OraDatabase.Parameters.Add "RCON_ID",         Request("rcon_id"),         ORAPARM_INPUT, ORATYPE_NUMBER
5523 dpurdie 195
          OraDatabase.Parameters.Add "BMCON_ID",        bmcon_id,                   ORAPARM_INPUT, ORATYPE_NUMBER
5357 dpurdie 196
          OraDatabase.Parameters.Add "DAEMON_MODE",     Request("daemon_mode"),     ORAPARM_INPUT, ORATYPE_VARCHAR2
197
          OraDatabase.Parameters.Add "GBE_BUILDFILTER", Request("gbe_buildfilter"), ORAPARM_INPUT, ORATYPE_VARCHAR2
198
 
5590 dpurdie 199
          objEH.ErrorRedirect = FALSE
5357 dpurdie 200
          objEH.TryORA ( OraSession )
201
          On Error Resume Next
202
 
203
          OraDatabase.ExecuteSQL "BEGIN  PK_BUILDAPI.UPDATE_DAEMON_CONFIG(:RCON_ID, :BMCON_ID, :DAEMON_MODE, :GBE_BUILDFILTER);  END;"
204
          OraSession.CommitTrans
205
 
206
          objEH.CatchORA ( OraSession )
207
 
208
          OraDatabase.Parameters.Remove "RCON_ID"
209
          OraDatabase.Parameters.Remove "BMCON_ID"
210
          OraDatabase.Parameters.Remove "DAEMON_MODE"
211
          OraDatabase.Parameters.Remove "GBE_BUILDFILTER"
212
 
213
          If objEH.Finally Then
214
             Call OpenInParentWindow ("release_config.asp?rtag_id="&parRtag_id)
215
             Call CloseWindow()
216
          End If
217
 
218
          rsQry.Close
219
          Set rsQry = nothing
220
 
221
       Else
222
          OraDatabase.Parameters.Add "RTAG_ID",         Request("rtag_id"),         ORAPARM_INPUT, ORATYPE_NUMBER
5523 dpurdie 223
          OraDatabase.Parameters.Add "BMCON_ID",        bmcon_id,                   ORAPARM_INPUT, ORATYPE_NUMBER
5357 dpurdie 224
          OraDatabase.Parameters.Add "DAEMON_MODE",     Request("daemon_mode"),     ORAPARM_INPUT, ORATYPE_VARCHAR2
225
          OraDatabase.Parameters.Add "GBE_BUILDFILTER", Request("gbe_buildfilter"), ORAPARM_INPUT, ORATYPE_VARCHAR2
226
 
5590 dpurdie 227
          objEH.ErrorRedirect = FALSE
5357 dpurdie 228
          objEH.TryORA ( OraSession )
229
          On Error Resume Next
230
 
231
          OraDatabase.ExecuteSQL "BEGIN  PK_BUILDAPI.ADD_DAEMON_CONFIG(:RTAG_ID, :BMCON_ID, :DAEMON_MODE, :GBE_BUILDFILTER);  END;"
232
 
233
          objEH.CatchORA ( OraSession )
234
 
235
          OraDatabase.Parameters.Remove "RTAG_ID"
236
          OraDatabase.Parameters.Remove "BMCON_ID"
237
          OraDatabase.Parameters.Remove "DAEMON_MODE"
238
          OraDatabase.Parameters.Remove "GBE_BUILDFILTER"
239
 
240
          If objEH.Finally Then
241
             Call OpenInParentWindow ("release_config.asp?rtag_id="&parRtag_id)
242
             Call CloseWindow()
243
          End If
244
 
245
          rsQry.Close
246
          Set rsQry = nothing
247
 
248
       End If
249
    End If
250
End If
7278 dpurdie 251
call GetData
5357 dpurdie 252
'----------------------------------------------
7278 dpurdie 253
Sub InsertJavaScript %>
254
<script type="text/javascript" charset="utf-8">
255
    var platformXref = {};
256
    $(document).ready(function(){
257
 
258
        // Function to init Platform CrossRef Data
259
        // Create a two dimensional associative array
260
        //      First level - Platform Name
261
        //      Second Level - BMCONID
262
        //
263
        function AddXrefEntry(platform, bmconid){
264
            platform = platform.toUpperCase();
265
            if ( ! platformXref[platform] ) {
266
                platformXref[platform] = {};
267
            }
268
            platformXref[platform][bmconid] = 1;
269
        };
270
        //  Function calls generated by the ASP code to create a data structure
271
        <%Call InsertXrefData%>
272
 
273
        //  Add in two special platforms. NONE and TOOLSET
274
        AddXrefEntry('TOOLSET', 'ALL');
275
        AddXrefEntry('NONE', 'ALL');
276
 
7279 dpurdie 277
        // Init the Daemon Host Combo
278
		setDaemonHost();
279
 
7278 dpurdie 280
        // Initial config of visible PLATFORMS
281
        setbmConId();
282
 
7279 dpurdie 283
        // Initial Focus
284
		$("#daemonHostDiv").focus();
285
 
7278 dpurdie 286
    	// Wire up the MachType selector to modify the available PLATFORMS
287
    	$('#selBmConId').change( setbmConId );
288
 
289
        // Wire up the GBE_BUILDFILTER so that user changes are represented
290
    	$('#gbe_buildfilter').change( setbmConId );
291
 
292
        // Update the available platforms when the user changes the GBE_MACHTYPE
293
        // Sanitise the value of GBE_BUILDFILTER
294
        // Operation relies on the fact that
295
        //      Hidden items will not be submitted as a part of the form
296
        //      Platforms supported on multiple machines will appear multiple times
297
        function setbmConId(  )
298
        {
7279 dpurdie 299
            var bmConId = $('#bmcon_id').val();
7278 dpurdie 300
            var table = $('#selPlat');
301
			table.empty();
302
 
303
			//  Parse the existing GBE_BUILDFILTER so that we can determine any platforms that are not
304
            //  supported on the selected build machine
305
            //  Convert the GBE_BUILDFILTER into an object for easy processing
306
			var curFilter = {};
7279 dpurdie 307
			var curFilterArray = getBuildFilter();
7278 dpurdie 308
            for ( i = 0; i < curFilterArray.length; i++ ) {
309
				curFilter[curFilterArray[i]] = 1;
310
			}
311
 
312
            // Insert platforms supported on selected machine
313
            Object.keys(platformXref).sort().forEach(platform => {
314
                if ( platformXref[platform][bmConId] ||  platformXref[platform]['ALL'] ){
315
                    table.append(createPlatformRow(platform, curFilter[platform], undefined));
316
					delete curFilter[platform]; 
317
                }
318
            });
319
 
320
            // Insert platforms NOT supported on selected machine
321
            // Prepend in reverse order
322
            Object.keys(curFilter).sort().reverse().forEach(platform => {
323
                if ( platform ) {
324
                    table.prepend(createPlatformRow(platform, true, 'err_alert'));
325
                }
326
            });
7279 dpurdie 327
 
328
            setBuildFilter();
7278 dpurdie 329
        }
330
 
331
        // Local function to create a platform row, with checkbox
332
        //
333
        function createPlatformRow(platform, state, eClass){
334
            var row = $("<tr/>").addClass('body_txt selPlat').addClass(eClass);
335
            var td = $("<td/>");
7279 dpurdie 336
            var item = $("<input/>").attr('type', 'checkbox').css('margin','0px 3px').prop('checked', state).change(togglePlatforms);
337
            if ( platform == 'NONE' ) {
338
				item.attr('id', 'check_none');
339
            }
7278 dpurdie 340
            var itemText = $("<span/>").text(platform);
341
            if ( eClass ) {
342
                itemText.append(' - Not available');
343
            }
344
            td.append(item);
345
            td.append(itemText);
346
            row.append(td);
347
            return row;
348
        }
349
 
350
        // Update GBE_BUILDFILTER as the user selects and deselects platforms
7279 dpurdie 351
        function togglePlatforms(){
7278 dpurdie 352
			var state = this.checked;
353
			var platform = $(this).parent().text().trim();
354
			var idx = platform.indexOf(' - ');
355
            if ( idx >= 0 )
356
                platform = platform.substring(0, idx );
357
 
358
            // Add or remove item
359
            //  Split the string into an array
360
            //  Always remove the item
361
            //  Append the platform - if adding
362
            //  Sort and reform a space-seperated string
363
            //
7279 dpurdie 364
			var gbeFilter = getBuildFilter()
7278 dpurdie 365
            gbeFilter = gbeFilter.filter(e => e !== platform);
366
            if ( state ) {
367
                gbeFilter.push(platform);
368
            }
369
 
7279 dpurdie 370
            setBuildFilter(gbeFilter);
7278 dpurdie 371
        }
7279 dpurdie 372
 
373
        //
374
        //  Get the current gbe_buildfilter and return an array
375
        //
376
        function getBuildFilter() {
377
            var uniq = [ ...new Set($('#gbe_buildfilter').val().replace(/,/g, ' ').trim().toUpperCase().split(/\s+/)) ];
378
			return uniq;
379
        }
380
 
381
 
382
        // Handle the special NONE case
383
        //      Remove NONE - if there are others
384
        //      Insert NONE if there are no others
385
        // Pretty up the GBE_BUIDLFILTER
386
        //      Sort the list
387
        //      Force upper case    
388
        //
389
        function setBuildFilter(gbeFilter) {
390
			var hasNone = false;
391
			var hasOthers = false;
392
 
393
            if ( !gbeFilter ) {
394
                gbeFilter = getBuildFilter();
395
            }
396
 
397
            gbeFilter.forEach (platform => {
398
                if (platform.length <= 0) {
399
                } else if ( platform == 'NONE' ) {
400
					hasNone = true;
401
                } else if ( platform != 'TOOLSET' ) {
402
					hasOthers = true;
403
                }
404
            });
405
 
406
            // Insert NONE, if there are no others
407
            if ( !hasNone && !hasOthers ) {
408
				gbeFilter.push('NONE');
409
                gbeFilter = gbeFilter.sort();
410
                $('#check_none').prop('checked', true);
411
            }
412
 
413
            // Remove NONE, if there are others
414
            if ( hasNone && hasOthers ) {
415
				var idx = gbeFilter.indexOf('NONE');
416
                if ( idx >= 0 ) {
417
                    gbeFilter.splice(idx, 1);
418
                }
419
                $('#check_none').prop('checked', false);
420
            }
421
 
422
            //  Pretty up the display
423
            $('#gbe_buildfilter').val(gbeFilter.sort().join(' '));
424
 
425
        }
426
 
427
        //  Multicolumn combo box handling
428
        //
429
 
430
        $('.comboParent').on('keydown',function(e) {
431
            if(e.which == 13) {
432
                openComboBox(e, this);
433
            }
434
		});
435
 
436
		$('.comboParent').click(openComboBox);
437
 
438
		$('.comboBox tr').click(function(){
439
            if ( $(this).hasClass('available') )
440
            {
7280 dpurdie 441
                var elp = $(this).closest('.comboContainer');
442
                closeComboBox(elp)
7279 dpurdie 443
 
444
                // Capture the data and store it in the parent element
445
                elp.find('.selected').removeClass('selected');
446
                $(this).addClass('selected');
447
 
448
                var $clone = $(this).clone();
449
                $('.comboParent table').first().html($clone);
450
 
451
                // Update the field that will be submitted
452
				var bmconid = $(this).data('bmconid');
453
				$('#bmcon_id').val(bmconid);
454
                setbmConId();
455
            }
456
        });
457
 
458
        //  Show the combo box
459
        //
460
        function openComboBox(e, that) {
461
            if ( that == undefined ) {
462
				that = this;
463
            }
7280 dpurdie 464
 
465
            var el = $(that).find('.comboContainer:first');
466
			if (el.is(":hidden")) {
467
                el.show(); 
468
                event.stopImmediatePropagation();
469
                $(document).on('click.comboBox', function(){
470
                    var elp = $(that).closest('.comboContainer');
471
                    if ( elp.size() <= 0 ) {
472
                        closeComboBox(elp)
473
                    }
474
                });
475
            } else {
476
                // Combobox is already shown
477
                closeComboBox(el);
478
            }
479
        }
480
 
481
        // Hide the combo box and remove handlers
482
        //
483
        function closeComboBox( el) {
484
			el.hide();
485
            $(document).off('click.comboBox');
486
            $("#daemonHostDiv").focus(); 
7279 dpurdie 487
            event.stopImmediatePropagation();
488
        }
489
 
7280 dpurdie 490
 
7279 dpurdie 491
        //  Init the Deamon Host display.
492
        //  Select the required data from the tables
493
        function setDaemonHost() {
494
			var el = $("#daemonHost").find('.selected');
495
            if ( el.size() > 0 ) {
496
                var $clone = el.clone();
497
                $('#daemonHostDiv table').first().html($clone)
498
            }
499
        }
500
 
7278 dpurdie 501
    });
502
</script>
503
<%End Sub
504
'-------------------------------------------------
5357 dpurdie 505
%>
506
<html>
507
<head>
508
<title>Release Manager</title>
509
<link rel="shortcut icon" href="<%=FavIcon%>"/>
510
<meta HTTP-EQUIV="Pragma" CONTENT="no-cache">
511
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
6579 dpurdie 512
<link href="images/release_manager_style.css?ver=<%=VixVerNum%>" rel="stylesheet" type="text/css">
6676 dpurdie 513
<script language="JavaScript" src="scripts/common.js?ver=<%=VixVerNum%>"></script>
7278 dpurdie 514
<!--#include file="_jquery_includes.asp"-->
515
<%Call InsertJavaScript %>
7279 dpurdie 516
<style>
517
.comboBox {}
518
.comboParent { position:relative; background:white;}
519
.comboParent table {border-collapse:collapse;}
520
.comboParent table td {border:1px solid darkgrey; padding-right: 10px;white-space: nowrap;overflow-x: hidden;}
521
.comboParent table {color:#000000;font:11px tahoma,sans-serif;text-decoration:none;}
7280 dpurdie 522
.comboContainer{position:absolute;overflow-y:scroll;background:white; border: 1px solid darkgrey;display:none;xxtop:0px;right:0px;left:0px;}
7279 dpurdie 523
table.comboBox {border-collapse:collapse;}
524
table.comboBox  td {border:1px solid darkgrey;padding-right: 10px;white-space: normal}
525
table.comboBox tr.available:hover {background: #1e90ff;}
526
table.comboBox tr.selected {background: #d5e8fb;}
527
table.comboBox tr.disabled {color:grey;}
528
.icon-down:before {content: "\25BC"; position:absolute;top:2;right:2;font-size:11px}
529
</style>
5357 dpurdie 530
</head>
531
 
7279 dpurdie 532
<body background="images/bg_bage_0.gif" leftmargin="0" topmargin="0" >
7288 dpurdie 533
<div id='divProgressBar' class='vixSpinner' style='visibility:hidden;position:fixed'></div>
5357 dpurdie 534
<table width="100%"  border="0" cellspacing="0" cellpadding="10">
535
   <tr>
5590 dpurdie 536
      <td bgcolor="#FFFFFF" class="body_txt">
7278 dpurdie 537
		<%If bAdd Then%>
538
         Add a new DAEMON
539
		<%Else%>
540
         Edit an existing DAEMON
541
		<%End If%>
5357 dpurdie 542
      </td>
543
   </tr>
544
 
545
   <%
546
   '-- FROM START --------------------------------------------------------------------------------------------------------------
547
   objFormComponent.FormName = "FormName"
5590 dpurdie 548
   objFormComponent.FormClass = "form_tight"
5357 dpurdie 549
   objFormComponent.Action = ScriptName
550
   objFormComponent.OnSubmit = "ShowProgress();"
551
   Call objFormComponent.FormStart()
552
   %>
553
   <tr>
554
      <td>
5590 dpurdie 555
         <!-- LOCAL ERROR +++++++++++++++++++++++++++++++++++++++++++++++ -->
5357 dpurdie 556
         <%Call Messenger ( sMessage , 3, "100%" )%>
557
         <!-- MESSAGE +++++++++++++++++++++++++++++++++++++++++++++++++++ -->
558
         <!--#include file="messages/_msg_inline.asp"-->
7279 dpurdie 559
         <table border="0" width='700px'>
5357 dpurdie 560
            <tr>
7279 dpurdie 561
               <td width=1%><span class="body_txt">Daemon Host</span></td>
5357 dpurdie 562
               <td>
7279 dpurdie 563
			     <div id='daemonHostDiv' class='comboParent icon-down' tabindex=0 >
564
					 <table width=100%>
565
					     <tr>
566
						 <td>Select Deamon Host</td>
567
						 </tr>
568
					 </table>
569
				 <div class=comboContainer style="height:10em;">
570
					  <%DisplayBuildMachines%>
571
				</div>
572
					 </div>
573
			   </td>
5357 dpurdie 574
            </tr>
575
            <tr>
576
               <td><span class="body_txt">Daemon Mode</span></td>
577
               <td>
578
                 <select name="daemon_mode" class='body_txt'>
7278 dpurdie 579
                   <option value=M <%=iif(daemon_mode="M","selected","")%>>Master</option>
580
                   <option value=S <%=iif(daemon_mode="S","selected","")%>>Slave</option>
5357 dpurdie 581
                 </select>
582
               </td>
583
            </tr>
584
            <tr>
585
               <tr>
586
                  <td><span class="body_txt">GBE_BUILDFILTER</span></td>
7278 dpurdie 587
                  <td><input id=gbe_buildfilter name="gbe_buildfilter" type="text" class="body_txt" size="120" spellcheck="false" value="<%=gbe_buildfilter%>"></td>
5357 dpurdie 588
               </tr>
589
            </tr>
7278 dpurdie 590
            <tr>
591
               <td><span class="body_txt nowrap">Platforms</span></td>
592
               <td style="border: darkgrey 1px solid">
593
				<div style="overflow-y: scroll;height: 20em;">
594
					<table id=selPlat></table>
595
				</div>
596
               </td>
597
            </tr>
5590 dpurdie 598
         </table>
599
      </td>
600
   </tr>
601
   <tr>
602
      <td bgcolor=#FFFFFF>
603
         <table class="full_table">
5357 dpurdie 604
            <tr>
5590 dpurdie 605
               <td align="right">
606
                  <input name="btn" type="submit" class="form_btn" value="Add/Update">
607
                  <input name="btn" type="reset" class="form_btn" value="Cancel" onclick="parent.closeIFrame();">
608
               </td>
5357 dpurdie 609
            </tr>
610
         </table>
611
      </td>
612
   </tr>
613
   <%=objPMod.ComposeHiddenTags()%>
614
   <input type="hidden" name="action" value="true">
5523 dpurdie 615
   <input type="hidden" name="base_bmcon_id" value="<%=bmcon_id%>">
7279 dpurdie 616
   <input type="hidden" id=bmcon_id name="bmcon_id" value="<%=bmcon_id%>">
7278 dpurdie 617
 <%If NOT bAdd Then%>
618
	 <input type="hidden" name="rcon_id" value="<%=Request("rcon_id")%>">
619
 <% End If %>
5357 dpurdie 620
   <%
621
   Call objFormComponent.FormEnd()
622
   '-- FROM END ----------------------------------------------------------------------------------------------------------------
623
   %>
624
</table>
625
</body>
626
</html>
627
<%
628
'------------ RUN AFTER PAGE RENDER -----------
629
Set objFormCollector = Nothing
630
'----------------------------------------------
631
Call Destroy_All_Objects
632
%>