Subversion Repositories DevTools

Rev

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

Rev Author Line No. Line
119 ghuddy 1
<%
2
'===============================================================
5933 dpurdie 3
'                    Version Browser
119 ghuddy 4
'===============================================================
5
%>
6
<!--#include file="class/classSortHelper.asp"-->
7
<%
8
'------------ Variable Definition -------------
9
Dim parFLpkg_version, parFLuser_name
10
Dim imgLock, fieldRelease_Date, fieldReleased_By, fieldDownloadFullReleaseNotes
11
Dim rsVB
12
Dim rowColor, imgPointer
13
Dim URLstring
5933 dpurdie 14
Dim pvidName
15
Dim idxName
119 ghuddy 16
Dim filterInUse
4703 dpurdie 17
Dim hideRipple
18
Dim rippleFilter
119 ghuddy 19
Dim DestroyPackage
5902 dpurdie 20
Dim CanDestroyProjectPackage
119 ghuddy 21
Dim CanDestroyPackage
22
'------------ Constants Declaration -----------
23
Const IMGBG_ROW_HI = "background='images/bg_row_hi.gif'"
24
Const IMGBG_ROW = "bgcolor='#FFFFFF'"
25
Const IMG_PONTER = "<img src='images/i_pointer.gif' width='6' height='11' hspace='3'>"
5384 dpurdie 26
Const IMG_OFFICIAL = "<img src='images/i_locked.gif' width='7' height='10' hspace='5' vspace='2' title='Package has been Released'>"
5902 dpurdie 27
Const IMG_PENDING = "<img src='icons/i_pending.gif' width='7' height='10' hspace='5' vspace='2' title='Package pending autobuild'>"
5384 dpurdie 28
Const IMG_NOT_OFFICIAL = "<img src='images/spacer.gif' width='7' height='10' hspace='5' vspace='2' title='Package not yet released'>"
119 ghuddy 29
Const IMG_DOWNLOAD = "<img src='images/i_download_small.gif' alt='Download full release notes.' width='16' height='16' hspace='2' border='0'>"
30
'------------ Variable Init -------------------
31
If Request("filter_reset") <> "" Then 
5933 dpurdie 32
    parFLpkg_version = "*"
33
    parFLuser_name   = "*"
34
    filterInUse = FALSE
119 ghuddy 35
Else
5933 dpurdie 36
    parFLpkg_version = RequestDefault( "FLpkg_version", "*" )
37
    parFLuser_name   = RequestDefault( "FLuser_name","*" )
38
    filterInUse = Is_Filter_In_Use ( "FLpkg_version, FLuser_name" )
119 ghuddy 39
End If
4703 dpurdie 40
 
41
If Request("hideRipple") = "True" Then 
5933 dpurdie 42
    hideRipple = True
4703 dpurdie 43
    rippleFilter = "AND PV.BUILD_TYPE != 'Y'"
44
Else
5933 dpurdie 45
    hideRipple = False
4703 dpurdie 46
    rippleFilter = ""
47
End If
48
 
119 ghuddy 49
'----------------------------------------------
50
%>
51
<%
52
'-----------------------------------------------------------------------------------------------------------------------------------
53
Function Get_All_Versions ( nPkg_id )
5933 dpurdie 54
    Get_All_Versions = _
55
    " SELECT DISTINCT PV.PV_ID," &_
5759 dpurdie 56
    "   PV.PKG_VERSION," &_
57
    "   PV.DLOCKED," &_
58
    "   PV.MODIFIED_STAMP," &_
59
    "   USR.FULL_NAME," &_
60
    "   usr.user_name," &_
61
    "   USR.USER_EMAIL," &_
62
    "   PV.COMMENTS," &_
63
    "   PV.PKG_LABEL," &_
64
    "   PV.IS_PATCH," &_
65
    "   PV.RELEASE_NOTES_INFO," &_
66
    "   PV.BUILD_TYPE," &_
67
    "   pv.CREATOR_ID," &_
68
    "   pv.OWNER_ID," &_
69
    "   NVL2(rc.rtag_id,1,0) as inuse," &_
70
    "   trunc(SYSDATE - pv.CREATED_STAMP + 0.5) as age" &_
71
    " FROM PACKAGE_VERSIONS PV," &_
72
    "      USERS USR,"&_
73
    "      RELEASE_CONTENT rc" &_
5933 dpurdie 74
    " WHERE PV.MODIFIER_ID = USR.USER_ID(+) " &_
