%@LANGUAGE="VBSCRIPT"%>
<%
'=====================================================
' REMOVE Packages
' --- PROCESS FORM ---
'=====================================================
%>
<%
Option explicit
' Good idea to set when using redirect
Response.Expires = 0 ' always load the page, dont store
%>
<%
' Set rfile parameter. This is a return page after Login
Call objPMod.StoreParameter ( "rfile", "dependencies.asp" )
'------------ ACCESS CONTROL ------------------
%>
<%
'------------ Variable Definition -------------
'------------ Constants Declaration -----------
'------------ Variable Init -------------------
'----------------------------------------------
%>
<%
'--------------------------------------------------------------------------------------------------------------------------------------
Sub RemovePackage( )
Dim ReturnCode
Dim nPvId
nPvId=Request("pv_id")
Dim objRC: Set objRC = New ReleaseChanged
Call objRC.Get_Package_Info (Request("rtag_id"),nPvId)
Dim bReleased: bReleased = objRC.IsReleased(Request("rtag_id"),nPvId)
OraDatabase.Parameters.Add "PV_ID", nPvId, ORAPARM_INPUT, ORATYPE_NUMBER
OraDatabase.Parameters.Add "RTAG_ID", Request("rtag_id"), ORAPARM_INPUT, ORATYPE_NUMBER
OraDatabase.Parameters.Add "USER_ID", objAccessControl.UserId,ORAPARM_INPUT, ORATYPE_NUMBER
OraDatabase.Parameters.Add "RETURN_CODE", NULL, ORAPARM_OUTPUT, ORATYPE_NUMBER
If Request("btn") = "YES" Then
' Force Remove
OraDatabase.Parameters.Add "FORCE_REMOVE", "Y", ORAPARM_INPUT, ORATYPE_NUMBER
Else
OraDatabase.Parameters.Add "FORCE_REMOVE", "N", ORAPARM_INPUT, ORATYPE_NUMBER
End If
objEH.TryORA ( OraSession )
On Error Resume Next
OraDatabase.ExecuteSQL _
"BEGIN "&_
" :RETURN_CODE := PK_ENVIRONMENT.REMOVE_PACKAGE ( :PV_ID, :RTAG_ID, :USER_ID, :FORCE_REMOVE );"&_
"END; "
objEH.CatchORA ( OraSession )
ReturnCode = OraDatabase.Parameters("RETURN_CODE").Value
If ( ReturnCode <> 0 ) AND (Request("btn") <> "YES") Then
Call RaiseMsg ( enum_MSG_PACKAGE_IN_USE, Request("pv_id") &"|"& Request("rtag_id") &"|"& "_remove_package.asp")
End If
OraDatabase.Parameters.Remove "PV_ID_LIST"
OraDatabase.Parameters.Remove "RTAG_ID"
OraDatabase.Parameters.Remove "USER_ID"
OraDatabase.Parameters.Remove "FORCE_REMOVE"
OraDatabase.Parameters.Remove "RETURN_CODE"
If Not objEH.LastOraFailed Then
If bReleased Then
Call objRC.Run_ReleaseChanged(Request("rtag_id"),nPvId,enumRELEASE_CHANGE_MODE_PKG_REMOVED,false)
End If
End If
Set objRC = Nothing
End Sub
'--------------------------------------------------------------------------------------------------------------------------------------
%>
<%
'----------------------- MAIN LINE ---------------------------
On Error Resume Next
objEH.Try
'--- Process submition ---
If (Request("pv_id") <> "") AND (Request("rtag_id") <> "") Then
If (DaemonInstructionPreventsEditing(Request("rtag_id"), Request("pv_id"))) Then
Call RaiseMsg(enum_MSG_ERROR, "This package version has one or more daemon instructions present
"&_
"Please delete them or allow them to be consumed before attempting to remove the package version from the release.")
Else
Call RemovePackage ()
' All mandatory parameters FOUND
'If parBtn <> "NO" Then
'
' retNOTRemove = -1
' Call CheckPackageInUse ( Request("pv_id"), QStrPar("rtag_id"), parBtn, retNOTRemove )
' Call Remove_Pkgs_From_Release( Format_MultiSelect_List( Request("pv_id") ), QStrPar("rtag_id"), retNOTRemove )
'
'
' If ( retNOTRemove <> -1 ) AND ( parBtn <> "YES" ) Then
' If (UserDetails ( "user_role" ) = "A") OR (UserDetails ( "user_role" ) = "S") Then
' ' Admin and System Admin users
' Call RaiseMsg ( enum_MSG_PACKAGE_IN_USE, Request("pv_id") &"|"& Request("rtag_id") &"|"& Request("envtab") &"|"& "_remove_packages.asp")
'
' Else
' ' Other users
' Call RaiseMsg ( enum_MSG_CANNOT_REMOVE_PACKAGE, Request("pv_id") &"|"& Request("rtag_id") &"|"& Request("envtab") &"|"& "_remove_packages.asp")
'
' End If
'
' End If
'
'End If
Response.Redirect("dependencies.asp?rtag_id="& Request("rtag_id") )
End If
Else
Err.Raise 8, "Please select the required package to delete."
'Response.write "Some mandatory parameters are missing!" & "
" 'TODO
'Response.write QSTR_All
End If
objEH.Catch
%>