Subversion Repositories DevTools

Rev

Rev 5925 | Rev 5933 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 5925 Rev 5931
Line 1... Line 1...
1
<%@LANGUAGE="VBSCRIPT"%>
1
<%@LANGUAGE="VBSCRIPT"%>
2
<%
2
<%
3
'=====================================================
3
'=====================================================
4
'                 Destroy Package
4
'   _destroy_package.asp
5
'               --- PROCESS FORM ---
5
'   Intended to be invoked within an Iframe
6
'=====================================================
6
'=====================================================
7
%>
7
%>
8
<%
8
<%
9
Option explicit
9
Option explicit
10
' Good idea to set when using redirect
-
 
11
Response.Expires = 0   ' always load the page, dont store
10
Response.Expires = 0
12
%>
11
%>
13
 
-
 
14
<!--#include file="common/conf.asp"-->
12
<!--#include file="common/conf.asp"-->
15
<!--#include file="common/globals.asp"-->
13
<!--#include file="common/globals.asp"-->
16
<!--#include file="common/formating.asp"-->
14
<!--#include file="common/formating.asp"-->
17
<!--#include file="common/qstr.asp"-->
15
<!--#include file="common/qstr.asp"-->
18
<!--#include file="common/common_subs.asp"-->
16
<!--#include file="common/common_subs.asp"-->
19
<!--#include file="common/common_dbedit.asp"-->
-
 
20
<!--#include file="common/daemon_instructions.asp"-->
17
<!--#include file="common/_form_window_common.asp"-->
21
<%
18
<%
22
'------------ ACCESS CONTROL ------------------
19
'------------ ACCESS CONTROL ------------------
23
%>
20
%>
24
<!--#include file="_access_control_login.asp"-->
-
 
25
<!--#include file="_access_control_general.asp"-->
21
<!--#include file="_access_control_general.asp"-->
26
<%
22
<%
27
'------------ Variable Definition -------------
23
'------------ VARIABLE DEFINITION -------------
28
Dim ProblemsString
24
Dim sMessage, sMessageType
-
 
25
Dim parPvId
29
Dim OverideWarnings
26
Dim rsQry, rsView
30
Dim bCanDelete
27
Dim Qstring
31
Dim bCanDestroy
28
Dim pName, pVersion
-
 
29
Dim illAdvised, canDoBad
32
'------------ Constants Declaration -----------
30
'------------ CONSTANTS DECLARATION -----------
33
'------------ Variable Init -------------------
31
'------------ VARIABLE INIT -------------------
34
ProblemsString = NULL
32
sMessage = NULL
35
bCanDelete = FALSE
33
sMessageType = 3
-
 
34
parPvId = Request("pv_id")
36
bCanDestroy = canShowControlInProject ("DestroyPackage")
35
canDoBad = canShowControlInProject ("DestroyPackage")
37
OverideWarnings = "N"
36
illAdvised = FALSE
38
If  bCanDestroy AND InStr( 1, Request("btn"), "YES", 1 ) > 0 Then OverideWarnings = "Y"
37
Set objFormCollector = CreateObject("Scripting.Dictionary")
-
 
38
'------------ CONDITIONS ----------------------
39
'----------------------------------------------
39
'----------------------------------------------
40
%>
40
%>
41
<%
41
<%
-
 
42
'------------------------------------------------------------------------------------------------------------------------------------------
-
 
43
'
-
 
44
' Add a line of text to the System Message
-
 
45
'   eLevel - 1 == Critical, 2==Warning, 3==Note
-
 
46
Sub sMessageAdd(eLevel, text)
-
 
47
    If NOT isNull(sMessage) Then
-
 
48
        sMessage = sMessage & "<br>"
-
 
49
    End If
-
 
50
    sMessage = sMessage & text
-
 
51
 
-
 
52
    If eLevel < sMessageType  Then
-
 
53
        sMessageType = eLevel
-
 
54
    End If
-
 
55
End Sub
-
 
