Subversion Repositories DevTools

Rev

Rev 7288 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
5357 dpurdie 1
<%@LANGUAGE="VBSCRIPT"%>
2
<%
3
'=====================================================
5895 dpurdie 4
'|  form_edit_deps.asp
5899 dpurdie 5
'|  Used by JATS and ANT import pages to sanitize the package versions to be used
6
'|      Do not allow user to name packages that do not exist
7
'|      Do not allow the user to name package-versions that do not exist
8
'|  Used by Edit Dependencies button
9
'|      Restrict users to versions that exist
10
'|  
5357 dpurdie 11
'=====================================================
12
%>
13
<%
14
Option explicit
15
' Good idea to set when using redirect
5899 dpurdie 16
Response.Expires = 0    ' always load the page, dont store
5357 dpurdie 17
%>
18
<!--#include file="common/conf.asp"-->
19
<!--#include file="common/globals.asp"-->
20
<!--#include file="common/formating.asp"-->
21
<!--#include file="common/qstr.asp"-->
22
<!--#include file="common/common_subs.asp"-->
23
<%
24
' Make sure rtag_id is always present
25
If Request("pv_id") = "" Then
5957 dpurdie 26
    Call Destroy_All_Objects
5899 dpurdie 27
    Response.Redirect("index.asp")
5357 dpurdie 28
End If
29
%>
30
<%
31
'------------ ACCESS CONTROL ------------------
32
%>
33
<!--#include file="_access_control_login.asp"-->
34
<!--#include file="_access_control_general.asp"-->
35
<!--#include file="_access_control_project.asp"-->
36
<%
37
'------------ Variable Definition -------------
38
Dim parPv_id
39
Dim rsPkgs
40
Dim HTML_pkg_list
5895 dpurdie 41
Dim DataFound
5897 dpurdie 42
Dim recCnt
5895 dpurdie 43
 
5357 dpurdie 44
'------------ Constants Declaration -----------
45
'------------ Variable Init -------------------
46
parPv_id = Request("pv_id")
47
Set pkgInfoHash = CreateObject("Scripting.Dictionary")
5897 dpurdie 48
recCnt = 0
5895 dpurdie 49
'-------------------------------------------------
50
' Function:     Populate_from_Import   
51
' Description:  Generate the body of the display based on user imported data
52
Sub Populate_from_Import ( SSdep_import, SShtml_pkg_list, BBDataFound)
5897 dpurdie 53
   Dim pkg_name, pkg_version, build_type, re, Matches, Match
5895 dpurdie 54
   Dim Query_String, rsDeps, PVID, PKGID, builtTypeEnum, LatestVisible
55
   Dim OraParameter
5357 dpurdie 56
 
5895 dpurdie 57
   DataFound = false
58
   If (SSdep_import = "") Then Exit Sub      ' exit if no dependencies are submited
5357 dpurdie 59
 
5895 dpurdie 60
   ' Decode Server.URLEncode if present
61
   SSdep_import = URLDecode( SSdep_import )
62
 
63
   SSdep_import = Replace(SSdep_import, " ", "")            ' remove spaces
64
   SSdep_import = Replace(SSdep_import, VBTab, "")          ' remove horizontal tabs
65
   SSdep_import = Replace(SSdep_import, VBVerticalTab, "")  ' remove vertical tabs
