Subversion Repositories DevTools

Rev

Rev 5506 | Rev 5896 | 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
If parPv_id <> "" Then
220
	Call Get_Pkg_Info ( parPv_id, NULL )
221
End If
222
%>
223
 
224
<%
225
'=================== MAIN LINE =====================
5895 dpurdie 226
'   Determine call mode
227
On Error GoTo 0
228
If (Request("FRdeps") <> "") Then
229
    Call Populate_from_Import ( Request("FRdeps"), HTML_pkg_list, DataFound )
230
Else
231
    Call Populate_from_Package ( parPv_id, parRtag_id, HTML_pkg_list, DataFound )
232
End If
5357 dpurdie 233
 
5895 dpurdie 234
If NOT DataFound Then
5357 dpurdie 235
	'Edit button clicked on empty dependency list. Redirect user to Add Dependencies
236
	Response.Redirect ("form_search_pkgs.asp?pv_id="& parPv_id &"&rtag_id="& parRtag_id &"&add_type="& enum_ADD_DEPENDENCIES)
237
End If
238
%>
239
<html>
240
<head>
241
<title>Release Manager</title>
242
<link rel="shortcut icon" href="<%=FavIcon%>"/>
243
<meta HTTP-EQUIV="Pragma" CONTENT="no-cache">
244
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
245
<link rel="stylesheet" href="images/release_manager_style.css" type="text/css">
246
<link rel="stylesheet" href="images/navigation.css" type="text/css">
247
<script language="JavaScript" src="images/common.js"></script>
248
<!-- DROPDOWN MENUS -->
249
<!--#include file="_menu_def.asp"-->
250
<script language="JavaScript1.2" src="images/popup_menu.js"></script>
251
<!-- JSON Support -------------------------->
252
<script language="JavaScript" src="scripts/remote_scripting.js"></script>
253
<script type="text/javascript" src="scripts/json2.js"></script>
254
<script language="JavaScript" type="text/JavaScript">
255
<!--
5895 dpurdie 256
// When the page is loaded
257
window.onload = scanBadData;
5357 dpurdie 258
 
5895 dpurdie 259
// ValidateForm
260
function ValidateForm(){
261
	return scanBadData();
262
}
263
 
264
//	Scan the form for bad entries and update the 'Update' button accordingly
265
function scanBadData()
266
{
267
	var elem = MM_findObj("btn_update")
268
	var rv = false;
269
	if (elem) {
270
		rv = document.getElementsByClassName("badPackage").length == 0;
271
		elem.disabled = !rv;
272
	}
273
}
274
 
5357 dpurdie 275
// Restore original value
5895 dpurdie 276
function Merge_Version (lpkg_version, recId) {
277
    endEditVerNum(recId);
278
    var ediv = MM_findObj("divLPV"+ recId.toString() );
279
    var epkg = MM_findObj("pkgn"+ recId.toString() );
5357 dpurdie 280
 
281
    if(epkg) epkg.value = lpkg_version;
282
    if(ediv) ediv.style.display = "none";
5895 dpurdie 283
 
284
    var ebad = MM_findObj("divBver"+ recId.toString() );
285
    if(ebad) ebad.parentElement.removeChild(ebad);
286
	scanBadData();
5357 dpurdie 287
}
288
 
289
// Highlight diff between release and user selection
5895 dpurdie 290
function Compare_Version ( recId ) {
5357 dpurdie 291
	var cv, lv, el;
292
 
5895 dpurdie 293
    el = MM_findObj( "pkgn" + recId.toString() );
5357 dpurdie 294
	cv = (el) ? el.value : 0;
295
 
5895 dpurdie 296
	el = MM_findObj( "lp" + recId.toString() );
297
	if (el)
298
	{
299
		lv = el.value;
300
		var ediv = MM_findObj("divLPV"+ recId.toString() );
301
		if (ediv)
302
		{
303
			ediv.style.display = (cv == lv) ? 'none' : 'block';
304
		}
305
	}
5357 dpurdie 306
}
307
 
