Subversion Repositories DevTools

Rev

Rev 1281 | Blame | Compare with Previous | 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.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"

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_pkgs_followed.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"-->