spGetDataSourcesForTemplates

Parameters

Parameter Parameter Type Mode Description
@ExcludeBackOfficeSystem nvarchar(max) IN
@ClientUsersID int IN

Definition

Copy

CREATE  PROCEDURE [dbo].[spGetDataSourcesForTemplates]
(
    @ExcludeBackOfficeSystem nvarchar(max),
    @ClientUsersID int = null
)            
as
    -- Null out the client users ID if they are supervisor
    if (@ClientUsersID is not null)
        if ((select CU.IsSupervisor | CU.InternalUser from dbo.ClientUsers CU where CU.ID = @CLIENTUSERSID) = 1)
            set @ClientUsersID = null;

    declare @ClientSites TABLE (ClientSitesID int);
    if (@ClientUsersID is not null)
        insert into @ClientSites
        select CLIENTSITESID from [dbo].[UFN_CLIENTUSERS_TASKS](@ClientUsersID,'034D2C4C-C6C7-4E55-8D4B-77C216EE3E25')
        union
        select CLIENTSITESID from [dbo].[UFN_CLIENTUSERS_TASKS](@ClientUsersID,'E81C3046-A612-437A-A03C-1F75FBD76C6E')

    if exists(select 1 from @ClientSites where ClientSitesID is null)
        set @ClientUsersID = null;


    select VW.*
    from 
    vwEmailTemplateDataSources VW 
    left outer join DataSources DS on DS.DataSourceID = VW.DataSourceID
    left outer join EmailList EL on EL.ID = DS.ImportListID
    left outer join @ClientSites CS on CS.ClientSitesID = EL.ClientSitesID
    WHERE NOT EXISTS (SELECT NULL FROM dbo.fnCSVIDsToTable(@ExcludeBackOfficeSystem) WHERE ID = VW.BackOfficeSystemID)            
    and VW.DataSourceID <> 320 -- exclude marketing templates
    and (@ClientUsersID is null or EL.ClientSitesID is null or CS.ClientSitesID is not null)
    ORDER BY VW.DataSourceName, VW.BackOfficeSystemId;