308
// Edit the version number
309
var editData = new Object();
5895 dpurdie 310
function editVerNum(NNpkg_id, recId)
5357 dpurdie 311
{
312
    // Only initiate the edit once
5895 dpurdie 313
    if (editData[recId])
5357 dpurdie 314
    {
5895 dpurdie 315
        endEditVerNum(recId);
5357 dpurdie 316
        return;
317
    }
318
 
319
    // Get the base element in the document
5895 dpurdie 320
    var elem = document.getElementById('pkgn' + recId.toString() );
321
    var elemed = document.getElementById('edpkgn' + recId.toString() );
5357 dpurdie 322
    if ( ! (elem && elemed) )
323
        return;
324
 
325
    // Show edit element and hide the fixed text
326
    elem.style.display = 'none';
327
    elemed.style.display = '';
328
 
5895 dpurdie 329
	// Delete the bad version indication
330
    var ebad = MM_findObj("divBver"+ recId.toString() );
331
    if(ebad) ebad.parentElement.removeChild(ebad);
332
 
5357 dpurdie 333
    // Populate essential fields
5895 dpurdie 334
    elemed.onchange = function(){editUpdate(recId);}
5357 dpurdie 335
    elemed.onblur = elemed.onchange;
336
 
337
    // Create a dummy selection to indicate loading
338
    var el = document.createElement("option");
339
    var vname = "Loading";
340
    el.textContent = vname;
341
    el.value = vname;
342
    elemed.appendChild(el);
343
 
344
    // Save refs to the two elements
5895 dpurdie 345
    var np = editData[recId] = new Object();
5357 dpurdie 346
 
347
    np.edit = elemed;
348
    np.elem = elem;
349
    np.Value = elem.value;
350
 
351
    // Load version data into this new element
5895 dpurdie 352
    getVersions(NNpkg_id, recId);
353
	scanBadData();
5357 dpurdie 354
}
355
 
5895 dpurdie 356
function editUpdate(recId)
5357 dpurdie 357
{
5895 dpurdie 358
    var sd = editData[recId];
5357 dpurdie 359
    sd.elem.value = sd.edit.value;
5895 dpurdie 360
    Compare_Version(recId);
361
	scanBadData();
5357 dpurdie 362
}
363
 
364
// Globals are used to save state information
5895 dpurdie 365
function endEditVerNum(recId)
5357 dpurdie 366
{
5895 dpurdie 367
    var sd = editData[recId];
5357 dpurdie 368
    if (sd) {
369
        sd.elem.value = sd.edit.value;
370
        sd.edit.style.display = 'none';
371
        sd.elem.style.display = '';
372
 
5895 dpurdie 373
        delete editData[recId];
5357 dpurdie 374
    }
5895 dpurdie 375
	scanBadData();
5357 dpurdie 376
}
377
 
378
// Allow the user to populate the version selector box
379
// Enables the selector once its been populated
380
// Uses AJAX to populate the item on demand
381
function getVersions(NNpkg_id, NN_pv_id)
382
{
383
    xmlHttp=GetXmlHttpObject(getVersionsDone);
384
    if (xmlHttp==null)
385
    {
386
        alert ("Your browser does not support AJAX!");
387
        return;
388
    }
389
 
390
    var url = "_json_checkPackage.asp?"
391
            + "pkg_id=" + NNpkg_id
392
            + "&ref=" + NN_pv_id
393
            + "&Opr=getVerList";
394
    MM_showProgressBar();
395
    xmlHttp.open("GET",url,true);  // `false` makes the request synchronous
396
    xmlHttp.send(null);
397
}
398
 
399
// Call back for getVersions
400
function getVersionsDone()
401
{
402
    //readyState of 4 or 'complete' represents that data has been returned
403
    if (xmlHttp.readyState == 4 || xmlHttp.readyState == 'complete'){
404
        MM_hideProgressBar();
405
 
406
        //Gather the results from the callback
407
        var str = xmlHttp.responseText;
408
//alert("JSON:" + str);
409
        if ( !str ) {
410
            alert("Empty responce from Release Manager. May have been logged ");
411
            return;
412
        }
413
        var myJson = JSON.parse(str);
414
        if(myJson.error)
415
        {
416
            alert("Invalid responce from Release Manager");
417
            return;
418
        }
419
 
420
        var ref = myJson.VersionRef;
421
        var sd = editData[ref];
422
        var select = sd.edit;
423
        var sv = (sd) ? sd.Value  : 0;
424
 
425
        select.innerHTML = '';
426
        select.disabled = false;
427
        for( var ii=0; ii< myJson.Versions.length; ii++)
428
        {
429
            var el = document.createElement("option");
430
            var vname = myJson.Versions[ii].vname;
431
 
432
            el.selected = ( vname == sv );
433
            var p1 = el.selected ? '>' : ' ';
434
            var p2 = (myJson.Versions[ii].dlocked == "Y") ? 'R ' : '    ';
435
 
436
            el.textContent = p1 + p2 + vname;
437
            el.value = vname;
438
            select.appendChild(el);
439
        }
440
    }
441
}
442
 
443
// -->
444
</script>
445
 
446
</head>
447
<body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0">
448
<!-- MENU LAYERS -------------------------------------->
449
<div id="popmenu" class="menuskin" onMouseover="clearhidemenu();highlightmenu(event,'on')" onMouseout="highlightmenu(event,'off');dynamichide(event)">
450
</div>
451
<!-- TIPS LAYERS -------------------------------------->
452
<div id="formTipsLayer" style="position: absolute; z-index: 1000; visibility: hidden; left:0; top: 0; width: 10">&nbsp;</div>
453
<!----------------------------------------------------->
454
<!-- HEADER -->
455
<!--#include file="_header.asp"-->
456
<!-- BODY ---->
457
<table width="100%" height="80%" border="0" cellpadding="0" cellspacing="0">
458
  <tr>
