public ActionResult Index() { var repoTest = new CmsPageRepository(); repoTest.GetPages(); return(View()); }
public ViewResult Index() { var frontendSites = _siteRepository.GetFrontendSites(); var rt = WebPipeline.CurrentRequest; var siteId = rt.Route.SiteId; var site = _siteRepository.GetById(siteId); var livePage = new CmsPageRepository() .FindContentVersions(By.ContentId(site.HomepageId.Value), ContentEnvironment.Live).Result; var uriBuilder = new CmsUriBuilder(); var uri = uriBuilder.CreateUri( livePage.Single(), UriSettings.Default, new Dictionary <string, string> { ["SiteId"] = siteId.ToString() }); return(View(new NavigationBarViewModel { Sites = frontendSites.Select(x => new NavBarItem { Text = x.Name, Url = uri.ToString() }).ToList(), TopLevelNavigationItems = CreateNavBarItems().ToList() })); }
protected void CreateNewItemButton_OnClick(object sender, EventArgs e) { Guid defaultSiteId = Guid.Empty; var defaultFrontendSite = SiteManagementContext.GetSiteToManage(); if (defaultFrontendSite != null) { defaultSiteId = defaultFrontendSite.ContentId; } var uriBuilder = new CmsUriBuilder(); var editPage = new CmsPageRepository() .FindContentVersions(By.ContentId(Config.AddPage), ContentEnvironment.Live) .Result .Single(); var defaultValues = new DefaultValueCollection { ["SiteId"] = defaultSiteId.ToString() }; var newPageUri = uriBuilder.CreateUri(editPage, UriSettings.Default, new Dictionary <string, string> { [nameof(DynamicFormRequestContext.DefaultValues)] = defaultValues.ToString() }); Response.Redirect(newPageUri.PathAndQuery); }
public void SaveDraft(Guid pageId, PageStructure pageStructure) { var pageRepository = new CmsPageRepository(); var draft = pageRepository.FindContentVersions(By.ContentId(pageId), ContentEnvironment.Draft).Result.Single(); new StructureNodeConverter().ApplyNewStructureToCmsPage(draft, pageStructure); pageRepository.Save(draft); }
public PreviewNode Page(Guid pageId) { var draft = new CmsPageRepository().FindContentVersions(By.ContentId(pageId), ContentEnvironment.Draft).Result.Single(); var page = new PageCompositionBuilder().CreatePageComposition(draft); var cre = new BatchingFragmentRenderer(); var batch = cre.Execute(page, FragmentRenderMode.PageDesigner); var compositor = new RenderFragmentCompositor(page, batch); var treeWriter = new PagePreviewWriter(draft); compositor.WriteComposedFragments(FragmentRenderMode.PageDesigner, treeWriter); return(treeWriter.RootNode); }
public void Publish(Guid id) { var cmsPageRepository = new CmsPageRepository(); cmsPageRepository.Publish(By.ContentId(id)); }
public Requests.CmsPageRequest Build(IHttpRequest httpRequest) { var routeRaw = httpRequest.QueryString[PageDesignerUriComponents.PageId]; var environmentRaw = httpRequest.QueryString[PageDesignerUriComponents.ContentEnvironment]; var contentVersionRaw = httpRequest.QueryString[PageDesignerUriComponents.ContentVersion]; var viewModeRaw = httpRequest.QueryString[PageDesignerUriComponents.ViewMode]; var siteRaw = httpRequest.QueryString[PageDesignerUriComponents.SiteId]; PageRenderMode pageRenderMode = PageRenderMode.Readonly; if (!string.IsNullOrWhiteSpace(viewModeRaw)) { pageRenderMode = (PageRenderMode)Enum.Parse(typeof(PageRenderMode), viewModeRaw, true); } ContentEnvironment env = ContentEnvironment.Live; if (!string.IsNullOrWhiteSpace(environmentRaw)) { env = (ContentEnvironment)Enum.Parse(typeof(ContentEnvironment), environmentRaw, true); } else { if (pageRenderMode == PageRenderMode.PageDesigner) { env = ContentEnvironment.Draft; } } decimal contentVersion = 0; if (!string.IsNullOrWhiteSpace(contentVersionRaw)) { contentVersion = Convert.ToDecimal(contentVersionRaw); } var routeContext = new Requests.CmsPageRequest(); routeContext.PageRenderMode = pageRenderMode; SiteRoute route; if (!string.IsNullOrWhiteSpace(routeRaw)) { route = new ContentPageRoute { Authority = UriAuthorityFilter.Any, PageId = new Guid(routeRaw), SiteId = new Guid(siteRaw), }; } else { var success = CmsRoutes.Current.TryResolveRoute(httpRequest.Uri, out route); } routeContext.Route = route; if (route?.PageId == null) { return(routeContext); } var cmsPageVersions = new CmsPageRepository().FindContentVersions(By.ContentId(route.PageId.Value), env).Result; if (env == ContentEnvironment.Archive) { routeContext.CmsPage = cmsPageVersions.Single(x => x.ContentVersion == contentVersion); } else { routeContext.CmsPage = cmsPageVersions.Single(); } return(routeContext); }
public PageStructure PageStructure(Guid pageId) { var draft = new CmsPageRepository().FindContentVersions(By.ContentId(pageId), ContentEnvironment.Draft).Result.Single(); return(new StructureNodeConverter().GetPageStructure(draft)); }
public Site SetupTestSite() { var tbx = new ToolboxManager(); var myLayout = new Layout { Name = "Demo", MasterPagePath = "/Demo.Master", }; myLayout.PageContent.Add(new CmsPageContent { Id = Guid.NewGuid(), WidgetTypeCode = "Client-CustomNavigation", PlacementContentPlaceHolderId = "NavigationContentPlaceHolder" }); var layoutRepository = new LayoutRepository(); layoutRepository.Save(myLayout); var siteRepo = new SiteRepository(); var newSite = new Site { Name = "WarpCore Demo", IsFrontendSite = true }; siteRepo.Save(newSite); var homePage = new CmsPage { Name = "Homepage", SiteId = newSite.ContentId, LayoutId = myLayout.ContentId, Keywords = "WarpCore,CMS,Demo", Description = "WarpCore CMS Demo" }; var lbId = Guid.NewGuid(); var row = new CmsPageContent { Id = Guid.NewGuid(), WidgetTypeCode = RowLayout.ApiId, PlacementContentPlaceHolderId = "Body", Parameters = new Dictionary <string, string> { //[nameof(RowLayout.LayoutBuilderId)] = lbId.ToString(), [nameof(RowLayout.NumColumns)] = 3.ToString() } }; var helloWorld0 = new CmsPageContent { Id = Guid.NewGuid(), PlacementContentPlaceHolderId = "0", PlacementLayoutBuilderId = lbId, WidgetTypeCode = ContentBlock.ApiId, Parameters = new Dictionary <string, string> { ["AdHocHtml"] = "Hello World (0)" } }; var helloWorld1 = new CmsPageContent { Id = Guid.NewGuid(), PlacementContentPlaceHolderId = "1", PlacementLayoutBuilderId = lbId, WidgetTypeCode = ContentBlock.ApiId, Parameters = new Dictionary <string, string> { ["AdHocHtml"] = "Hello World (1)" } }; row.AllContent.Add(helloWorld0); row.AllContent.Add(helloWorld1); homePage.PageContent.Add(row); var aboutUs = new CmsPage { Name = "About Us", SiteId = newSite.ContentId, LayoutId = myLayout.ContentId }; var contactUs = new CmsPage { Name = "Contact Us", SiteId = newSite.ContentId, LayoutId = myLayout.ContentId }; var pageRepository = new CmsPageRepository(); pageRepository.Save(homePage, SitemapRelativePosition.Root); pageRepository.Save(aboutUs, SitemapRelativePosition.Root); pageRepository.Save(contactUs, SitemapRelativePosition.Root); newSite.HomepageId = homePage.ContentId; siteRepo.Save(newSite); var subPage1 = new CmsPage { Name = "Subpage 1", SiteId = newSite.ContentId }; pageRepository.Save(subPage1, new PageRelativePosition { ParentPageId = homePage.ContentId }); var subPage0 = new CmsPage { Name = "Subpage 0", SiteId = newSite.ContentId }; pageRepository.Save(subPage0, new PageRelativePosition { ParentPageId = homePage.ContentId, BeforePageId = subPage1.ContentId }); return(newSite); }
public void SetupBackendSite() { var listRepo = new ContentListDefinitionRepository(); var customPageList = new ConfiguratorCmsPageContentBuilder().GenerateDefaultContentListDefinition(typeof(CmsPage)); customPageList.EntityUid = new Guid(CmsForm.ApiId); listRepo.Save(customPageList); listRepo.Publish(By.ContentId(customPageList.ContentId)); var backendLayout = new Layout { Name = "Backend Layout", MasterPagePath = "/App_Data/BackendPage.Master", PageContent = new List <CmsPageContent> { new CmsPageContent { Id = Guid.NewGuid(), PlacementContentPlaceHolderId = "Body", WidgetTypeCode = "wc-navigation-bar" } } }; var layoutRepository = new LayoutRepository(); layoutRepository.Save(backendLayout); var siteRepo = new SiteRepository(); var backendSite = new Site { Name = "Admin", RoutePrefix = "Admin", ContentId = new Guid("00000000-0000-0000-0000-000000000001"), }; siteRepo.Save(backendSite); var formDesigner = new CmsPage { Name = "Form Designer", ContentId = KnownPageIds.FormDesigner, SiteId = backendSite.ContentId, LayoutId = backendLayout.ContentId, DisplayInNavigation = false, }; formDesigner.PageContent.Add(new CmsPageContent { Id = Guid.NewGuid(), PlacementContentPlaceHolderId = "Body", WidgetTypeCode = "wc-formdesigner" }); var pageTree = new CmsPage { Name = "Pages", SiteId = backendSite.ContentId, LayoutId = backendLayout.ContentId }; pageTree.PageContent.AddBlazorApp(new PageTreeApp()); var redirectPageSettingsForm = SetupRedirectPageSettingsForm(); var groupingPageSettingsForm = SetupGroupingPageSettingsForm(); var pageSettingsForm = SetupPageSettingsForm(); var addPageWizard = new CmsPage { Name = "Add Page Wizard", ContentId = KnownPageIds.AddPageWizard, SiteId = backendSite.ContentId, LayoutId = backendLayout.ContentId, DisplayInNavigation = false }; addPageWizard.PageContent.Add(new CmsPageContent { Id = Guid.NewGuid(), PlacementContentPlaceHolderId = "Body", WidgetTypeCode = AddPageWizard.ApiId, }); var contentPageSettings = new CmsPage { Name = "Content Page Settings", ContentId = KnownPageIds.ContentPageSettings, SiteId = backendSite.ContentId, LayoutId = backendLayout.ContentId, DisplayInNavigation = false }; contentPageSettings.PageContent.AddDynamicForm(pageSettingsForm); var groupingPageSettings = new CmsPage { Name = "Group Page Settings", ContentId = KnownPageIds.GroupingPageSettings, SiteId = backendSite.ContentId, LayoutId = backendLayout.ContentId, DisplayInNavigation = false }; groupingPageSettings.PageContent.AddDynamicForm(groupingPageSettingsForm); var redirectPageSettings = new CmsPage { Name = "Redirect Page Settings", ContentId = KnownPageIds.RedirectPageSettings, SiteId = backendSite.ContentId, LayoutId = backendLayout.ContentId, DisplayInNavigation = false }; redirectPageSettings.PageContent.AddDynamicForm(redirectPageSettingsForm); var dashboardPage = new CmsPage { Name = "Dashboard", SiteId = backendSite.ContentId, LayoutId = backendLayout.ContentId }; var entityBuilderPage = new CmsPage { Name = "Entity Builder", SiteId = backendSite.ContentId, LayoutId = backendLayout.ContentId }; entityBuilderPage.PageContent.Add(new CmsPageContent { Id = Guid.NewGuid(), PlacementContentPlaceHolderId = "Body", WidgetTypeCode = "wc-entitybuilder", Parameters = new Dictionary <string, string> { } }); var entityListPage = new CmsPage { Name = "Entities", SiteId = backendSite.ContentId, LayoutId = backendLayout.ContentId }; entityListPage.PageContent.Add(new CmsPageContent { Id = Guid.NewGuid(), PlacementContentPlaceHolderId = "Body", WidgetTypeCode = "wc-entity-list", Parameters = new Dictionary <string, string> { } }); ////////////////// var dynamicListTest = new CmsPage { Name = "Dynamic List Test", SiteId = backendSite.ContentId, LayoutId = backendLayout.ContentId, DisplayInNavigation = true }; //var contentListControl = new ContentList() //{ // RepositoryId = new Guid(CmsPageRepository.ApiId), // Config = new ContentListConfiguration // { // Fields = new List<ContentListField> // { // new ContentListField // { // Header = "Name", // Template = "{" + nameof(CmsPage.Name) + "}" // } // } // }, //}; //var parameters = (Dictionary<string, string>)contentListControl.GetPropertyValues(ToolboxPropertyFilter.SupportsDesigner); //var list= new ContentListDefinitionRepository().GetRandomList(new Guid(CmsForm.ApiId)); //var bApp = new BlazorApp //{ // StartingRouteTemplate = "", // StartingRouteParameters = new RouteDataDictionary() // { // ["RepositoryApiId"] = FormRepository.ApiId, // ["ListId"] = list.ContentId.ToString() // } //}; //var listContent =new InstallationHelpers().BuildCmsPageContentFromToolboxItemTemplate(); //listContent.PlacementContentPlaceHolderId = "Body"; var contentBrowserConfig = new ContentBrowserConfiguration(); contentBrowserConfig.RepositoryApiId = new Guid(CmsPageRepository.ApiId); contentBrowserConfig.ListId = customPageList.ContentId; contentBrowserConfig.EditFormId = KnownFormIds.ContentPageSettingsForm; contentBrowserConfig.AddFormId = KnownFormIds.ContentPageSettingsForm; dynamicListTest.PageContent.AddBlazorApp(new ContentBrowserApp { Configuration = contentBrowserConfig }); //dynamicListTest.PageContent.Add(new CmsPageContent //{ // Id = Guid.NewGuid(), // PlacementContentPlaceHolderId = "Body", // WidgetTypeCode = ContentList.ApiId, // Parameters = //}); //////////////// var formsList = new CmsPage { Name = "FormsLegacy", SiteId = backendSite.ContentId, LayoutId = backendLayout.ContentId, DisplayInNavigation = true }; var formList = new ContentList() { RepositoryId = new Guid(FormRepository.ApiId), Config = new ContentListConfiguration { Fields = new List <ContentListField> { new ContentListField { Header = "Title", Template = "{" + nameof(CmsForm.Title) + "}" }, new ContentListField { Header = "Actions", Template = @"<a href='/Admin/form-designer?formId={" + nameof(CmsForm.DesignForContentId) + "}'><span class='glyphicon glyphicon-text-background'></span>Design</a>" } }, AddPage = KnownPageIds.FormDesigner } }; var formListParameters = (Dictionary <string, string>)formList.GetPropertyValues(ToolboxPropertyFilter.SupportsDesigner); formsList.PageContent.Add(new CmsPageContent { Id = Guid.NewGuid(), PlacementContentPlaceHolderId = "Body", WidgetTypeCode = ContentList.ApiId, Parameters = formListParameters }); var pageRepo = new CmsPageRepository(); pageRepo.Save(dashboardPage); pageRepo.Save(pageTree); pageRepo.Save(formDesigner); pageRepo.Save(contentPageSettings); pageRepo.Save(groupingPageSettings); pageRepo.Save(redirectPageSettings); pageRepo.Save(addPageWizard); pageRepo.Save(entityBuilderPage); pageRepo.Save(entityListPage); pageRepo.Save(dynamicListTest); pageRepo.Save(formsList); backendSite.HomepageId = dashboardPage.ContentId; siteRepo.Save(backendSite); var editBackendPageTreeLink = new CmsPage { Name = "Edit Backend Pages", SiteId = backendSite.ContentId, LayoutId = backendLayout.ContentId, PageType = PageType.RedirectPage, RedirectUri = new WarpCorePageUri(pageTree), InternalRedirectParameters = new Dictionary <string, string> { ["SiteId"] = backendSite.ContentId.ToString() } }; pageRepo.Save(editBackendPageTreeLink); }