Subversion Repositories DevTools

Rev

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