| Line 21... |
Line 21... |
| 21 |
<%
|
21 |
<%
|
| 22 |
'------------ ACCESS CONTROL ------------------
|
22 |
'------------ ACCESS CONTROL ------------------
|
| 23 |
%>
|
23 |
%>
|
| 24 |
<!--#include file="_access_control_login.asp"-->
|
24 |
<!--#include file="_access_control_login.asp"-->
|
| 25 |
<!--#include file="_access_control_general.asp"-->
|
25 |
<!--#include file="_access_control_general.asp"-->
|
| 26 |
<!--#include file="_access_control_project.asp"-->
|
- |
|
| 27 |
<%
|
26 |
<%
|
| 28 |
'------------ Variable Definition -------------
|
27 |
'------------ Variable Definition -------------
|
| 29 |
Dim ProblemsString
|
28 |
Dim ProblemsString
|
| 30 |
Dim OverideWarnings
|
29 |
Dim OverideWarnings
|
| - |
|
30 |
Dim bCanDelete
|
| 31 |
'------------ Constants Declaration -----------
|
31 |
'------------ Constants Declaration -----------
|
| 32 |
'------------ Variable Init -------------------
|
32 |
'------------ Variable Init -------------------
|
| 33 |
ProblemsString = NULL
|
33 |
ProblemsString = NULL
|
| - |
|
34 |
bCanDelete = FALSE
|
| 34 |
|
35 |
|
| 35 |
OverideWarnings = "N"
|
36 |
OverideWarnings = "N"
|
| 36 |
If InStr( 1, Request("btn"), "YES", 1 ) > 0 Then OverideWarnings = "Y"
|
37 |
If InStr( 1, Request("btn"), "YES", 1 ) > 0 Then OverideWarnings = "Y"
|
| 37 |
|
- |
|
| 38 |
'----------------------------------------------
|
38 |
'----------------------------------------------
|
| 39 |
%>
|
39 |
%>
|
| 40 |
<%
|
40 |
<%
|
| 41 |
Sub DestroyPackage ( nPvId, cOverrideWarnings, outProblemsString )
|
41 |
Sub DestroyPackage ( nPvId, cOverrideWarnings, outProblemsString )
|
| 42 |
|
42 |
|
| Line 60... |
Line 60... |
| 60 |
|
60 |
|
| 61 |
OraDatabase.Parameters.Remove "PV_ID"
|
61 |
OraDatabase.Parameters.Remove "PV_ID"
|
| 62 |
OraDatabase.Parameters.Remove "OVERRIDE_WARNINGS"
|
62 |
OraDatabase.Parameters.Remove "OVERRIDE_WARNINGS"
|
| 63 |
OraDatabase.Parameters.Remove "PROBLEM_STRING"
|
63 |
OraDatabase.Parameters.Remove "PROBLEM_STRING"
|
| 64 |
End Sub
|
64 |
End Sub
|
| - |
|
65 |
|
| - |
|
66 |
'-------------------------------------------------
|
| - |
|
67 |
' Function: CanDestroyPackage
|
| - |
|
68 |
' Description: Determine if the user can Destroy the specified Package
|
| - |
|
69 |
' Match code in _version_browser
|
| - |
|
70 |
'
|
| - |
|
71 |
Function CanDestroyPackage(SSpv_id)
|
| - |
|
72 |
Dim sqlStr, rsTemp
|
| - |
|
73 |
CanDestroyPackage = FALSE
|
| - |
|
74 |
|
| - |
|
75 |
sqlStr = " SELECT PV.PV_ID," &_
|
| - |
|
76 |
" PV.PKG_VERSION," &_
|
| - |
|
77 |
" PV.DLOCKED," &_
|
| - |
|
78 |
" PV.MODIFIED_STAMP," &_
|
| - |
|
79 |
" pv.CREATOR_ID," &_
|
| - |
|
80 |
" pv.OWNER_ID," &_
|
| - |
|
81 |
" NVL2(rc.rtag_id,1,0) as inuse," &_
|
| - |
|
82 |
" trunc(SYSDATE - pv.CREATED_STAMP + 0.5) as age" &_
|
| - |
|
83 |
" FROM PACKAGE_VERSIONS PV," &_
|
| - |
|
84 |
" RELEASE_CONTENT rc" &_
|
| - |
|
85 |
" WHERE pv.PV_ID = :PV_ID" &_
|
| - |
|
86 |
" AND pv.pv_id = rc.pv_id(+)"
|
| - |
|
87 |
|
| - |
|
88 |
OraDatabase.Parameters.Add "PV_ID", SSpv_id, ORAPARM_INPUT, ORATYPE_NUMBER
|
| - |
|
89 |
set rsTemp = OraDatabase.DbCreateDynaset( sqlStr, cint(0))
|
| - |
|
90 |
If rsTemp.RecordCount <> 0 Then
|
| - |
|
91 |
|
| - |
|
92 |
' User can try to delete package iff
|
| - |
|
93 |
' Have suffiecient access (unusual)
|
| - |
|
94 |
' They created it or own it
|
| - |
|
95 |
' The version is not in use by any release (allow to be in pending or WIP)
|
| - |
|
96 |
' [Not at the moment] The package was created less than xxxx days ago
|
| - |
|
97 |
' Is not locked or Approved for Autobuild
|
| - |
|
98 |
If (objAccessControl.UserId = rsTemp("CREATOR_ID")) OR (objAccessControl.UserId = rsTemp("OWNER_ID")) Then
|
| - |
|
99 |
If rsTemp("inuse") = 0 Then
|
| - |
|
100 |
'If rsTemp("age") < 1000 Then
|
| - |
|
101 |
If rsTemp("dlocked") <> "Y" Then
|
| - |
|
102 |
'If rsTemp("dlocked") <> "A" Then
|
| - |
|
103 |
CanDestroyPackage = true
|
| - |
|
104 |
'End If
|
| - |
|
105 |
End If
|
| - |
|
106 |
'End If
|
| - |
|
107 |
End If
|
| - |
|
108 |
End If
|
| - |
|
109 |
End If
|
| - |
|
110 |
OraDatabase.Parameters.Remove "PV_ID"
|
| - |
|
111 |
rsTemp.Close
|
| - |
|
112 |
Set rsTemp = nothing
|
| - |
|
113 |
|
| - |
|
114 |
End Function
|
| 65 |
%>
|
115 |
%>
|
| 66 |
<%
|
116 |
<%
|
| 67 |
'----------------------- MAIN LINE ---------------------------
|
117 |
'----------------------- MAIN LINE ---------------------------
|
| 68 |
|
118 |
|
| 69 |
' Setup persistance object
|
119 |
' Setup persistance object
|
| Line 76... |
Line 126... |
| 76 |
Call objPMod.StoreParameter ( "FLuser_name", Request("FLuser_name") )
|
126 |
Call objPMod.StoreParameter ( "FLuser_name", Request("FLuser_name") )
|
| 77 |
Call objPMod.StoreParameter ( "FLpkg_version", Request("FLpkg_version") )
|
127 |
Call objPMod.StoreParameter ( "FLpkg_version", Request("FLpkg_version") )
|
| 78 |
Call objPMod.StoreParameter ( "FLpkg_version", Request("FLpkg_version") )
|
128 |
Call objPMod.StoreParameter ( "FLpkg_version", Request("FLpkg_version") )
|
| 79 |
Call objPMod.StoreParameter ( "listby", Request("listby") )
|
129 |
Call objPMod.StoreParameter ( "listby", Request("listby") )
|
| 80 |
|
130 |
|
| - |
|
131 |
'
|
| - |
|
132 |
' Ensure that the user can destroy the package
|
| - |
|
133 |
' The user is known to be logged in
|
| - |
|
134 |
' This page is not always called in the context of a 'Release'
|
| - |
|
135 |
' ie: When called from the history page displayed from the Dangling Package Versions
|
| - |
|
136 |
'
|
| - |
|
137 |
' Allow to proceed
|
| - |
|
138 |
' If the user can perform any action in the project
|
| - |
|
139 |
' OR the package looks like they created it and it not in use
|
| - |
|
140 |
'
|
| - |
|
141 |
bCanDelete = canShowControlInProject ( "DestroyPackage" )
|
| - |
|
142 |
If NOT bCanDelete Then
|
| - |
|
143 |
bCanDelete = CanDestroyPackage(objPMod.GetParamValue("pv_id"))
|
| - |
|
144 |
End If
|
| - |
|
145 |
|
| - |
|
146 |
If NOT bCanDelete Then
|
| - |
|
147 |
Call RaiseMsg(enum_MSG_ERROR, "You do not have access to delete this version of the package")
|
| - |
|
148 |
End If
|
| - |
|
149 |
|
| - |
|
150 |
|
| 81 |
If objPMod.GetParamValue("pv_id") Then
|
151 |
If objPMod.GetParamValue("pv_id") Then
|
| 82 |
|
152 |
|
| 83 |
If (DaemonInstructionPreventsEditing(Request("rtag_id"), Request("pv_id"))) Then
|
153 |
If (DaemonInstructionPreventsEditing(Request("rtag_id"), Request("pv_id"))) Then
|
| 84 |
Call RaiseMsg(enum_MSG_ERROR, "This package version has one or more daemon instructions present.<br><br>"&_
|
154 |
Call RaiseMsg(enum_MSG_ERROR, "This package version has one or more daemon instructions present.<br><br>"&_
|
| 85 |
"Please delete them or allow them to be consumed before attempting to delete the package version.")
|
155 |
"Please delete them or allow them to be consumed before attempting to delete the package version.")
|