USP_DATALIST_CLIENTROLE_TASKS

Returns the tasks the specified user has on each CMS Site.

Parameters

Parameter Parameter Type Mode Description
@CLIENTROLEID int IN Input parameter indicating the context ID for the data list.

Definition

Copy


CREATE procedure dbo.USP_DATALIST_CLIENTROLE_TASKS(@CLIENTROLEID int)
as
    set nocount on;

  declare @TASKS table
  (
    TASKGUID uniqueidentifier,
    CLIENTSITESID int,
    ISSITETASK bit,
    APPLYTOCHILDREN bit
  )

  insert into @TASKS
    select SGT.TASKGUID,
       SGCRCS.CLIENTSITESID,
       SG.SITETASKSGROUP as ISSITETASK,
       case when sum(cast(SGCRCS.APPLYTOCHILDREN as int)) > 0 then 1 else 0 end as APPLYTOCHILDREN
  from CMSSECURITYGROUPCLIENTROLECLIENTSITE SGCRCS
  inner join CMSSECURITYGROUP SG  on SG.ID = SGCRCS.CMSSECURITYGROUPID
  inner join CMSSECURITYGROUPTASK SGT on SGT.CMSSECURITYGROUPID = SG.ID
  where SGCRCS.CLIENTROLESID = @CLIENTROLEID
  group by SGT.TASKGUID, SGCRCS.CLIENTSITESID, SG.SITETASKSGROUP     

  insert into @TASKS
  select tasks.TASKGUID, child.ID, tasks.ISSITETASK, tasks.APPLYTOCHILDREN
  from    (select * 
          from @TASKS
          where CLIENTSITESID is not null and APPLYTOCHILDREN = 1) tasks        
  cross apply dbo.UFN_CLIENTSITE_GETCHILDIDS(tasks.CLIENTSITESID) child

  select TASKGUID, CLIENTSITESID, ISSITETASK
  from @TASKS