%@LANGUAGE="VBSCRIPT"%> <% '===================================================== '| | '| ADD | '| PACKAGES | '| OR DEPENDENCIES | '===================================================== %> <% Option explicit ' Good idea to set when using redirect Response.Expires = 0 ' always load the page, dont store %> <% '------------ ACCESS CONTROL ------------------ %> <% ' Make sure rtag_id is always present If Request("pv_id") = "" AND Request("rtag_id") = "" Then Call Destroy_All_Objects Response.Redirect("index.asp") End If %> <% '------------ Variable Definition ------------- Dim parAdd_type Dim parPkg_list Dim parBase_view_id Dim rsPkgs Dim HTML_pkg_list Dim parPv_id Dim parPkgfind '------------ 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") Set pkgInfoHash = CreateObject("Scripting.Dictionary") '---------------------------------------------- %> <% ' ---- Action requirements ---- If parPkg_list = "" Then Call Destroy_All_Objects Response.Redirect( "form_search_result_pkgs.asp?pv_id="& parPv_id &_ "&rtag_id="& parRtag_id &_ "&pkgfind="& parPkgfind &_ "&add_type="& parAdd_type &_ "&errmsg=true" ) End If %> <% Function Page_Title ( NNadd_type ) If NNadd_type = Cstr(enum_ADD_PACKAGES) Then Page_Title = "ADD Package" ElseIf NNadd_type = Cstr(enum_ADD_DEPENDENCIES) Then Page_Title = "ADD Dependency" ElseIf NNadd_type = Cstr(enum_ADD_RUNTIME_DEPENDENCIES) Then Page_Title = "ADD Runtime Dependency" Else Page_Title = "" End If End 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's Get_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's Get_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 If End Function Sub Get_All_Base_Views ( NNnewgroup_id, nPkg_id ) Dim rsTemp, Query_String Query_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")) Then Response.write "" Else Response.write "" End If rsTemp.MoveNext WEnd rsTemp.Close Set rsTemp = nothing End Sub Sub Get_All_Personal_Views ( NNuser_id ) Dim rsTemp, Query_String If NNuser_id = "" Then Exit Sub Query_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 "" rsTemp.MoveNext WEnd rsTemp.Close Set rsTemp = nothing End 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_String If NNrtag_id = "" Then Exit Sub End If Query_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")) Then DDdictPkgExt.ADD Cstr(rsTemp("pv_id")), Cstr(rsTemp("v_ext")) Else DDdictPkgExt.ADD Cstr(rsTemp("pv_id")), Cstr("") End If rsTemp.MoveNext WEnd rsTemp.Close Set rsTemp = nothing End 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, all available full versions in a list box Sub Generate_Package_List ( NNpkg_list, SShtml_pkg_list, NNrtag_id, NNadd_type ) Dim rsPkgs, hidePatches, currRsPkg, qparPkg_list Dim spanPkgNameId Dim commonHTML hidePatches = "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 row SShtml_pkg_list = SShtml_pkg_list &"
|
<%If parAdd_type = Cstr(enum_ADD_PACKAGES) Then%>
|