UFN_CONSTITUENTSECURITYATTRIBUTE_GETATTRIBUTESFORUSER

Returns a list of constituent security attributes that the user could interact with based on role assignments.

Return

Return Type
table

Parameters

Parameter Parameter Type Mode Description
@CURRENTAPPUSERID uniqueidentifier IN

Definition

Copy


            create function dbo.UFN_CONSTITUENTSECURITYATTRIBUTE_GETATTRIBUTESFORUSER 
            (
                @CURRENTAPPUSERID uniqueidentifier
            )
            returns @CONSTITUENTSECURITYATTRIBUTE table (ID uniqueidentifier primary key)
            as
            begin 
                /*Return all constituent security attributes if the application user is a system administrator or is assigned to a role with access to all sites*/
                if dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 or exists(SELECT SYSTEMROLEAPPUSER.ID from dbo.SYSTEMROLEAPPUSER where SYSTEMROLEAPPUSER.APPUSERID = @CURRENTAPPUSERID and SYSTEMROLEAPPUSER.CONSTITUENTSECURITYMODECODE = 0) begin
                    insert into @CONSTITUENTSECURITYATTRIBUTE(ID) 
                        select CONSTIT_SECURITY_ATTRIBUTE.ID from dbo.CONSTIT_SECURITY_ATTRIBUTE;                        

                    return;
                end                

                insert into @CONSTITUENTSECURITYATTRIBUTE(ID)
                    select distinct
                            CONSTIT_SECURITY_ATTRIBUTE.ID
                    from dbo.CONSTIT_SECURITY_ATTRIBUTE
                        inner join dbo.SYSTEMROLEAPPUSERCONSTITUENTSECURITY on SYSTEMROLEAPPUSERCONSTITUENTSECURITY.CONSTITUENTSECURITYATTRIBUTEID = CONSTIT_SECURITY_ATTRIBUTE.ID
                        inner join dbo.SYSTEMROLEAPPUSER on SYSTEMROLEAPPUSER.ID = SYSTEMROLEAPPUSERCONSTITUENTSECURITY.SYSTEMROLEAPPUSERID
                    where SYSTEMROLEAPPUSER.APPUSERID = @CURRENTAPPUSERID
                        and SYSTEMROLEAPPUSER.CONSTITUENTSECURITYMODECODE = 2;                
                return;

            end