Rev 121 | Blame | Last modification | View Log | RSS feed
<%@LANGUAGE="VBSCRIPT"%><%'====================================================='| |'| ADD |'| PACKAGES |'| OR DEPENDENCIES |'=====================================================%><%Option explicit' Good idea to set when using redirectResponse.Expires = 0 ' always load the page, dont store%><!--#include file="common/conf.asp"--><!--#include file="common/globals.asp"--><!--#include file="common/formating.asp"--><!--#include file="common/qstr.asp"--><!--#include file="common/common_subs.asp"--><!--#include file="_drawExtensionSelectBox.asp"--><%'------------ ACCESS CONTROL ------------------%><!--#include file="_access_control_login.asp"--><!--#include file="_access_control_general.asp"--><!--#include file="_access_control_project.asp"--><%' Make sure rtag_id is always presentIf Request("pv_id") = "" AND Request("rtag_id") = "" ThenResponse.Redirect("index.asp")End If%><%'------------ Variable Definition -------------Dim parAdd_typeDim parPkg_listDim parBase_view_idDim rsPkgsDim HTML_pkg_listDim parPv_idDim parPkgfindDim parIsNewPackage'------------ Constants Declaration -----------'------------ Variable Init -------------------parAdd_type = Request("add_type")parPkg_list = Request("pkg_list")parBase_view_id = Request("base_view_id")parPv_id = Request("pv_id")parPkgfind = Request("pkgfind")parIsNewPackage = Request("isNewPackage")Set pkgInfoHash = CreateObject("Scripting.Dictionary")'----------------------------------------------%><%' ---- Action requirements ----If parPkg_list = "" Then Response.Redirect( "form_search_result_pkgs.asp?pv_id="& parPv_id &_"&rtag_id="& parRtag_id &_"&pkgfind="& parPkgfind &_"&add_type="& parAdd_type &_"&errmsg=true" )%><%Function Page_Title ( NNadd_type )If NNadd_type = Cstr(enum_ADD_PACKAGES) ThenPage_Title = "ADD package"ElseIf NNadd_type = Cstr(enum_ADD_DEPENDENCIES) ThenPage_Title = "ADD dependency"ElseIf NNadd_type = Cstr(enum_ADD_RUNTIME_DEPENDENCIES) ThenPage_Title = "ADD Runtime Dependency"ElsePage_Title = ""End IfEnd Function' Gets a set of records each one being unique by pkg_id, each row having (pkg_id, pkg_name, and num_of_versions)Function Get_Pkg_Names ( NNpkg_or_pvid_list, NNadd_type )If NNadd_type = Cstr(enum_ADD_DEPENDENCIES) OR NNadd_type = Cstr(enum_ADD_RUNTIME_DEPENDENCIES) Then' When adding dependencies, the NNpkg_or_pvid_list is a list of PV_ID'sGet_Pkg_Names = _" SELECT pkg.PKG_ID, pkg.PKG_NAME, COUNT(pv.PV_ID) AS NUM_OF_VERSIONS "&_" FROM PACKAGE_VERSIONS pv,"&_" PACKAGES pkg"&_" WHERE pv.PV_ID IN ( "& NNpkg_or_pvid_list &" ) "&_" AND pv.PKG_ID (+) = pkg.PKG_ID"&_" GROUP BY pv.PKG_ID, pkg.PKG_ID, pkg.PKG_NAME"Else' When adding packages, the NNpkg_or_pvid_list is a list of PKG_ID'sGet_Pkg_Names = _" SELECT pkg.PKG_ID, pkg.PKG_NAME, COUNT(pv.PV_ID) AS NUM_OF_VERSIONS "&_" FROM PACKAGE_VERSIONS pv,"&_" PACKAGES pkg"&_" WHERE pkg.PKG_ID IN ( "& NNpkg_or_pvid_list &" ) "&_" AND pv.PKG_ID (+) = pkg.PKG_ID"&_" GROUP BY pv.PKG_ID, pkg.PKG_ID, pkg.PKG_NAME"End IfEnd FunctionSub Get_All_Base_Views ( NNnewgroup_id, nPkg_id )Dim rsTemp, Query_StringQuery_String = _" SELECT vi.view_id, vi.view_name, bv.hint "&_" FROM views vi,"&_" ("&_" SELECT DISTINCT rc.BASE_VIEW_ID, '> ' AS hint"&_" FROM release_content rc,"&_" package_versions pv"&_" WHERE rc.pv_id = pv.pv_id"&_" AND pv.pkg_id IN ( "& nPkg_id &" )"&_" ) bv"&_" WHERE UPPER(vi.base_view) = 'Y'"&_" AND bv.BASE_VIEW_ID (+) = vi.VIEW_ID"&_" ORDER BY vi.view_name ASC"Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))While ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF))If NNnewgroup_id = Cstr( rsTemp.Fields("view_id") ) OR NOT IsNull(rsTemp("hint")) ThenResponse.write "<option value='"& rsTemp("view_id") &"' selected>"& rsTemp("hint") & rsTemp("view_name") &"</option>"ElseResponse.write "<option value='"& rsTemp("view_id") &"'>"& rsTemp("hint") & rsTemp("view_name") &"</option>"End IfrsTemp.MoveNextWEndrsTemp.CloseSet rsTemp = nothingEnd SubSub Get_All_Personal_Views ( NNuser_id )Dim rsTemp, Query_StringIf NNuser_id = "" Then Exit SubQuery_String = _" SELECT vi.view_id, vi.view_name"&_" FROM view_settings vs,"&_" views vi"&_" WHERE vs.view_id = vi.view_id"&_" AND vs.user_id = vi.owner_id "&_" AND vs.user_id = "& NNuser_id &_" AND vi.base_view = 'N'"&_" ORDER BY UPPER(vi.view_name)"Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))While ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF))Response.write "<option value='"& rsTemp.Fields("view_id") &"'>"& rsTemp.Fields("view_name") &"</option>"rsTemp.MoveNextWEndrsTemp.CloseSet rsTemp = nothingEnd Sub' This function is only called when adding dependencies. It gets all of the items in the specified release' and sets up dictionaries as follows:'' Dict Name key item' ------------------------------------' DDdictPkgId pv_id pkg_id' DDdictPkgName pv_id pkg_name' DDdictPkgVer pv_id pkg_version' DDdictPkgExt pv_id v_ext'Sub Get_Versions_From_Release ( NNpv_id_list, NNrtag_id, DDdictPkgId, DDdictPkgName, DDdictPkgVer, DDdictPkgExt )Dim rsTemp, Query_StringIf NNrtag_id = "" ThenExit SubEnd IfQuery_String = _" SELECT pv.pkg_id, pkgs.pkg_name, pv.pkg_version, pv.pv_id, pv.v_ext"&_" FROM release_content rc,"&_" package_versions pv,"&_" packages pkgs"&_" WHERE rc.pv_id = pv.pv_id"&_" AND pkgs.pkg_id = pv.pkg_id"&_" AND rc.rtag_id = "& NNrtag_id &_" AND pv.pv_id IN ( "& NNpv_id_list &" )"Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))While ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF))DDdictPkgId.ADD Cstr(rsTemp("pv_id")), Cstr(rsTemp("pkg_id"))DDdictPkgName.ADD Cstr(rsTemp("pv_id")), Cstr(rsTemp("pkg_name"))DDdictPkgVer.ADD Cstr(rsTemp("pv_id")), Cstr(rsTemp("pkg_version"))If NOT IsNull(rsTemp("v_ext")) ThenDDdictPkgExt.ADD Cstr(rsTemp("pv_id")), Cstr(rsTemp("v_ext"))ElseDDdictPkgExt.ADD Cstr(rsTemp("pv_id")), Cstr("")End IfrsTemp.MoveNextWEndrsTemp.CloseSet rsTemp = nothingEnd Sub' This function is used when adding packages to a release. The function processes a list of package ID's' and forms the HTML to display for each item, the name, base version, extension, and full version,' where the base version is an input text box, and the extension is a drop down list box.Sub Generate_Package_List ( NNpkg_list, SShtml_pkg_list, NNrtag_id, NNadd_type )Dim rsPkgs, hidePatches, finalArg, currRsPkg, qparPkg_listDim checkBoxId, spanPkgNameId, tdCheckBoxIdDim fullVersionDim baseVersionDim extensionDim commonHTMLhidePatches = "hidepatches=true&"If pkgInfoHash.Item ("is_patch") = "Y" Then hidePatches = ""Set rsPkgs = OraDatabase.DbCreateDynaset( Get_Pkg_Names( NNpkg_list, NNadd_type ), cint(0))While ((NOT rsPkgs.BOF) AND (NOT rsPkgs.EOF))currRsPkg = chr(34) & rsPkgs("pkg_id") & chr(34)qparPkg_list = chr(34) & parPkg_list & chr(34)' Begin table rowSShtml_pkg_list = SShtml_pkg_list &"<tr> "spanPkgNameId = "spanPkgName" & rsPkgs("pkg_id")fullVersion = ""baseVersion = ""extension = ""' Form package nameSShtml_pkg_list = SShtml_pkg_list &" <td background='images/bg_form_lightgray.gif' nowrap class='form_item'>" _& "<span id='" & spanPkgNameId & "'>"& rsPkgs("pkg_name") &"</span></td>"' setup some common html so that we can make the (full) Version field on the right-most column of the' table row update on certain events taking place in the version base input box, and version extension' drop down list boxcommonHTML = rsPkgs("pkg_id") & "' onmouseout='updateVersion(" & currRsPkg & "," & qparPkg_list _& ");' onblur='updateVersion(" & currRsPkg & "," & qparPkg_list _& ");' onclick='updateVersion(" & currRsPkg & "," & qparPkg_list _& ");' onmouseup='updateVersion(" & currRsPkg & "," & qparPkg_list _& ");' onchange='updateVersion(" & currRsPkg & "," & qparPkg_list _& ");' onkeyup='updateVersion(" & currRsPkg & "," & qparPkg_list & ");'"' Form the HTML for the version base input fieldSShtml_pkg_list = SShtml_pkg_list &" <td background='images/bg_form_lightgray.gif'>"_&"<input type='text' style='visibility: visible' id='inputVersionBase"_& commonHTML & " class='form_item' size='12' value='"& baseVersion &"'"SShtml_pkg_list = SShtml_pkg_list & "> </td>"' Form the HTML for the version Extension drop down listSShtml_pkg_list = SShtml_pkg_list &" <td background='images/bg_form_lightgray.gif'> "_& "<select style='visibility: visible' id='selectVersionExtension"_& commonHTML & " id='selectExtension'"SShtml_pkg_list = SShtml_pkg_list & "> "' populate drop down with valid list of extensionsSShtml_pkg_list = SShtml_pkg_list & getExtensionSelectText(extension, false) ' getExtensionSelectText() is defined in _drawExtensionSelectBox.aspSShtml_pkg_list = SShtml_pkg_list &"</select>"If NNadd_type = Cstr(enum_ADD_RUNTIME_DEPENDENCIES) Then ' Runtime depencencies do not have constraints on pkg versionfinalArg = "'R'"Else ' Build dependencies have some format to followfinalArg = "'RisVersionStr'"End IfSShtml_pkg_list = SShtml_pkg_list &"</td>"' Form the Use Existing Version checkboxcheckBoxId = "checkBoxExistingVersion" & rsPkgs("pkg_id")tdCheckBoxId = "tdCheckBox" & rsPkgs("pkg_id")SShtml_pkg_list = SShtml_pkg_list &"<td id='"&tdCheckBoxID&"' background='images/bg_form_lightgray.gif'>"SShtml_pkg_list = SShtml_pkg_list &"<input type='checkBox' id='"&checkBoxId&"' onclick=""checkBoxChanged('" _& rsPkgs("pkg_id") & "','" & rsPkgs("pkg_name") & "');"">"SShtml_pkg_list = SShtml_pkg_list &"</td>"' Form the (full) Version display fieldSShtml_pkg_list = SShtml_pkg_list &" <td background='images/bg_form_lightgray.gif'>"SShtml_pkg_list = SShtml_pkg_list &"<span nowrap class='form_item' name='spanFullVersion" & rsPkgs("pkg_id") _& "' id='spanFullVersion" & rsPkgs("pkg_id") & "'> unset </span>"SShtml_pkg_list = SShtml_pkg_list & "<input type='hidden' id='pkgn" & rsPkgs("pkg_id") _& "' name='pkgn" & rsPkgs("pkg_id") & "' ' class='form_item' size='12' value='" & fullVersion & "'> "' End table rowSShtml_pkg_list = SShtml_pkg_list &"</tr>"rsPkgs.MoveNextWEndEnd Sub' This function deals with a PV_ID list, not a PKG_ID list. Hence, it is used for the ADD Dependencies user operation.' The function was initially based on the Generate_Package_List() function, and then stripped back and reworked to use' the result of the Get_Versions_From_Release() function, which now processes PV_ID lists also.' It does not display the base version or an extension drop down list box, like the Generate_Package_List() function,' because it is not needed. Adding a dependency means taking the latest version in the release, there is no choice about' it.Sub Generate_Version_List ( NNpv_id_list, SShtml_pkg_list, NNrtag_id, NNadd_type )Dim finalArgDim spanPkgNameIdDim fullVersionDim i' dictionaries and arraysDim dictPkgId, dictPkgVer, dictPkgExt, dictPkgNameDim pv_ids, pkg_ids, versions, pkg_names' create dictionariesSet dictPkgId = CreateObject("Scripting.Dictionary")Set dictPkgName = CreateObject("Scripting.Dictionary")Set dictPkgVer = CreateObject("Scripting.Dictionary")Set dictPkgExt = CreateObject("Scripting.Dictionary") ' This one assigned, and populated, but currently not used thereafter' populate dictionariesCall Get_Versions_From_Release ( NNpv_id_list, NNrtag_id, dictPkgId, dictPkgName, dictPkgVer, dictPkgExt )' get the columns we need from the dictionariespv_ids = dictPkgId.Keyspkg_names = dictPkgName.Itemspkg_ids = dictPkgId.Itemsversions = dictPkgVer.Items' iterate through all the PV_ID's we found using the Get_Versions_From_Release() functionFor i = 0 to ubound(pv_ids)fullVersion = versions(i)' Begin table rowSShtml_pkg_list = SShtml_pkg_list &"<tr> "' NOTE: the formation of this span name may result in more than one span of the same name in the HTML.' This is because there may be >1 package version of the same package ID (eg sysbasetypes.mas, sysbasetypes.sea)' being added as dependencies. It doesn't seem to matter though. It just reflects the ancestry of this code which' used to be exclusively package ID focused, whereas now, it has a pv_id focus when dealing with dependencies.spanPkgNameId = "spanPkgName" & pkg_names(i)' Form package nameSShtml_pkg_list = SShtml_pkg_list & " <td background='images/bg_form_lightgray.gif' nowrap class='form_item'>" _& " <span id='" & spanPkgNameId & "'>"& pkg_names(i) &"</span></td>"If NNadd_type = Cstr(enum_ADD_RUNTIME_DEPENDENCIES) Then ' Runtime depencencies do not have constraints on pkg versionfinalArg = "'R'"Else ' Build dependencies have some format to followfinalArg = "'RisVersionStr'"End If' Form the (full) Version display fieldSShtml_pkg_list = SShtml_pkg_list &" <td background='images/bg_form_lightgray.gif'>"If fullVersion = "" ThenSShtml_pkg_list = SShtml_pkg_list &"<span nowrap class='form_item' name='spanFullVersion" & pkg_ids(i) _& "' id='spanFullVersion" & pkg_ids(i) & "'> unset </span>"ElseSShtml_pkg_list = SShtml_pkg_list &"<span nowrap class='form_item' name='spanFullVersion" & pkg_ids(i) _& "' id='spanFullVersion" & pkg_ids(i) & "'>" & fullVersion & "</span>"End IfSShtml_pkg_list = SShtml_pkg_list & "<input type='hidden' id='pkgn" & pkg_ids(i) _& "' name='pkgn" & pkg_ids(i) & "' ' class='form_item' size='12' value='" & fullVersion & "'> "' End table rowSShtml_pkg_list = SShtml_pkg_list &"</tr>"NextEnd Sub%><%If parPv_id <> "" ThenCall Get_Pkg_Info ( parPv_id, NULL )End If%><html><head><title>Release Manager</title><meta HTTP-EQUIV="Pragma" CONTENT="no-cache"><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><link rel="stylesheet" href="images/release_manager_style.css" type="text/css"><link rel="stylesheet" href="images/navigation.css" type="text/css"><script language="JavaScript" src="images/common.js"></script><script language="JavaScript" type="text/JavaScript"><!--window.onload = function(){if( !isNewPackage() )return;var packageIds = new Array();{<%Dim rsPkgsTmpSet rsPkgsTmp = OraDatabase.DbCreateDynaset( Get_Pkg_Names( parPkg_list, parAdd_type ), cint(0))While ((NOT rsPkgsTmp.BOF) AND (NOT rsPkgsTmp.EOF))%>packageIds.push( "<%=rsPkgsTmp("pkg_id")%>" );updateVersion("<%=rsPkgsTmp("pkg_id")%>", "<%=rsPkgsTmp("pkg_id")%>");<%rsPkgsTmp.MoveNextWendrsPkgsTmp.Close()%>}document.getElementById('tdUseExistingVersion').style.display = 'none';document.getElementById('tdCheckBox' + packageIds[0]).style.display = 'none';}function isNewPackage(){if( "<%=parIsNewPackage%>" == "1" )return true;return false;}// checkBoxChanged is only called when adding packages to a release. It is not called when this form is// being used to add dependencies to a package version in a release.function checkBoxChanged( pkg_id, pkg_name ){var checkBoxId = "checkBoxExistingVersion" + pkg_id;var popupURL = "_wform_get_version.asp";if( document.getElementById(checkBoxId).checked ){MM_openBrWindow( popupURL + "?pkg_id=" + pkg_id + "&pkg_name=" + pkg_name,"GetVersion","resizable=yes,width=400,height=400");document.getElementById('inputVersionBase' + pkg_id).style.visibility = "hidden";document.getElementById('selectVersionExtension' + pkg_id).style.visibility = "hidden";}else{document.getElementById('inputVersionBase' + pkg_id).style.visibility = "visible";document.getElementById('selectVersionExtension' + pkg_id).style.visibility = "visible";}}// getVersionObjectIds is only called when adding packages to a release. It is not called when this form is// being used to add dependencies to a package version in a release.function getVersionObjectIds (){var versionObjectIds = new Array(); // Memory leak?<%Dim rsPkgs3, versionObjectIdSet rsPkgs3 = OraDatabase.DbCreateDynaset( Get_Pkg_Names( parPkg_list, parAdd_type ), cint(0))While ((NOT rsPkgs3.BOF) AND (NOT rsPkgs3.EOF))versionObjectId = "pkgn" & rsPkgs3("pkg_id")%>versionObjectIds.push( "<%=versionObjectId%>" );<%rsPkgs3.MoveNextWendrsPkgs3.Close()%>return versionObjectIds;}// CheckVersion is only called when adding packages to a release. It is not called when this form is// being used to add dependencies to a package version in a release.function checkVersion (){var versionObjectIds = new Array();versionObjectIds = getVersionObjectIds();for( var iobj in versionObjectIds ){var checkBoxId = versionObjectIds[iobj].replace( /pkgn/, "checkBoxExistingVersion");var spanPkgNameId = versionObjectIds[iobj].replace( /pkgn/, "spanPkgName");var pkgName = document.getElementById(spanPkgNameId).innerHTML;var fullVersion = document.getElementById(versionObjectIds[iobj]).value;var versionBase = fullVersion.replace( /(.*)(\..*)/, "$1");var versionExt = fullVersion.replace( /(.*)(\..*)/, "$2");var isAutobuild = document.getElementById(checkBoxId).checked;var isValid = MM_ValidateVersion(pkgName, versionBase, versionExt, isAutobuild, false);if (isValid){continue;}// failed - exit function, returning false for the form.document.MM_returnValue = false;document.getElementById("ProgressBar").style.visibility = "hidden";return false;}return true;}//-----------------------------------------------------------------------------------------------------------------------------// Javascript Function: updateFields//// Purpose: This is a function that is called by external javascript to updates fields in form//// Arguments: myPkgId (integer) - Package number// myPv_id (integer) - package version number (not used in form_add_pkg_versions.asp implementation of this function)// newVersion (string) - output value of the external javascript. This is the new version// cancelled (boolean) - true if user cancelled popup, else false//// Returns: nothing//// Notes: this is called by the popup window coded in _wform_get_version.asp when the user clicks 'submit' in that popup window. An equivalent function also// exists in form_edit_deps.asp for when it activates the code in _wform_get_version.asp.function updateFields( myPv_id, myPkgId, newVersion, cancelled ){// if user is cancelling the popup, or if the version we have got from the popup is empty...if (cancelled || newVersion == ""){// uncheck the "Use Existing Version" checkbox, and re-enable the version number and extension inputsvar checkBoxId = "checkBoxExistingVersion" + myPkgId;document.getElementById(checkBoxId).checked = false;document.getElementById('inputVersionBase' + myPkgId).style.visibility = "visible";document.getElementById('selectVersionExtension' + myPkgId).style.visibility = "visible";}else{// Note here we use myPkgId as the spanFullVersion span is associated with a pkg_id rather than a pv_iddocument.getElementById('spanFullVersion' + myPkgId).innerHTML = newVersion;var fullVersion = document.getElementById('spanFullVersion' + myPkgId).innerHTML;var versionBase = fullVersion.replace( /(.*)\..*/, "$1");var versionExt = fullVersion.replace( /(.*)\./, ".");document.getElementById('inputVersionBase' + myPkgId).value = versionBase;document.getElementById('selectVersionExtension' + myPkgId).value = versionExt;document.getElementById('pkgn' + myPkgId).value = fullVersion;}}// updateVersion is only called when adding packages to a release. It is not called when this form is// being used to add dependencies to a package version in a release.function updateVersion( myPkgId, myParPkg_list ){document.getElementById("spanFullVersion" + myPkgId).innerHTML =document.getElementById("inputVersionBase" + myPkgId).value +document.getElementById("selectVersionExtension" + myPkgId).value;document.getElementById("pkgn" + myPkgId).value =document.getElementById("inputVersionBase" + myPkgId).value +document.getElementById("selectVersionExtension" + myPkgId).value;}//--></script><!-- DROPDOWN MENUS --><!--#include file="_menu_def.asp"--><script language="JavaScript1.2" src="images/popup_menu.js"></script><script language="JavaScript" src="images/tipster.js"></script><script language="JavaScript" src="images/_help_tips.js"></script></head><body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0"><!-- MENU LAYERS --------------------------------------><div id="popmenu" class="menuskin" onMouseover="clearhidemenu();highlightmenu(event,'on')" onMouseout="highlightmenu(event,'off');dynamichide(event)"></div><!-- TIPS LAYERS --------------------------------------><div id="formTipsLayer" style="position: absolute; z-index: 1000; visibility: hidden; left:0; top: 0; width: 10"> </div><!-----------------------------------------------------><!-- HEADER --><!--#include file="_header.asp"--><!-- BODY ----><table width="100%" height="80%" border="0" cellpadding="0" cellspacing="0"><tr><td align="center" valign="top" background="images/bg_lght_gray.gif"><!-- MIDDLE ----------------------------------------><table width="650" border="0" cellspacing="0" cellpadding="0"><tr><td><table width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td width="1%"></td><td align="right"><img src="images/h_trsp_dot.gif" width="30" height="30"></td><td width="1%"></td></tr><tr><td width="1%"></td><td><table width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td nowrap class="form_ttl"><%=Page_Title ( parAdd_type )%></td><td align="right" valign="bottom"></td></tr></table></td><td width="1%"></td></tr><tr><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><td background="images/lbox_bg_blue.gif" align="right"><!-- Heading --><img src="images/h_trsp_dot.gif" width="1" height="20"><!-- END Heading --></td><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></tr><tr><td width="1%" bgcolor="#FFFFFF"><img src="images/h_trsp_dot.gif" width="10" height="100"></td><td bgcolor="#FFFFFF" valign="top"><!-- Body --><table width="100%" border="0" cellspacing="1" cellpadding="2"><% 'Use the parPkg_list in two different ways. When adding dependencies, the list contains pv_id's.'When adding packages it contains pkg_id's. Different functions deal with each situation.If ( (parAdd_type <> Cstr(enum_ADD_DEPENDENCIES)) AND (parAdd_type <> Cstr(enum_ADD_RUNTIME_DEPENDENCIES)) ) ThenCall Generate_Package_List( parPkg_list, HTML_pkg_list, parRtag_id, parAdd_type )ElseCall Generate_Version_List( parPkg_list, HTML_pkg_list, parRtag_id, parAdd_type )End If%><%If parAdd_type = Cstr(enum_ADD_PACKAGES) Then%><form name="addpkg" id="addpkg" method="post" action="_add_pkgs_to_release.asp" onSubmit="return checkVersion();"><%'----------- Base View --------------%><tr><td width="1%" nowrap class="form_group" valign="bottom"></td><td nowrap width="100%" align="right" class="form_step"> </td></tr><tr><td colspan="2" width="1%" nowrap class="form_field" background="images/bg_form_lightbluedark.gif">To Base View</td></tr><tr><td colspan="2" width="1%" nowrap background="images/bg_form_lightgray.gif"><select name="base_view_id" id="base_view_id" class="form_item"><option></option><%Call Get_All_Base_Views( parBase_view_id, parPkg_list )%></select><br><span class="rep_small">NOTE: Symbol '>' in Base Views drop-down list is a suggestion where to place selected package(s).</span></td></tr><tr><td width="1%" nowrap class="form_group" valign="bottom"></td><td nowrap width="100%" align="right" class="form_step"><br></td></tr><%'----------- Private View --------------%><%If QStrPar("Pview") <> "disable" Then%><tr><td colspan="2" width="1%" nowrap class="form_field" background="images/bg_form_lightbluedark.gif">To Personal View</td></tr><tr><td colspan="2" width="1%" nowrap background="images/bg_form_lightgray.gif"><select name="personal_view_id" class="form_item"><option value="">None</option><%Call Get_All_Personal_Views( objAccessControl.UserId )%></select></td></tr><tr><td width="1%" nowrap class="form_group" valign="bottom"></td><td nowrap width="100%" align="right" class="form_step"><br></td></tr><%End If%><%'---------------------------------------%><%Else%><%If parAdd_type = Cstr(enum_ADD_RUNTIME_DEPENDENCIES) Then%><form name="addpkg" method="post" action="_add_runtime_dependencies.asp" onSubmit="return true"><%Else%><form name="addpkg" method="post" action="_update_dependencies.asp" onSubmit="return true"><%End If%><tr><td colspan="2" width="1%" nowrap class="form_field"><%=pkgInfoHash.Item ("pkg_name")%> <%=pkgInfoHash.Item ("pkg_version")%></td></tr><%End If%><tr><td colspan="2" width="1%" nowrap class="form_field"><table width="100%" border="0" cellspacing="1" cellpadding="2"><tr><td background="images/bg_form_lightbluedark.gif" nowrap width="10%" class="form_field">Package Name<img src="images/h_trsp_dot.gif" width="1" height="20" align="absmiddle"></td><% 'Do not display the VersionBase, VersionExtension, and Use Existing Version columns if we are adding dependenciesIf parAdd_type <> Cstr(enum_ADD_DEPENDENCIES) AND parAdd_type <> Cstr(enum_ADD_RUNTIME_DEPENDENCIES) Then%><td background="images/bg_form_lightbluedark.gif" nowrap width="10%" class="form_field">Version Base</td><td background="images/bg_form_lightbluedark.gif" nowrap width="10%" class="form_field">Version Extension</td><td id='tdUseExistingVersion' background="images/bg_form_lightbluedark.gif" nowrap class="form_field" width="30%">Use Existing Version<a onmouseout="formTips.hide()" onmouseover="formTips.show('existingVersion')" href="javascript:;"><img width="12" hspace="2" height="12" border="0" align="absmiddle" src="images/i_help.gif" /></a></td><%End If%><td background="images/bg_form_lightbluedark.gif" nowrap width="40%" class="form_field">Version</td></tr><%=HTML_pkg_list%><tr><td nowrap><img src="images/h_trsp_dot.gif" width="120" height="1"></td><td></td></tr></table></td></tr><tr><td colspan="2" nowrap class="form_field"><input type="reset" name="btn" value="« Back" class="form_btn" onClick="history.back();"><input type="reset" name="btn" value="Cancel" class="form_btn" onClick="history.go(-3);"><input type="submit" name="btn" value=" Add " class="form_btn"><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><br> <br></td></tr><input type="hidden" name="update_type" value="add_custom"><input type="hidden" name="pv_id" value="<%=parPv_id%>"><input type="hidden" name="rtag_id" value="<%=parRtag_id%>"><input type="hidden" name="pkg_list" value="<%=parPkg_list%>"></form></table><!-- END Body--></td><td width="1%" background="images/lbox_bgside_white.gif"> </td></tr><tr><td width="1%" background="images/lbox_bg_blue.gif" valign="bottom"><img src="images/lbox_bl_cnr_b.gif" width="13" height="13"></td><td background="images/lbox_bg_blue.gif"></td><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></tr></table></td></tr></table><!--------------------------------------------------></td></tr><tr><td valign="bottom" background="images/bg_lght_gray.gif"><!-- FOOTER --><!--#include file="_footer.asp"--></td></tr></table></body></html><%Call Destroy_All_Objects%>