Subversion Repositories DevTools

Rev

Rev 6827 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

<%@LANGUAGE="VBSCRIPT"%>
<%
'=====================================================
'|                                                   |
'|              Edit Project View Details            |
'|                                                   |
'=====================================================
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"-->
<!--#include file="common/_form_window_common.asp"-->
<%
' Set rfile parameter. This is a return page after Login
Call objPMod.StoreParameter ( "rfile", "rtree.asp" )
objPMod.PersistInQryString("proj_id")
'------------ ACCESS CONTROL ------------------
%>
<!--#include file="_access_control_login.asp"-->
<!--#include file="_access_control_general.asp"-->
<%
'------------ Variable Definition -------------
Dim rsQry
Dim parProjId
Dim parViewId
Dim ProjectWideId : ProjectWideId = 0
'------------ Constants Declaration -----------
'------------ Variable Init -------------------
parProjId = Request("proj_id")
parViewId = NiceInt(Request("FRview_id"), -1 )
objPMod.PersistInQryString("proj_id")
'----------------------------------------------
'--------------------------------------------------------------------------------------------------------------------------
Sub GetFormDetails ( parProjId, ByRef outobjDetails )
  Dim rsQry, query

  OraDatabase.Parameters.Add "PROJ_ID",   parProjId,    ORAPARM_INPUT, ORATYPE_NUMBER

  query = _
  " SELECT prj.* "&_
  " FROM PROJECTS prj"&_
  " WHERE prj.PROJ_ID = :PROJ_ID"

  Set rsQry = OraDatabase.DbCreateDynaset( query, ORADYN_DEFAULT )

  OraDatabase.Parameters.Remove "PROJ_ID"

  If rsQry.RecordCount > 0 Then
    outobjDetails.Item ("proj_id") = rsQry("proj_id")
    outobjDetails.Item ("proj_name") = rsQry("proj_name")
  Else
    Err.Raise 8, "Sub GetFormDetails in "& ScriptName, "Empty record set returned. parProjId="& parProjId
  End If

  rsQry.Close
  Set rsQry = Nothing
End Sub
'--------------------------------------------------------------------------------------------------------------------------
Sub DeleteViewOwner (userId, viewId)

  On Error Resume Next

  OraDatabase.Parameters.Add "PROJ_ID",         Request("proj_id"),         ORAPARM_INPUT, ORATYPE_NUMBER
  OraDatabase.Parameters.Add "VIEW_ID",         viewId,                     ORAPARM_INPUT, ORATYPE_NUMBER
  OraDatabase.Parameters.Add "USER_ID_LIST",    userId,                     ORAPARM_INPUT, ORATYPE_VARCHAR2
  OraDatabase.Parameters.Add "USER_ID",         objAccessControl.UserId,    ORAPARM_INPUT, ORATYPE_NUMBER

  objEH.TryORA ( OraSession )

  OraDatabase.ExecuteSQL _
  "BEGIN   REMOVE_PROJECT_VIEW_OWNER ( :PROJ_ID, :VIEW_ID, :USER_ID_LIST, :USER_ID );   END;"

  objEH.CatchORA ( OraSession )

  OraDatabase.Parameters.Remove "PROJ_ID"
  OraDatabase.Parameters.Remove "VIEW_ID"
  OraDatabase.Parameters.Remove "USER_ID_LIST"
  OraDatabase.Parameters.Remove "USER_ID"

End Sub
'--------------------------------------------------------------------------------------------------------------------------
Sub GetUserViewId(value, posComma)
    txt = value
    posComma = InStr(txt, ",")
End Sub
'--------------------------------------------------------------------------------------------------------------------------
'------------ RUN BEFORE PAGE RENDER ----------
' --- Get Form details from DB ---
Call GetFormDetails ( Request("proj_id"), objFormCollector )
Call CalcProjectWideViewId

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

' --- RUN onPostBack ---
If Request("action") <> "" Then
  If objForm.IsValidOnPostBack Then
    Dim txt,posComma, posUnderscore, userId, viewId, value

    Call GetUserViewId(Request("user_view_id_list"), posComma)

    While posComma <> 0
      value = Mid(txt, 1, posComma-1)
      posUnderscore = Instr(value, "_")
      userId = Mid(value, 1, posUnderscore - 1)
      viewId = Mid(value, posUnderscore + 1, posComma-1)
      Call DeleteViewOwner(userId, viewId)
      txt = Mid(txt, posComma + 1, Len(txt))
      posComma = InStr(txt, ",")
    Wend

    If posComma = 0 Then
      posUnderscore = Instr(txt, "_")
      If posUnderscore>0 Then
      userId = Mid(txt, 1, posUnderscore - 1)
      viewId = Mid(txt, posUnderscore + 1)
      Call DeleteViewOwner(userId, viewId)
      End If
    End if

    If objEH.Finally Then
      Call OpenInWindow ( "form_edit_project_view.asp?proj_id="&parProjId&"&FRview_id="&parViewId )
    End If

  End If

