public virtual void RegisterArea(RouteCollection routes, ViewEngineCollection viewEngines, IEngine engine) { var route = new ContentRoute <IManagementHomePart>(engine); routes.Insert(0, route); var viewLocationFormats = new[] { Url.ResolveTokens("{ManagementUrl}/Myself/Analytics/Views/{1}/{0}.ascx"), Url.ResolveTokens("{ManagementUrl}/Myself/Analytics/Views/Shared/{0}.ascx") }; viewEngines.Insert(0, new PrivateViewEngineDecorator(new WebFormViewEngine { AreaViewLocationFormats = viewLocationFormats, PartialViewLocationFormats = viewLocationFormats }, route)); }
private static string GetUrl(ContentRoute cr) { try { StringBuilder sb = new StringBuilder(); ISegment[] segemnts = cr.GetType().InvokeMember("_urlSegments", System.Reflection.BindingFlags.GetField | System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance, null, cr, null) as ISegment[]; return(String.Join("/", segemnts.Where(s => !String.IsNullOrEmpty(s.Name)).Select(s => s.Name))); } catch { return("No Url"); } }
public PartialRouteData GetPartialVirtualPath(Category cat, string language, RouteValueDictionary routeValues, RequestContext requestContext) { var contentLink = ContentRoute.GetValue("node", requestContext, routeValues) as ContentReference; if (PageEditing.PageIsInEditMode) { return(null); } return(new PartialRouteData { BasePathRoot = contentLink, PartialVirtualPath = String.Format("{0}/", HttpUtility.UrlEncode(cat.Name)) }); }
public override void SetUp() { base.SetUp(); root = CreateOneItem <RegularPage>(1, "root", null); about = CreateOneItem <AboutUsSectionPage>(2, "about", root); executives = CreateOneItem <ExecutiveTeamPage>(3, "executives", about); search = CreateOneItem <SearchPage>(4, "search", root); var typeFinder = new FakeTypeFinder2(); typeFinder.typeMap[typeof(ContentItem)] = this.NearbyTypes() .BelowNamespace("N2.Extensions.Tests.Mvc.Models").AssignableTo <ContentItem>().Union(typeof(ContentItem)).ToArray(); typeFinder.typeMap[typeof(IController)] = this.NearbyTypes() .BelowNamespace("N2.Extensions.Tests.Mvc.Controllers").AssignableTo <IController>().Except(typeof(AnotherRegularController)) .ToArray(); var changer = new StateChanger(); var definitions = new DefinitionManager(new[] { new DefinitionProvider(new DefinitionBuilder(new DefinitionMap(), typeFinder, new TransformerBase <IUniquelyNamed> [0], TestSupport.SetupEngineSection())) }, new ITemplateProvider[0], new ContentActivator(changer, null, new EmptyProxyFactory()), changer); httpContext = new FakeHttpContext(); var webContext = new FakeWebContextWrapper(httpContext); var host = new Host(webContext, root.ID, root.ID); var parser = TestSupport.Setup(persister, webContext, host); controllerMapper = new ControllerMapper(typeFinder, definitions); Url.DefaultExtension = ""; N2.Web.Url.ApplicationPath = "/"; engine = mocks.DynamicMock <IEngine>(); SetupResult.For(engine.Resolve <ITypeFinder>()).Return(typeFinder); SetupResult.For(engine.Definitions).Return(definitions); SetupResult.For(engine.UrlParser).Return(parser); SetupResult.For(engine.Persister).Return(persister); SetupResult.For(engine.Resolve <RequestPathProvider>()).Return(new RequestPathProvider(webContext, parser, new ErrorNotifier(), new HostSection(), TestSupport.CreateDraftRepository(ref persister, typeof(RegularPage), typeof(AboutUsSectionPage)))); var editUrlManager = new FakeEditUrlManager(); SetupResult.For(engine.ManagementPaths).Return(editUrlManager); engine.Replay(); route = new ContentRoute(engine, new MvcRouteHandler(), controllerMapper, null); routes = new RouteCollection { route }; }
public override void SetUp() { base.SetUp(); root = CreateOneItem <RegularPage>(1, "root", null); about = CreateOneItem <AboutUsSectionPage>(2, "about", root); executives = CreateOneItem <ExecutiveTeamPage>(3, "executives", about); search = CreateOneItem <SearchPage>(4, "search", root); var typeFinder = new FakeTypeFinder2(); typeFinder.typeMap[typeof(ContentItem)] = this.NearbyTypes() .BelowNamespace("N2.Extensions.Tests.Mvc.Models").AssignableTo <ContentItem>().Union(typeof(ContentItem)).ToArray(); typeFinder.typeMap[typeof(IController)] = this.NearbyTypes() .BelowNamespace("N2.Extensions.Tests.Mvc.Controllers").AssignableTo <IController>().Except(typeof(AnotherRegularController)) .ToArray(); var definitions = new DefinitionManager(new [] { new DefinitionProvider(new DefinitionBuilder(typeFinder, new EngineSection())) }, new ContentActivator(new N2.Edit.Workflow.StateChanger(), null, new EmptyProxyFactory())); var webContext = new ThreadContext(); var host = new Host(webContext, root.ID, root.ID); var parser = new UrlParser(persister, webContext, host, new HostSection()); controllerMapper = new ControllerMapper(typeFinder, definitions); Url.DefaultExtension = ""; engine = mocks.DynamicMock <IEngine>(); SetupResult.For(engine.Resolve <ITypeFinder>()).Return(typeFinder); SetupResult.For(engine.Definitions).Return(definitions); SetupResult.For(engine.UrlParser).Return(parser); SetupResult.For(engine.Persister).Return(persister); var editUrlManager = new FakeEditUrlManager(); SetupResult.For(engine.ManagementPaths).Return(editUrlManager); engine.Replay(); route = new ContentRoute(engine, new MvcRouteHandler(), controllerMapper, null); httpContext = new FakeHttpContext(); routes = new RouteCollection { route }; }