Example #1
0
        private void CreateContentPages(MetadataContainerReferences metaDataReferences)
        {
            Guard.ValidateObject(metaDataReferences);

            // Search
            var searchPage = _genericPageFixtures.CreatePage <SearchPage>(
                FixtureConstants.PageNames.SearchPage,
                _homepage.ContentLink);

            // Configure Search Page
            _pagesFixturesFactory.SettingsPageFixtures()
            .UpdateSettingsPage(_metadataContainerReferences, searchPage.PageLink);

            // 404
            _genericPageFixtures.CreatePage <PageNotFoundPage>(FixtureConstants.PageNames.PageNotFound, _homepage.ContentLink);

            // Content Pages
            var genericPage =
                _pagesFixturesFactory.GenericPagesFixtures().CreatePage <ContentPage>("Dummy Page 1", _homepage.ContentLink);

            _pagesFixturesFactory.MenuPageFixtures()
            .CreateDummyMenuPages(
                metaDataReferences.MenuContainerPage,
                genericPage);

            _homepageFixtures.PopulateHomePage(_homepage, metaDataReferences);
        }
        public void PopulateHomePage(StartPage startPage, MetadataContainerReferences metadataContainerReferences)
        {
            var mainContentArea = CreateHomePageContentArea();

            UpdateHomePage(
                startPage,
                metadataContainerReferences,
                "I'm a Footer",
                mainContentArea,
                metadataContainerReferences.MenuContainerPage.PageLink,
                null,
                null);
        }
        public SiteSettingsPage UpdateSettingsPage(
            MetadataContainerReferences metadataContainerReferences,
            PageReference searchPageReference)
        {
            var clone = metadataContainerReferences.SettingsPage.CreateWritableClone() as SiteSettingsPage;

            clone.SearchPage = searchPageReference;

            var reference = WebsiteDependencies.ContentRepository.Save(
                clone,
                SaveAction.Publish,
                AccessLevel.NoAccess);

            return(reference != null ? clone : null);
        }
Example #4
0
        public MetadataContainerReferences EnsureEssentialContainerPagesCreatedFirst(StartPage homepage)
        {
            // Main Container
            var mainContainerPage = _pagesFixturesFactory.ContainerPageFixtures()
                                    .CreatePage <MetaContainerPage>(
                FixtureConstants.PageNames.MetaContainerPage,
                ContentReference.RootPage);
            // Settings
            var settingsPage = _pagesFixturesFactory.SettingsPageFixtures()
                               .CreateSiteSettingsPage(
                FixtureConstants.PageNames.SiteSettingsPageName,
                mainContainerPage.ContentLink);

            var metadataContainerReferences = new MetadataContainerReferences(settingsPage, mainContainerPage);

            return(metadataContainerReferences);
        }
Example #5
0
        private StartPage SetupInitialHomepage(
            IWebsiteDependencies dependencies,
            IPageTypeServices episerverContentRepositories)
        {
            var tempHomepage = _homepageFixtures.GetOrCreateBlankHomePage(FixtureConstants.PageNames.HomePage);

            var tempPagesFixturesFactory = new PagesFixturesFactory(
                dependencies,
                episerverContentRepositories,
                tempHomepage,
                _contentHelper,
                _blockFixturesFactory);

            var tempMetaDataFixturesInstaller = new MetaDataFixturesInstaller(tempPagesFixturesFactory);

            _metadataContainerReferences = tempMetaDataFixturesInstaller.EnsureEssentialContainerPagesCreatedFirst(tempHomepage);
            return(_homepageFixtures.EnsureSettingsAndResourcePagesExist(tempHomepage, _metadataContainerReferences));
        }
        public void UpdateHomePage(
            StartPage startPage,
            MetadataContainerReferences metadataContainerReferences,
            string footerText,
            ContentArea mainContentArea,
            PageReference menuContainerPageReference,
            ContentReference logo,
            ContentReference mobileLogo)
        {
            var homePage = startPage.CreateWritableClone() as StartPage;

            homePage.PrimaryNavigationContainerPage = metadataContainerReferences.MenuContainerPage.PageLink;
            homePage.FooterText      = new XhtmlString(footerText);
            homePage.CopyRightNotice = footerText;
            homePage.MainContentArea = mainContentArea;
            homePage.Logo            = logo;
            homePage.MobileLogo      = mobileLogo;

            PageTypeServices.StartPageService.Save(homePage);
        }
        public StartPage EnsureSettingsAndResourcePagesExist(StartPage startPage, MetadataContainerReferences metadataContainerReferences)
        {
            if (startPage == null)
            {
                throw new InvalidOperationException();
            }

            var requireSave = PageReference.IsNullOrEmpty(startPage.SiteSettingsPage);

            if (!requireSave)
            {
                return(startPage);
            }

            var homePage = startPage.CreateWritableClone() as StartPage;

            homePage.SiteSettingsPage = metadataContainerReferences.SettingsPage.PageLink;

            PageTypeServices.StartPageService.Save(homePage);

            return(homePage);
        }