56
 
42
Sub DestroyPackage ( nPvId, cOverrideWarnings, outProblemsString )
57
Sub DestroyPackage ( nPvId, cOverrideWarnings, outSet )
43
 
58
 
44
   OraDatabase.Parameters.Add "PV_ID",             nPvId,             ORAPARM_INPUT,  ORATYPE_NUMBER
59
   OraDatabase.Parameters.Add "PV_ID",             nPvId,             ORAPARM_INPUT,  ORATYPE_NUMBER
-
 
60
   OraDatabase.Parameters.Add "RTAG_ID",           parRtag_Id,        ORAPARM_INPUT,  ORATYPE_NUMBER
45
   OraDatabase.Parameters.Add "OVERRIDE_WARNINGS", cOverrideWarnings, ORAPARM_INPUT,  ORATYPE_CHAR
61
   OraDatabase.Parameters.Add "OVERRIDE_WARNINGS", cOverrideWarnings, ORAPARM_INPUT,  ORATYPE_NUMBER
46
   OraDatabase.Parameters.Add "PROBLEM_STRING",    NULL,              ORAPARM_OUTPUT, ORATYPE_VARCHAR2
62
   OraDatabase.Parameters.Add "RESULTS",          NULL,               ORAPARM_OUTPUT, ORATYPE_CURSOR
47
 
63
 
-
 
64
   objEH.ErrorRedirect = FALSE
48
   objEH.TryORA ( OraSession )
65
   objEH.TryORA ( OraSession )
49
   On Error Resume Next
66
   On Error Resume Next
50
 
67
 
51
   OraDatabase.ExecuteSQL _
68
   OraDatabase.ExecuteSQL _
52
   "BEGIN "&_
69
   "BEGIN "&_
53
   " PK_PACKAGE.DESTROY_PACKAGE ( :PV_ID, :OVERRIDE_WARNINGS, :PROBLEM_STRING ); "&_
70
   " PK_PACKAGE.destroy_package_extended (:PV_ID, :RTAG_ID, :OVERRIDE_WARNINGS, :RESULTS ); "&_
54
   "END; "
71
   "END; "
55
 
72
 
56
   objEH.CatchORA ( OraSession )
73
   objEH.CatchORA ( OraSession )
57
 
74
 
-
 
75
    ' NULL RESULTS list indicates that the operation did not generate any errors
-
 
76
    outSet = nothing
-
 
77
    If NOT isNull(OraDatabase.Parameters("RESULTS").Value) Then
58
   outProblemsString = OraDatabase.Parameters("PROBLEM_STRING").Value
78
        Set outSet = OraDatabase.Parameters("RESULTS").Value
-
 
79
    End If
59
 
80
 
60
   OraDatabase.Parameters.Remove "PV_ID"
81
   OraDatabase.Parameters.Remove "PV_ID"
-
 
82
   OraDatabase.Parameters.Remove "PV_ID"
61
   OraDatabase.Parameters.Remove "OVERRIDE_WARNINGS"
83
   OraDatabase.Parameters.Remove "OVERRIDE_WARNINGS"
62
   OraDatabase.Parameters.Remove "PROBLEM_STRING"
84
   OraDatabase.Parameters.Remove "RESULTS"
63
End Sub
85
End Sub
64
 
86
 
65
'-------------------------------------------------
-
 
66
' Function:    CanDestroyPackage
-
 
67
' Description: Determine if the user can Destroy the specified Package
-
 
68
'              Match code in _version_browser
-
 
69
'
-
 
70
Function CanDestroyPackage(SSpv_id)
87
Function getRecordCount( obj )
71
    Dim sqlStr, rsTemp
-
 
72
    CanDestroyPackage = FALSE
-
 
73
 
-
 
74
    sqlStr =    " SELECT PV.PV_ID," &_
-
 
75
                "   PV.PKG_VERSION," &_
-
 
76
                "   PV.DLOCKED," &_
-
 
77
                "   PV.MODIFIED_STAMP," &_
