Subversion Repositories DevTools

Rev

Rev 6612 | Rev 6873 | 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
6610 dpurdie 165
//  The click will re-load and reposition the version history to the selected version
166
//  The problem is that the 'Destroy Version' interacts with this.
167
//  Also the mailto operation interacts with this
6827 dpurdie 168
//  Solution: The DestroyVersion is an image within a 'td'. 
169
//            If the 'td' has a class of nogo, then don't navigate
5190 dpurdie 170
function selectVersion(href,event)
171
{
6827 dpurdie 172
    if (! ($(event.target).closest('td').hasClass('nogo') || $(event.target).closest('span').hasClass('mailto')) ) {
5190 dpurdie 173
        location.href = href;
174
    }
175
}
5933 dpurdie 176
 
177
//  Encode data into URL
178
function encodeData(data) {
179
    return Object.keys(data).map(function(key) {
180
        return [key, data[key]].map(encodeURIComponent).join("=");
181
    }).join("&");
182
} 
183
 
5930 dpurdie 184
// Destroy a package version
5933 dpurdie 185
function DestroyVersion(pvid, idx) {
186
    var data = {
187
        pv_id       : pvid,
188
        bfile       : "<%=ScriptName%>",
189
        rtag_id     : "<%=parRtag_id%>",
190
        FLuser_name : "<%=parFLuser_name%>",
191
        FLpkg_version : "<%=parFLpkg_version%>",
192
        rfile       : "<%=parRfile%>",
193
        pkg_id      : "<%=parPkg_id%>",
194
        OLDpv_id    : "<%=parOLDpv_id%>",
195
        index       : idx 
196
 
197
    };
198
    MM_openVixIFrame('_destroy_package.asp?' + encodeData(data), 'Destroy Package Version')
5930 dpurdie 199
}
5190 dpurdie 200
 
5933 dpurdie 201
//  Scroll to package
202
//  Order of preference
203
//      index   - location of last package deleted
204
//      index-1 - Near last pakage deleted
205
//      pvid    - PVID being viewed
206
//      oldPVID - PVID Deleted
207
function scrollToPvId() {
208
    var oldpvid = Number('<%=parOLDpv_id%>');
209
    var pvid    = Number('<%=parPv_id%>'); 
210
    var idx     = Number('<%=parIndex%>');
211
    var els;
212
 
213
    if (idx > 0) {
214
        els = document.getElementById('IDX_' + idx.toString() );
215
        if (!els) {
216
            idx = idx -1;
217
            els = document.getElementById('IDX_' + idx.toString() );
218
        }
219
    }
220
 
221
    if (!els) els = document.getElementById('PVID_' + pvid.toString() );
222
    if (!els)els = document.getElementById('PVID_' + oldpvid.toString() );
223
    if (els) els.scrollIntoView();
224
}
225
 
226
//  Set the height of the two areas in the History Window
227
//  Note: Divs may not always be available.
228
function setLayerHeight () {
229
    try {
230
        var h = screen.height;
231
        MM_findObj("LayerVersions").style.height = (h-300)/2 +"px";
232
        MM_findObj("LayerDetails").style.height = (h-300)/2 +"px";
233
    } catch(e) {
234
    }
235
}   
236
 
237
//# sourceURL=_version_browser_1.asp
5173 dpurdie 238
</script>
239
 
5933 dpurdie 240
      <!--------------- ACTION BUTTONS -------------------------->
5904 dpurdie 241
      <div  style="width:100vw;">
5933 dpurdie 242
      <form name="filter" method="get" action="<%=scriptName%>">
243
      <table width="100%" border="0" cellspacing="0" cellpadding="0">
119 ghuddy 244
        <tr>
245
          <td width="1" valign="middle" background="images/bg_action_norm.gif"><img src="images/spacer.gif" width="5" height="35"></td>
246
          <td width="100%" valign="middle" background="images/bg_action_norm.gif"><%
5082 dpurdie 247
          Dim bEnableUse : bEnableUse = FALSE
5933 dpurdie 248
          If Request("rtag_id") = ""  OR  _
249
             Request("pv_id") = "" OR _
5173 dpurdie 250
             parOLDpv_id = ParPv_id OR _
5933 dpurdie 251
             bIsPatch OR _
