Subversion Repositories DevTools

Rev

Rev 2 | Blame | Compare with Previous | Last modification | View Log | RSS feed

<%@LANGUAGE="VBSCRIPT"%>
<%
'=====================================================
'|                                                   |
'|                            _SetDataPermissions                                |
'|                                                   |
'=====================================================
%>
<%
Option explicit
Response.Expires = 0
%>
<!--#include file="common/globals.asp"-->
<!--#include file="common/config.asp"-->
<!--#include file="common/common_subs.asp"-->
<!--#include file="common/_code_behind_common.asp"-->
<%
'------------ ACCESS CONTROL ------------------
%>
<!--#include file="_access_control_general.asp"-->
<%
'------------ VARIABLE DEFINITION -------------
'------------ CONSTANTS DECLARATION -----------
'------------ VARIABLE INIT -------------------
objPMod.PersistInQryString ("obj_id")
objPMod.PersistInQryString ("dt_id")
'------------ CONDITIONS ----------------------
'----------------------------------------------
%>
<%
'--------------------------------------------------------------------------------------------------------------------------
Sub SetDataPermissions ()
        Dim rsQry, query, aTableInfo, aRefColVal, RefColVal, OraParameter
        
        On Error Resume Next
        
        OraDatabase.Parameters.Add "DT_ID",     Request("dt_id"),               ORAPARM_INPUT, ORATYPE_NUMBER 
        OraDatabase.Parameters.Add "ROLE_ID",   Request("role_id"),     ORAPARM_INPUT, ORATYPE_NUMBER 
        
        OraDatabase.Parameters.Add "REF_COLUMN_VAL",    NULL,                           ORAPARM_INPUT, ORATYPE_NUMBER 
        OraDatabase.Parameters.Add "IS_VISIBLE",NULL,                                   ORAPARM_INPUT, ORATYPE_VARCHAR2
        OraDatabase.Parameters.Add "IS_ACTIVE", NULL,                                   ORAPARM_INPUT, ORATYPE_VARCHAR2
        
        
        '--- Get TABLE information ---
        query = _
        " SELECT dt.REF_COLUMN_NAME,"&_
        "            ap.DB_SCHEMA,"&_
        "            dt.TABLE_NAME"&_
        "   FROM APPLICATIONS ap,"&_
        "            CONTROL_OBJECTS co,"&_
        "            DATA_TABLES dt"&_
        "  WHERE dt.OBJ_ID = co.OBJ_ID"&_
        "    AND co.APP_ID = ap.APP_ID"&_
        "    AND dt.DT_ID = :DT_ID "
        
        objEH.Try
                
                Set rsQry = OraDatabase.DbCreateDynaset( query , ORADYN_DEFAULT )
                If (rsQry.BOF) OR (rsQry.EOF) Then 
                        Err.Raise 8, "Cannot Access Data !", "DT_ID="& Request("dt_id") &" for select statement in "& SCRIPT_NAME
                Else
                        aTableInfo = rsQry.GetRows()
                        rsQry.Close
                        Set rsQry = Nothing
                End If
                
        objEH.Catch
        
        
        
        '--- Get REF_COLUMN_VALUE ---
        query = _
        " SELECT  "& aTableInfo(0, 0) &"  FROM  "& aTableInfo(1, 0) &"."& aTableInfo(2, 0)
        
        objEH.Try
                
                Set rsQry = OraDatabase.DbCreateDynaset( query , ORADYN_DEFAULT )
                If (rsQry.BOF) OR (rsQry.EOF) Then 
                        Err.Raise 8, "Cannot Access Data !", "query="& query &" <br>in "& SCRIPT_NAME
                Else
                        aRefColVal = rsQry.GetRows()
                        rsQry.Close
                        Set rsQry = Nothing
                End If
                
        objEH.Catch
        
        
        Set OraParameter = OraDatabase.Parameters
        
        '--- Set Role Permissions ---
        objEH.TryORA ( OraSession )
                
                
                '--- Set Row Permissions ---
                For Each RefColVal In aRefColVal
                        
                        OraParameter("REF_COLUMN_VAL").Value = RefColVal
                        OraParameter("IS_VISIBLE").Value = Request( "VIS_"& RefColVal )
                        OraParameter("IS_ACTIVE").Value =  Request( "ACT_"& RefColVal )
                        
                        'Response.write OraParameter("DT_ID") &"-"& OraParameter("ROLE_ID") &"-"& OraParameter("REF_COLUMN_VAL") &"-"& OraParameter("IS_VISIBLE") &"-"& OraParameter("IS_ACTIVE") &"<br>"
                        
                        OraDatabase.ExecuteSQL _
                        "BEGIN   pk_Control.Set_Row_Permissions ( :DT_ID, :ROLE_ID, :REF_COLUMN_VAL, :IS_VISIBLE, :IS_ACTIVE );   END;"
                        
                Next
                
                
                '--- Log Action ---
                'objEH.LogAction  _
                'objAccessControl.UserId, _
                'enumAT_EVENT_COMMENT, _
                '"Sub RemoveProductFromOs PROD_ID_LIST="& Request("prod_id_list") &", OS_ID="& Request("os_id") , _
                'SCRIPT_NAME, _
                '"Removed Products from OS.", _
                'OraDatabase 
                
        objEH.CatchORA ( OraSession )
        
        OraDatabase.Parameters.Remove "DT_ID"
        OraDatabase.Parameters.Remove "ROLE_ID"
        OraDatabase.Parameters.Remove "REF_COLUMN_VAL"
        OraDatabase.Parameters.Remove "IS_VISIBLE"
        OraDatabase.Parameters.Remove "IS_ACTIVE"
        
End Sub
'--------------------------------------------------------------------------------------------------------------------------
%>
<%
'**************************** M  A  I  N ******************************
' --- Form is Valid ---
Call SetDataPermissions()

If objEH.Finally Then
        Call OpenInWindow ( Request("rfile") &"?"& objPMod.ComposeURL() )
End If
'**********************************************************************
%>
<%
'------------ RUN AFTER CODE RUN --------------
'----------------------------------------------
%><!--#include file="common/globals_destructor.asp"-->