public ActionResult EditNotInstalled(PluginNotInstalledAddress pluginNotInstalledAddress)
        {
            string code = pluginNotInstalledAddress.VirtualPath.GetFileText(HttpContext);

            OxiteViewModelItem <PluginEditInput> model = new OxiteViewModelItem <PluginEditInput>(new PluginEditInput(pluginNotInstalledAddress.VirtualPath, code, false, null));

            model.AddModelItem(pluginEngine.GetPlugin(new Plugin(Guid.Empty, Guid.Empty, pluginNotInstalledAddress.VirtualPath, false)));

            return(View("ItemEdit", model));
        }
        public void OnActionExecuted(ActionExecutedContext filterContext)
        {
            OxiteViewModelItem <Post> postModel = filterContext.Controller.ViewData.Model as OxiteViewModelItem <Post>;

            if (postModel != null)
            {
                postModel.CommentingDisabled = context.Site.CommentingDisabled || ((Blog)postModel.Container).CommentingDisabled || postModel.Item.CommentingDisabled;
            }

            //TODO: (erikpo) Once comments are added to pages, add code similar to above to set allow comments for pages
        }
        public void ItemReturnsNullOnNotFoundPost()
        {
            FakeAreaService areaService = new FakeAreaService();
            FakePostService postService = new FakePostService();

            areaService.StoredAreas.Add("test", new Area());

            PostController controller = new PostController(areaService, postService, null, null, null);

            OxiteViewModelItem <Post> result = controller.Item(new PostAddress("test", "Some-Post"), null);

            Assert.Null(result);
        }
Exemple #4
0
        public OxiteViewModelItem <PluginEditInput> ItemEdit(Plugin plugin, PluginEditInput pluginEditInput)
        {
            if (plugin == null)
            {
                return(null);
            }

            OxiteViewModelItem <PluginEditInput> model = new OxiteViewModelItem <PluginEditInput>(pluginEditInput == null ? new PluginEditInput(plugin.GetFileText(), plugin.Enabled, plugin.ExtendedProperties) : new PluginEditInput(null, pluginEditInput.Code ?? plugin.GetFileText(), pluginEditInput.Enabled, pluginEditInput.PropertyValues));

            model.AddModelItem(pluginEngine.GetPlugin(plugin));

            return(model);
        }
Exemple #5
0
        public OxiteViewModelItem <PageInput> Edit(Page page, PageInput pageInput)
        {
            if (page == null)
            {
                return(null);
            }

            //TODO: (erikpo) Check permissions

            var model = new OxiteViewModelItem <PageInput>(new PageInput(page, pageInput));

            model.AddModelItem(page);

            return(model);
        }
Exemple #6
0
        public OxiteViewModelItem <PageInput> Edit(PageAddress pageAddress, PageInput pageInput)
        {
            //TODO: (erikpo) Check permissions

            Page page = pageService.GetPage(pageAddress);

            if (page == null)
            {
                return(null);
            }

            var model = new OxiteViewModelItem <PageInput>(new PageInput(page, pageInput));

            model.AddModelItem(pageService.GetPage(pageAddress));

            return(model);
        }
        public void ItemReturnsPost()
        {
            FakePostService postService = new FakePostService();

            Guid postID = Guid.NewGuid();

            postService.AddedPosts.Add(new Post()
            {
                ID = postID, Slug = "Slug", Area = new Area()
            });

            PostController controller = new PostController(null, postService, null, null, null);

            OxiteViewModelItem <Post> result = controller.Item(new PostAddress("test", "Slug"), null);

            Assert.Equal(postID, result.Item.ID);
            Assert.IsType <Area>(result.Container);
        }
        public static string TrackbackBlock <TModel>(this HtmlHelper <TModel> htmlHelper) where TModel : OxiteViewModel
        {
            OxiteViewModelItem <Post> model = htmlHelper.ViewData.Model as OxiteViewModelItem <Post>;

            if (model != null)
            {
                Post post = model.Item;

                if (post != null)
                {
                    UrlHelper urlHelper = new UrlHelper(htmlHelper.ViewContext.RequestContext);

                    return(string.Format("<!--<rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:trackback=\"http://madskills.com/public/xml/rss/module/trackback/\"><rdf:Description rdf:about=\"{2}\" dc:identifier=\"{2}\" dc:title=\"{0}\" trackback:ping=\"{1}\" /></rdf:RDF>-->", htmlHelper.Encode(post.Title), urlHelper.AbsolutePath(urlHelper.Trackback(post)), urlHelper.AbsolutePath(urlHelper.Post(post))));
                }
            }

            return("");
        }
        private static string manageContent <TModel>(this HtmlHelper <TModel> htmlHelper, string name) where TModel : OxiteViewModel
        {
            UrlHelper url = new UrlHelper(htmlHelper.ViewContext.RequestContext);
            OxiteViewModelItem <Page> modelItem = htmlHelper.ViewData.Model as OxiteViewModelItem <Page>;
            string linkText       = "*manage";
            object htmlAttributes = new { @class = "manageContentItem" };

            if (modelItem != null)
            {
                return(htmlHelper.Link(linkText, url.PageContentEdit(modelItem.Item, name), htmlAttributes));
            }

            if (htmlHelper.ViewContext.RouteData.Values.ContainsKey("pagePath"))
            {
                return(htmlHelper.Link(linkText, url.PageContentEdit(htmlHelper.ViewContext.RouteData.Values["pagePath"] as string, name), htmlAttributes));
            }

            return(htmlHelper.manageGlobalContent(name));
        }