USP_DATALIST_EVENTMANAGEMENTTEMPLATE

Returns a list of event management templates configured for use in multi-level events.

Parameters

Parameter Parameter Type Mode Description
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@SITEFILTERMODE tinyint IN Sites
@SITESSELECTED xml IN
@SECURITYFEATUREID uniqueidentifier IN Input parameter indicating the ID of the feature to use for site security checking.
@SECURITYFEATURETYPE tinyint IN Input parameter indicating the type of the feature to use for site security checking.

Definition

Copy


CREATE procedure dbo.USP_DATALIST_EVENTMANAGEMENTTEMPLATE
(
    @CURRENTAPPUSERID uniqueidentifier = null,
    @SITEFILTERMODE tinyint = 0,
    @SITESSELECTED xml = null,
    @SECURITYFEATUREID uniqueidentifier = null,
    @SECURITYFEATURETYPE tinyint = null
)
as
    set nocount on;

    select
        ID,
        NAME,
        (select count(*) from dbo.EVENTMANAGEMENTLEVELTEMPLATE where EVENTMANAGEMENTLEVELTEMPLATE.EVENTMANAGEMENTTEMPLATEID = EVENTMANAGEMENTTEMPLATE.ID) [LEVELS]
    from
        dbo.EVENTMANAGEMENTTEMPLATE
    where 
        EVENTMANAGEMENTTEMPLATE.ISSYSTEMTEMPLATE = 0
        and (
            (
                select 
                    count(*
                from 
                    dbo.EVENTMANAGEMENTTEMPLATESITE 
                where 
                    EVENTMANAGEMENTTEMPLATESITE.EVENTMANAGEMENTTEMPLATEID = EVENTMANAGEMENTTEMPLATE.ID
            ) = 0
            or    
            (
                select
                    count(*)
                from
                    dbo.EVENTMANAGEMENTTEMPLATESITE
                where
                    EVENTMANAGEMENTTEMPLATESITE.EVENTMANAGEMENTTEMPLATEID = EVENTMANAGEMENTTEMPLATE.ID
                and
                    (dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 or exists (select 1 from dbo.UFN_SITESFORUSERONFEATURE(@CURRENTAPPUSERID,@SECURITYFEATUREID,@SECURITYFEATURETYPE) where SITEID=[EVENTMANAGEMENTTEMPLATESITE].[SITEID] or (SITEID is null and [EVENTMANAGEMENTTEMPLATESITE].[SITEID] is null)))
            ) > 0
        )
        and (
            @SITEFILTERMODE = 0
            or
            EVENTMANAGEMENTTEMPLATE.ID in (
                select
                    EVENTMANAGEMENTTEMPLATESITE.EVENTMANAGEMENTTEMPLATEID
                from
                    dbo.UFN_SITE_BUILDDATALISTSITEFILTER (@CURRENTAPPUSERID, @SITEFILTERMODE, @SITESSELECTED) as SITEFILTER
                inner join
                    dbo.EVENTMANAGEMENTTEMPLATESITE on EVENTMANAGEMENTTEMPLATESITE.SITEID = SITEFILTER.SITEID
            )
        )