-
 
78
                "   pv.CREATOR_ID," &_
-
 
79
                "   pv.OWNER_ID," &_
-
 
80
                "   NVL2(rc.rtag_id,1,0) as inuse," &_
-
 
81
                "   trunc(SYSDATE - pv.CREATED_STAMP + 0.5) as age" &_
-
 
82
                " FROM PACKAGE_VERSIONS PV," &_
-
 
83
                "      RELEASE_CONTENT rc" &_
-
 
84
            	" WHERE pv.PV_ID = :PV_ID" &_
-
 
85
                "   AND pv.pv_id = rc.pv_id(+)"
-
 
86
 
-
 
87
   OraDatabase.Parameters.Add "PV_ID", SSpv_id,   ORAPARM_INPUT, ORATYPE_NUMBER
-
 
88
   set rsTemp = OraDatabase.DbCreateDynaset( sqlStr, cint(0))
-
 
89
   If rsTemp.RecordCount <> 0 Then
88
    getRecordCount = 0
90
 
-
 
91
    ' User can try to delete package iff
-
 
92
    '   Have suffiecient access (unusual)
-
 
93
    '   They created it or own it
89
    If NOT isNull(obj) Then
94
    '   The version is not in use by any release (allow to be in pending or WIP)
-
 
95
    '   [Not at the moment] The package was created less than xxxx days ago
-
 
96
    '   Is not locked or Approved for Autobuild
-
 
97
        If  (objAccessControl.UserId = rsTemp("CREATOR_ID")) OR (objAccessControl.UserId = rsTemp("OWNER_ID")) Then
-
 
98
            If rsTemp("inuse") = 0 Then
90
        If isObject(obj) Then
99
                'If rsTemp("age") < 1000 Then
91
            getRecordCount = obj.RecordCount
100
                    If rsTemp("dlocked") <> "Y" Then
-
 
101
                        'If rsTemp("dlocked") <> "A" Then
-
 
102
                            CanDestroyPackage = true
-
 
103
                        'End If
-
 
104
                    End If
-
 
105
                'End If
-
 
106
            End If
-
 
107
        End If
92
        End If
108
    End If
93
    End If
109
   OraDatabase.Parameters.Remove "PV_ID"
-
 
110
   rsTemp.Close
-
 
111
   Set rsTemp = nothing
-
 
112
 
-
 
113
End Function
94
End Function
114
%>
-
 
115
<%
-
 
116
'-----------------------  MAIN LINE  ---------------------------
-
 
117
 
95
 
-
 
96
'------------ RUN BEFORE PAGE RENDER ----------
118
' Setup persistance object
97
' Setup persistance object
119
Call objPMod.StoreParameter ( "bfile", Request("bfile") )
98
Call objPMod.StoreParameter ( "bfile", Request("bfile") )
120
Call objPMod.StoreParameter ( "rfile", Request("rfile") )
99
Call objPMod.StoreParameter ( "rfile", Request("rfile") )
121
Call objPMod.StoreParameter ( "rtag_id", Request("rtag_id") )
100
Call objPMod.StoreParameter ( "rtag_id", Request("rtag_id") )
122
Call objPMod.StoreParameter ( "pv_id", Request("pv_id") )
101
Call objPMod.StoreParameter ( "pv_id", Request("pv_id") )
Line 124... Line 103...
124
Call objPMod.StoreParameter ( "OLDpv_id", Request("OLDpv_id") )
103
Call objPMod.StoreParameter ( "OLDpv_id", Request("OLDpv_id") )
125
Call objPMod.StoreParameter ( "FLuser_name", Request("FLuser_name") )
104
Call objPMod.StoreParameter ( "FLuser_name", Request("FLuser_name") )
126
Call objPMod.StoreParameter ( "FLpkg_version", Request("FLpkg_version") )
105
Call objPMod.StoreParameter ( "FLpkg_version", Request("FLpkg_version") )
127
Call objPMod.StoreParameter ( "FLpkg_version", Request("FLpkg_version") )
106
Call objPMod.StoreParameter ( "FLpkg_version", Request("FLpkg_version") )
128
Call objPMod.StoreParameter ( "listby", Request("listby") )
107
Call objPMod.StoreParameter ( "listby", Request("listby") )
129
 