459
    <td align="center" valign="top" background="images/bg_lght_gray.gif">
460
      <!-- MIDDLE ---------------------------------------->
461
      <table width="650" border="0" cellspacing="0" cellpadding="0">
462
        <tr>
463
          <td> <table width="100%" border="0" cellspacing="0" cellpadding="0">
464
              <tr>
465
                <td width="1%"></td>
466
                <td align="right"><img src="images/h_trsp_dot.gif" width="30" height="30"></td>
467
                <td width="1%"></td>
468
              </tr>
469
              <tr>
470
                <td width="1%"></td>
471
                <td> <table width="100%" border="0" cellspacing="0" cellpadding="0">
472
                    <tr>
473
                      <td nowrap class="form_ttl">EDIT dependencies</td>
474
                      <td align="right" valign="bottom"></td>
475
                    </tr>
476
                  </table></td>
477
                <td width="1%"></td>
478
              </tr>
479
              <tr>
480
                <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>
481
                <td background="images/lbox_bg_blue.gif" align="right">
482
                  <!-- Heading -->
483
                  <img src="images/h_trsp_dot.gif" width="1" height="20">
484
                  <!-- END Heading -->
485
                </td>
486
                <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>
487
              </tr>
488
              <tr>
489
                <td width="1%" bgcolor="#FFFFFF"><img src="images/h_trsp_dot.gif" width="10" height="100"></td>
490
                <td bgcolor="#FFFFFF" valign="top">
491
                  <!-- Body -->
492
                  <table width="100%" border="0" cellspacing="1" cellpadding="2">
5895 dpurdie 493
				    <form name="editdep" method="post" action="_update_dependencies.asp" onSubmit="return ValidateForm();">
5357 dpurdie 494
				      <tr>
495
                        <td colspan="2" width="1%" nowrap class="form_field"><%=pkgInfoHash.Item ("pkg_name")%>&nbsp;<%=pkgInfoHash.Item ("pkg_version")%></td>
496
                      </tr>
497
                      <tr>
498
                        <td colspan="2" width="1%" nowrap class="form_field">
499
                          <table width="100%" border="0" cellspacing="1" cellpadding="2">
500
                            <tr>
501
                              <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>
502
                              <td background="images/bg_form_lightbluedark.gif" nowrap width="50%" class="form_field">Version</td>
503
							  <td background="images/bg_form_lightbluedark.gif" nowrap width="50%" class="form_field">Released</td>
504
                            </tr>
505
                      		<%=HTML_pkg_list%>
506
                            <tr>
507
                              <td nowrap><img src="images/h_trsp_dot.gif" width="120" height="1"></td>
508
                              <td></td>
509
							  <td></td>
510
                            </tr>
511
                          </table></td>
512
                      </tr>
513
                      <tr>
514
                        <td colspan="2" nowrap>
5895 dpurdie 515
                          <input type="submit" name="btn" value="Update" class="form_btn" id="btn_update">
516
						  <input type="reset" name="btn" value="Back" class="form_btn" onClick="history.back();">
517
                          <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")%>';">
5357 dpurdie 518
                          <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>
519
                          <br> <br> </td>
520
                      </tr>
5895 dpurdie 521
					  <input type="hidden" name="update_type" value="edit_import">
5357 dpurdie 522
					  <input type="hidden" name="pv_id" value="<%=parPv_id%>">
523
                      <input type="hidden" name="rtag_id" value="<%=parRtag_id%>">
524
                    </form>
525
                  </table>
526
                  <!-- END Body-->
527
                </td>
528
                <td width="1%" background="images/lbox_bgside_white.gif">&nbsp;</td>
529
              </tr>
530
              <tr>
531
                <td width="1%" background="images/lbox_bg_blue.gif" valign="bottom"><img src="images/lbox_bl_cnr_b.gif" width="13" height="13"></td>
532
                <td background="images/lbox_bg_blue.gif"></td>
533
                <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>
534
              </tr>
535
            </table></td>
536
        </tr>
537
      </table>
538
      <!-------------------------------------------------->
539
    </td>
540
  </tr>
541
  <tr>
542
    <td valign="bottom" background="images/bg_lght_gray.gif">
543
	<!-- FOOTER -->
544
	<!--#include file="_footer.asp"-->
545
	</td>
546
  </tr>
547
</table>
548
</body>
549
</html>
550
<%
551
Call Destroy_All_Objects
552
%>