<%@LANGUAGE="VBSCRIPT"%> <% Option explicit Response.Expires = 0 ' always load the page, dont store %> <% '================================================================================== ' Modify Product State(Pending For Integration, Test, Deployment) '================================================================================== %> <% '------------ ACCESS CONTROL ------------------ %> <% '------------ Variable Definition ------------- Dim parPv_id Dim parRfile Dim rsPkgInfo Dim retERRmsg Dim retALRTmsg Dim retParameters Dim parSReq ' Skip requirements test Dim pkgType Dim prodState '------------ Constants Declaration ----------- '------------ Variable Init ------------------- parPv_id = QStrPar("pv_id") parRfile = QStrPar("rfile") parSReq = QStrPar("sreq") prodState = Request("state_id") '---------------------------------------------- %> <% Sub ModifyProductState ( NNpv_id, NNrtag_id, NNstate_id ) On Error Resume Next 'objEH.ErrorRedirect = TRUE OraDatabase.Parameters.Add "PV_ID", NNpv_id, ORAPARM_INPUT, ORATYPE_NUMBER OraDatabase.Parameters.Add "RTAG_ID", NNrtag_id, ORAPARM_INPUT, ORATYPE_NUMBER OraDatabase.Parameters.Add "STATE_ID", NNstate_id, ORAPARM_INPUT, ORATYPE_NUMBER OraDatabase.Parameters.Add "USER_ID", objAccessControl.UserId, ORAPARM_INPUT, ORATYPE_NUMBER objEH.TryORA ( OraSession ) OraDatabase.ExecuteSQL _ "BEGIN "&_ " PK_PACKAGE.MODIFY_PRODUCT_STATE ( :PV_ID, :RTAG_ID, :STATE_ID, :USER_ID );"&_ "END; " objEH.CatchORA ( OraSession ) OraDatabase.Parameters.Remove "PV_ID" OraDatabase.Parameters.Remove "RTAG_ID" OraDatabase.Parameters.Remove "STATE_ID" OraDatabase.Parameters.Remove "USER_ID" '/* Log Action */ 'Call Log_Action ( NNpv_id, "makeofficial", NULL ) End Sub '------------------------------------------------------------------------------------ Sub NotifySBOMManagement ( parPv_id, parRtag_id, prodState ) On Error Resume Next Dim Query_String, rsQry, rsTemp, emailRecipients, stateComments emailRecipients = ServiceConfig("SBOM MANAGEMENT") Set rsTemp = OraDatabase.DbCreateDynaset( "select * from product_states where state_id="&prodState , cint(0) ) stateComments = rsTemp("state") rsTemp.Close() Set rsTemp = Nothing Query_String = _ " SELECT * FROM PACKAGES PKG, PACKAGE_VERSIONS PV,"&_ " RELEASE_TAGS RT, PROJECTS PRJ WHERE RT.RTAG_ID = "& parRtag_id &""&_ " AND PV.PV_ID = "& parPv_id &" AND PV.PKG_ID = PKG.PKG_ID AND "&_ " PRJ.PROJ_ID = RT.PROJ_ID" Set rsQry = OraDatabase.DbCreateDynaset( Query_String , cint(0) ) If rsQry.RecordCount <> "" Then While ((NOT rsQry.BOF) AND (NOT rsQry.EOF)) Send_Email "Release Manager Notification",_ ADMIN_EMAIL, _ emailRecipients,_ "Version "& rsQry("pkg_version") &" of Product "& rsQry("pkg_name") &" in Project " & rsQry("proj_name") &" on Release Branch " & rsQry("rtag_name") &" has been "& stateComments &".",_ "You have received this email as a result of being part of the SBOM Management.",_ NULL rsQry.MoveNext Wend End If rsQry.Close() set rsQry = nothing End Sub '------------------------------------------------------------------------------------- %> <% '---------------------------------- MAIN LINE ---------------------------------------- ' REQUREMENTS CHECK for ALL Call CheckRequirementsForMakeDeployable ( parPv_id, parRtag_id, pkgType, retERRmsg, retALRTmsg, retParameters ) If IsNull(retERRmsg) Then Call ModifyProductState ( parPv_id, parRtag_id, prodState ) Call NotifySBOMManagement ( parPv_id, parRtag_id, prodState ) If objEH.Finally Then Call Destroy_All_Objects Response.Redirect ( "fixed_issues.asp?rfile="& parRfile &"&pv_id="& parPv_id &"&rtag_id="& parRtag_id ) End If Else Call RaiseMsg ( Eval(retERRmsg), parRtag_id &"|"& parPv_id &"|"& retParameters &"|"& "N" ) End If %>