UFN_SITESFORUSER
Return
Return Type |
---|
table |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CURRENTAPPUSERID | uniqueidentifier | IN |
Definition
Copy
create function BBDW.[UFN_SITESFORUSER]
(
@CURRENTAPPUSERID uniqueidentifier
)
returns @T table ([SITEID] uniqueidentifier primary key)
as
begin
/*Return all sites if the application user is a system administrator or is assigned to a role with access to all sites*/
if exists (select 1 from BBDW.[DIM_APPUSER] where [APPUSERSYSTEMID] = @CURRENTAPPUSERID and [APPUSERISSYSADMIN] = 1)
or exists(SELECT [SYSTEMROLEAPPUSERFACTID] from BBDW.[FACT_SYSTEMROLEAPPUSER] where [APPUSERSYSTEMID] = @CURRENTAPPUSERID and [SITESECURITYMODE] = 0) begin
insert into @T(SITEID)
select [SITESYSTEMID] as [SITEID] from BBDW.[DIM_SITE];
return
end
insert into @T(SITEID)
select distinct
sp.[SITESYSTEMID] as [SITEID]
from
BBDW.[FACT_SITEPERMISSION] sp
inner join BBDW.[DIM_APPUSER] a on sp.[APPUSERDIMID] = a.[APPUSERDIMID]
where
a.[APPUSERSYSTEMID] = @CURRENTAPPUSERID;
return
end;