75
    "   AND PV.PKG_ID = :PKG_ID" &_
5759 dpurdie 76
    "   AND pv.pv_id = rc.pv_id(+)" &_
5933 dpurdie 77
    "    /*-- Manual Filter --*/" &_
78
    "    "& Construct_Filter ( parFLpkg_version, "pv.pkg_version" ) &_
79
    "    "& Construct_Filter ( parFLuser_name, "usr.user_name" ) &_
4703 dpurdie 80
    "    "& rippleFilter &_
5933 dpurdie 81
    "    /*------------------*/"
82
 
83
    Get_All_Versions = Replace( Get_All_Versions, ":PKG_ID", nPkg_id)
119 ghuddy 84
End Function
85
'-----------------------------------------------------------------------------------------------------------------------------------
86
Function Construct_Filter ( sPar_val, sCol_name )
5933 dpurdie 87
    Select Case sPar_val
88
    Case Empty
89
        Construct_Filter = "AND "& sCol_name &" IS NULL"
90
 
91
    Case "*"
92
        Construct_Filter = ""
93
 
94
    Case Else
95
        If InStr( sPar_val, "*") > 0 Then
96
            ' Asterisk found in string. Use LIKE
97
            Construct_Filter = "AND "& sCol_name &" LIKE '"& Replace( sPar_val, "*", "%" ) &"'"
98
        Else
99
            ' No asterisk. Use =
100
            Construct_Filter = "AND "& sCol_name &" = '"& sPar_val &"'"
101
        End If
102
 
103
    End Select
104
 
119 ghuddy 105
End Function
106
'-----------------------------------------------------------------------------------------------------------------------------------
107
Function Is_Filter_In_Use ( sFilters )
5933 dpurdie 108
    Dim filters, filterName
109
    Is_Filter_In_Use = FALSE
110
 
111
    filters = Split( Replace( sFilters, " ", "" ), "," )
112
 
113
    For Each filterName In filters
114
        If Request( filterName ) <> "*" Then 
115
            Is_Filter_In_Use = TRUE
116
            Exit For
117
        End If
118
    Next
119
 
