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));
        }
Beispiel #2
0
 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");
     }
 }
Beispiel #3
0
        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))
            });
        }
Beispiel #4
0
        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
            };
        }
Beispiel #5
0
        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
            };
        }