Subversion Repositories DevTools

Rev

Blame | Last modification | View Log | RSS feed

<%@LANGUAGE="VBSCRIPT"%>
<%
'=====================================================
'|                                                   |
'|                                wAddApplicationUser                    |
'|                                                   |
'=====================================================
%>
<%
Option explicit
Response.Expires = 0
%>

<!--#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="common/common_dbedit.asp"-->
<!--#include file="common/_form_window_common.asp"-->
<!--#include file="common/_rtree_common.asp"-->

<%
'------------ ACCESS CONTROL ------------------
%>

<%
'------------ VARIABLE DEFINITION -------------
Dim rsPackages
Dim FRview_id
Dim     parProjId
Dim     Query_String
parProjId       =       Request("proj_id")
'Dim objFormCollector
'------------ CONSTANTS DECLARATION -----------
Const LIMG_USER = "<img src='images/i_user.gif' width='16' height='16' hspace='2' border='0' align='absmiddle'>"
Const LIMG_USER_DISABLED = "<img src='images/i_user_disabled.gif' width='16' height='16' hspace='2' border='0' align='absmiddle'>"
Const LIMG_ROLE = "<img src='images/i_role.gif' width='16' height='16' hspace='2' border='0' align='absmiddle'>"
'------------ VARIABLE INIT -------------------
Set objFormCollector = CreateObject("Scripting.Dictionary")

'------------ CONDITIONS ----------------------
'----------------------------------------------
%>
<%
'--------------------------------------------------------------------------------------------------------------------------
Sub Add_Package_Interest (nProj_id, nPkg_id_List)
        On Error Resume Next
        
        OraDatabase.BeginTrans
        
        OraDatabase.Parameters.Add "PROJ_ID",   nProj_id, ORAPARM_INPUT, ORATYPE_NUMBER 
        OraDatabase.Parameters.Add "PKG_ID_LIST",       nPkg_id_List,   ORAPARM_INPUT, ORATYPE_VARCHAR2 
        OraDatabase.Parameters.Add "USER_ID",   objAccessControl.UserId,        ORAPARM_INPUT, ORATYPE_NUMBER 

        objEH.TryORA ( OraSession )
        
        OraDatabase.ExecuteSQL _
        "BEGIN   ADD_PACKAGE_INTEREST   ( :PROJ_ID, :PKG_ID_LIST, :USER_ID );   END;"
        
        objEH.CatchORA ( OraSession )
        
        OraDatabase.Parameters.Remove "PROJ_ID" 
        OraDatabase.Parameters.Remove "PKG_ID_LIST"     
        OraDatabase.Parameters.Remove "USER_ID"
        
        OraDatabase.CommitTrans 
        
End Sub
'--------------------------------------------------------------------------------------------------------------------------
%>
<%
'------------ RUN BEFORE PAGE RENDER ----------
' --- Get Form details from DB (for edit forms only) ---
'-------------------------------------------------------

' --- Load Validation Rules ---


' --- Enter Form Validation Rule Changes here... ----
'----------------------------------------------------

If CBool(Request("action")) Then
        If objForm.IsValidOnPostBack Then
                ' --- Form is Valid ---
                
                Call Add_Package_Interest(parProjId, request("pkg_id_list"))
                
                If objEH.Finally Then
                %>
        <script language="JavaScript" type="text/javascript">
        window.opener.location='members_notifications.asp?proj_id=<%=parProjId%>';
        </script>       
                <%      
                        Call CloseWindow()
                        
                End If
                
        End If
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 href="images/release_manager_style.css" rel="stylesheet" type="text/css">
<script language="JavaScript" src="scripts/common.js"></script>
</head>

<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" onLoad="self.focus();">
<table width="100%"  border="0" cellspacing="0" cellpadding="10">
  <tr>
 
    <td bgcolor="#FFFFFF" class="body_txt"><span class="body_h1"><img src="images/i_user_lrg.gif" width="13" height="17" hspace="0" align="absmiddle">&nbsp;Add Package </span> <br>
    Search for Package or select from the list. </td>
        
  </tr>
  <form name="FormSearch" method="post" action="<%=ScriptName%>">
  <tr>
    <td background="images/bg_quicksearch.gif" class="body_txt"><table width="100" border="0" cellspacing="3" cellpadding="0">
        <tr>
          <td nowrap class="body_txtw"><strong>Package Search</strong> </td>
          <td><input name="filter" type="text" class="body_txt" size="20" value="<%=Request("filter")%>"></td>
          <td><input name="btn" type="image" src="images/b_search.gif" width="16" height="16" border="0"></td>
        </tr>
      </table></td>
  </tr>
  <%'=objPMod.ComposeHiddenTags()%>
  <input type="hidden" name="view_id" value="<%=Request("view_id")%>">
  <input type="hidden" name="proj_id" value="<%=Request("proj_id")%>">  
  </form>
  <form name="FormName" method="post" action="<%=ScriptName%>">
  <tr>
    <td background="images/bg_drk_bage_pane.gif">
        <table width="100%"  border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td>&nbsp;</td>
        <td align="right"><input name="btn" type="submit" class="form_btn" value="Add">
          <input name="btn" type="reset" class="form_btn" value="Cancel" onClick="self.close();"></td>
      </tr>
    </table></td>
  </tr>
  <tr>
    <td>

                <table width="300"  border="0" cellspacing="2" cellpadding="0">
          <!-- MESSAGE +++++++++++++++++++++++++++++++++++++++++++++++++++ -->
          <%If NOT objEH.Finally Then%>
          <tr>
            <td>
              <%objEH.DisplayMessage()%>
            </td>
          </tr>
          <%End If%>
          <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
        </table>
                
