Subversion Repositories DevTools

Rev

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