USP_SYSTEMROLE_APPUSERLIST

Gets a list of users assigned to the supplied System Role.

Parameters

Parameter Parameter Type Mode Description
@SYSTEMROLEID uniqueidentifier IN

Definition

Copy


            CREATE procedure dbo.USP_SYSTEMROLE_APPUSERLIST
            (
                @SYSTEMROLEID uniqueidentifier
            )
            as
                --Used by the System Role page

                set nocount on;

                with CTE_ASSIGNED_SYSTEM_ROLES(APPUSERID, ASSIGNED_SYSTEM_ROLES) as
                (
                    select
                        SYSTEMROLEAPPUSER.APPUSERID,
                        COUNT(1) as ASSIGNED_SYSTEM_ROLES
                    from 
                        dbo.SYSTEMROLEAPPUSER 
                    group by
                        SYSTEMROLEAPPUSER.APPUSERID
                ), CTE_SYSTEMROLEAPPUSERSITE(SYSTEMROLEAPPUSERID, SITELIST) as
                (
                    select
                        SYSTEMROLEAPPUSERSITE.SYSTEMROLEAPPUSERID,
                        dbo.UDA_BUILDLIST(SITE.NAME) as SITELIST 
                    from 
                        dbo.SITE 
                        inner join dbo.SYSTEMROLEAPPUSERSITE ON SYSTEMROLEAPPUSERSITE.SITEID = SITE.ID
                    group by
                        SYSTEMROLEAPPUSERSITE.SYSTEMROLEAPPUSERID
                ), CTE_SYSTEMROLEAPPUSERCONSTITUENTSECURITY(SYSTEMROLEAPPUSERID, CONSTITUENTSECURITYGROUPLIST) as
                (
                    select
                        SYSTEMROLEAPPUSERCONSTITUENTSECURITY.SYSTEMROLEAPPUSERID,
                        dbo.UDA_BUILDLIST(CONSTIT_SECURITY_ATTRIBUTE.NAME) as CONSTITUENTSECURITYGROUPLIST
                    from
                        dbo.CONSTIT_SECURITY_ATTRIBUTE 
                        inner join dbo.SYSTEMROLEAPPUSERCONSTITUENTSECURITY ON SYSTEMROLEAPPUSERCONSTITUENTSECURITY.CONSTITUENTSECURITYATTRIBUTEID = CONSTIT_SECURITY_ATTRIBUTE.ID
                    group by
                        SYSTEMROLEAPPUSERCONSTITUENTSECURITY.SYSTEMROLEAPPUSERID
                )
                select 
                    SYSTEMROLEAPPUSER.ID,
                    APPUSER.ID AS APPUSERID,
                    APPUSER.USERSID,
                    case
                    when isnull(APPUSER.ISPROXYUSER,0) = 0 then COALESCE(SUSER_SNAME(APPUSER.USERSID),'')
                    else APPUSER.CUSTOM_AUTHENTICATION_USERID
                    end as USERNAME,
                    APPUSER.DISPLAYNAME,
                    CTE_ASSIGNED_SYSTEM_ROLES.ASSIGNED_SYSTEM_ROLES,
                    SYSTEMROLEAPPUSER.FROMROLESYNC,
                    SYSTEMROLEAPPUSER.SECURITYMODECODE,
                    SYSTEMROLEAPPUSER.SECURITYMODE,
                    CTE_SYSTEMROLEAPPUSERSITE.SITELIST,
                    SITE.NAME as BRANCHSITENAME,
                    SYSTEMROLEAPPUSER.CONSTITUENTSECURITYMODECODE,
                    SYSTEMROLEAPPUSER.CONSTITUENTSECURITYMODE,
                    CTE_SYSTEMROLEAPPUSERCONSTITUENTSECURITY.CONSTITUENTSECURITYGROUPLIST,
                    APPUSER.CUSTOM_AUTHENTICATION_USERID,
                    APPUSER.EMAILADDRESS
                from
                    dbo.SYSTEMROLEAPPUSER 
                    inner join dbo.APPUSER on SYSTEMROLEAPPUSER.APPUSERID=APPUSER.ID
                    left join dbo.SITE on SITE.ID = SYSTEMROLEAPPUSER.BRANCHSITEID
                    left join CTE_ASSIGNED_SYSTEM_ROLES on CTE_ASSIGNED_SYSTEM_ROLES.APPUSERID = APPUSER.ID
                    left join CTE_SYSTEMROLEAPPUSERSITE on CTE_SYSTEMROLEAPPUSERSITE.SYSTEMROLEAPPUSERID = SYSTEMROLEAPPUSER.ID
                    left join CTE_SYSTEMROLEAPPUSERCONSTITUENTSECURITY on CTE_SYSTEMROLEAPPUSERCONSTITUENTSECURITY.SYSTEMROLEAPPUSERID = SYSTEMROLEAPPUSER.ID
                where 
                    SYSTEMROLEAPPUSER.SYSTEMROLEID=@SYSTEMROLEID