Subversion Repositories DevTools

Rev

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

<%@LANGUAGE="VBSCRIPT"%>
<%
'=====================================================
'                 REMOVE Packages
'               --- PROCESS FORM ---
'=====================================================
%>
<%
Option explicit
' Good idea to set when using redirect
Response.Expires = 0   ' always load the page, dont store
%>
<!--#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"-->
<!--#include file="common/daemon_instructions.asp"-->
<!--#include file="common/release_changed.asp"-->
<%
' Set rfile parameter. This is a return page after Login
Call objPMod.StoreParameter ( "rfile", "dependencies.asp" )
'------------ ACCESS CONTROL ------------------
%>
<!--#include file="_access_control_login.asp"-->
<!--#include file="_access_control_general.asp"-->
<!--#include file="_access_control_project.asp"-->
<%
'------------ 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<br><br>"&_
                                    "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!" & "<br>" 'TODO
   'Response.write QSTR_All
End If
   objEH.Catch
%>

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