-
 
130
'
-
 
131
'   Ensure that the user can destroy the package
-
 
132
'   The user is known to be logged in
108
'   Basic sanity checks
133
'   This page is not always called in the context of a 'Release'
-
 
134
'       ie: When called from the history page displayed from the Dangling Package Versions
-
 
135
'
109
'
136
'  Allow to proceed 
-
 
137
'       If the user can perform any action in the project
-
 
138
'       OR the package looks like they created it and it not in use
-
 
139
'
-
 
140
bCanDelete = bCanDestroy
-
 
141
 If NOT bCanDelete Then
110
If objAccessControl.UserId = "" Then
142
    bCanDelete = CanDestroyPackage(objPMod.GetParamValue("pv_id"))
111
    sMessageAdd 1, "No longer logged in"
143
End If
112
End If
144
 
113
 
145
If NOT bCanDelete Then
114
If parPvId = "" Then
146
 Call RaiseMsg(enum_MSG_ERROR, "You do not have access to delete this version of the package")
115
    sMessageAdd 1, "Internal: PVID not provided"
147
End If
116
End If
148
 
117
 
149
 
-
 
150
If objPMod.GetParamValue("pv_id") Then
118
If CBool(Request("action")) AND isNULL(sMessage) Then
151
 
-
 
152
   If (DaemonInstructionPreventsEditing(Request("rtag_id"), Request("pv_id"))) Then
-
 
153
      Call RaiseMsg(enum_MSG_ERROR, "This package version has one or more daemon instructions present.<br><br>"&_
-
 
154
                                    "Please delete them or allow them to be consumed before attempting to delete the package version.")
-
 
155
   Else
119
    '
156
      '--- Process submition ---
120
    '   Attempt to desroy the package    
157
      Call DestroyPackage ( objPMod.GetParamValue("pv_id"), OverideWarnings, ProblemsString )
121
    DestroyPackage parPvId, RequestDefault("destroy", 1), rsView
158
 
-
 
-
 
122
    If getRecordCount(rsView) = 0 Then
159
      If IsNull( ProblemsString ) Then
123
        If Request("bfile") <> "" Then
160
         Response.Redirect( objPMod.GetParamValue("bfile") &"?DESTROYED=OK"& objPMod.ComposeURLWithout("bfile,pv_id") )
124
            OpenInParentWindow(objPMod.GetParamValue("bfile") &"?DESTROYED=OK"& objPMod.ComposeURLWithout("bfile,pv_id"))
-
 
125
        Else
-
 
126
            ReloadParentWindow()
161
      End If
127
        End If
-
 
128
        Response.End
162
   End If
129
    End If
163
 
-
 
164
Else
130
Else
-
 
131
    '
-
 
132
    '   Show the current set of reasons for NOT destroying the package
-
 
133
    DestroyPackage parPvId, 0, rsView
-
 
134
End If
165
 
135
 
-
 
136
'   Need to generate a display
-
 
137
'   Get the Package Version information
-
 
138
'
-
 
139
Qstring = "SELECT p.pkg_name, pv.pkg_version" &_
166
   Err.Raise 8, "This page requires more paramaters to run.<br>"& objPMod.ComposeURL()
140
          " FROM packages p, package_versions pv" &_
-
 
141
          " WHERE p.pkg_id = pv.pkg_id" &_
-
 
142
          "   AND pv.pv_id = " & parPvId
167
 
143
 
-
 
144
Set rsQry = OraDatabase.DbCreateDynaset( Qstring, cint(0))
-
 
145
If rsQry.RecordCount = 0 Then
-
 
146
    sMessageAdd 1, "Package Version no longer exists"
