Subversion Repositories DevTools

Rev

Blame | Last modification | View Log | RSS feed

<%@LANGUAGE="VBSCRIPT"%>
<%
'=====================================================
'|                                                   |
'|                                      ADD                                          |
'|                                        PACKAGES                                           |
'|                   OR DEPENDENCIES                 |
'=====================================================
%>
<%
Option explicit
' Good idea to set when using redirect
Response.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"-->
<%

'------------ 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 present
If Request("pv_id") = "" AND Request("rtag_id") = "" Then
        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 JSrequirementsSTR
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 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) 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


Function Get_Pkg_Names ( SSpkglist )
        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 ( "& SSpkglist &" ) "&_
        "          AND pv.PKG_ID (+) = pkg.PKG_ID"&_
        "        GROUP BY pv.PKG_ID, pkg.PKG_ID, pkg.PKG_NAME"
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, '>&nbsp;' 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 "<option value='"& rsTemp("view_id") &"' selected>"& rsTemp("hint") & rsTemp("view_name") &"</option>"
                Else
                        Response.write "<option value='"& rsTemp("view_id") &"'>"& rsTemp("hint") & rsTemp("view_name") &"</option>"
                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 "<option value='"& rsTemp.Fields("view_id") &"'>"& rsTemp.Fields("view_name") &"</option>"
                
                rsTemp.MoveNext
        WEnd
        
        rsTemp.Close
        Set rsTemp = nothing
End Sub


Sub Get_Versions_From_Release ( NNpkg_list, NNrtag_id, DDVersion )
        Dim rsTemp, Query_String
        
        If NNrtag_id = "" Then
                Exit Sub
        End If
        
        Query_String = _
        " SELECT pv.pkg_id, pv.pkg_version"&_
        "  FROM release_content rc,"&_
        "       package_versions pv"&_
        " WHERE rc.pv_id = pv.pv_id"&_
        "   AND rc.rtag_id = "& NNrtag_id &_
        "   AND pv.pkg_id IN ( "& NNpkg_list &" )"
        
        Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))
        
        While ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF)) 
                If NOT DDVersion.Exists ( Cstr(rsTemp("pkg_id")) ) Then DDVersion.ADD Cstr(rsTemp("pkg_id")), Cstr(rsTemp("pkg_version"))
                rsTemp.MoveNext
        WEnd
        
        rsTemp.Close
        Set rsTemp = nothing
End Sub