End If
'----------------------------------------------
Sub CalcProjectWideViewId
    Dim rsQry
    Dim Query_String : Query_String = _
                "SELECT DISTINCT vi.view_id, vi.view_name" &_
                " FROM VIEWS vi" &_
                " WHERE vi.view_name = 'PROJECT WIDE'"

    Set rsQry = OraDatabase.DbCreateDynaset( Query_String , cint(0) )

    If rsQry.RecordCount > 0 Then
        ProjectWideId = rsQry("view_id")
        If parViewId = -1 Then
            parViewId = ProjectWideId
        End If
    End If
    rsQry.Close()
    Set rsQry = nothing

End Sub
'----------------------------------------------
Sub BaseViewCombo
    OraDatabase.Parameters.Add "PROJ_ID", parProjId,   ORAPARM_INPUT, ORATYPE_NUMBER
    Dim selectProjectWide
    Dim Query_String
    Dim rsQry

    Response.write "<select name='FRview_id' onChange=""Cascaded_Menu('parent','"& scriptName &"?proj_id="& parProjId &"&FRview_id=',this,0)"" class='form_item'>"

    '
    ' Insert Project Wide entry first
    '   It may be selected too
    '
    If CDbl(parViewId) = CDbl(ProjectWideId)  Then
        selectProjectWide = " selected"
    End If

    Response.write "<option value='"& ProjectWideId &"'" & selectProjectWide & ">" & "PROJECT WIDE" & "</option>"

    '
    '   Add in all the other project views

    Query_String = _
        "  SELECT DISTINCT vi.view_id, vi.view_name"&_
        "  FROM VIEWS vi,"&_
        "   RELEASE_CONTENT rc,"&_
        "   RELEASE_TAGS rt"&_
        "  WHERE rc.BASE_VIEW_ID = vi.VIEW_ID"&_
        "   AND rt.proj_id = "& parProjId &_
        "   AND rc.rtag_id = rt.rtag_id"&_
        "   ORDER BY UPPER( vi.view_name )"

    Set rsQry = OraDatabase.DbCreateDynaset( Query_String , cint(0) )

    OraDatabase.Parameters.Remove "PROJ_ID"
    While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
      Dim selected : selected = ""
      If (CDbl(parViewId) = CDbl(rsQry("view_id"))) Then
          selected = " selected"
      End If
      Response.write "<option value='"& rsQry("view_id") &"'" & selected &">" & rsQry("view_name") &"</option>"
      rsQry.MoveNext
    WEnd

    rsQry.Close()
    Set rsQry = nothing
    OraDatabase.Parameters.Remove "PROJ_ID"

    Response.write "</select>"
End Sub
'-----------------------------------------------------------------------------------
Sub ShowSidePanel
    ' Nothing here
End Sub
'-----------------------------------------------------------------------------------
Sub AddNewViewControl
    Dim onClick
    Dim imgClass
    Dim addTitle: addTitle = "Add Owners to a Base View"
    If canActionControlInProject("AdminView") Then
        onClick = "onClick=""MM_openVixIFrame('wAddApplicationUser.asp?proj_id=" & parProjId& "&view_id=" & parViewId & "','Add View Owner')"""
    Else
        addTitle = addTitle & " [Disabled]"
        imgClass = "lessOpacity"
    End If
    %>
    <tr>
        <td nowrap class="form_iname" valign="top">Select Base View </td>
        <td valign="top" nowrap class="form_iname">
            <%Call BaseViewCombo%>
            <span title="<%=addTitle%>" class="form_iname pointer" <%=onClick%>>&nbsp;<img class="<%=imgClass%>" src="images/email-contact-orange.gif">&nbsp;Add View Owner</span>
        </td>
    </tr>

    <%
