spCloneSite_Pages

Used in site copy to site pages

Parameters

Parameter Parameter Type Mode Description
@SourceClientSitesID int IN
@TargetClientSitesID int IN
@CurrentUserID int IN
@CopyBatchGuid uniqueidentifier IN
@TemplatesOnly bit IN

Definition

Copy


    CREATE procedure [dbo].[spCloneSite_Pages]
(
     @SourceClientSitesID    as int
    ,@TargetClientSitesID    int
    ,@CurrentUserID            int
    ,@CopyBatchGuid            uniqueidentifier
    ,@TemplatesOnly            bit
)
as
begin

    set nocount on;

    begin transaction

        insert into SitePages
        (
              ClientSitesID
            , PageName
            , AuthorizedRoles
            , IsAdmin
            , BaseURL
            , ExpireDate
            , PublishDate
            , TemplateID
            , Guid
            , OwnerID
            , Deleted
            , TemplatePageID
            , IsTemplatePage
            , Category
            , DisplayName
            , FolderID
            , Description
            , Keywords
            , UpdateDate
            , UseTemplateKeywords
            , StyleSheetID 
            , CopySourceID
            , CopyBatchGUID
            , ThemeLayoutNumber 
            , URL
        )
        SELECT
             @TargetClientSitesID
            ,SitePages.PageName
            ,SitePages.AuthorizedRoles
            ,SitePages.IsAdmin
            ,SitePages.BaseURL
            ,SitePages.ExpireDate
            ,SitePages.PublishDate
            ,isnull(SiteLayouts.ID,SitePages.TemplateID)
            ,newid()
            ,SitePages.OwnerID
            ,SitePages.Deleted
            ,TemplatePageID
            ,SitePages.IsTemplatePage
            ,SitePages.Category
            ,SitePages.DisplayName
            ,isnull(SiteFolders.FolderID,SitePages.FolderID)
            ,SitePages.Description
            ,SitePages.Keywords
            ,getutcdate()
            ,SitePages.UseTemplateKeywords
            ,isnull(SiteStyleSheets.ID,SitePages.StyleSheetID)
            ,SitePages.ID
            ,@CopyBatchGUID
            ,ThemeLayoutNumber 
            ,URL
        FROM    SitePages
        LEFT JOIN SiteFolders ON SiteFolders.CopySourceID = SitePages.FolderID AND SiteFolders.CopyBatchGUID = @CopyBatchGUID
        LEFT JOIN SiteLayouts ON SiteLayouts.CopySourceID = SitePages.TemplateID AND SiteLayouts.CopyBatchGUID = @CopyBatchGUID
        LEFT JOIN SiteStyleSheets ON SiteStyleSheets.CopySourceID = SitePages.StyleSheetID AND SiteStyleSheets.CopyBatchGUID = @CopyBatchGUID
        LEFT OUTER JOIN
                (
                    select    
                        PAGEMODELITEM.OBJECTGUID
                    from    dbo.PAGEMODELITEM 
                    inner    join dbo.PAGEMODEL 
                        on    PAGEMODEL.ID = PAGEMODELITEM.PAGEMODELID
                    where    PAGEMODEL.LOCKARTIFACTS = 1
                 ) PMI on PMI.OBJECTGUID = SitePages.Guid
        WHERE    SitePages.ClientSitesID = @SourceClientSitesID 
        AND        SitePages.Deleted = 0 
        AND        (@TemplatesOnly = 0 OR SitePages.IsTemplatePage = 1
        AND        PMI.OBJECTGUID is null

        --Update the TemplatePageID for the copied template

        UPDATE    SitePages
        SET        TemplatePageID = isnull(Templates.ID,SitePages.TemplatePageID)
        FROM    SitePages
        LEFT JOIN SitePages Templates 
            ON    Templates.CopySourceID = SitePages.TemplatePageID 
            AND Templates.CopyBatchGUID = @CopyBatchGUID
        WHERE    isnull(SitePages.TemplatePageID,0) > 0 
        AND        SitePages.CopyBatchGUID = @CopyBatchGUID

    -- SHL BBIS User Story 530366; Copy the page's BBSP Template Settings (if present)

    exec USP_CLONESITE_SITEPAGE_BBPAYTEMPLATEVERSION @CopyBatchGUID;

    commit transaction

 end