public IActionResult Add() { var model = _layoutService.GetLayouts(); ViewBag.menulist = _menuService.GetMenus(); return(View(model)); }
protected override DriverResult Editor(LayoutTemplatePart part, dynamic shapeHelper) { var isTemplate = false; var typeDefinition = _contentDefinitionManager .GetTypeDefinition(part.ContentItem.ContentType); if (typeDefinition != null) { var LayoutTemplatePart = typeDefinition .Parts .SingleOrDefault(p => p.PartDefinition.Name == "LayoutTemplatePart"); if (LayoutTemplatePart != null) { isTemplate = LayoutTemplatePart.Settings.ContainsKey("isTemplate"); } } IEnumerable <LayoutTemplatePart> layouts = null; if (isTemplate) { layouts = _layoutService .GetLayouts(); } var stylesheets = _stylesheetService.GetAvailableStylesheets().ToList(); var classes = stylesheets .ToDictionary( s => s.VirtualPath, s => s.GetClasses()); var fonts = stylesheets .ToDictionary( s => s.VirtualPath, s => s.GetFonts()); return(ContentShape("Parts_Layout_Edit", () => shapeHelper.EditorTemplate( TemplateName: "Parts/Layout", Model: new LayoutViewModel { Layout = part, Layouts = layouts, ParentLayoutId = part.ParentLayoutId, Stylesheets = stylesheets, Stylesheet = stylesheets.FirstOrDefault(s => s.VirtualPath == part.StylesheetPath), CssClasses = classes, Fonts = fonts, LayoutElementEditors = _layoutService.GetLayoutElementEditors(), IsTemplate = isTemplate }, Prefix: Prefix))); }
public ActionResult List(ListContentsViewModel model) { if (!Services.Authorizer.Authorize(Permissions.ManageLayouts, T("Not allowed to manage layouts."))) { return(new HttpUnauthorizedResult()); } var contentItems = _layoutService.GetLayouts(model.Options.OrderBy); var list = Shape.List(); list.AddRange(contentItems.Select(ci => _contentManager.BuildDisplay(ci, "SummaryAdmin"))); dynamic viewModel = Shape.ViewModel( ContentItems: list, Options: model.Options); // Casting to avoid invalid (under medium trust) reflection over the protected View method and force a static invocation. return(View((object)viewModel)); }
/// <summary> /// Executes the specified request. /// </summary> /// <param name="request">The request.</param> /// <returns>AddNewPage view model</returns> public AddNewPageViewModel Execute(AddNewPageCommandRequest request) { var principal = securityService.GetCurrentPrincipal(); var model = new AddNewPageViewModel { ParentPageUrl = request.ParentPageUrl, Templates = layoutService.GetLayouts(), AccessControlEnabled = cmsConfiguration.AccessControlEnabled, UserAccessList = accessControlService.GetDefaultAccessList(principal).Cast <UserAccessViewModel>().ToList() }; if (model.Templates.Count > 0) { model.Templates.ToList().ForEach(x => x.IsActive = false); model.Templates.First().IsActive = true; model.TemplateId = model.Templates.First(t => t.IsActive).TemplateId; model.OptionValues = layoutService.GetLayoutOptionValues(model.TemplateId); } return(model); }
public IActionResult Index() { var model = _layoutService.GetLayouts(); return(View(model)); }
/// <summary> /// Executes the specified request. /// </summary> /// <param name="id">The page id.</param> /// <returns></returns> public EditPagePropertiesViewModel Execute(Guid id) { var model = Repository .AsQueryable <PageProperties>() .Where(p => p.Id == id) .Select(page => new { Model = new EditPagePropertiesViewModel { Id = page.Id, Version = page.Version, PageName = page.Title, PageUrl = page.PageUrl, PageCSS = page.CustomCss, PageJavascript = page.CustomJS, UseNoFollow = page.UseNoFollow, UseNoIndex = page.UseNoIndex, UseCanonicalUrl = page.UseCanonicalUrl, IsVisibleToEveryone = page.Status == PageStatus.Published, IsInSitemap = page.NodeCountInSitemap > 0, IsArchived = page.IsArchived, TemplateId = page.Layout.Id, CategoryId = page.Category.Id, AccessControlEnabled = cmsConfiguration.AccessControlEnabled, Image = page.Image == null ? null : new ImageSelectorViewModel { ImageId = page.Image.Id, ImageVersion = page.Image.Version, ImageUrl = page.Image.PublicUrl, ThumbnailUrl = page.Image.PublicThumbnailUrl, ImageTooltip = page.Image.Caption }, SecondaryImage = page.SecondaryImage == null ? null : new ImageSelectorViewModel { ImageId = page.SecondaryImage.Id, ImageVersion = page.SecondaryImage.Version, ImageUrl = page.SecondaryImage.PublicUrl, ThumbnailUrl = page.SecondaryImage.PublicThumbnailUrl, ImageTooltip = page.SecondaryImage.Caption }, FeaturedImage = page.FeaturedImage == null ? null : new ImageSelectorViewModel { ImageId = page.FeaturedImage.Id, ImageVersion = page.FeaturedImage.Version, ImageUrl = page.FeaturedImage.PublicUrl, ThumbnailUrl = page.FeaturedImage.PublicThumbnailUrl, ImageTooltip = page.FeaturedImage.Caption } } }) .FirstOne(); if (model != null && model.Model != null) { model.Model.Tags = tagService.GetPageTagNames(id); model.Model.RedirectFromOldUrl = true; model.Model.Categories = categoryService.GetCategories(); model.Model.UpdateSitemap = true; // Get layout options, page options and merge them var layoutOptions = Repository.AsQueryable <LayoutOption>(lo => lo.Layout.Id == model.Model.TemplateId).ToList(); var pageOptions = Repository .AsQueryable <PageOption>(p => p.Page.Id == id) .ToList(); model.Model.OptionValues = optionService.GetMergedOptionValuesForEdit(layoutOptions, pageOptions); if (cmsConfiguration.AccessControlEnabled) { model.Model.UserAccessList = Repository.AsQueryable <UserAccess>() .Where(x => x.ObjectId == id) .OrderBy(x => x.RoleOrUser) .Select(x => new UserAccessViewModel { Id = x.Id, AccessLevel = x.AccessLevel, ObjectId = x.ObjectId, RoleOrUser = x.RoleOrUser }).ToList(); } // Get templates model.Model.Templates = layoutService.GetLayouts(); if (!model.Model.TemplateId.HasDefaultValue()) { model.Model.Templates.Where(x => x.TemplateId == model.Model.TemplateId).ToList().ForEach(x => x.IsActive = true); } } return(model != null ? model.Model : null); }
public ActionResult <IEnumerable <Layout> > Get() { return(Ok(_service.GetLayouts())); }
/// <summary> /// Executes the specified request. /// </summary> /// <param name="id">The page id.</param> /// <returns></returns> public EditPagePropertiesViewModel Execute(Guid id) { var model = Repository .AsQueryable <PageProperties>() .Where(p => p.Id == id) .Select(page => new { Model = new EditPagePropertiesViewModel { Id = page.Id, Version = page.Version, PageName = page.Title, PageUrl = page.PageUrl, PageCSS = page.CustomCss, PageJavascript = page.CustomJS, UseNoFollow = page.UseNoFollow, UseNoIndex = page.UseNoIndex, UseCanonicalUrl = page.UseCanonicalUrl, IsPagePublished = page.Status == PageStatus.Published, IsInSitemap = page.NodeCountInSitemap > 0, IsArchived = page.IsArchived, TemplateId = page.Layout.Id, CategoryId = page.Category.Id, AccessControlEnabled = cmsConfiguration.Security.AccessControlEnabled, Image = page.Image == null || page.Image.IsDeleted ? null : new ImageSelectorViewModel { ImageId = page.Image.Id, ImageVersion = page.Image.Version, ImageUrl = fileUrlResolver.EnsureFullPathUrl(page.Image.PublicUrl), ThumbnailUrl = fileUrlResolver.EnsureFullPathUrl(page.Image.PublicThumbnailUrl), ImageTooltip = page.Image.Caption, FolderId = page.Image.Folder != null ? page.Image.Folder.Id : (Guid?)null }, SecondaryImage = page.SecondaryImage == null || page.SecondaryImage.IsDeleted ? null : new ImageSelectorViewModel { ImageId = page.SecondaryImage.Id, ImageVersion = page.SecondaryImage.Version, ImageUrl = fileUrlResolver.EnsureFullPathUrl(page.SecondaryImage.PublicUrl), ThumbnailUrl = fileUrlResolver.EnsureFullPathUrl(page.SecondaryImage.PublicThumbnailUrl), ImageTooltip = page.SecondaryImage.Caption, FolderId = page.SecondaryImage.Folder != null ? page.SecondaryImage.Folder.Id : (Guid?)null }, FeaturedImage = page.FeaturedImage == null || page.FeaturedImage.IsDeleted ? null : new ImageSelectorViewModel { ImageId = page.FeaturedImage.Id, ImageVersion = page.FeaturedImage.Version, ImageUrl = fileUrlResolver.EnsureFullPathUrl(page.FeaturedImage.PublicUrl), ThumbnailUrl = fileUrlResolver.EnsureFullPathUrl(page.FeaturedImage.PublicThumbnailUrl), ImageTooltip = page.FeaturedImage.Caption, FolderId = page.FeaturedImage.Folder != null ? page.FeaturedImage.Folder.Id : (System.Guid?)null } } }) .FirstOne(); if (model != null && model.Model != null) { model.Model.Tags = tagService.GetPageTagNames(id); model.Model.RedirectFromOldUrl = true; model.Model.Categories = categoryService.GetCategories(); model.Model.UpdateSitemap = true; // Get layout options, page options and merge them var layoutOptions = Repository.AsQueryable <LayoutOption>(lo => lo.Layout.Id == model.Model.TemplateId).Fetch(o => o.CustomOption).ToList(); var pageOptions = Repository.AsQueryable <PageOption>(p => p.Page.Id == id).Fetch(o => o.CustomOption).ToList(); model.Model.OptionValues = optionService.GetMergedOptionValuesForEdit(layoutOptions, pageOptions); model.Model.CustomOptions = optionService.GetCustomOptions(); if (cmsConfiguration.Security.AccessControlEnabled) { model.Model.UserAccessList = Repository.AsQueryable <Root.Models.Page>() .Where(x => x.Id == id && !x.IsDeleted) .SelectMany(x => x.AccessRules) .OrderBy(x => x.Identity) .ToList() .Select(x => new UserAccessViewModel(x)).ToList(); var rules = model.Model.UserAccessList.Cast <IAccessRule>().ToList(); SetIsReadOnly(model.Model, rules); } model.Model.CanPublishPage = SecurityService.IsAuthorized(Context.Principal, RootModuleConstants.UserRoles.PublishContent); // Get templates model.Model.Templates = layoutService.GetLayouts(); if (!model.Model.TemplateId.HasDefaultValue()) { model.Model.Templates.Where(x => x.TemplateId == model.Model.TemplateId).ToList().ForEach(x => x.IsActive = true); } } return(model != null ? model.Model : null); }
public IEnumerable <Layout> GetLayouts([FromRoute] int restaurantId) { return(layoutService.GetLayouts(restaurantId)); }