Subversion Repositories DevTools

Rev

Rev 6048 | Rev 6579 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
5357 dpurdie 1
<%@LANGUAGE="VBSCRIPT"%>
2
<%
3
'=====================================================
5931 dpurdie 4
'   _destroy_package.asp
5
'   Intended to be invoked within an Iframe
5357 dpurdie 6
'=====================================================
7
%>
8
<%
9
Option explicit
5931 dpurdie 10
Response.Expires = 0
5357 dpurdie 11
%>
12
<!--#include file="common/conf.asp"-->
13
<!--#include file="common/globals.asp"-->
14
<!--#include file="common/formating.asp"-->
15
<!--#include file="common/qstr.asp"-->
16
<!--#include file="common/common_subs.asp"-->
5931 dpurdie 17
<!--#include file="common/_form_window_common.asp"-->
5357 dpurdie 18
<%
19
'------------ ACCESS CONTROL ------------------
20
%>
6181 dpurdie 21
<!--#include file="_access_control_login_optional.asp"-->
5357 dpurdie 22
<!--#include file="_access_control_general.asp"-->
23
<%
5931 dpurdie 24
'------------ VARIABLE DEFINITION -------------
25
Dim sMessage, sMessageType
26
Dim parPvId
27
Dim rsQry, rsView
28
Dim Qstring
29
Dim pName, pVersion
30
Dim illAdvised, canDoBad
31
'------------ CONSTANTS DECLARATION -----------
32
'------------ VARIABLE INIT -------------------
33
sMessage = NULL
34
sMessageType = 3
35
parPvId = Request("pv_id")
36
canDoBad = canShowControlInProject ("DestroyPackage")
37
illAdvised = FALSE
38
Set objFormCollector = CreateObject("Scripting.Dictionary")
39
'------------ CONDITIONS ----------------------
5357 dpurdie 40
'----------------------------------------------
41
%>
42
<%
5931 dpurdie 43
'------------------------------------------------------------------------------------------------------------------------------------------
44
'
45
' Add a line of text to the System Message
46
'   eLevel - 1 == Critical, 2==Warning, 3==Note
47
Sub sMessageAdd(eLevel, text)
48
    If NOT isNull(sMessage) Then
49
        sMessage = sMessage & "<br>"
50
    End If
51
    sMessage = sMessage & text
5357 dpurdie 52
 
5931 dpurdie 53
    If eLevel < sMessageType  Then
54
        sMessageType = eLevel
55
    End If
56
End Sub
57
 
58
Sub DestroyPackage ( nPvId, cOverrideWarnings, outSet )
59
 
5357 dpurdie 60
   OraDatabase.Parameters.Add "PV_ID",             nPvId,             ORAPARM_INPUT,  ORATYPE_NUMBER
5931 dpurdie 61
   OraDatabase.Parameters.Add "RTAG_ID",           parRtag_Id,        ORAPARM_INPUT,  ORATYPE_NUMBER
62
   OraDatabase.Parameters.Add "OVERRIDE_WARNINGS", cOverrideWarnings, ORAPARM_INPUT,  ORATYPE_NUMBER
63
   OraDatabase.Parameters.Add "RESULTS",          NULL,               ORAPARM_OUTPUT, ORATYPE_CURSOR
5357 dpurdie 64
 
5931 dpurdie 65
   objEH.ErrorRedirect = FALSE
5357 dpurdie 66
   objEH.TryORA ( OraSession )
67
   On Error Resume Next
68
 
69
   OraDatabase.ExecuteSQL _
70
   "BEGIN "&_
5931 dpurdie 71
   " PK_PACKAGE.destroy_package_extended (:PV_ID, :RTAG_ID, :OVERRIDE_WARNINGS, :RESULTS ); "&_
5357 dpurdie 72
   "END; "
73
 
74
   objEH.CatchORA ( OraSession )
75
 
5931 dpurdie 76
    ' NULL RESULTS list indicates that the operation did not generate any errors
77
    outSet = nothing
78
    If NOT isNull(OraDatabase.Parameters("RESULTS").Value) Then
79
        Set outSet = OraDatabase.Parameters("RESULTS").Value
80
    End If
5357 dpurdie 81
 
82
   OraDatabase.Parameters.Remove "PV_ID"
5952 dpurdie 83
   OraDatabase.Parameters.Remove "RTAG_ID"
5357 dpurdie 84
   OraDatabase.Parameters.Remove "OVERRIDE_WARNINGS"