168
End If
147
End If
-
 
148
pName = rsQry("pkg_name")
-
 
149
pVersion = rsQry("pkg_version") 
-
 
150
rsQry.Close
-
 
151
Set rsQry = nothing
169
 
152
 
170
'----------------------------------------------------------------
153
'----------------------------------------------
171
%>
154
%>
172
 
-
 
173
 
-
 
174
<html>
155
<html>
175
<head>
156
<head>
176
<title>Release Manager</title>
157
<title>Release Manager</title>
177
<link rel="shortcut icon" href="<%=FavIcon%>"/>
158
<link rel="shortcut icon" href="<%=FavIcon%>"/>
178
<meta HTTP-EQUIV="Pragma" CONTENT="no-cache">
159
<meta HTTP-EQUIV="Pragma" CONTENT="no-cache">
179
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
160
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
180
<link rel="stylesheet" href="images/release_manager_style.css" type="text/css">
161
<link href="images/release_manager_style.css" rel="stylesheet" type="text/css">
181
<link rel="stylesheet" href="images/navigation.css" type="text/css">
-
 
182
<script language="JavaScript" src="images/common.js"></script>
162
<script language="JavaScript" src="images/common.js"></script>
183
</head>
163
</head>
184
<body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0" >
164
<body background="images/bg_bage_0.gif" leftmargin="0" topmargin="0" >
185
<!-- BODY ---->
-
 
186
 
-
 
187
 
-
 
188
<table width="100%" height="98%"  border="0" cellpadding="0" cellspacing="0">
165
<table class="full_table body_txt" border="0" cellspacing="0" cellpadding="10">
189
   <tr>
166
   <tr>
-
 
167
      <td bgcolor="#FFFFFF" class="body_txt nowrap">
-
 
168
        <%=enum_IMG_Critical%><span>You are about to destroy <%=pName%>&nbsp;<%=pVersion%>. You cannot undo this operation.</span>
-
 
169
      </td>
-
 
170
   </tr>
-
 
171
   <%
-
 
172
   '-- FROM START --------------------------------------------------------------------------------------------------------------
-
 
173
   objFormComponent.FormName = "FormName"
-
 
174
   objFormComponent.FormClass = "form_tight"
-
 
175
   objFormComponent.Action = ScriptName
-
 
176
   Call objFormComponent.FormStart()
-
 
177
   %>
-
 
178
   <tr>
-
 
179
      <td>
-
 
180
         <!-- NEW PRODUCT +++++++++++++++++++++++++++++++++++++++++++++++ -->
-
 
181
         <%Call Messenger ( sMessage , sMessageType, "100%" )%>
-
 
182
         <!-- MESSAGE +++++++++++++++++++++++++++++++++++++++++++++++++++ -->
190
      <td align="center" valign="middle" background="images/bg_form_lightgray.gif">
183
         <!--#include file="messages/_msg_inline.asp"-->
-
 
184
 
-
 
185
         <%If IsObject(rsView) Then %>
-
 
186
         <%If rsView.RecordCount > 0 Then %>
191
         <table width="650" border="0" cellspacing="0" cellpadding="0">
187
         <table width="50%" border="0" class=body_txt>
-
 
188
            <tr>
-
 
189
               <td colspan=3><b>This package is in use</b></th>
-
 
190
            </tr>
-
 
191
            <%
-
 
192
            Do Until ((rsView.BOF) OR (rsView.EOF))
-
 
193
                 Dim mtype
-
 
194
                 mtype = rsView("mtype")
-
 
195
                 Response.Write "<tr><td nowrap>"
-
 
196
                 If mtype <> "A" Then
-
 
197
                    Response.Write enum_imgCritical
-
 
198
                    illAdvised = TRUE
-
 
199
                 End If
-
 
200
                 Response.Write "<td nowrap>" & rsView("MSG") & "</td>"  
-
 
201
                 Response.Write "</tr>"          
-
 
202
                 rsView.MoveNext