5082 dpurdie 252
             (NOT bCanInsertPkg) OR _
5933 dpurdie 253
             (NOT objAccessControl.UserLogedIn) OR _
5178 dpurdie 254
             (NOT releaseIsWritable(ReleaseMode))  _
5933 dpurdie 255
          Then
5082 dpurdie 256
                bEnableUse = FALSE
5933 dpurdie 257
          Else
5082 dpurdie 258
                bEnableUse = TRUE
5933 dpurdie 259
          End If
5082 dpurdie 260
 
261
          If bEnableUse Then
5173 dpurdie 262
          %>
263
          <div id='dialog-confirm' title="Confirm version change" style="display:none">
264
          <p>Replace the current version of package <%=sPkg_Name%> with Version <%=sPkg_Version%>.
265
          <p>The new version may be added directly into the release or the change may be made pending. 
266
          </div>
267
          <%
268
            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 269
          Else
5933 dpurdie 270
            Response.write "<img src='images/abtn_use_this_version_off.gif' width='108' height='26' hspace='1' border='0'>"
5082 dpurdie 271
          End If
5933 dpurdie 272
 
273
          Response.write "<img src='images/spacer.gif' width='25' height='25'>"
274
          If filterInUse Then
6827 dpurdie 275
            Response.write "<input type='image' name='btn' src='images/abtn_filter_on.gif' width='25' height='25' border='0' title='Apply filter. (Filter is in use!)'>"
5933 dpurdie 276
          Else
6827 dpurdie 277
            Response.write "<input type='image' name='btn' src='images/abtn_filter.gif' width='25' height='25' border='0' title='Apply filter'>"
5933 dpurdie 278
          End If
6827 dpurdie 279
          Response.write "<span class=pointer  onClick=""location.href='"& scriptName &"?"& Persists_Query_String( "filter_reset=true" ) &"'""><img src='images/abtn_remove_filter.gif' title='Remove filter' width='25' height='25' hspace='2' border='0'></a>"
4703 dpurdie 280
 
5933 dpurdie 281
          Response.write "<img src='images/spacer.gif' width='25' height='25'>"
6827 dpurdie 282
          Response.write "<span class=pointer onClick=""location.href='"& scriptName &"?"& Persists_Query_String( "hideRipple=" & not hideRipple ) &"'"">"
5933 dpurdie 283
              If hideRipple Then
284
                Response.write "<img src='images/RippleSquareOff.gif' width='25' height='25' border='0' title='Rippled Versions Hidden. Toggle'>"
285
              Else
286
                Response.write "<img src='images/RippleSquare.gif' width='25' height='25' border='0' title='Rippled Versions Shown. Toggle'>"
287
              End If
6827 dpurdie 288
          Response.write "</span>"
4703 dpurdie 289
 
5933 dpurdie 290
          %></td>
6827 dpurdie 291
          <td width="1" class=pointer valign="middle" background="images/bg_action_norm.gif" 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."></td>
292
          <td width="1" class=pointer valign="middle" background="images/bg_action_norm.gif" onClick="self.close();"><img src="images/abtn_close.gif" width="46" height="25" hspace="5" border="0" alt="Close this window."></td>
119 ghuddy 293
        </tr>
294
      </table>
5933 dpurdie 295
      <!--------------------- CAPTION ---------------------------->
296
      <table width="100%" border="0" cellspacing="0" cellpadding="0">
297
        <tr>
298
          <td class="lbox_ttl_b" background="images/bg_action_dark.gif" align="center"><%=sPkg_Name%></td>
299
        </tr>
119 ghuddy 300
      </table>
5933 dpurdie 301
      <!------------------ VERSION LIST -------------------------->
119 ghuddy 302
      <table width="100%" border="0" cellspacing="0" cellpadding="0">
303
        <tr>
304
          <td background="images/bg_action_norm.gif"> 
5904 dpurdie 305
            <div id="LayerVersions" style="height: 350px; width:100vw; overflow: auto;" name="LayerVersions"> 
119 ghuddy 306
              <table width="100%" border="0" cellspacing="1" cellpadding="2">
307
                <tr>
308
                  <td width="1" nowrap background="images/bg_action_dark.gif"><img src="images/spacer.gif" width="15" height="10"></td>
