protected override DriverResult Editor(SeoPart part, IUpdateModel updater, dynamic shapeHelper) { return(ContentShape("Parts_Seo_Edit", () => { var robots = part.MetaRobots?.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries); var viewModel = new SeoPartViewModel { PageTitle = part.PageTitle, MetaRobotsFollow = robots?.Length > 0 ? robots[0] : "", MetaRobotsIndex = robots?.Length > 1 ? robots[1] : "", CustomMetaTags = part.CustomMetaTags, MetaDescription = part.MetaDescription, MetaKeywords = part.MetaKeywords }; if (updater != null && updater.TryUpdateModel(viewModel, Prefix, null, null)) { var robotsValues = new[] { viewModel.MetaRobotsFollow?.Trim(), viewModel.MetaRobotsIndex?.Trim() }; part.MetaRobots = String.Join(",", robotsValues.Where(x => !String.IsNullOrEmpty(x))); part.CustomMetaTags = viewModel.CustomMetaTags?.Trim(); part.MetaDescription = viewModel.MetaDescription?.Trim(); part.MetaKeywords = viewModel.MetaKeywords?.Trim(); part.PageTitle = viewModel.PageTitle?.Trim(); } return shapeHelper.EditorTemplate(TemplateName: "Parts/Seo", Model: viewModel, Prefix: Prefix); })); }
/// <summary> /// POST Editor. /// </summary> protected override DriverResult Editor(SeoPart part, IUpdateModel updater, dynamic shapeHelper) { if (_orchardServices.Authorizer.Authorize(Permissions.ManageSEO)) { var vm = new SeoPartViewModel(_seoServices); updater.TryUpdateModel(vm, Prefix, null, null); vm.UpdatePart(part); return(Editor(part, shapeHelper)); } else { return(null); } }