-
 
203
              Loop
-
 
204
            %>
-
 
205
         </table>
-
 
206
         <%ElseIf isNULL(sMessage) Then%>
-
 
207
         There is no reasons that this package cannot be destroyed.
-
 
208
         <%End If%>
-
 
209
         <%End If%>
-
 
210
      </td>
-
 
211
   </tr>
-
 
212
<%If illAdvised Then %>
-
 
213
    <%If canDoBad Then %>
-
 
214
          <td bgcolor="#FFFFFF">
-
 
215
            <table class="full_table body_txt" >
-
 
216
                <tr>
-
 
217
                    <td>Destroy this version, even though it will affect other packages and releases. The package will be removed from:
-
 
218
                    <ul>
-
 
219
                        <li>All packages that depend on this version
-
 
220
                        <li>All SDKs that use this version
-
 
221
                        <li>All SBOMS that use this version
-
 
222
                    </ul>
-
 
223
                    This is strongly discouraged.
-
 
224
                    </td>
-
 
225
                    <td><input name=destroy value=2 type="checkbox"></td>
-
 
226
                </tr>
-
 
227
            </table>
-
 
228
          </td>
-
 
229
    <%Else%>
-
 
230
          <td bgcolor="#FFFFFF">
-
 
231
            You do not have permission to destroy this package. The side effects of destroying
-
 
232
            this package are wide ranging.
-
 
233
          </td>
-
 
234
    <%End If%>
-
 
235
<%End If%>
-
 
236
   <tr>
-
 
237
      <td bgcolor="#FFFFFF">
-
 
238
         <table class=full_table >
192
            <tr>
239
            <tr>
193
               <td>
-
 
194
                  <table width="100%" border="0" cellspacing="0" cellpadding="0">
-
 
195
                     <tr>
-
 
196
                        <td align="left" valign="top" width="1%" background="images/lbox_bg_blue.gif"><img src="images/lbox_tl_cnr_b.gif" width="13" height="13"></td>
-
 
197
                        <td background="images/lbox_bg_blue.gif"><!-- Heading --><img src="images/h_trsp_dot.gif" width="1" height="20"><!-- END Heading --></td>
-
 
198
                        <td align="right" valign="top" width="1%" background="images/lbox_bg_blue.gif"><img src="images/lbox_tr_cnr_b.gif" width="13" height="13"></td>
-
 
199
                     </tr>
-
 
200
                     <tr>
-
 
201
                        <td width="1%" bgcolor="#FFFFFF"><img src="images/h_trsp_dot.gif" width="10" height="100"></td>
-
 
202
                        <td bgcolor="#FFFFFF" valign="top">
-
 
203
                           <!-- Body -->
-
 
204
                           <table width="100%" border="0" cellspacing="1" cellpadding="2">
-
 
205
                              <form name="form" method="get" action="<%=ScriptName%>">
-
 
206
                                 <tr>
-
 
207
                                    <td width="1%"><img src="images/h_trsp_dot.gif" width="1" height="10"></td>
-
 
208
                                    <td width="1%" nowrap class="form_group" valign="bottom"></td>
-
 
209
                                    <td nowrap width="100%" align="right" class="form_step"></td>
-
 
210
                                 </tr>
-
 
211
                                 <tr>
-
 
212
                                    <td width="1%">&nbsp;</td>
-
 
213
                                    <td colspan="2" width="1%" nowrap class="form_field">
-
 
214
                                       <table width="100%"  border="0" cellspacing="0" cellpadding="10">
-
 
215
                                          <tr>
-
 
216
                                             <td background="images/bg_form_lightbluedark.gif"><p class="err_ttl">Please note:</p></td>
-
 
217
                                          </tr>
-
 
218
                                          <tr>
-
 
219
                                             <td background="images/bg_form_lightgray.gif" class="form_item">
-
 
220
                                                <%
-
 
221
                                                ' Format problem report string to html
-
 