<%
                Dim startPosition, pageNumber, navigator, totalRecords, lastRecord
                Const MAX_ROWS = 50     ' Maximum number of rows displayed
                

                OraDatabase.Parameters.Add "KEYWORD",                   Request("filter"),                      ORAPARM_INPUT, ORATYPE_VARCHAR2         
                '--- Set filters ---
                If Request("filter") <> "" Then
                        
                        Query_String = _
                        " SELECT DISTINCT PKG.PKG_ID, PKG.PKG_NAME FROM RELEASE_CONTENT RC,"&_
                        " RELEASE_TAGS RT, PROJECTS PRJ,"&_
                        " PACKAGE_VERSIONS PV, PACKAGES PKG,"&_
                        "       ("&_
  
                        "       /* Exact match */"&_
                        "       SELECT 1 AS DISPLAY_ORDER,"&_
                        "                  pkg.PKG_ID,"&_
                        "                  pkg.PKG_NAME"&_
                        "         FROM PACKAGES pkg"&_
                        "        WHERE UPPER(pkg.PKG_NAME) = UPPER(:KEYWORD)"&_
                 
                        "       UNION"&_
                  
                        "       /* Starts with */  "&_
                        "       SELECT 2 AS DISPLAY_ORDER,"&_
                        "                  pkg.PKG_ID,"&_
                        "                  pkg.PKG_NAME"&_
                        "         FROM PACKAGES pkg"&_
                        "        WHERE UPPER(pkg.PKG_NAME) LIKE UPPER(:KEYWORD) ||'%'"&_
                 
                        "       UNION"&_
                  
                        "       /* Ends with */  "&_
                        "       SELECT 3 AS DISPLAY_ORDER,"&_
                        "          pkg.PKG_ID,"&_
                        "          pkg.PKG_NAME"&_
                        "  FROM PACKAGES pkg"&_
                        " WHERE UPPER(pkg.PKG_NAME) LIKE '%'|| UPPER(:KEYWORD) "&_

                        "       UNION"&_
                  
                        "       /* Middle of word */  "&_
                        "       SELECT 4 AS DISPLAY_ORDER,"&_
                        "                  pkg.PKG_ID,"&_
                        "                  pkg.PKG_NAME"&_
                        "         FROM PACKAGES pkg"&_
                        "        WHERE UPPER(pkg.PKG_NAME) LIKE '%'|| UPPER(:KEYWORD) ||'%'"&_
                 
                " ) qry"&_
                        " WHERE RC.RTAG_ID = RT.RTAG_ID AND PRJ.PROJ_ID = RT.PROJ_ID AND PKG.PKG_ID NOT IN"&_
                        " (SELECT PKG_ID FROM PACKAGE_INTEREST WHERE PROJ_ID ="& parProjId &" AND USER_ID ="& objAccessControl.UserId &")"&_
                        " AND PV.PV_ID = RC.PV_ID AND PKG.PKG_ID = PV.PKG_ID AND qry.pkg_id = pkg.pkg_id AND PRJ.PROJ_ID="& parProjId &" order by pkg.pkg_name"
                
                        
                
                Else
                        Query_String = _
                        " SELECT DISTINCT PKG.PKG_ID, PKG.PKG_NAME FROM RELEASE_CONTENT RC,"&_
                        " RELEASE_TAGS RT, PROJECTS PRJ,"&_
                        " PACKAGE_VERSIONS PV, PACKAGES PKG"&_
                        " WHERE RC.RTAG_ID = RT.RTAG_ID AND PRJ.PROJ_ID = RT.PROJ_ID and PKG.PKG_ID NOT IN"&_
                        " (SELECT PKG_ID FROM PACKAGE_INTEREST WHERE PROJ_ID ="& parProjId &" AND USER_ID ="& objAccessControl.UserId &")"&_
                        " AND PV.PV_ID = RC.PV_ID AND PKG.PKG_ID = PV.PKG_ID AND PRJ.PROJ_ID="& parProjId &" order by pkg.pkg_name"
                End If
                
                
                Set rsPackages = OraDatabase.DbCreateDynaset( Query_String , ORADYN_DEFAULT )
                
                OraDatabase.Parameters.Remove "KEYWORD"
                
                
                '--- Get page number ---
                pageNumber = 0
                If Request("pg") <> "" Then 
                pageNumber = CInt(Request("pg"))
                End If
                
                
                '--- Set Cursor start position ---
                startPosition = pageNumber * MAX_ROWS + 1
                If (NOT rsPackages.BOF) AND (NOT rsPackages.EOF) Then
                        rsPackages.MoveTo ( startPosition )             ' Set starting cursor point
                        
                End If
                
                
                '--- Construct Navigator
                navigator = ""
                If (NOT rsPackages.BOF) AND (NOT rsPackages.EOF) Then
                        totalRecords = rsPackages.RecordCount   ' Get total number of records
                        
                        '--- Create "Previous" link
                        If pageNumber > 0 Then
                                navigator = navigator &"<a href='"& ScriptName &"?view_id="&Request("view_id")&"&pg="& pageNumber - 1 &"&"& objPMod.ComposeURL &"' class='body_link' title='Show Previous Page'>&laquo; Previous</a>"
                        End If
                        
                        '--- Create "Next" link
                        If ( startPosition + MAX_ROWS ) < totalRecords Then
                                navigator = navigator &"&nbsp;&nbsp;<a href='"& ScriptName &"?view_id="&Request("view_id")&"&pg="& pageNumber + 1 &"&"& objPMod.ComposeURL &"' class='body_link' title='Show Next Page'>Next &raquo;</a>"
                        End If
                        
                End If
                
                
                '--- Calculate Last Record ---
                If totalRecords > 0 Then
                        lastRecord = ( startPosition - 1 + MAX_ROWS ) _
                                                + ( CInt( ( startPosition - 1 + MAX_ROWS )/totalRecords > 1) ) * ( ( startPosition - 1 + MAX_ROWS ) - totalRecords )
                End If
                %>
                <table width="100%"  border="0" cellspacing="0" cellpadding="0">
          <tr align="left">
            <td colspan="2" class="body_row">&nbsp;</td>
          </tr>
          <tr>
            <td align="left" class="body_row">
                        <%
                        If totalRecords > 0 Then 
                                Response.write "Showing "& startPosition &" - "& lastRecord &" of "& totalRecords
                        Else
                                Response.write "No Results."
                        End If
                        %></td>
            <td align="right" class="body_scol"><%=navigator%></td>
          </tr>
        </table>          
                 <!-- DETAILS ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
                 <table width="100%"  border="0" cellspacing="3" cellpadding="0">
          <tr>
                        <td width="1%" background="images/bg_table_col.gif"><img src="images/spacer.gif" width="16" height="16" hspace="2"></td>
            <td width="30%" background="images/bg_table_border.gif">
                        <table width="100%"  border="0" cellspacing="1" cellpadding="2">
              <tr>
                <td align="left" nowrap background="images/bg_table_col.gif" class="body_col">Packages</td>
                                
              </tr>
            </table></td>
          </tr>
                  <%
                  '--- Render rows ---
                  Do While (NOT rsPackages.BOF) AND (NOT rsPackages.EOF)
                  
                                If rsPackages.RowPosition => (startPosition + MAX_ROWS) Then Exit Do    ' Limit the number of rows displayed
                  %>
          <tr>
                        <td align="center"><input type="checkbox" name="pkg_id_list" value="<%=rsPackages("pkg_id")%>"></td>
            <td nowrap class="body_row"><%=Highlight_Substring( rsPackages("pkg_name"), request("filter") )%></td>
          </tr>
                  <%rsPackages.MoveNext%>
                  
                  <%If (NOT rsPackages.BOF) AND (NOT rsPackages.EOF) Then%>
          <tr>
            <td colspan="4" background="images/bg_table_border.gif"><img src="images/spacer.gif" width="1" height="1"></td>
          </tr>
                  <%End If%>
                  
                  <%
                  Loop
                  
                  
                  
                  rsPackages.Close()
                  Set rsPackages = Nothing
                  %>
          <tr>
            <td colspan="4" background="images/bg_table_border.gif">
                         <table width="100%"  border="0" cellspacing="1" cellpadding="2">
              <tr>
                <td nowrap background="images/bg_table_col.gif"><img src="images/spacer.gif" width="1" height="1"></td>
              </tr>
             </table>
                        </td>
          </tr>
         </table>        
                 <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
                 <table width="100%"  border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td align="right" class="body_scol"><%=navigator%></td>
          </tr>
        </table>                        
        </td>
  </tr>
  <%=objPMod.ComposeHiddenTags()%>
  <input type="hidden" name="view_id" value="<%=Request("view_id")%>">

  <input type="hidden" name="action" value="true">
  </form>
</table>
</body>
</html>
<%
'------------ RUN AFTER PAGE RENDER -----------
Set objFormCollector = Nothing
'----------------------------------------------
%>
<!--#include file="common/destructor.asp"-->