309
                  <td width="1" nowrap background="images/bg_action_dark.gif">&nbsp;</td>
310
                  <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>
311
                  <td width="1" valign="top" nowrap background="images/bg_action_dark.gif" class="form_field">Last Mod. Date&nbsp;&nbsp;</td>
312
                  <td width="100%" valign="top" nowrap background="images/bg_action_dark.gif" class="form_field">Reason for this version</td>
5933 dpurdie 313
                  <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 314
                  <td width="1" nowrap background="images/bg_action_dark.gif"></td>
5933 dpurdie 315
                  <td width="1" nowrap background="images/bg_action_dark.gif"></td>
119 ghuddy 316
                </tr>
5933 dpurdie 317
                <%
318
                Dim aVersions, lastRow, i, objSortHelper, idx
319
 
320
                Set rsVB = OraDatabase.DbCreateDynaset( Get_All_Versions ( parPkg_id ), cint(0))
321
 
322
                ' Descending order
323
                If rsVB.RecordCount > 0 Then
324
                aVersions = rsVB.GetRows()
325
                lastRow = UBound( aVersions, 2 )
326
 
327
                Set objSortHelper = New SortHelper
328
 
329
 
330
                ' Sort versions
331
                Call objSortHelper.VersionSort( aVersions, 0, lastRow, rsVB.FieldIndex("pkg_version") )
332
 
333
                CanDestroyProjectPackage = canShowControlInProject ( "DestroyPackage" )
334
 
335
                ' Descending order
336
                idx = 0
337
                For i = lastRow To 0 Step -1
338
                    idx = idx + 1
4703 dpurdie 339
 
5933 dpurdie 340
                %>
341
                <%  ' Highlight row case
342
                    rowColor = IMGBG_ROW
343
                    imgPointer = ""
344
                    If CStr( aVersions( rsVB.FieldIndex("pv_id"), i ) ) = parPv_id Then 
345
                        rowColor = IMGBG_ROW_HI
346
                        imgPointer = IMG_PONTER
347
                    End If
348
 
349
                    ' Official/Unofficial case
350
                    imgLock = IMG_NOT_OFFICIAL
351
                    'fieldRelease_Date = ""
352
                    'fieldReleased_By = ""
353
                    If (aVersions( rsVB.FieldIndex("dlocked"), i ) = "Y")  Then
354
                        imgLock = IMG_OFFICIAL
5902 dpurdie 355
                    ElseIf (aVersions( rsVB.FieldIndex("dlocked"), i ) = "A") Then 
5933 dpurdie 356
                        imgLock = IMG_PENDING
357
                    End If
358
 
359
                    fieldRelease_Date = DisplayShortDateTime ( aVersions( rsVB.FieldIndex("modified_stamp"), i ) )
6612 dpurdie 360
                    fieldReleased_By = emailField(enum_imgUser & aVersions( rsVB.FieldIndex("full_name"), i ), aVersions( rsVB.FieldIndex("user_email"), i ))
5933 dpurdie 361
 
362
                    ' Full Release Notes availability
363
                    fieldDownloadFullReleaseNotes = ""
364
                    If NOT IsNull( aVersions( rsVB.FieldIndex("release_notes_info"), i ) ) OR ( InStr( aVersions( rsVB.FieldIndex("release_notes_info"), i ), "MGS:") < 1)  Then
365
                        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>"
366
                    End If
367
 
368
                    pvidName = "PVID_"& aVersions( rsVB.FieldIndex("pv_id"), i )
369
                    idxName = "IDX_" & idx
370
                    If aVersions( rsVB.FieldIndex("is_patch"), i ) = "Y" Then
371
                        URLstring = "_wform_versions_history_release_notes.asp?"& Persists_Query_String_Trim( "pv_id="& aVersions( rsVB.FieldIndex("pv_id"), i ), "index" )
372
                    Else
373
                        URLstring = scriptName &"?"& Persists_Query_String_Trim( "pv_id="& aVersions( rsVB.FieldIndex("pv_id"), i ), "index" )
374
                    End If
375
 
5759 dpurdie 376
                    ' User can try to delete package iff
377
                    '   Have suffiecient access (unusual)
378
                    '   They created it or own it