Sub Generate_Package_List ( NNpkg_list, SShtml_pkg_list, SSJSreq, NNrtag_id, NNadd_type )
        Dim rsPkgs, VersionDict, hidePatches, readonly
        hidePatches = "hidepatches=true&"
        
        If pkgInfoHash.Item ("is_patch") = "Y" Then hidePatches = ""
        
        
        Set VersionDict = CreateObject("Scripting.Dictionary")
        
        If NNadd_type = Cstr(enum_ADD_DEPENDENCIES) OR NNadd_type = Cstr(enum_ADD_RUNTIME_DEPENDENCIES) _
                Then Call Get_Versions_From_Release ( NNpkg_list, NNrtag_id, VersionDict )
        
        Set rsPkgs = OraDatabase.DbCreateDynaset( Get_Pkg_Names( NNpkg_list ), cint(0))
        While ((NOT rsPkgs.BOF) AND (NOT rsPkgs.EOF))
                
                If NNadd_type = Cstr(enum_ADD_RUNTIME_DEPENDENCIES) Then
                        ' Runtime depencencies do not have constraints on pkg version
                        SShtml_pkg_list = SShtml_pkg_list &"<tr> "
                        SShtml_pkg_list = SShtml_pkg_list &"  <td background='images/bg_form_lightgray.gif' nowrap class='form_item'>"& rsPkgs("pkg_name") &"</td>"
                        SShtml_pkg_list = SShtml_pkg_list &"  <td background='images/bg_form_lightgray.gif'><input type='text' name='pkgn"& rsPkgs("pkg_id") &"' class='form_item' size='12' value='"& VersionDict.Item(Cstr(rsPkgs("pkg_id"))) &"'> "
                        SShtml_pkg_list = SShtml_pkg_list &"    <a href='javascript:;' onClick='MM_openBrWindow(""_wform_get_version.asp?rfield=addpkg.pkgn"& rsPkgs("pkg_id") &"&pkg_id="& rsPkgs("pkg_id") &"&pkg_name="& rsPkgs("pkg_name") &""",""GetVersion"",""resizable=yes,width=350,height=150"")'><img src='images/i_get.gif' width='16' height='16' align='absmiddle' hspace='5' border='0' alt='Get package version' title='Get package version'></a> "
                        SShtml_pkg_list = SShtml_pkg_list &"  </td>"
                        SShtml_pkg_list = SShtml_pkg_list &"</tr>"
                        SSJSreq = SSJSreq & ",'pkgn"& rsPkgs("pkg_id") &"','"& rsPkgs("pkg_name") &" Version','R'"
                        
                Else
                        ' Build dependencies have some format to follow
                        readonly = ""
                        If rsPkgs("num_of_versions") > 0 Then readonly = "readonly"
                        
                        SShtml_pkg_list = SShtml_pkg_list &"<tr> "
                        SShtml_pkg_list = SShtml_pkg_list &"  <td background='images/bg_form_lightgray.gif' nowrap class='form_item'>"& rsPkgs("pkg_name") &"</td>"
                        SShtml_pkg_list = SShtml_pkg_list &"  <td background='images/bg_form_lightgray.gif'><input type='text' name='pkgn"& rsPkgs("pkg_id") &"' class='form_item' size='12' value='"& VersionDict.Item(Cstr(rsPkgs("pkg_id"))) &"'> "
                        SShtml_pkg_list = SShtml_pkg_list &"    <a href='javascript:;' onClick='MM_openBrWindow(""_wform_get_version.asp?"& hidePatches &"rfield=addpkg.pkgn"& rsPkgs("pkg_id") &"&pkg_id="& rsPkgs("pkg_id") &"&pkg_name="& rsPkgs("pkg_name") &""",""GetVersion"",""resizable=yes,width=350,height=150"")'><img src='images/i_get.gif' width='16' height='16' align='absmiddle' hspace='5' border='0' alt='Get package version' title='Get package version'></a> "
                        SShtml_pkg_list = SShtml_pkg_list &"  </td>"
                        SShtml_pkg_list = SShtml_pkg_list &"</tr>"
                        SSJSreq = SSJSreq & ",'pkgn"& rsPkgs("pkg_id") &"','"& rsPkgs("pkg_name") &" Version','RisVersionStr'"
                        
                End If
                
                rsPkgs.MoveNext
        WEnd
        SSJSreq = Right( SSJSreq, Len(SSJSreq)-1 )              ' Remove first comma
        
End Sub
%>
<%
If parPv_id <> "" Then
        Call 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>
<!-- DROPDOWN MENUS -->
<!--#include file="_menu_def.asp"-->
<script language="JavaScript1.2" src="images/popup_menu.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">&nbsp;</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">
                                  <%Call Generate_Package_List ( parPkg_list, HTML_pkg_list, JSrequirementsSTR, parRtag_id, parAdd_type )%>
                                  <%If parAdd_type = Cstr(enum_ADD_PACKAGES) Then%>
                                        <form name="addpkg" method="post" action="_add_pkgs_to_release.asp" onSubmit="MM_validateForm('base_view_id','Base View','RisNumber',<%=JSrequirementsSTR%>);return document.MM_returnValue">
                      <%'----------- Base View --------------%>
                                          <tr> 
                        <td width="1%" nowrap class="form_group" valign="bottom"></td>
                        <td nowrap width="100%" align="right" class="form_step">&nbsp;</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" 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="MM_validateForm(<%=JSrequirementsSTR%>);return document.MM_returnValue">
                                        <%Else%>
                                                <form name="addpkg" method="post" action="_update_dependencies.asp" onSubmit="MM_validateForm(<%=JSrequirementsSTR%>);return document.MM_returnValue">
                                        <%End If%>
                                      <tr> 
                        <td colspan="2" width="1%" nowrap class="form_field"><%=pkgInfoHash.Item ("pkg_name")%>&nbsp;<%=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="1%" class="form_field">Package Name<img src="images/h_trsp_dot.gif" width="1" height="20" align="absmiddle"></td>
                              <td background="images/bg_form_lightbluedark.gif" nowrap width="100%" 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="&laquo; 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">&nbsp;</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
%>