<%@LANGUAGE="VBSCRIPT"%> <% Option explicit Response.Expires = 0 ' always load the page, dont store %> <% '===================================================== ' Import Release '===================================================== %> <% '------------ ACCESS CONTROL ------------------ %> <% '------------ Variable Definition ------------- Dim parFRrtag_id ' Current Release Dim parFRproj_id ' Selected Project Dim hasDaemons ' Current Release Has daemons configured Dim importHasDaemons ' Selected Import has daemons configured Dim sMessage, sMessageType Dim bCanImport Dim bReleaseSelected '------------ Constants Declaration ----------- '------------ Variable Init ------------------- parFRrtag_id = QStrPar("FRrtag_id") parFRproj_id = QStrPar("FRproj_id") sMessage = NULL sMessageType = 3 bCanImport = TRUE If parFRproj_id = "" Then parFRproj_id = -1 If parFRrtag_id = "" Then parFRrtag_id = -1 objPMod.PersistInQryString("rtag_id") '---------------------------------------------- %> <% '------------------------------------------------------------------------------------------------------------------------------------------ ' ' Add a line of text to the System Message ' Sub sMessageAdd(eLevel, text) If NOT isNull(sMessage) Then sMessage = sMessage & "
" End If sMessage = sMessage & text If eLevel < sMessageType Then sMessageType = eLevel End If End Sub '-------------------------------------------------------------------------------------------------------------------------- Sub Get_ProjectList ( nProjId ) Dim rsQry,tempLINK OraDatabase.Parameters.Add "PROJ_ID", nProjId, ORAPARM_INPUT, ORATYPE_NUMBER Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ProjectsCombo.sql"), ORADYN_DEFAULT ) If NOT ((NOT rsQry.BOF) AND (NOT rsQry.EOF) ) Then If (nProjId > 0) Then Response.write "No Projects found" End If Else Response.write "" OraDatabase.Parameters.Remove "PROJ_ID" rsQry.Close Set rsQry = Nothing End If End Sub '-------------------------------------------------------------------------------------------------------------------------- Sub Get_ReleaseList ( nProjId, nRtagId ) Dim rsQry,tempLINK OraDatabase.Parameters.Add "PROJ_ID", nProjId, ORAPARM_INPUT, ORATYPE_NUMBER OraDatabase.Parameters.Add "RTAG_ID", nRtagId, ORAPARM_INPUT, ORATYPE_NUMBER Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ReleasesCombo.sql"), ORADYN_DEFAULT ) bReleaseSelected = FALSE If NOT ((NOT rsQry.BOF) AND (NOT rsQry.EOF) ) Then If (nProjId > 0) Then Response.write "No Releases in this project" End If Else Response.write "" OraDatabase.Parameters.Remove "RTAG_ID" OraDatabase.Parameters.Remove "PROJ_ID" rsQry.Close Set rsQry = Nothing End If End Sub '-------------------------------------------------------------------------------------------------------------------------- Function check_for_daemons(nRtagId, DefVal) Dim sqlStr, rsQry If nRtagId <> "" Then sqlStr = "SELECT RCON_ID from RELEASE_CONFIG rc WHERE rc.rtag_id = :RTAG_ID" OraDatabase.Parameters.Add "RTAG_ID", nRtagId, ORAPARM_INPUT, ORATYPE_NUMBER Set rsQry = OraDatabase.DbCreateDynaset( sqlStr, ORADYN_DEFAULT ) If rsQry.BOF OR rsQry.EOF Then check_for_daemons = False Else check_for_daemons = True End If OraDatabase.Parameters.Remove "RTAG_ID" rsQry.Close Set rsQry = Nothing Else check_for_daemons = DefVal End If End Function '-------------------------------------------------------------------------------------------------------------------------- Sub importDaemons( NSrcRtag_id, NDstRtag_id) If (NSrcRtag_id <> "") AND (NDstRtag_id <> "") Then ' All mandatory parameters FOUND ' COMPLETE THE REQUEST... On Error Resume Next objEH.ErrorRedirect = FALSE OraDatabase.Parameters.Add "FROMRTAG_ID", NSrcRtag_id, ORAPARM_INPUT, ORATYPE_NUMBER OraDatabase.Parameters.Add "TORTAG_ID", NDstRtag_id, ORAPARM_INPUT, ORATYPE_NUMBER OraDatabase.Parameters.Add "USER_ID", objAccessControl.UserId, ORAPARM_INPUT, ORATYPE_NUMBER objEH.TryORA ( OraSession ) ' Remove old Work in Progress Contents OraDatabase.ExecuteSQL "BEGIN PK_BUILDAPI.IMPORT_DAEMONS (:FROMRTAG_ID, :TORTAG_ID, :USER_ID); END;" objEH.CatchORA ( OraSession ) OraDatabase.Parameters.Remove "FROMRTAG_ID" OraDatabase.Parameters.Remove "TORTAG_ID" OraDatabase.Parameters.Remove "USER_ID" If objEH.Finally Then OpenInParentWindow("build_status.asp?rtag_id="& NDstRtag_id ) Call Destroy_All_Objects Response.End End If sMessage = "Failure" Else Call sMessageAdd( 1, "Internal: Some mandatory parameters are missing!
" & QSTR_FullQuery ) parFRproj_id = -1 parFRrtag_id = -1 End If End Sub '-------------------------------------------------------------------------------------------------------------------------- %> <% 'Process submition If CBool(QStrPar("action")) Then Call importDaemons(Request.Form("FromRtag_id"),Request("rtag_id")) bCanImport = FALSE parFRproj_id = -1 parFRrtag_id = -1 Else ' Run before render hasDaemons = check_for_daemons(Request("rtag_id"), False) importHasDaemons = check_for_daemons(parFRrtag_id, True) If hasDaemons Then Call sMessageAdd( 2, "The current release already has build daemons configured. It is not possible to import a daemon configuration into this release.") bCanImport = FALSE ElseIf NOT importHasDaemons AND (parFRrtag_id > 0) Then Call sMessageAdd(2, "No Daemons in this Release to be imported") bCanImport = FALSE End If End If %> Release Manager
<%Call Messenger ( sMessage , 3, "100%" )%>
 
Project <%Call Get_ProjectList ( parFRproj_id )%>
Release <%Call Get_ReleaseList ( parFRproj_id, parFRrtag_id )%> ">

Import the build daemon configuration from another release.

<%If bCanImport AND bReleaseSelected Then %> <%Else%> <%End If%>