UFN_SECURITY_APPUSER_GRANTED_REPORT_IN_NONRACROLE

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

Return

Return Type
bit

Parameters

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

Definition

Copy


CREATE function dbo.UFN_SECURITY_APPUSER_GRANTED_REPORT_IN_NONRACROLE
(
@APPUSERID uniqueidentifier,
@REPORTCATALOGID uniqueidentifier
)
returns bit as

/*
Returns true if the given user has permissions to the given report
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_REPORT as SV

        WHERE 

        SV.APPUSERID=@APPUSERID 
        AND SV.REPORTCATALOGID=@REPORTCATALOGID
        AND SV.GRANTORDENY=1
        AND SV.RECORDSECURITYMODE=0
    )
 return 1;

return  0;

end