%@LANGUAGE="VBSCRIPT"%>
<%
'=====================================================
'| |
'| Edit Project View Details |
'| |
'=====================================================
Option explicit
' Good idea to set when using redirect
Response.Expires = 0 ' always load the page, dont store
%>
<%
' Set rfile parameter. This is a return page after Login
Call objPMod.StoreParameter ( "rfile", "rtree.asp" )
objPMod.PersistInQryString("proj_id")
'------------ ACCESS CONTROL ------------------
%>
<%
'------------ 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 ""
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
%>
Select Base View
<%Call BaseViewCombo%>
> Add View Owner
<%
End Sub
'-----------------------------------------------------------------------------------
Sub ShowViewOwner
Dim removeState
If NOT canActionControlInProject("AdminView") Then removeState = "disabled"
'-- FROM START
objFormComponent.FormName = "FormName"
objFormComponent.Action = ScriptName
Call objFormComponent.FormStart()
%>
<%
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
%>
<%
currViewId = CDbl(rsQry("view_id"))
BaseViewData = rsQry("view_name")
End If
%>