Subversion Repositories DevTools

Rev

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