<%@LANGUAGE="VBSCRIPT"%> <% '===================================================== ' wAddBuildMachine.asp '===================================================== %> <% Option explicit Response.Expires = 0 %> <% '------------ ACCESS CONTROL ------------------ %> <% '------------ VARIABLE DEFINITION ------------- Dim sMessage Dim display_name Dim machine_hostname Dim gbe_id Dim active, activeChecked Dim description Dim platformList Dim bIsaClone : bIsaClone = FALSE '------------ CONSTANTS DECLARATION ----------- '------------ VARIABLE INIT ------------------- sMessage = NULL Set objFormCollector = CreateObject("Scripting.Dictionary") If Request("type") = "clone" Then bIsaClone = TRUE End If '------------ CONDITIONS ---------------------- '---------------------------------------------- %> <% '-------------------------------------------------------------------------------------------------------------------------- ' Get the data for the display ' On first request, it will get the data from the database ' Otherwise the data will be fetched from form elements Sub GetData If CBool(Request("action")) Then ' Recover the data from the form ' It may contain user changes display_name = Request("display_name") machine_hostname = Request("machine_hostname") gbe_id = Request("gbe_id") active = Request("active") description = Request("description") platformList = "," & Request("platform") & "," platformList = Replace(platformList," ","",1,-1) if active = "Y" Then activeChecked = "checked" ElseIf Request("bmcon_id") <> "" Then ' Extract data from the database Dim rsQry, query query = "select * from build_machine_config bm, gbe_machtype gbe "&_ " where bm.bmcon_id = "& Request("bmcon_id") &_ " and gbe.gbe_id = bm.gbe_id" Set rsQry = OraDatabase.DbCreateDynaset( query, cint(0)) display_name = rsQry("display_name") machine_hostname = rsQry("machine_hostname") gbe_id = rsQry("gbe_id") active = rsQry("active") description = rsQry("description") activeChecked = "" if active = "Y" Then activeChecked = "checked" If bIsaClone Then description = "Clone of " & machine_hostname & ".
" & description display_name = "" machine_hostname = "" End If rsQry.Close() Set rsQry = Nothing ' Create a list of associated Platforms ' platformList = "" query = "select * from build_platforms_config2 bpc2 where bpc2.bmcon_id = "& Request("bmcon_id") Set rsQry = OraDatabase.DbCreateDynaset( query, ORADYN_DEFAULT ) While (NOT rsQry.BOF) AND (NOT rsQry.EOF) platformList = platformList & "," & rsQry("BP_ID") rsQry.MoveNext Wend rsQry.Close() Set rsQry = Nothing platformList = platformList & "," Else ' New Machine - set defaults activeChecked = "checked" End If End Sub '-------------------------------------------------------------------------------------------------------------------------- ' Get MachTypes - to populate a dropdron list Function GetMachType ( ngbe_id ) Dim rsQry, query OraDatabase.Parameters.Add "gbe_id", ngbe_id, ORAPARM_INPUT, ORATYPE_NUMBER query = GetQuery ("GBE_MACHTYPECombo.sql") Set rsQry = OraDatabase.DbCreateDynaset( query, ORADYN_DEFAULT ) If (NOT rsQry.BOF) AND (NOT rsQry.EOF) Then GetMachType = rsQry.GetRows() Else GetMachType = NULL End If rsQry.Close() Set rsQry = Nothing OraDatabase.Parameters.Remove "gbe_id" End Function '-------------------------------------------------------------------------------------------------------------------------- ' Get configured platforms ' Function GetPlatforms () Dim rsQry, query query = "SELECT bp.bp_id, bp.bp_active, bp.bp_name, bpc.gbe_id" &_ " FROM build_platforms bp, build_platforms_config bpc" &_ " WHERE bp.bp_id = bpc.bp_id" &_ " ORDER BY upper(bp.bp_name)" Set rsQry = OraDatabase.DbCreateDynaset( query, ORADYN_DEFAULT ) While (NOT rsQry.BOF) AND (NOT rsQry.EOF) Dim checkText checkText = IIF(InStr(platformList, "," & rsQry("BP_ID") & ",") > 0, "checked", "") Dim bActive bActive = IIF(rsQry("BP_ACTIVE") = "Y", TRUE, FALSE) ' Only include those that are active UNLESS they are currently selected ' ie: Cannot select an inactive item, but can still use it If bActive OR checkText <> "" Then GetPlatforms = GetPlatforms & "" GetPlatforms = GetPlatforms & " " & rsQry("BP_NAME") & "" GetPlatforms = GetPlatforms & "" End If rsQry.MoveNext Wend rsQry.Close() Set rsQry = Nothing GetPlatforms = "" & GetPlatforms & "
" End Function '-------------------------------------------------------------------------------------------------------------------------- %> <% '------------ RUN BEFORE PAGE RENDER ---------- If CBool(Request("action")) Then If Request("bmcon_id") <> "" Then OraDatabase.Parameters.Add "BMCON_ID", Request("bmcon_id"), ORAPARM_INPUT, ORATYPE_NUMBER OraDatabase.Parameters.Add "DISPLAY_NAME", Request("display_name"), ORAPARM_INPUT, ORATYPE_VARCHAR2 OraDatabase.Parameters.Add "MACHINE_HOSTNAME", Request("machine_hostname"), ORAPARM_INPUT, ORATYPE_VARCHAR2 OraDatabase.Parameters.Add "GBE_ID", Request("gbe_id"), ORAPARM_INPUT, ORATYPE_NUMBER OraDatabase.Parameters.Add "DESCRIPTION", Request("description"), ORAPARM_INPUT, ORATYPE_VARCHAR2 OraDatabase.Parameters.Add "ACTIVE", Request("active"), ORAPARM_INPUT, ORATYPE_CHAR OraDatabase.Parameters.Add "PLATFORM", Request("platform"), ORAPARM_INPUT, ORATYPE_VARCHAR2 objEH.ErrorRedirect = FALSE objEH.TryORA ( OraSession ) On Error Resume Next OraDatabase.ExecuteSQL _ "BEGIN PK_BUILDAPI.UPDATE_BUILD_MACHINE(:BMCON_ID, :DISPLAY_NAME, :MACHINE_HOSTNAME, :GBE_ID, :DESCRIPTION, :ACTIVE, :PLATFORM); END;" objEH.CatchORA ( OraSession ) OraDatabase.Parameters.Remove "BMCON_ID" OraDatabase.Parameters.Remove "DISPLAY_NAME" OraDatabase.Parameters.Remove "MACHINE_HOSTNAME" OraDatabase.Parameters.Remove "GBE_ID" OraDatabase.Parameters.Remove "DESCRIPTION" OraDatabase.Parameters.Remove "ACTIVE" OraDatabase.Parameters.Remove "PLATFORM" If objEH.Finally Then Call OpenInParentWindow ("admin_build_machine.asp?bmcon_id="&Request("bmcon_id")) Call CloseWindow() End If rsQry.Close Set rsQry = nothing Else OraDatabase.Parameters.Add "DISPLAY_NAME", Request("display_name"), ORAPARM_INPUT, ORATYPE_VARCHAR2 OraDatabase.Parameters.Add "MACHINE_HOSTNAME", Request("machine_hostname"), ORAPARM_INPUT, ORATYPE_VARCHAR2 OraDatabase.Parameters.Add "GBE_ID", Request("gbe_id"), ORAPARM_INPUT, ORATYPE_NUMBER OraDatabase.Parameters.Add "DESCRIPTION", Request("description"), ORAPARM_INPUT, ORATYPE_VARCHAR2 OraDatabase.Parameters.Add "ACTIVE", Request("active"), ORAPARM_INPUT, ORATYPE_CHAR OraDatabase.Parameters.Add "PLATFORM", Request("platform"), ORAPARM_INPUT, ORATYPE_VARCHAR2 objEH.ErrorRedirect = FALSE objEH.TryORA ( OraSession ) On Error Resume Next OraDatabase.ExecuteSQL _ "BEGIN PK_BUILDAPI.ADD_BUILD_MACHINE(:DISPLAY_NAME, :MACHINE_HOSTNAME, :GBE_ID, :DESCRIPTION, :ACTIVE, :PLATFORM); END;" objEH.CatchORA ( OraSession ) OraDatabase.Parameters.Remove "DISPLAY_NAME" OraDatabase.Parameters.Remove "MACHINE_HOSTNAME" OraDatabase.Parameters.Remove "GBE_ID" OraDatabase.Parameters.Remove "DESCRIPTION" OraDatabase.Parameters.Remove "ACTIVE" OraDatabase.Parameters.Remove "PLATFORM" If objEH.Finally Then Call OpenInParentWindow ("admin_build_machine.asp?bmcon_id="&Request("bmcon_id")) Call CloseWindow() End If rsQry.Close Set rsQry = nothing End If End If '---------------------------------------------- Sub InsertJavaScript %> <%End Sub '------------------------------------------------- %> Release Manager <%Call InsertJavaScript %> <% '-- FROM START -------------------------------------------------------------------------------------------------------------- objFormComponent.FormName = "FormName" objFormComponent.FormClass = "form_tight" objFormComponent.Action = ScriptName objFormComponent.OnSubmit = "ShowProgress();" Call objFormComponent.FormStart() Call GetData() %> <%=objPMod.ComposeHiddenTags()%> <% Call objFormComponent.FormEnd() '-- FROM END ---------------------------------------------------------------------------------------------------------------- %>
Add a new Build Machine or edit an existing Build Machine.
<%Call Messenger ( sMessage , 3, "100%" )%> <% If Request("bmcon_id") <> "" Then%> <%If NOT bIsaClone Then%> "> <%End If End If%>
Display Name
Machine HostName
GBE_MACHTYPE <%=objFormComponent.Combo ( "gbe_id", GetMachType( gbe_id ), CBool(Request("bmcon_id") = ""), "size=1 class='body_txt' id=selGbeId" )%>
Allow Use > Allow users to add this machine to a build set
Description
Platforms
<%=GetPlatforms%>
<% '------------ RUN AFTER PAGE RENDER ----------- Set objFormCollector = Nothing '---------------------------------------------- Call Destroy_All_Objects %>