UFN_SECURITY_APPUSER_GRANTED_DASHBOARD_IN_NONRACROLE

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

Return

Return Type
bit

Parameters

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

Definition

Copy


CREATE function dbo.UFN_SECURITY_APPUSER_GRANTED_DASHBOARD_IN_NONRACROLE
(
@APPUSERID uniqueidentifier,
@DASHBOARDCATALOGID uniqueidentifier
)
returns bit as

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

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

return  0;

end