Subversion Repositories DevTools

Rev

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