5902 dpurdie 379
                    '   The version is not in use by any release (allow to be in pending or WIP)
5759 dpurdie 380
                    '   [Not at the moment] The package was created less than xxxx days ago
5902 dpurdie 381
                    '   Is not locked or [Not at the moment] Approved for Autobuild
382
                    CanDestroyPackage = CanDestroyProjectPackage
383
                    If NOT CanDestroyPackage Then
384
                        If (objAccessControl.UserId = aVersions( rsVB.FieldIndex("CREATOR_ID"), i )) OR (objAccessControl.UserId = aVersions( rsVB.FieldIndex("OWNER_ID"), i ))Then
5759 dpurdie 385
                            If aVersions( rsVB.FieldIndex("inuse"), i ) = 0 Then
386
                                'If aVersions( rsVB.FieldIndex("age") , i ) < 1000 Then
387
                                    If aVersions( rsVB.FieldIndex("dlocked"), i ) <> "Y" Then
5902 dpurdie 388
                                        'If aVersions( rsVB.FieldIndex("dlocked"), i ) <> "A" Then
5759 dpurdie 389
                                            CanDestroyPackage = true
5902 dpurdie 390
                                        'End If
5759 dpurdie 391
                                    End If
392
                                'End If
393
                            End If
394
                        End If
395
                    End If
5933 dpurdie 396
 
397
                    ' Set destroy package action
398
                    If CanDestroyPackage Then
6827 dpurdie 399
                        DestroyPackage = "<span "&_
6480 dpurdie 400
                                         " title='Destroy this version of the package.' "&_
5933 dpurdie 401
                                         " onClick=DestroyVersion("& aVersions( rsVB.FieldIndex("pv_id"), i ) &"," & idx  &")>" &_
6827 dpurdie 402
                                         " <img src='icons/i_destroy_package_sml.gif' width='15' height='15' border='0' ><span>"
5759 dpurdie 403
                    Else
404
                        DestroyPackage = ""
5933 dpurdie 405
                    End If
406
                %>
407
                <tr id="<%=idxName%>" <%=Set_Row_Style ( URLstring, CStr( aVersions( rsVB.FieldIndex("pv_id"), i ) ) )%>> 
408
                  <td align="right" background="images/bg_action_dark.gif"><%=imgPointer%><span id="<%=pvidName%>"></span></td>
119 ghuddy 409
                  <td align="center" valign="top" <%=rowColor%>><%=imgLock%></td>
5933 dpurdie 410
                  <td valign="top" nowrap <%=rowColor%>><a href="<%=URLstring%>" class="txt_linked"><%=aVersions( rsVB.FieldIndex("pkg_version"), i )%></a></td>
119 ghuddy 411
                  <td valign="top" nowrap <%=rowColor%> class="form_item"><%=fieldRelease_Date%></td>
412
                  <td valign="top" <%=rowColor%> class="form_item"><%=NewLine_To_BR ( To_HTML( aVersions( rsVB.FieldIndex("comments"), i ) ) )%></td>
413
                  <td valign="top" nowrap <%=rowColor%> class="form_item"><%=fieldReleased_By%></td>
414
                  <td align="center" valign="top" <%=rowColor%>><%=fieldDownloadFullReleaseNotes%></td>
5933 dpurdie 415
                  <td align="center" valign="top" class="nogo" <%=rowColor%>><%=DestroyPackage%></td>
119 ghuddy 416
                </tr>
5933 dpurdie 417
                <%
418
                Next
419
                End If
420
                %>
119 ghuddy 421
              </table>
422
            </div></td>
423
        </tr>
424
      </table> 
5933 dpurdie 425
      <input type="hidden" name="rtag_id" value="<%=parRtag_id%>">
426
      <input type="hidden" name="pkg_id" value="<%=parPkg_id%>">
427
      <input type="hidden" name="rfile" value="<%=parRfile%>">
428
      <input type="hidden" name="OLDpv_id" value="<%=parOLDpv_id%>">
429
      <input type="hidden" name="pv_id" value="<%=parPv_id%>">
430
      <input type="hidden" name="filter_reset" value="">
431
      </form>
5904 dpurdie 432
      </div>
119 ghuddy 433
 
5933 dpurdie 434
 
5173 dpurdie 435