%@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 %>
Add a new Build Machine or edit an existing Build Machine.
<%=objPMod.ComposeHiddenTags()%>
<%
Call objFormComponent.FormEnd()
'-- FROM END ----------------------------------------------------------------------------------------------------------------
%>
<%
'------------ RUN AFTER PAGE RENDER -----------
Set objFormCollector = Nothing
'----------------------------------------------
Call Destroy_All_Objects
%>