USP_DATAFORMTEMPLATE_VIEW_EMAILPAGESETUP

The load procedure used by the view dataform template "Email Page Setup Data Form"

Parameters

Parameter Parameter Type Mode Description
@DATALOADED bit INOUT Output parameter indicating whether or not data was actually loaded.
@STATUSPRIVACYPOLICY bit INOUT Privacy page defined.
@STATUSEMAILPREFERENCES bit INOUT Mail preferences page defined.
@STATUSVIEWEMAIL nvarchar(3) INOUT membership emails defined.
@STATUSMANAGEMEMBERSHIPPAGES nvarchar(3) INOUT membership programs approved.
@STATUSPAGEDESIGNER bit INOUT Page style defined

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_EMAILPAGESETUP
(
    @DATALOADED bit = 0 output,
    @STATUSPRIVACYPOLICY bit = null output,
    @STATUSEMAILPREFERENCES bit = null output,
    @STATUSVIEWEMAIL nvarchar(3) = null output,
    @STATUSMANAGEMEMBERSHIPPAGES nvarchar(3) = null output,
    @STATUSPAGEDESIGNER bit = null output
)
as
    set nocount on;

    --Many variables are nvarchar instead of int; this is to facilitate string replacement in the UI


    set @DATALOADED = 1
    set @STATUSPAGEDESIGNER = 0
    set @STATUSPRIVACYPOLICY = 0
    set @STATUSEMAILPREFERENCES = 0

    select top(1) @STATUSPAGEDESIGNER = 1 from MICROSITESETTING where MICROSITESETTING = 0 and VALUE is not null and VALUE <> '00000000-0000-0000-0000-000000000000'
    select top(1) @STATUSPRIVACYPOLICY = 1 from dbo.PAGEMODELITEM where ARTIFACTID = '3caf1f25-301a-44d6-854f-e4e85ad6da36'
    select top(1) @STATUSEMAILPREFERENCES = 1 from dbo.PAGEMODELITEM where ARTIFACTID = '3d21a022-3d4c-466c-b29f-8d6077c201fb'

    --The function used here throws an error if the database is in an off state

    begin try
        select @STATUSVIEWEMAIL = count(*)
        from dbo.EmailTemplate
        where 
            DataSourceID <> 0 and
            dbo.UFN_MKTEXPORTDEFINITION_GETTYPEFROMNETCOMMUNITYDATASOURCEID(DataSourceID) = 2 and
            Deleted = 0
    end try
    begin catch
        set @STATUSVIEWEMAIL = 0;
    end catch

    select @STATUSMANAGEMEMBERSHIPPAGES = count(*)
    from dbo.MEMBERSHIPPROGRAM
        inner join dbo.MICROSITEPAGE MP on (MP.OBJECTID = MEMBERSHIPPROGRAM.ID) and (MP.EXCLUDED = 0)
    where
        MP.SITEPAGESID > 0 and
        MEMBERSHIPPROGRAM.ISACTIVE = 1

    return 0;