Subversion Repositories DevTools

Rev

Rev 1281 | Blame | Compare with Previous | Last modification | View Log | RSS feed

<%@LANGUAGE="VBSCRIPT"%>
<%
Option explicit
Response.Expires = 0   ' always load the page, dont store
%>
<%
'==================================================================================
'            Modify   Product   State(Pending   For   Integration, Test, Deployment)
'==================================================================================
%>
<!--#include file="common/conf.asp"-->
<!--#include file="common/globals.asp"-->
<!--#include file="common/formating.asp"-->
<!--#include file="common/qstr.asp"-->
<!--#include file="common/common_subs.asp"-->
<!--#include file="common/common_dbedit.asp"-->
<%
'------------ ACCESS CONTROL ------------------
%>
<!--#include file="_access_control_login.asp"-->
<!--#include file="_access_control_general.asp"-->
<!--#include file="_access_control_project.asp"-->
<%
'------------ 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

   Query_String = _
   "SELECT * FROM BUILD_SERVICE_CONFIG WHERE SERVICE='SBOM MANAGEMENT'"

   Set rsTemp = OraDatabase.DbCreateDynaset( Query_String , cint(0) )
   emailRecipients = rsTemp("config")
   rsTemp.Close()
   Set rsTemp = Nothing

   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",_
                    adminEmail, _
                    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
      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
%>


<!-- DESTRUCTOR ------->
<!--#include file="common/destructor.asp"-->