66
   SSdep_import = Replace(SSdep_import, """", "'")          ' replace " with '
67
 
68
   Set re = New RegExp
69
   re.IgnoreCase = True
70
   re.Global = True
71
 
72
   'The following regular expression captures the package name and version on each matching line.
73
   'The following is an example of the format of the input string, SSdep_import.
74
   '
75
   'BuildPkgArchive ( 'linux_kernel_viper'  , '2.6.24.6.5000.cots' );
76
   '
77
   '#   Packages for creating the debian package
78
   '#LinkPkgArchive  ( 'debian_dpkg'         , '1.13.25000.cots' );
79
   'LinkPkgArchive  ( 'debian_packager'     , '1.1.0000.cr' );
80
   'LinkPkgArchive  ( 'Jasper Patch (JBoss/Tomcat Hotfix)' , '1.6.0,REV=2006.11.29.02.51' );
81
   'LinkPkgArchive  ( 'Java 2 SDK, Enterprise Edition (J2EE)' , '1.6.0,REV=2006.11.29.02.51' );
82
   '
83
   ' Note. Ant dependencies are formatted to look like:
84
   '    AntStyle('PackageName','PackageVersion');
85
 
86
   re.Pattern = "(^|\n)\s*([_A-Za-z0-9]+)\s*\(\s*\'([^\']*)\'\s*\,\s*\'([^\']*)\'\s*\)"
87
   Set Matches = re.Execute(SSdep_import)
88
 
5899 dpurdie 89
    Query_String = ReadFile( rootPath & "queries\form_edit_import_deps.sql" )
90
    OraDatabase.Parameters.Add "RTAG_ID", parRtag_id, ORAPARM_INPUT, ORATYPE_NUMBER
91
    OraDatabase.Parameters.Add "PKG_NAME", pkg_name , ORAPARM_INPUT, ORATYPE_STRING
92
    OraDatabase.Parameters.Add "PKG_VERSION", pkg_version, ORAPARM_INPUT, ORATYPE_STRING
93
    Set OraParameter = OraDatabase.Parameters
5895 dpurdie 94
 
95
   recCnt=0
96
   For Each Match in Matches
97
     build_type = Match.SubMatches(1)
98
     pkg_name = Match.SubMatches(2)
99
     pkg_version = Match.SubMatches(3)
100
 
101
      ' Proceed only if:
102
      '    pkg name is not empty,
103
      '    pkg version is not empty,
104
      If ( pkg_name <> "" )  AND  ( pkg_version <> "" ) Then
105
 
106
         ' Define build type
107
         '  Unknown will be a BuildPkgArchive
108
         If LCase(build_type) = LCase("BuildPkgArchive") Then
109
            builtTypeEnum = enum_BUILD_PKG_ARCHIVE
110
         ElseIf LCase(build_type) = LCase("LinkPkgArchive") Then
111
            builtTypeEnum = enum_LINK_PKG_ARCHIVE
112
         Else
113
            builtTypeEnum = enum_BUILD_PKG_ARCHIVE
114
         End If
115
 
116
         '
117
         ' Create one entry
118
         '
119
         OraParameter("PKG_NAME").Value = pkg_name
120
         OraParameter("PKG_VERSION").Value = pkg_version
121
 
122
         Set rsDeps = OraDatabase.DbCreateDynaset( Query_String, cint(0))
123
         If rsDeps.RecordCount <> 0 Then
124
            SShtml_pkg_list = SShtml_pkg_list & GenerateEntry( recCnt, rsDeps("pkg_id"), rsDeps("pv_id"), rsDeps("pkg_name"), rsDeps("pkg_version"), builtTypeEnum, rsDeps("lpkg_version"))
125
            recCnt = recCnt + 1
5899 dpurdie 126
            DataFound = true
5895 dpurdie 127
         End If
5899 dpurdie 128
         rsDeps.Close
129
         Set rsDeps = Nothing
5895 dpurdie 130
     End If
131
   Next
132
 
5899 dpurdie 133
    OraDatabase.Parameters.Remove "RTAG_ID"
134
    OraDatabase.Parameters.Remove "PKG_NAME"
135
    OraDatabase.Parameters.Remove "PKG_VERSION"
5895 dpurdie 136
    Set OraParameter = Nothing
137
 
138
End Sub
139
'-------------------------------------------------
140
' Function:     Populate_from_Package
141
' Description:  Generate the body of the display based on package-versions in the current package
142
'
143
Sub Populate_from_Package( NNpv_id, nRtag_id, SShtml_pkg_list, BBDataFound )
5899 dpurdie 144
    Dim rsDeps, Query_String
5895 dpurdie 145
 
146
    BBDataFound = FALSE
147
    recCnt = 0
5899 dpurdie 148
    Query_String = ReadFile( rootPath & "queries\edit_dependencies.sql" )
5357 dpurdie 149
 
5899 dpurdie 150
    OraDatabase.Parameters.Add "RTAG_ID", nRtag_id, ORAPARM_INPUT, ORATYPE_NUMBER
151
    OraDatabase.Parameters.Add "PV_ID", NNpv_id, ORAPARM_INPUT, ORATYPE_NUMBER
5357 dpurdie 152
 
5899 dpurdie 153
    Set rsDeps = OraDatabase.DbCreateDynaset( Query_String, cint(0))
154
    While ((NOT rsDeps.BOF) AND (NOT rsDeps.EOF))
5895 dpurdie 155
        SShtml_pkg_list = SShtml_pkg_list & GenerateEntry( recCnt, rsDeps("pkg_id"), rsDeps("pv_id"), rsDeps("pkg_name"), rsDeps("pkg_version"), rsDeps("build_type"), rsDeps("lpkg_version"))
156
        recCnt = recCnt + 1
157
        BBDataFound = TRUE
5899 dpurdie 158
        rsDeps.MoveNext
159
    WEnd
5357 dpurdie 160
 
5899 dpurdie 161
    OraDatabase.Parameters.Remove "RTAG_ID"
162
    OraDatabase.Parameters.Remove "PV_ID"
5895 dpurdie 163
End Sub
5357 dpurdie 164
 
5895 dpurdie 165
'-------------------------------------------------
166
' Function:    GenerateEntry
167
' Description: Generate one line of the import display
168
Function GenerateEntry( idx, pkgId, pvId, pName, pVersion, pBuildType, pLversion)
169
    Dim LatestVisible
170
    GenerateEntry = GenerateEntry &"<tr> "
5357 dpurdie 171
 
5895 dpurdie 172
    ' Package Name - will always be present
173
    GenerateEntry = GenerateEntry &"  <td background='images/bg_form_lightgray.gif' nowrap class='form_item'>" & pName
174
    GenerateEntry = GenerateEntry &"    <input name='bt"& idx &"' type='hidden' value='"& pBuildType &"'>"
175
    GenerateEntry = GenerateEntry &"    <input name='btName"& idx &"' type='hidden' value='"& pName & "'>"
176
    GenerateEntry = GenerateEntry &"  </td>"
5357 dpurdie 177
 
5895 dpurdie 178
    ' Package Version specified by user
179
    '   If package does not exist, then this is a text field
180
    '
181
    If isNULL(pkgId) Then
182
        GenerateEntry = GenerateEntry &"  <td background='images/bg_form_lightgray.gif'>" &_
183
                            "<input type='text' readonly class='form_item' size='20' value='"& pVersion &"' disabled > " &_
184
                            "<input type='text' hidden id='pkgn"& idx &"' name='pkgn"& idx &"' value=''> "
185
        GenerateEntry = GenerateEntry &"  </td>"
186
        GenerateEntry = GenerateEntry &"  <td background='images/bg_form_lightgray.gif' class='form_item err_alert badPackage'> Package Name does not exist"
187
        GenerateEntry = GenerateEntry &"  </td>"
188
    Else
189
        GenerateEntry = GenerateEntry &"  <td background='images/bg_form_lightgray.gif'>" &_
190
                            "<select style='width:15em;display:none' id='edpkgn"& idx &"' class='form_item' > " &_
191
                            "<input type='text' readonly ondblclick='editVerNum("& pkgId &","&idx&");' id='pkgn"& idx &"' name='pkgn"& idx &"' class='form_item' size='20' value='"& pVersion &"' onBlur='Compare_Version ( " & idx & " );' onFocus='Compare_Version ( " & idx & " );'> "
6827 dpurdie 192
        GenerateEntry = GenerateEntry &"    <span class=pointer onClick='editVerNum("& pkgId &","& idx &")'><img src='images/i_edit.gif' width='12' height='12' align='absmiddle' border='0' title='Select Version from a list'></span> "
5357 dpurdie 193
 
5895 dpurdie 194
        If isNull(pvId) Then
195
            GenerateEntry = GenerateEntry &"  <span class='badPackage' id='divBver"& idx &"'>"&_
196
                                                  "<img src='images/s_critical.gif' border='0' title='Version does not exist' hspace='2' align='absmiddle'>"&_
197
                                                  "<input name='lpBver"& idx &"' type='hidden' value='"& pVersion &"'></span>"
198
        End If
199
        GenerateEntry = GenerateEntry &"  </td>"
5357 dpurdie 200
 
5895 dpurdie 201
        ' Latest Versions
202
        GenerateEntry = GenerateEntry &"  <td background='images/bg_form_lightgray.gif' class='sublbox_hitem'>"
203
        LatestVisible = ""
204
        If NOT IsNull(pLversion) Then
205
            If ( pVersion = pLversion ) Then
206
                LatestVisible = "style='display:none;'"
207
            End If
5357 dpurdie 208
 
5895 dpurdie 209
            GenerateEntry = GenerateEntry &"  <DIV id='divLPV"& idx &"' "& LatestVisible &">"&_
6827 dpurdie 210
                                                  "<span class=pointer onClick='Merge_Version ( "& idx & " );'>"&_
5895 dpurdie 211
                                                  "<img src='images/bt_move_left.gif' border='0' title='Bring over this latest version' hspace='2' align='absmiddle'>"&_
6827 dpurdie 212
                                                  "</span>"& pLversion &"<input name='lp"& idx &"' type='hidden' value='"& pLversion &"'></DIV>"
5895 dpurdie 213
        End If
214
        GenerateEntry = GenerateEntry &"  </td>"
215
    End If
216
    GenerateEntry = GenerateEntry &"</tr>"
217
End Function
218
 
5357 dpurdie 219
%>
220
<%
221
'=================== MAIN LINE =====================
5895 dpurdie 222
'   Determine call mode
223
On Error GoTo 0
5896 dpurdie 224
If (Request("action") = "TextImport") Then
5895 dpurdie 225
    Call Populate_from_Import ( Request("FRdeps"), HTML_pkg_list, DataFound )
226
Else
227
    Call Populate_from_Package ( parPv_id, parRtag_id, HTML_pkg_list, DataFound )
5896 dpurdie 228
    If Not DataFound Then
5957 dpurdie 229
        Call Destroy_All_Objects
5899 dpurdie 230
        Response.Redirect ("form_search_pkgs.asp?pv_id="& parPv_id &"&rtag_id="& parRtag_id &"&add_type="& enum_ADD_DEPENDENCIES)
5896 dpurdie 231
    End If
5895 dpurdie 232
End If
5357 dpurdie 233
%>
234
<html>
235
<head>
236
<title>Release Manager</title>
237
<link rel="shortcut icon" href="<%=FavIcon%>"/>
238
<meta HTTP-EQUIV="Pragma" CONTENT="no-cache">
239
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
6579 dpurdie 240
<link rel="stylesheet" href="images/release_manager_style.css?ver=<%=VixVerNum%>" type="text/css">
241
<link rel="stylesheet" href="images/navigation.css?ver=<%=VixVerNum%>" type="text/css">
242
<script language="JavaScript" src="images/common.js?ver=<%=VixVerNum%>"></script>
5357 dpurdie 243
<!-- DROPDOWN MENUS -->
5983 dpurdie 244
<!--#include file="_jquery_includes.asp"-->
5357 dpurdie 245
<!--#include file="_menu_def.asp"-->
6579 dpurdie 246
<script language="JavaScript1.2" src="images/popup_menu.js?ver=<%=VixVerNum%>"></script>
5357 dpurdie 247
<!-- JSON Support -------------------------->
6579 dpurdie 248
<script language="JavaScript" src="scripts/remote_scripting.js?ver=<%=VixVerNum%>"></script>
6676 dpurdie 249
<script type="text/javascript" src="scripts/json2.js?ver=<%=VixVerNum%>"></script>
5357 dpurdie 250
<script language="JavaScript" type="text/JavaScript">
251
<!--
5895 dpurdie 252
// When the page is loaded
253
window.onload = scanBadData;
5357 dpurdie 254
 
5895 dpurdie 255
// ValidateForm
256
function ValidateForm(){
5899 dpurdie 257
    return scanBadData();
5895 dpurdie 258
}
259
 
5899 dpurdie 260
//  Scan the form for bad entries and update the 'Update' button accordingly
5897 dpurdie 261
function scanBadData() {
5899 dpurdie 262
    var elem = MM_findObj("btn_update")
263
    var rv = false;
264
    if (elem) {
265
        rv = document.getElementsByClassName("badPackage").length == 0;
266
        elem.disabled = !rv;
267
    }
5895 dpurdie 268
}
269
 
5897 dpurdie 270
//  Update all packages to latest version
271
function MergeAll() {
272
    var recId;
273
    for (recId=0; recId<<%=recCnt%>;recId++) {
5899 dpurdie 274
        Merge_Version(recId);
275
    }
5897 dpurdie 276
}
277
 
5357 dpurdie 278
// Restore original value
5897 dpurdie 279
function Merge_Version (recId) {
5895 dpurdie 280
    endEditVerNum(recId);
281
    var ediv = MM_findObj("divLPV"+ recId.toString() );
282
    var epkg = MM_findObj("pkgn"+ recId.toString() );
5357 dpurdie 283
 
5899 dpurdie 284
    var lpkg_version;
285
    el = MM_findObj( "lp" + recId.toString() );
286
    if (el) {
287
        lpkg_version = el.value;
288
        if(epkg) epkg.value = lpkg_version;
289
    }
5357 dpurdie 290
    if(ediv) ediv.style.display = "none";
5895 dpurdie 291
 
292
    var ebad = MM_findObj("divBver"+ recId.toString() );
293
    if(ebad) ebad.parentElement.removeChild(ebad);
5899 dpurdie 294
    scanBadData();
5357 dpurdie 295
}
296
 
297
// Highlight diff between release and user selection
5895 dpurdie 298
function Compare_Version ( recId ) {
5899 dpurdie 299
    var cv, lv, el;
5357 dpurdie 300
 
5895 dpurdie 301
    el = MM_findObj( "pkgn" + recId.toString() );
5899 dpurdie 302
    cv = (el) ? el.value : 0;
5357 dpurdie 303
 
5899 dpurdie 304
    el = MM_findObj( "lp" + recId.toString() );
305
    if (el)
306
    {
307
        lv = el.value;
308
        var ediv = MM_findObj("divLPV"+ recId.toString() );
309
        if (ediv)
310
        {
311
            ediv.style.display = (cv == lv) ? 'none' : 'block';
312
        }
313
    }
5357 dpurdie 314
}
315
 
316
// Edit the version number
317
var editData = new Object();
5895 dpurdie 318
function editVerNum(NNpkg_id, recId)
5357 dpurdie 319
{
320
    // Only initiate the edit once
5895 dpurdie 321
    if (editData[recId])
5357 dpurdie 322
    {
5895 dpurdie 323
        endEditVerNum(recId);
5357 dpurdie 324
        return;
325
    }
326
 
327
    // Get the base element in the document
5895 dpurdie 328
    var elem = document.getElementById('pkgn' + recId.toString() );
329
    var elemed = document.getElementById('edpkgn' + recId.toString() );
5357 dpurdie 330
    if ( ! (elem && elemed) )
331
        return;
332
 
333
    // Show edit element and hide the fixed text
334
    elem.style.display = 'none';
335
    elemed.style.display = '';
336
 
5899 dpurdie 337
    // Delete the bad version indication
5895 dpurdie 338
    var ebad = MM_findObj("divBver"+ recId.toString() );
339
    if(ebad) ebad.parentElement.removeChild(ebad);
340
 
5357 dpurdie 341
    // Populate essential fields
5895 dpurdie 342
    elemed.onchange = function(){editUpdate(recId);}
5357 dpurdie 343
    elemed.onblur = elemed.onchange;
344
 
345
    // Create a dummy selection to indicate loading
346
    var el = document.createElement("option");
347
    var vname = "Loading";
348
    el.textContent = vname;
349
    el.value = vname;
350
    elemed.appendChild(el);
351
 
352
    // Save refs to the two elements
5895 dpurdie 353
    var np = editData[recId] = new Object();
5357 dpurdie 354
 
355
    np.edit = elemed;
356
    np.elem = elem;
357
    np.Value = elem.value;
358
 
359
    // Load version data into this new element
5895 dpurdie 360
    getVersions(NNpkg_id, recId);
5899 dpurdie 361
    scanBadData();
5357 dpurdie 362
}
363
 
5895 dpurdie 364
function editUpdate(recId)
5357 dpurdie 365
{
5895 dpurdie 366
    var sd = editData[recId];
5357 dpurdie 367
    sd.elem.value = sd.edit.value;
5895 dpurdie 368
    Compare_Version(recId);
5899 dpurdie 369
    scanBadData();
5357 dpurdie 370
}
371
 
372
// Globals are used to save state information
5895 dpurdie 373
function endEditVerNum(recId)
5357 dpurdie 374
{
5895 dpurdie 375
    var sd = editData[recId];
5357 dpurdie 376
    if (sd) {
377
        sd.elem.value = sd.edit.value;
378
        sd.edit.style.display = 'none';
379
        sd.elem.style.display = '';
380
 
5895 dpurdie 381
        delete editData[recId];
5357 dpurdie 382
    }
5899 dpurdie 383
    scanBadData();
5357 dpurdie 384
}
385
 
386
// Allow the user to populate the version selector box
387
// Enables the selector once its been populated
388
// Uses AJAX to populate the item on demand
389
function getVersions(NNpkg_id, NN_pv_id)
390
{
391
    xmlHttp=GetXmlHttpObject(getVersionsDone);
392
    if (xmlHttp==null)
393
    {
394
        alert ("Your browser does not support AJAX!");
395
        return;
396
    }
397
 
398
    var url = "_json_checkPackage.asp?"
399
            + "pkg_id=" + NNpkg_id
400
            + "&ref=" + NN_pv_id
401
            + "&Opr=getVerList";
7292 dpurdie 402
    showGlobalProgress();
5357 dpurdie 403
    xmlHttp.open("GET",url,true);  // `false` makes the request synchronous
404
    xmlHttp.send(null);
405
}
406
 
407
// Call back for getVersions
408
function getVersionsDone()
409
{
410
    //readyState of 4 or 'complete' represents that data has been returned
411
    if (xmlHttp.readyState == 4 || xmlHttp.readyState == 'complete'){
7292 dpurdie 412
        hideGlobalProgress();
5357 dpurdie 413
 
414
        //Gather the results from the callback
415
        var str = xmlHttp.responseText;
416
//alert("JSON:" + str);
417
        if ( !str ) {
418
            alert("Empty responce from Release Manager. May have been logged ");
419
            return;
420
        }
421
        var myJson = JSON.parse(str);
422
        if(myJson.error)
423
        {
424
            alert("Invalid responce from Release Manager");
425
            return;
426
        }
427
 
428
        var ref = myJson.VersionRef;
429
        var sd = editData[ref];
430
        var select = sd.edit;
431
        var sv = (sd) ? sd.Value  : 0;
432
 
433
        select.innerHTML = '';
434
        select.disabled = false;
435
        for( var ii=0; ii< myJson.Versions.length; ii++)
436
        {
437
            var el = document.createElement("option");
438
            var vname = myJson.Versions[ii].vname;
439
 
440
            el.selected = ( vname == sv );
441
            var p1 = el.selected ? '>' : ' ';
442
            var p2 = (myJson.Versions[ii].dlocked == "Y") ? 'R ' : '    ';
443
 
444
            el.textContent = p1 + p2 + vname;
445
            el.value = vname;
446
            select.appendChild(el);
447
        }
448
    }
449
}
450
 
451
// -->
452
</script>
453
 
454
</head>
455
<body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0">
456
<!-- HEADER -->
457
<!--#include file="_header.asp"-->
458
<!-- BODY ---->
6873 dpurdie 459
<table width="100%" height="80%" border="0" cellpadding="0" cellspacing="0" bgcolor=#f0f0f0>
5357 dpurdie 460
  <tr>
6873 dpurdie 461
    <td align="center" valign="top">
5357 dpurdie 462
      <!-- MIDDLE ---------------------------------------->
463
      <table width="650" border="0" cellspacing="0" cellpadding="0">
464
        <tr>
6873 dpurdie 465
          <td>
466
      <!-- Body -->
7288 dpurdie 467
		<div style='position:relative'>
468
        <form name="editdep" method="post" action="_update_dependencies.asp" onSubmit="return ValidateForm();">
469
      <table width="100%" border="0" cellspacing="1" cellpadding="2"  class='rounded_box rounded_box_std' >
6873 dpurdie 470
        <caption>EDIT dependencies</caption>
471
          <tr>
472
            <td colspan="2" width="1%" nowrap class="form_field"><%=pkgInfoHash.Item ("pkg_name")%>&nbsp;<%=pkgInfoHash.Item ("pkg_version")%></td>
473
          </tr>
474
          <tr>
475
            <td colspan="2" width="1%" nowrap class="form_field">
476
              <table width="100%" border="0" cellspacing="1" cellpadding="2" class=stdGrey>
477
                <thead>
478
                  <th nowrap width="1%" >Package Name</th>
479
                  <th nowrap width="50%">Version</th>
480
                  <th nowrap width="50%"><img src='images/bt_move_left.gif' border='0' title='Update all to released version' hspace='2' align='absmiddle' onClick='MergeAll();'>Released</th>
481
                </thead>
482
                <%=HTML_pkg_list%>
483
              </table></td>
484
          </tr>
485
          <tr>
486
            <td nowrap>
487
              <input type="reset" name="btn" value="&laquo; Back" class="form_btn" onClick="history.back();">
488
              <input name="btn" type="reset" class="form_btn" value="Cancel" onClick="window.location='dependencies.asp?pv_id=<%=Request("pv_id")%>&rtag_id=<%=Request("rtag_id")%>';">
489
              <input type="submit" name="btn" value="Update" class="form_btn" id="btn_update">
490
            </td>
491
          </tr>
492
          <%If HTML_pkg_list = "" Then%>
493
          <tr>
494
              <td class='form_field_grey_bg form_item err_alert'>No Packages Specified. All dependencies will be deleted</td> 
495
          </tr>
496
          <%End If%> 
497
          <input type="hidden" name="update_type" value="edit_import">
498
          <input type="hidden" name="pv_id" value="<%=parPv_id%>">
499
          <input type="hidden" name="rtag_id" value="<%=parRtag_id%>">
7288 dpurdie 500
      </table>
6873 dpurdie 501
        </form>
7288 dpurdie 502
		</div>
6873 dpurdie 503
      <!-- END Body-->
504
    </td>
5357 dpurdie 505
        </tr>
506
      </table>
507
      <!-------------------------------------------------->
508
    </td>
509
  </tr>
510
</table>
5957 dpurdie 511
<!-- FOOTER -->
512
<!--#include file="_footer.asp"-->
5357 dpurdie 513
</body>
514
</html>