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