private Guid CreateTemplateWithControl(PageTemplateFramework framework) { Guid pageTemplateId = Guid.Empty; var templatesOperations = Telerik.Sitefinity.TestUtilities.CommonOperations.ServerOperations.Templates(); if (framework == PageTemplateFramework.Hybrid) { pageTemplateId = templatesOperations.CreateHybridMVCPageTemplate(ModuleUnloadTests.PageTemplateTitle + Guid.NewGuid().ToString()); } else if (framework == PageTemplateFramework.Mvc) { pageTemplateId = templatesOperations.CreatePureMVCPageTemplate(ModuleUnloadTests.PageTemplateTitle + Guid.NewGuid().ToString()); } var mvcProxy = new MvcControllerProxy(); mvcProxy.ControllerName = typeof(ContentBlockController).FullName; var contentBlockController = new ContentBlockController(); contentBlockController.Content = ModuleUnloadTests.PageControlContent; mvcProxy.Settings = new ControllerSettings(contentBlockController); templatesOperations.AddControlToTemplate(pageTemplateId, mvcProxy, "Body", "ContentBlockCaption"); return(pageTemplateId); }
private Guid CreateTemplateWithWidgetAndBasePageOnIt(PageTemplateFramework framework, Controller widgetController, out Guid pageId, out string pageUrl) { var pageManager = PageManager.GetManager(); // Create template var templateId = framework == PageTemplateFramework.Hybrid ? ServerOperations.Templates().CreateHybridMVCPageTemplate(FrontendModuleFilterTests.TemplateTitle + Guid.NewGuid().ToString("N")) : ServerOperations.Templates().CreatePureMVCPageTemplate(FrontendModuleFilterTests.TemplateTitle + Guid.NewGuid().ToString("N")); // Place widget on template var mvcProxy = new MvcControllerProxy(); mvcProxy.ControllerName = widgetController.GetType().FullName; mvcProxy.Settings = new ControllerSettings(widgetController); SampleUtilities.AddControlToTemplate(templateId, mvcProxy, "Body", "FrontendModuleFilterTestsWidgetCaption"); // Create page with template var template = pageManager.GetTemplates().Where(t => t.Id == templateId).SingleOrDefault(); pageId = FeatherServerOperations.Pages().CreatePageWithTemplate(template, "TestPageName", "test-page-url"); var page = pageManager.GetPageNode(pageId); pageUrl = RouteHelper.GetAbsoluteUrl(page.GetFullUrl()); return(templateId); }
private static PageTemplateFramework ExtractFramework() { var contextItems = SystemManager.CurrentHttpContext.Items; PageTemplateFramework framework = (PageTemplateFramework)contextItems["PageTemplateFramework"]; return(framework); }
private void AddGridToPageTemplate(Guid pageTemplateId, PageTemplateFramework framework, string gridVirtualPath = ModuleUnloadTests.GridVirtualPath) { var placeholder = framework == PageTemplateFramework.Hybrid ? "Body" : "Contentplaceholder1"; var control = new GridControl() { Layout = gridVirtualPath }; SampleUtilities.AddControlToTemplate(pageTemplateId, control, placeholder, "9 + 3"); }
private Guid CreatePageWithControl(PageTemplateFramework framework, out string pageUrl) { var pageId = this.CreatePage(framework, out pageUrl); var mvcProxy = new MvcControllerProxy(); mvcProxy.ControllerName = typeof(ContentBlockController).FullName; var contentBlockController = new ContentBlockController(); contentBlockController.Content = ModuleUnloadTests.PageControlContent; mvcProxy.Settings = new ControllerSettings(contentBlockController); PageContentGenerator.AddControlsToPage(pageId, new Control[] { mvcProxy }, framework == PageTemplateFramework.Mvc ? "Contentplaceholder1" : "Body"); return(pageId); }
private Guid CreatePageWithWidget(PageTemplateFramework framework, Controller widgetController, out string pageUrl) { Guid pageId = Guid.Empty; pageUrl = string.Empty; var suffix = Guid.NewGuid().ToString("N"); if (framework == PageTemplateFramework.Hybrid) { var namePrefix = "TestPageName"; var titlePrefix = "TestPageTitle"; var urlPrefix = "test-page-url"; var index = 1; pageId = new PageContentGenerator().CreatePage( string.Format(CultureInfo.InvariantCulture, "{0}{1}", namePrefix + suffix, index.ToString(CultureInfo.InvariantCulture)), string.Format(CultureInfo.InvariantCulture, "{0}{1}", titlePrefix + suffix, index.ToString(CultureInfo.InvariantCulture)), string.Format(CultureInfo.InvariantCulture, "{0}{1}", urlPrefix + suffix, index.ToString(CultureInfo.InvariantCulture))); pageUrl = UrlPath.ResolveAbsoluteUrl("~/" + urlPrefix + suffix + index); } else if (framework == PageTemplateFramework.Mvc) { var pagesOperations = FeatherServerOperations.Pages(); var pageManager = PageManager.GetManager(); var bootstrapTemplate = pageManager.GetTemplates().FirstOrDefault(t => (t.Name == "Bootstrap.default" && t.Title == "default") || t.Title == "Bootstrap.default"); if (bootstrapTemplate == null) { throw new ArgumentException("Bootstrap template not found"); } pageId = pagesOperations.CreatePageWithTemplate(bootstrapTemplate, "FormsPageBootstrap" + suffix, "forms-page-bootstrap" + suffix); pageUrl = RouteHelper.GetAbsoluteUrl(pageManager.GetPageNode(pageId).GetFullUrl()); } var placeholder = framework == PageTemplateFramework.Hybrid ? "Body" : "Contentplaceholder1"; FeatherServerOperations.Pages().AddMvcWidgetToPage(pageId, widgetController.GetType().FullName, "FrontendModuleFilterTestsWidgetCaption", placeholder); return(pageId); }
private Guid CreatePage(PageTemplateFramework framework, out string pageUrl) { Guid pageId = Guid.Empty; pageUrl = string.Empty; var suffix = Guid.NewGuid().ToString("N"); if (framework == PageTemplateFramework.Hybrid) { var namePrefix = "TestPageName"; var titlePrefix = "TestPageTitle"; var urlPrefix = "test-page-url"; var index = 1; var pageOperations = new FeatherWidgets.TestUtilities.CommonOperations.PagesOperations(); var mvcProxy = new MvcControllerProxy() { ControllerName = typeof(ContentBlockController).FullName, Settings = new ControllerSettings(new ContentBlockController()) }; pageId = pageOperations.CreatePageWithControl(mvcProxy, namePrefix + suffix, titlePrefix + suffix, urlPrefix + suffix, index); pageUrl = UrlPath.ResolveAbsoluteUrl("~/" + urlPrefix + suffix + index); } else if (framework == PageTemplateFramework.Mvc) { var pagesOperations = Telerik.Sitefinity.Frontend.TestUtilities.CommonOperations.FeatherServerOperations.Pages(); var pageManager = PageManager.GetManager(); var bootstrapTemplate = pageManager.GetTemplates().FirstOrDefault(t => (t.Name == "Bootstrap.default" && t.Title == "default") || t.Title == "Bootstrap.default"); if (bootstrapTemplate == null) { throw new ArgumentException("Bootstrap template not found"); } pageId = pagesOperations.CreatePageWithTemplate(bootstrapTemplate, "FeatherTestPageBootstrap" + suffix, "feather-test-page-bootstrap" + suffix); pageUrl = RouteHelper.GetAbsoluteUrl(pageManager.GetPageNode(pageId).GetFullUrl()); } return(pageId); }
/// <summary> /// Initializes a new instance of the <see cref="DummyFrameworkSpecificPageTemplate"/> class. /// </summary> /// <param name="framework">The framework.</param> public DummyFrameworkSpecificPageTemplate(PageTemplateFramework framework) { this.Framework = framework; }
/// <summary> /// Initializes a new instance of the <see cref="DummyPageTemplateWithTitle"/> class. /// </summary> /// <param name="framework">The framework.</param> /// <param name="title">The title.</param> public DummyPageTemplateWithTitle(PageTemplateFramework framework, string title) { this.Framework = framework; this.Title = title; }
/// <summary> /// Registers the template. Modified from: Telerik.Sitefinity.Samples.Common.SampleUtilities. /// </summary> /// <param name="name">The name.</param> /// <param name="title">The title.</param> /// <param name="masterPage">The master page.</param> /// <param name="theme">The theme.</param> /// <param name="framework">(Optional) The page template framework.</param> /// <returns> /// true if it succeeds, false if it fails. /// </returns> public static bool RegisterTemplate(string name, string title, string masterPage, string theme, PageTemplateFramework framework = PageTemplateFramework.Hybrid) { bool result = false; var pageManager = PageManager.GetManager(); using (new ElevatedModeRegion(pageManager)) { var template = pageManager.GetTemplates().Where(t => t.Name == name).SingleOrDefault(); //TODO: REPLACE TRY/CATCH WITH BETTER VALIDATIONS AND ERROR HANDLING BELOW try { //DEFAULT CULTURE TO ONE IN USE IN BACKEND //http://mejsullivan.wordpress.com/2012/08/19/sitefinity-5-1-en-us-culture-error-updating-dynamic-content/ var culture = new CultureInfo(Config.Get <ResourcesConfig>().DefaultBackendCulture.UICulture); if (template == null) { var pageTemplate = pageManager.CreateTemplate(); pageTemplate.Name = name; pageTemplate.MasterPage = masterPage; pageTemplate.Category = SiteInitializer.CustomTemplatesCategoryId; pageTemplate.Framework = framework; pageTemplate.Title[culture] = title; var master = pageManager.EditTemplate(pageTemplate.Id, culture); var temp = pageManager.TemplatesLifecycle.CheckOut(master, culture); master = pageManager.TemplatesLifecycle.CheckIn(temp, culture); // set the theme for the particular language version of the template master.Themes.SetString(culture, theme); master.ApprovalWorkflowState.Value = ApprovalWorkflowState.Published; pageManager.TemplatesLifecycle.Publish(master, culture); pageManager.SaveChanges(); result = true; } else { if (!template.AvailableCultures.Contains(culture)) { template.Title[culture] = title; var master = pageManager.EditTemplate(template.Id, culture); var temp = pageManager.TemplatesLifecycle.CheckOut(master, culture); master = pageManager.TemplatesLifecycle.CheckIn(temp, culture); master.Themes.SetString(culture, theme); master.ApprovalWorkflowState.Value = ApprovalWorkflowState.Published; pageManager.TemplatesLifecycle.Publish(master, culture); pageManager.SaveChanges(); result = true; } } } catch (Exception) { //TODO: USE ELMAH TO LOG ERRORS AND NOTIFY } } return(result); }
/// <summary> /// Initializes a new instance of the <see cref="DummyPageTemplateWithTitle"/> class. /// </summary> /// <param name="framework"> /// The framework. /// </param> /// <param name="title"> /// The title. /// </param> public DummyPageTemplateWithTitle(PageTemplateFramework framework, string title) { this.Framework = framework; this.Title = title; }