222
                                                Response.write Replace( Server.HTMLEncode( ProblemsString ), VBNewLine, "<br>" )
-
 
223
                                                %>
-
 
224
                                             </td>
-
 
225
                                          </tr>
-
 
226
                                       <%If bCanDestroy Then %>
-
 
227
                                          <tr>
-
 
228
                                             <td background="images/bg_form_lightgray.gif" class="form_item">
-
 
229
                                             <%=enum_IMG_Critical%>
-
 
230
                                             Destroying this package may delete it from an SBOM or the dependency list of another package.
-
 
231
                                             <p>Do you still want to proceed ? </td>
-
 
232
                                          </tr>
-
 
233
                                       <%End If%>
-
 
234
                                       </table>
-
 
235
                                    </td>
240
               <td><%=ProgressBar()%></td>
236
                                 </tr>
-
 
237
                                 <tr>
241
               <td align="right">
238
                                    <td width="1%">&nbsp;</td>
-
 
239
                                    <td width="1%" nowrap class="form_field"><img src="images/h_trsp_dot.gif" width="1" height="1"></td>
-
 
240
                                    <td nowrap width="100%" class="body_scol">
-
 
241
                                       <br>
242
                  <%If isNULL(sMessage) Then%>
242
                                       <%If bCanDestroy Then %>
-
 
243
                                       <input type="submit" name="btn" value="  Yes  " class="form_btn">
243
                  <input name="btn" type="submit" class="form_btn" value="Destroy">
244
                                       <input type="reset" name="btn" value="   No   " class="form_btn" onClick="history.back();">
-
 
245
                                       <%End If%>
244
                  <%End If%>
246
                                       <input type="reset" name="btn" value="Cancel" class="form_btn" onClick="history.back();">
245
                  <input name="btn" type="reset" class="form_btn" value="Cancel" onclick="parent.closeIFrame();">
247
                                       <br><br>
-
 
248
                                    </td>
-
 
249
                                 </tr>
-
 
250
                                 <%=objPMod.ComposeHiddenTags()%>
-
 
251
                              </form>
-
 
252
                           </table>
-
 
253
                           <!-- END Body-->
-
 
254
                        </td>
-
 
255
                        <td width="1%" background="images/lbox_bgside_white.gif">&nbsp;</td>
-
 
256
                     </tr>
-
 
257
                     <tr>
-
 
258
                        <td width="1%" background="images/lbox_bg_blue.gif" valign="bottom"><img src="images/lbox_bl_cnr_b.gif" width="13" height="13"></td>
-
 
259
                        <td background="images/lbox_bg_blue.gif"></td>
-
 
260
                        <td width="1%" background="images/lbox_bg_blue.gif" valign="bottom" align="right"><img src="images/lbox_br_cnr_b.gif" width="13" height="13"></td>
-
 
261
                     </tr>
-
 
262
                  </table>
-
 
263
               </td>
246
               </td>
264
            </tr>
247
            </tr>
265
         </table>
248
         </table>
266
      </td>
249
      </td>
267
   </tr>
250
   </tr>
-
 
251
   <%=objPMod.ComposeHiddenTags()%>
-
 
252
   <input type="hidden" name="action" value="true">
-
 
253
   <%
-
 
254
   Call objFormComponent.FormEnd()
-
 
255
   '-- FROM END ----------------------------------------------------------------------------------------------------------------
-
 
256
   %>
268
</table>
257
</table>
269
</body>
258
</body>
270
</html>
259
</html>
-
 
260
<%
-
 
261
'------------ RUN AFTER PAGE RENDER -----------
-
 
262
Set objFormCollector = Nothing
-
 
263
'----------------------------------------------
-
 
264
On Error Resume Next
-
 
265
rsView.Close
-
 
266
Set rsView = nothing
-
 
267
Call Destroy_All_Objects
-
 
268
%>
271
 
269
 
272
 
270
 
273
<!-- DESTRUCTOR ------->
-
 
274
<!--#include file="common/destructor.asp"-->
-