UFN_SECURITY_APPUSER_IN_NONRACROLE

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

Return

Return Type
bit

Parameters

Parameter Parameter Type Mode Description
@APPUSERID uniqueidentifier IN

Definition

Copy


            CREATE function dbo.UFN_SECURITY_APPUSER_IN_NONRACROLE
            (
                @APPUSERID uniqueidentifier
            )
            returns bit as

            /*
            Returns true if the given user has permissions to the given form
            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 if the user is ISSYSADMIN occurs outside 
            this function.  
            */

            begin
            --If user in a role with no ringfence then 

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

            if exists
                (
                    select 
                        1 
                    from 
                        dbo.SYSTEMROLEAPPUSER
                    where 
                        SYSTEMROLEAPPUSER.APPUSERID = @APPUSERID and 
                        SYSTEMROLEAPPUSER.CONSTITUENTSECURITYMODECODE = 0
                )
             return 1;

            return  0;

            end