End Sub
'-----------------------------------------------------------------------------------
Sub ShowViewOwner
    Dim removeState
    If NOT canActionControlInProject("AdminView") Then removeState = "disabled"

    '-- FROM START 
    objFormComponent.FormName = "FormName"
    objFormComponent.Action = ScriptName
    Call objFormComponent.FormStart()
    %>
    <table class="embedded_table" style="margin-bottom:20px">
      <tr>
         <td>
            <table width="95%" border="0" cellspacing="0" cellpadding="0" align="center">
                <tr>
                    <td nowrap class="form_ttl" align="left">PROJECT VIEW OWNER DETAILS</td>
                </tr>
            </table>
                <tr>
                    <td>
                        <table class="rounded_box embedded_table">
                            <tr>
                                <td bgcolor="#FFFFFF" valign="top" style="padding:0 10px">
                                    <!-- MESSAGE +++++++++++++++++++++++++++++++++++++++++++++++++++ -->
                                    <!--#include file="messages/_msg_inline.asp"-->
                                    <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
                                    <br>
                                    <div style="min-height:300px;max-height:500px;overflow:auto;">
                                        <table width="100%"  border="0" cellspacing="2" cellpadding="0">
                                            <tr>
                                                <td  colspan=5>
                                                    <table>
                                                      <tr>
                                                        <td valign="top" nowrap class="form_iname">Project Name </td>
                                                        <td valign="top" nowrap><%=objFormComponent.TextBox ( "project_name", objForm.GetValue( "project_name", objFormCollector.Item("proj_name") ), "class='form_ivalue' readonly" )%></td>
                                                      </tr>
                                                      <%Call AddNewViewControl%>
                                                    </table>
                                                </td>
                                            </tr>
                                            <tr>
                                                <td valign="top" nowrap background="images/bg_table_col.gif" class="body_col"></td>
                                                <td valign="top" nowrap background="images/bg_table_col.gif" class="body_col">Base View</td>
                                                <td valign="top" nowrap background="images/bg_table_col.gif" class="body_col">Full Name</td>
                                                <td valign="top" nowrap background="images/bg_table_col.gif" class="body_col">User Name</td>
                                                <td valign="top" nowrap background="images/bg_table_col.gif" class="body_col">User Email</td>
                                                <td valign="top"></td>
                                            </tr>
                                            <%
                                            Dim currViewId
                                            currViewId = -1
                                              Set rsQry = OraDatabase.DbCreateDynaset( "SELECT * FROM USERS USR, MEMBERS_GROUP MG, VIEWS V, AUTOBUILD_FAILURE AF WHERE  AF.PROJ_ID = "& Request("proj_id") &" AND AF.GROUP_EMAIL_ID = MG.GROUP_EMAIL_ID AND USR.USER_ID = MG.USER_ID AND V.VIEW_ID = AF.VIEW_ID ORDER BY V.VIEW_NAME, USR.FULL_NAME" , cint(0) )
                                            '--- Render rows ---
                                            Do While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
                                            ' -------- GROUP BY BASE VIEW  -----------------
                                            Dim BaseViewData : BaseViewData = ""
                                            If CDbl(currViewid) <> CDbl(rsQry("view_id")) Then
                                            %>
                                            <tr>
                                                <td colspan="5" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
                                            </tr>
                                            <%
                                              currViewId = CDbl(rsQry("view_id"))
                                              BaseViewData = rsQry("view_name") 
                                            End If
                                            %>
                                            <tr>
                                                <td align="center"><input type="checkbox" name="user_view_id_list" value="<%=rsQry("user_id")%>_<%=rsQry("view_id")%>" style="margin: 0px;"></td>
                                                <td nowrap class="body_scol"><%=BaseViewData%></td>
                                                <td nowrap class="body_rowg"><%=emailField3(rsQry("full_name"),rsQry("user_email"),rsQry("user_name"))%></td>
                                                <td nowrap class="body_rowg"><%=rsQry("user_name")%></td>
                                                <td nowrap class="body_rowg"><%=rsQry("user_email")%></td>
                                            </tr>
                                            <%
                                              rsQry.MoveNext
                                              If (NOT rsQry.BOF) AND (NOT rsQry.EOF) Then
                                              End If
                                            Loop
                                            rsQry.Close()
                                            Set rsQry = nothing
                                            %>
                                            <tr>
                                                <td class="form_iname">&nbsp;</td>
                                                <td>&nbsp;</td>
                                                <td class="val_err"></td>
                                            </tr>
                                        </table>
                                    </div>
                                </td>
                            </tr>
                            <tr background="images/bg_action_norm.gif">
                                <td align="right" style="padding:5px 10px">
                                    <input name="btn" type="submit" <%=removeState%> class="form_btn" value="Remove View Owner(s)">
                                    <input type="hidden" name="user_id_list" value="<%=Request("user_id_list")%>">
                                    <input type="hidden" name="action" value="true">
                                    <%=objFormComponent.CancelButton ( "OK", "class='form_btn'", "rtree.asp?CANCEL=OK&"& objPMod.ComposeURL() )%>
                                    <%=objPMod.ComposeHiddenTags()%>
                                </td>
                            </tr>
                        </table>
                    </td>
                </tr>
            </td>
        </tr>
    </table>
<%
End Sub
%>
<html>
<head>
<title>Release Manager</title>
<link rel="shortcut icon" href="<%=FavIcon%>"/>
<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?ver=<%=VixVerNum%>" type="text/css">
<link rel="stylesheet" href="images/navigation.css?ver=<%=VixVerNum%>" type="text/css">
<script language="JavaScript" src="images/common.js?ver=<%=VixVerNum%>"></script>
<!-- DROPDOWN MENUS -->
<!--#include file="_menu_def.asp"-->
<!--#include file="_jquery_includes.asp"-->
<script language="JavaScript1.2" src="images/popup_menu.js?ver=<%=VixVerNum%>"></script>
</head>
   <body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0">
      <!-- HEADER -->
      <!--#include file="_header.asp"-->
      <!-- BODY ---->
      <table class="full_table">
         <tr>
            <td width="146px" class="bg_panel" valign="top">
                <%Call ShowSidePanel%>
            </td>
            <td width="100%" rowspan="2" align="center" valign="top" bgcolor="#EEEFEF">
                <%Call ShowViewOwner%>
            </td>
         </tr>
         <tr>
            <td class="bg_panel" valign="bottom" align="center" height="350">
                <img src="images/img_vtree.gif" vspace="20" hspace="30"></td>
         </tr>
      </table>
      <!-- FOOTER -->
      <!--#include file="_footer.asp"-->
   </body>
</html>