5931 dpurdie 85
   OraDatabase.Parameters.Remove "RESULTS"
5357 dpurdie 86
End Sub
5902 dpurdie 87
 
5931 dpurdie 88
Function getRecordCount( obj )
89
    getRecordCount = 0
90
    If NOT isNull(obj) Then
91
        If isObject(obj) Then
92
            getRecordCount = obj.RecordCount
5902 dpurdie 93
        End If
94
    End If
95
End Function
5357 dpurdie 96
 
5931 dpurdie 97
'------------ RUN BEFORE PAGE RENDER ----------
5357 dpurdie 98
' Setup persistance object
99
Call objPMod.StoreParameter ( "bfile", Request("bfile") )
100
Call objPMod.StoreParameter ( "rfile", Request("rfile") )
101
Call objPMod.StoreParameter ( "rtag_id", Request("rtag_id") )
102
Call objPMod.StoreParameter ( "pv_id", Request("pv_id") )
103
Call objPMod.StoreParameter ( "pkg_id", Request("pkg_id") )
104
Call objPMod.StoreParameter ( "OLDpv_id", Request("OLDpv_id") )
105
Call objPMod.StoreParameter ( "FLuser_name", Request("FLuser_name") )
106
Call objPMod.StoreParameter ( "FLpkg_version", Request("FLpkg_version") )
107
Call objPMod.StoreParameter ( "listby", Request("listby") )
5933 dpurdie 108
Call objPMod.StoreParameter ( "index", Request("index") )
5931 dpurdie 109
'   Basic sanity checks
5902 dpurdie 110
'
5931 dpurdie 111
If objAccessControl.UserId = "" Then
112
    sMessageAdd 1, "No longer logged in"
5902 dpurdie 113
End If
114
 
5931 dpurdie 115
If parPvId = "" Then
116
    sMessageAdd 1, "Internal: PVID not provided"
5902 dpurdie 117
End If
118
 
5931 dpurdie 119
If CBool(Request("action")) AND isNULL(sMessage) Then
120
    '
5980 dpurdie 121
    '   Attempt to destroy the package    
5931 dpurdie 122
    DestroyPackage parPvId, RequestDefault("destroy", 1), rsView
123
    If getRecordCount(rsView) = 0 Then
124
        If Request("bfile") <> "" Then
125
            OpenInParentWindow(objPMod.GetParamValue("bfile") &"?DESTROYED=OK"& objPMod.ComposeURLWithout("bfile,pv_id"))
126
        Else
127
            ReloadParentWindow()
128
        End If
5957 dpurdie 129
        Call Destroy_All_Objects
5931 dpurdie 130
        Response.End
131
    End If
5357 dpurdie 132
Else
5931 dpurdie 133
    '
134
    '   Show the current set of reasons for NOT destroying the package
135
    DestroyPackage parPvId, 0, rsView
136
End If
5357 dpurdie 137
 
5931 dpurdie 138
'   Need to generate a display
139
'   Get the Package Version information
140
'
141
Qstring = "SELECT p.pkg_name, pv.pkg_version" &_
142
          " FROM packages p, package_versions pv" &_
143
          " WHERE p.pkg_id = pv.pkg_id" &_
144
          "   AND pv.pv_id = " & parPvId
5357 dpurdie 145
 
5931 dpurdie 146
Set rsQry = OraDatabase.DbCreateDynaset( Qstring, cint(0))
147
If rsQry.RecordCount = 0 Then
148
    sMessageAdd 1, "Package Version no longer exists"
5357 dpurdie 149
End If
5931 dpurdie 150
pName = rsQry("pkg_name")
151
pVersion = rsQry("pkg_version") 
152
rsQry.Close
153
Set rsQry = nothing
5357 dpurdie 154
 
5931 dpurdie 155
'----------------------------------------------
5357 dpurdie 156
%>
157
<html>
158
<head>
159
<title>Release Manager</title>
160
<link rel="shortcut icon" href="<%=FavIcon%>"/>
161
<meta HTTP-EQUIV="Pragma" CONTENT="no-cache">
162
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
5931 dpurdie 163
<link href="images/release_manager_style.css" rel="stylesheet" type="text/css">
5357 dpurdie 164
<script language="JavaScript" src="images/common.js"></script>
165
</head>
5931 dpurdie 166
<body background="images/bg_bage_0.gif" leftmargin="0" topmargin="0" >
167
<table class="full_table body_txt" border="0" cellspacing="0" cellpadding="10">
168
   <tr>
