UFN_RESEARCHGROUP_USERHASSITEACCESS

Validates that an application user has access to a research group based on site permissions.

Return

Return Type
bit

Parameters

Parameter Parameter Type Mode Description
@RESEARCHGROUPID uniqueidentifier IN
@CURRENTAPPUSERID uniqueidentifier IN
@SECURITYFEATUREID uniqueidentifier IN
@SECURITYFEATURETYPE tinyint IN

Definition

Copy


            CREATE function dbo.UFN_RESEARCHGROUP_USERHASSITEACCESS
            (
                @RESEARCHGROUPID uniqueidentifier,
                @CURRENTAPPUSERID uniqueidentifier,
                @SECURITYFEATUREID uniqueidentifier = null,
                @SECURITYFEATURETYPE tinyint = null
            )
            returns bit
            as
            begin
                /* If custom code doesn't want to pass in the security stuff, don't do security */
                if @SECURITYFEATUREID is null or @SECURITYFEATURETYPE is null or dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1
                    return 1;

                if exists    (


                                select RGS.SITEID 
                                from dbo.RESEARCHGROUP RG
                                left join dbo.RESEARCHGROUPSITE RGS on RGS.RESEARCHGROUPID = RG.ID 
                                inner join dbo.UFN_SITESFORUSERONFEATURE(@CURRENTAPPUSERID,@SECURITYFEATUREID,@SECURITYFEATURETYPE) [S]
                                    on ([S].SITEID = RGS.SITEID) or ([S].SITEID is null and RGS.SITEID is null)
                                where RG.ID = @RESEARCHGROUPID
                            )
                    return 1;

                return 0;
            end