Subversion Repositories DevTools

Rev

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