public ActionResult Index(string token) { var externalReviewLink = _externalReviewLinksRepository.GetContentByToken(token); if (!externalReviewLink.IsEditableLink()) { return(new HttpNotFoundResult("Content not found")); } var content = _contentLoader.Get <IContent>(externalReviewLink.ContentLink); const string url = "Views/PagePreview/Index.cshtml"; if (ModuleResourceResolver.Instance.TryResolvePath(typeof(PageEditController).Assembly, url, out var resolvedPath)) { var pagePreviewModel = new ContentPreviewModel { Token = token, Name = content.Name, EditableContentUrlSegment = $"/en/{_externalReviewOptions.ContentIframeEditUrlSegment}/{token}", ReviewJsScriptPath = GetJsScriptPath(), ResetCssPath = GetResetCssPath(), ReviewPins = _serializerFactory.GetSerializer(KnownContentTypes.Json).Serialize(_approvalReviewsRepository.Load(externalReviewLink.ContentLink)) }; return(View(resolvedPath, pagePreviewModel)); } return(new HttpNotFoundResult("Content not found")); }
public ActionResult Index(string token) { var externalReviewLink = _externalReviewLinksRepository.GetContentByToken(token); if (!externalReviewLink.IsEditableLink()) { return(new HttpNotFoundResult("Content not found")); } var content = _contentLoader.Get <IContent>(externalReviewLink.ContentLink); const string url = "Views/PagePreview/Index.cshtml"; var startPageUrl = _startPageUrlResolver.GetUrl(externalReviewLink.ContentLink); if (ModuleResourceResolver.Instance.TryResolvePath(typeof(PageEditController).Assembly, url, out var resolvedPath)) { var serializer = _serializerFactory.GetSerializer(KnownContentTypes.Json); var pagePreviewModel = new ContentPreviewModel { Token = token, Name = content.Name, EditableContentUrlSegment = $"{UrlPath.Combine(startPageUrl, _externalReviewOptions.ContentIframeEditUrlSegment)}/{token}", AddPinUrl = $"{UrlPath.EnsureStartsWithSlash(_externalReviewOptions.ReviewsUrl)}/AddPin", RemovePinUrl = $"{UrlPath.EnsureStartsWithSlash(_externalReviewOptions.ReviewsUrl)}/RemovePin", ReviewJsScriptPath = GetJsScriptPath(), ResetCssPath = GetResetCssPath(), ReviewPins = serializer.Serialize(_approvalReviewsRepository.Load(externalReviewLink.ContentLink)), Metadata = serializer.Serialize(_propertyResolver.Resolve(content as ContentData)) }; return(View(resolvedPath, pagePreviewModel)); } return(new HttpNotFoundResult("Content not found")); }