169
      <td bgcolor="#FFFFFF" class="body_txt nowrap">
170
        <%=enum_IMG_Critical%><span>You are about to destroy <%=pName%>&nbsp;<%=pVersion%>. You cannot undo this operation.</span>
171
      </td>
172
   </tr>
173
   <%
174
   '-- FROM START --------------------------------------------------------------------------------------------------------------
175
   objFormComponent.FormName = "FormName"
176
   objFormComponent.FormClass = "form_tight"
177
   objFormComponent.Action = ScriptName
178
   Call objFormComponent.FormStart()
179
   %>
180
   <tr>
181
      <td>
182
         <!-- NEW PRODUCT +++++++++++++++++++++++++++++++++++++++++++++++ -->
183
         <%Call Messenger ( sMessage , sMessageType, "100%" )%>
184
         <!-- MESSAGE +++++++++++++++++++++++++++++++++++++++++++++++++++ -->
185
         <!--#include file="messages/_msg_inline.asp"-->
5357 dpurdie 186
 
5931 dpurdie 187
         <%If IsObject(rsView) Then %>
188
         <%If rsView.RecordCount > 0 Then %>
189
         <table width="50%" border="0" class=body_txt>
190
            <tr>
191
               <td colspan=3><b>This package is in use</b></th>
192
            </tr>
193
            <%
194
            Do Until ((rsView.BOF) OR (rsView.EOF))
195
                 Dim mtype
196
                 mtype = rsView("mtype")
197
                 Response.Write "<tr><td nowrap>"
198
                 If mtype <> "A" Then
199
                    Response.Write enum_imgCritical
200
                    illAdvised = TRUE
201
                 End If
202
                 Response.Write "<td nowrap>" & rsView("MSG") & "</td>"  
203
                 Response.Write "</tr>"          
204
                 rsView.MoveNext
205
              Loop
206
            %>
207
         </table>
208
         <%ElseIf isNULL(sMessage) Then%>
209
         There is no reasons that this package cannot be destroyed.
210
         <%End If%>
211
         <%End If%>
212
      </td>
213
   </tr>
214
<%If illAdvised Then %>
215
    <%If canDoBad Then %>
216
          <td bgcolor="#FFFFFF">
217
            <table class="full_table body_txt" >
218
                <tr>
219
                    <td>Destroy this version, even though it will affect other packages and releases. The package will be removed from:
220
                    <ul>
221
                        <li>All packages that depend on this version
222
                        <li>All SDKs that use this version
223
                        <li>All SBOMS that use this version
224
                    </ul>
225
                    This is strongly discouraged.
226
                    </td>
227
                    <td><input name=destroy value=2 type="checkbox"></td>
228
                </tr>
229
            </table>
230
          </td>
231
    <%Else%>
232
          <td bgcolor="#FFFFFF">
233
            You do not have permission to destroy this package. The side effects of destroying
234
            this package are wide ranging.
235
          </td>
236
    <%End If%>
237
<%End If%>
5357 dpurdie 238
   <tr>
5931 dpurdie 239
      <td bgcolor="#FFFFFF">
240
         <table class=full_table >
5357 dpurdie 241
            <tr>
5931 dpurdie 242
               <td><%=ProgressBar()%></td>
243
               <td align="right">
244
                  <%If isNULL(sMessage) Then%>
245
                  <input name="btn" type="submit" class="form_btn" value="Destroy">
246
                  <%End If%>
247
                  <input name="btn" type="reset" class="form_btn" value="Cancel" onclick="parent.closeIFrame();">
5357 dpurdie 248
               </td>
249
            </tr>
250
         </table>
251
      </td>
252
   </tr>
5931 dpurdie 253
   <%=objPMod.ComposeHiddenTags()%>
254
   <input type="hidden" name="action" value="true">
255
   <%
256
   Call objFormComponent.FormEnd()
257
   '-- FROM END ----------------------------------------------------------------------------------------------------------------
258
   %>
5357 dpurdie 259
</table>
260
</body>
261
</html>
5931 dpurdie 262
<%
263
'------------ RUN AFTER PAGE RENDER -----------
264
Set objFormCollector = Nothing
265
'----------------------------------------------
266
On Error Resume Next
267
rsView.Close
268
Set rsView = nothing
269
Call Destroy_All_Objects
270
%>
5357 dpurdie 271
 
272