UFN_SECURITY_APPUSER_GRANTED_TASK_IN_NONRACROLE

Returns true if the given user has permissions to the given task in a role that has not constituent security defined.

Return

Return Type
bit

Parameters

Parameter Parameter Type Mode Description
@APPUSERID uniqueidentifier IN
@TASKID uniqueidentifier IN

Definition

Copy


            CREATE function dbo.UFN_SECURITY_APPUSER_GRANTED_TASK_IN_NONRACROLE
            (
            @APPUSERID uniqueidentifier,
            @TASKID uniqueidentifier
            )
            returns bit as

            /*
            Returns true if the given user has permissions to the given task
            in a role whose security group is blank

            This function is optimized for use from the Blackbaud.AppFx.Security.Catalog.ConstitRecordSecurityService
            class which implements the RecordSecurity service for Constituent record security.

            As such, it assumes that a check for DENY occurs outside this function
            and also assumes that a check for if the user is ISSYSADMIN occurs outside 
            this function.  
            */


            begin
            --If user granted permission to the feature in a role with no ringfence then 

            --the user has permission regardless of the record in question.

            if exists
                (
                    select 
                        1 
                    from 
                        dbo.V_SECURITY_SYSTEMROLEASSIGNMENT_USER_TASK as SV
                    where 
                        SV.APPUSERID = @APPUSERID and 
                        SV.TASKID = @TASKID and 
                        SV.RECORDSECURITYMODE = 0
                )
             return 1;

            return  0;

            end