119 ghuddy 120
End Function
121
'-----------------------------------------------------------------------------------------------------------------------------------
5190 dpurdie 122
Function Set_Row_Style ( sLink, pvid )
5933 dpurdie 123
    Set_Row_Style = "onMouseOver='this.style.cursor=""pointer""' onClick='selectVersion("""& sLink &""",event)' "
5190 dpurdie 124
End Function
125
'-----------------------------------------------------------------------------------------------------------------------------------
119 ghuddy 126
%>
5173 dpurdie 127
<!--#include file="_jquery_includes.asp"-->
128
<script language="JavaScript" type="text/JavaScript">
129
function useThisVersion (pkgName, pkgVersion, rtagId, oldPvid, newPvid) {
130
    console.log("useThisVersion:", pkgName, pkgVersion);
131
    debugger;
132
    //alert ("Use this version");
133
    $( "#dialog-confirm" ).dialog({
134
      position: { my: "top", at: "top+100", of: window },
135
      modal: true,
136
      draggable: true,
137
      resizable: true,
138
      dialogClass: "rounded_box",
139
      height:250,
140
      width:350,
141
      buttons: {
142
        "Direct": function() {
143
          window.opener.document.location="_new_version.asp?OLDpv_id=" + oldPvid + "&rtag_id=" + rtagId + "&pv_id=" + newPvid
144
          self.close();
145
          $( this ).dialog( "close" );
146
        },
147
        "Pending": function() {
148
          window.opener.document.location="_new_version.asp?OLDpv_id=" + oldPvid + "&rtag_id=" + rtagId + "&pv_id=" + newPvid + '&iMode=pending';
149
          self.close();
150
          $( this ).dialog( "close" );
151
        },
152
        Cancel: function() {
153
          $( this ).dialog( "close" );
154
        }
155
      },
156
      open: function() {
157
          $(this).siblings('.ui-dialog-buttonpane').find('button:eq(2)').focus(); 
158
      }
159
    });
160
 
161
    return false;
162
}
5190 dpurdie 163
 
164
//  This function is invoked when the user clicks within a row
165
//  The click will re-load and reposition the verion history to the selected version
166
//  The problem is that the 'Destroy Version' intercats with this.
167
//  Solution: The DestroyVersin is an image within an anchor. 
168
//            If the anchor has a class of nogo, then don't navigate
169
function selectVersion(href,event)
170
{
171
    if (! $(event.target).closest('a').hasClass('nogo')) {
172
        location.href = href;
173
    }
174
}
5933 dpurdie 175
 
176
//  Encode data into URL
177
function encodeData(data) {
178
    return Object.keys(data).map(function(key) {
179
        return [key, data[key]].map(encodeURIComponent).join("=");
180
    }).join("&");
181
} 
182
 
5930 dpurdie 183
// Destroy a package version
5933 dpurdie 184
function DestroyVersion(pvid, idx) {
185
    var data = {
186
        pv_id       : pvid,
187
        bfile       : "<%=ScriptName%>",
188
        rtag_id     : "<%=parRtag_id%>",
189
        FLuser_name : "<%=parFLuser_name%>",
190
        FLpkg_version : "<%=parFLpkg_version%>",
191
        rfile       : "<%=parRfile%>",
192
        pkg_id      : "<%=parPkg_id%>",
193
        OLDpv_id    : "<%=parOLDpv_id%>",
194
        index       : idx 
195
 
196
    };
197
    MM_openVixIFrame('_destroy_package.asp?' + encodeData(data), 'Destroy Package Version')
5930 dpurdie 198
}
5190 dpurdie 199
 
5933 dpurdie 200
//  Scroll to package
201
//  Order of preference
202
//      index   - location of last package deleted
203
//      index-1 - Near last pakage deleted
204
//      pvid    - PVID being viewed
205
//      oldPVID - PVID Deleted
206
function scrollToPvId() {
207
    var oldpvid = Number('<%=parOLDpv_id%>');
208
    var pvid    = Number('<%=parPv_id%>'); 
209
    var idx     = Number('<%=parIndex%>');
210
    var els;
211
 
212
    if (idx > 0) {
213
        els = document.getElementById('IDX_' + idx.toString() );
214
        if (!els) {
215
            idx = idx -1;
216
            els = document.getElementById('IDX_' + idx.toString() );
217
        }
218
    }
219
 
220
    if (!els) els = document.getElementById('PVID_' + pvid.toString() );
221
    if (!els)els = document.getElementById('PVID_' + oldpvid.toString() );
222
    if (els) els.scrollIntoView();
223
}
224
 
225
//  Set the height of the two areas in the History Window
226
//  Note: Divs may not always be available.
227
function setLayerHeight () {
228
    try {
229
        var h = screen.height;
230
        MM_findObj("LayerVersions").style.height = (h-300)/2 +"px";
231
        MM_findObj("LayerDetails").style.height = (h-300)/2 +"px";
232
    } catch(e) {
233
    }
234
}   
235
 
236
//# sourceURL=_version_browser_1.asp
5173 dpurdie 237
</script>
238
 
5933 dpurdie 239
      <!--------------- ACTION BUTTONS -------------------------->
5904 dpurdie 240
      <div  style="width:100vw;">
5933 dpurdie 241
      <form name="filter" method="get" action="<%=scriptName%>">
242
      <table width="100%" border="0" cellspacing="0" cellpadding="0">
119 ghuddy 243
        <tr>
244
          <td width="1" valign="middle" background="images/bg_action_norm.gif"><img src="images/spacer.gif" width="5" height="35"></td>
245
          <td width="100%" valign="middle" background="images/bg_action_norm.gif"><%
5082 dpurdie 246
          Dim bEnableUse : bEnableUse = FALSE
5933 dpurdie 247
          If Request("rtag_id") = ""  OR  _
248
             Request("pv_id") = "" OR _
5173 dpurdie 249
             parOLDpv_id = ParPv_id OR _
5933 dpurdie 250
             bIsPatch OR _
5082 dpurdie 251
             (NOT bCanInsertPkg) OR _
5933 dpurdie 252
             (NOT objAccessControl.UserLogedIn) OR _
5178 dpurdie 253
             (NOT releaseIsWritable(ReleaseMode))  _
5933 dpurdie 254
          Then
5082 dpurdie 255
                bEnableUse = FALSE
5933 dpurdie 256
          Else
5082 dpurdie 257
                bEnableUse = TRUE
5933 dpurdie 258
          End If
5082 dpurdie 259
 
260
          If bEnableUse Then
5173 dpurdie 261
          %>
262
          <div id='dialog-confirm' title="Confirm version change" style="display:none">
263
          <p>Replace the current version of package <%=sPkg_Name%> with Version <%=sPkg_Version%>.
264
          <p>The new version may be added directly into the release or the change may be made pending. 
265
          </div>
266
          <%
267
            Response.write "<a href=';' onClick='return useThisVersion("""& sPkg_Name &""","""& sPkg_Version & """,""" & parRtag_id & ""","""& parOLDpv_id & """,""" & parPv_id & """);'><img src='images/abtn_use_this_version.gif' title='Use this version in project release.' width='107' height='25' hspace='1' border='0'></a>"
5082 dpurdie 268
          Else
5933 dpurdie 269
            Response.write "<img src='images/abtn_use_this_version_off.gif' width='108' height='26' hspace='1' border='0'>"
5082 dpurdie 270
          End If
5933 dpurdie 271
 
272
          Response.write "<img src='images/spacer.gif' width='25' height='25'>"
273
          If filterInUse Then
274
            Response.write "<input type='image' name='btn' src='images/abtn_filter_on.gif' width='25' height='25' border='0' alt='Apply filter. (Filter is in use!)'>"
275
          Else
276
            Response.write "<input type='image' name='btn' src='images/abtn_filter.gif' width='25' height='25' border='0' alt='Apply filter'>"
277
          End If
278
          Response.write "<a href='"& scriptName &"?"& Persists_Query_String( "filter_reset=true" ) &"'><img src='images/abtn_remove_filter.gif' alt='Remove filter' width='25' height='25' hspace='2' border='0'></a>"
4703 dpurdie 279
 
5933 dpurdie 280
          Response.write "<img src='images/spacer.gif' width='25' height='25'>"
4703 dpurdie 281
          Response.write "<a href='"& scriptName &"?"& Persists_Query_String( "hideRipple=" & not hideRipple ) &"'>"
5933 dpurdie 282
              If hideRipple Then
283
                Response.write "<img src='images/RippleSquareOff.gif' width='25' height='25' border='0' title='Rippled Versions Hidden. Toggle'>"
284
              Else
285
                Response.write "<img src='images/RippleSquare.gif' width='25' height='25' border='0' title='Rippled Versions Shown. Toggle'>"
286
              End If
4703 dpurdie 287
          Response.write "</a>"
288
 
5933 dpurdie 289
          %></td>
290
          <td width="1" valign="middle" background="images/bg_action_norm.gif"><a href="javascript:;" onClick="window.opener.document.location='dependencies.asp?pv_id=<%=parPv_id%>';self.close();"><img src="images/abtn_open.gif" width="46" height="25" hspace="5" border="0" alt="Open In Parent Window."></a></td>
291
          <td width="1" valign="middle" background="images/bg_action_norm.gif"><a href="javascript:;" onClick="self.close();"><img src="images/abtn_close.gif" width="46" height="25" hspace="5" border="0" alt="Close this window."></a></td>
119 ghuddy 292
        </tr>
293
      </table>
5933 dpurdie 294
      <!--------------------- CAPTION ---------------------------->
295
      <table width="100%" border="0" cellspacing="0" cellpadding="0">
296
        <tr>
297
          <td class="lbox_ttl_b" background="images/bg_action_dark.gif" align="center"><%=sPkg_Name%></td>
298
        </tr>
119 ghuddy 299
      </table>
5933 dpurdie 300
      <!------------------ VERSION LIST -------------------------->
119 ghuddy 301
      <table width="100%" border="0" cellspacing="0" cellpadding="0">
302
        <tr>
303
          <td background="images/bg_action_norm.gif"> 
5904 dpurdie 304
            <div id="LayerVersions" style="height: 350px; width:100vw; overflow: auto;" name="LayerVersions"> 
119 ghuddy 305
              <table width="100%" border="0" cellspacing="1" cellpadding="2">
306
                <tr>
307
                  <td width="1" nowrap background="images/bg_action_dark.gif"><img src="images/spacer.gif" width="15" height="10"></td>
308
                  <td width="1" nowrap background="images/bg_action_dark.gif">&nbsp;</td>
309
                  <td width="1" valign="top" nowrap background="images/bg_action_dark.gif" class="form_field">Version&nbsp;&nbsp;<br><input name="FLpkg_version" type="text" class="form_ifilter" value="<%=parFLpkg_version%>" size="15"></td>
310
                  <td width="1" valign="top" nowrap background="images/bg_action_dark.gif" class="form_field">Last Mod. Date&nbsp;&nbsp;</td>
311
                  <td width="100%" valign="top" nowrap background="images/bg_action_dark.gif" class="form_field">Reason for this version</td>
5933 dpurdie 312
                  <td width="1" valign="top" nowrap background="images/bg_action_dark.gif" class="form_field">Last Modified&nbsp;&nbsp;<br><input name="FLuser_name" type="text" class="form_ifilter" value="<%=parFLuser_name%>" size="15"></td>
119 ghuddy 313
                  <td width="1" nowrap background="images/bg_action_dark.gif"></td>
5933 dpurdie 314
                  <td width="1" nowrap background="images/bg_action_dark.gif"></td>
119 ghuddy 315
                </tr>
5933 dpurdie 316
                <%
317
                Dim aVersions, lastRow, i, objSortHelper, idx
318
 
319
                Set rsVB = OraDatabase.DbCreateDynaset( Get_All_Versions ( parPkg_id ), cint(0))
320
 
321
                ' Descending order
322
                If rsVB.RecordCount > 0 Then
323
                aVersions = rsVB.GetRows()
324
                lastRow = UBound( aVersions, 2 )
325
 
326
                Set objSortHelper = New SortHelper
327
 
328
 
329
                ' Sort versions
330
                Call objSortHelper.VersionSort( aVersions, 0, lastRow, rsVB.FieldIndex("pkg_version") )
331
 
332
                CanDestroyProjectPackage = canShowControlInProject ( "DestroyPackage" )
333
 
334
                ' Descending order
335
                idx = 0
336
                For i = lastRow To 0 Step -1
337
                    idx = idx + 1
4703 dpurdie 338
 
5933 dpurdie 339
                %>
340
                <%  ' Highlight row case
341
                    rowColor = IMGBG_ROW
342
                    imgPointer = ""
343
                    If CStr( aVersions( rsVB.FieldIndex("pv_id"), i ) ) = parPv_id Then 
344
                        rowColor = IMGBG_ROW_HI
345
                        imgPointer = IMG_PONTER
346
                    End If
347
 
348
                    ' Official/Unofficial case
349
                    imgLock = IMG_NOT_OFFICIAL
350
                    'fieldRelease_Date = ""
351
                    'fieldReleased_By = ""
352
                    If (aVersions( rsVB.FieldIndex("dlocked"), i ) = "Y")  Then
353
                        imgLock = IMG_OFFICIAL
5902 dpurdie 354
                    ElseIf (aVersions( rsVB.FieldIndex("dlocked"), i ) = "A") Then 
5933 dpurdie 355
                        imgLock = IMG_PENDING
356
                    End If
357
 
358
                    fieldRelease_Date = DisplayShortDateTime ( aVersions( rsVB.FieldIndex("modified_stamp"), i ) )
359
                    fieldReleased_By = "<a href='mailto:"& aVersions( rsVB.FieldIndex("user_email"), i ) &"' class='txt_linked'><img src='images/i_user.gif' width='10' height='13' hspace='2' border='0' align='absmiddle' alt='"& aVersions( rsVB.FieldIndex("full_name"), i ) &" &lt;"& aVersions( rsVB.FieldIndex("user_email"), i ) &"&gt;'>"& aVersions( rsVB.FieldIndex("user_name"), i ) &"</a>"
360
 
361
                    ' Full Release Notes availability
362
                    fieldDownloadFullReleaseNotes = ""
363
                    If NOT IsNull( aVersions( rsVB.FieldIndex("release_notes_info"), i ) ) OR ( InStr( aVersions( rsVB.FieldIndex("release_notes_info"), i ), "MGS:") < 1)  Then
364
                        fieldDownloadFullReleaseNotes = "<a href='"& HTTP_PKG_ARCHIVE & aVersions( rsVB.FieldIndex("release_notes_info"), i ) &"' target='_blank'><img src='images/i_download_small.gif' alt='Download full release notes.' width='16' height='16' hspace='2' border='0'></a>"
365
                    End If
366
 
367
                    pvidName = "PVID_"& aVersions( rsVB.FieldIndex("pv_id"), i )
368
                    idxName = "IDX_" & idx
369
                    If aVersions( rsVB.FieldIndex("is_patch"), i ) = "Y" Then
370
                        URLstring = "_wform_versions_history_release_notes.asp?"& Persists_Query_String_Trim( "pv_id="& aVersions( rsVB.FieldIndex("pv_id"), i ), "index" )
371
                    Else
372
                        URLstring = scriptName &"?"& Persists_Query_String_Trim( "pv_id="& aVersions( rsVB.FieldIndex("pv_id"), i ), "index" )
373
                    End If
374
 
5759 dpurdie 375
                    ' User can try to delete package iff
376
                    '   Have suffiecient access (unusual)
377
                    '   They created it or own it
5902 dpurdie 378
                    '   The version is not in use by any release (allow to be in pending or WIP)
5759 dpurdie 379
                    '   [Not at the moment] The package was created less than xxxx days ago
5902 dpurdie 380
                    '   Is not locked or [Not at the moment] Approved for Autobuild
381
                    CanDestroyPackage = CanDestroyProjectPackage
382
                    If NOT CanDestroyPackage Then
383
                        If (objAccessControl.UserId = aVersions( rsVB.FieldIndex("CREATOR_ID"), i )) OR (objAccessControl.UserId = aVersions( rsVB.FieldIndex("OWNER_ID"), i ))Then
5759 dpurdie 384
                            If aVersions( rsVB.FieldIndex("inuse"), i ) = 0 Then
385
                                'If aVersions( rsVB.FieldIndex("age") , i ) < 1000 Then
386
                                    If aVersions( rsVB.FieldIndex("dlocked"), i ) <> "Y" Then
5902 dpurdie 387
                                        'If aVersions( rsVB.FieldIndex("dlocked"), i ) <> "A" Then
5759 dpurdie 388
                                            CanDestroyPackage = true
5902 dpurdie 389
                                        'End If
5759 dpurdie 390
                                    End If
391
                                'End If
392
                            End If
393
                        End If
394
                    End If
5933 dpurdie 395
 
396
                    ' Set destroy package action
397
                    If CanDestroyPackage Then
398
                        DestroyPackage = "<a class='nogo' href='javascript:;'"&_
399
                                         " title='Destroy this package from the database.' "&_
400
                                         " onClick=DestroyVersion("& aVersions( rsVB.FieldIndex("pv_id"), i ) &"," & idx  &")>" &_
5190 dpurdie 401
                                         " <img src='icons/i_destroy_package_sml.gif' width='15' height='15' border='0' ><a>"
5759 dpurdie 402
                    Else
403
                        DestroyPackage = ""
5933 dpurdie 404
                    End If
405
                %>
406
                <tr id="<%=idxName%>" <%=Set_Row_Style ( URLstring, CStr( aVersions( rsVB.FieldIndex("pv_id"), i ) ) )%>> 
407
                  <td align="right" background="images/bg_action_dark.gif"><%=imgPointer%><span id="<%=pvidName%>"></span></td>
119 ghuddy 408
                  <td align="center" valign="top" <%=rowColor%>><%=imgLock%></td>
5933 dpurdie 409
                  <td valign="top" nowrap <%=rowColor%>><a href="<%=URLstring%>" class="txt_linked"><%=aVersions( rsVB.FieldIndex("pkg_version"), i )%></a></td>
119 ghuddy 410
                  <td valign="top" nowrap <%=rowColor%> class="form_item"><%=fieldRelease_Date%></td>
411
                  <td valign="top" <%=rowColor%> class="form_item"><%=NewLine_To_BR ( To_HTML( aVersions( rsVB.FieldIndex("comments"), i ) ) )%></td>
412
                  <td valign="top" nowrap <%=rowColor%> class="form_item"><%=fieldReleased_By%></td>
413
                  <td align="center" valign="top" <%=rowColor%>><%=fieldDownloadFullReleaseNotes%></td>
5933 dpurdie 414
                  <td align="center" valign="top" class="nogo" <%=rowColor%>><%=DestroyPackage%></td>
119 ghuddy 415
                </tr>
5933 dpurdie 416
                <%
417
                Next
418
                End If
419
                %>
119 ghuddy 420
              </table>
421
            </div></td>
422
        </tr>
423
      </table> 
5933 dpurdie 424
      <input type="hidden" name="rtag_id" value="<%=parRtag_id%>">
425
      <input type="hidden" name="pkg_id" value="<%=parPkg_id%>">
426
      <input type="hidden" name="rfile" value="<%=parRfile%>">
427
      <input type="hidden" name="OLDpv_id" value="<%=parOLDpv_id%>">
428
      <input type="hidden" name="pv_id" value="<%=parPv_id%>">
429
      <input type="hidden" name="filter_reset" value="">
430
      </form>
5904 dpurdie 431
      </div>
119 ghuddy 432
 
5933 dpurdie 433
 
5173 dpurdie 434