This commit is contained in:
Elitsa Marinovska
2021-08-17 13:10:13 +02:00
parent d8b3a1bbe5
commit e9b697b0c2
9 changed files with 36 additions and 18 deletions

View File

@@ -57,8 +57,6 @@ namespace Umbraco.Cms.Core.PropertyEditors.ValueConverters
var publishedSnapshot = _publishedSnapshotAccessor.GetRequiredPublishedSnapshot();
if (inter is int id)
{
content = publishedSnapshot.Content.GetById(id);
if (content != null)
return content;

View File

@@ -55,8 +55,6 @@ namespace Umbraco.Cms.Core.PropertyEditors.ValueConverters
return null;
}
IPublishedContent member;
var publishedSnapshot = _publishedSnapshotAccessor.GetRequiredPublishedSnapshot();
if (source is int id)

View File

@@ -1,7 +1,7 @@
namespace Umbraco.Cms.Core.PublishedCache
{
/// <summary>
/// Provides access to a TryGetPublishedSnapshot bool method that will return true if the "current" <see cref="IPublishedSnapshot"/>. is not null
/// Provides access to a TryGetPublishedSnapshot bool method that will return true if the "current" <see cref="IPublishedSnapshot"/> is not null.
/// </summary>
public interface IPublishedSnapshotAccessor
{

View File

@@ -42,9 +42,15 @@ namespace Umbraco.Cms.Core.Templates
/// <returns></returns>
public string EnsureInternalLinks(string text, bool preview)
{
var umbracoContext = _umbracoContextAccessor.GetRequiredUmbracoContext();
if (!_umbracoContextAccessor.TryGetUmbracoContext(out var umbracoContext))
{
throw new InvalidOperationException("Could not parse internal links, there is no current UmbracoContext");
}
if (!preview)
{
return EnsureInternalLinks(text);
}
using (umbracoContext.ForcedPreview(preview)) // force for URL provider
{

View File

@@ -15,16 +15,24 @@ namespace Umbraco.Cms.Core.Web
{ }
/// <summary>
/// Gets or sets the <see cref="UmbracoContext"/> object.
/// Tries to get the <see cref="UmbracoContext"/> object.
/// </summary>
///
public bool TryGetUmbracoContext(out IUmbracoContext umbracoContext)
{
umbracoContext = Value;
return umbracoContext is not null;
}
/// <summary>
/// Clears the current <see cref="UmbracoContext"/> object.
/// </summary>
public void Clear() => Value = null;
/// <summary>
/// Sets the <see cref="UmbracoContext"/> object.
/// </summary>
/// <param name="umbracoContext"></param>
public void Set(IUmbracoContext umbracoContext) => Value = umbracoContext;
}
}

View File

@@ -1,9 +1,9 @@
namespace Umbraco.Cms.Core.Web
{
/// <summary>
/// Provides access to a TryGetUmbracoContext bool method that will return true if the "current" <see cref="IUmbracoContext"/>. is not null.
/// Provides a Clear() method that will clear the current UmbracoContext.
/// Provides a Set() method that til set the current UmbracoContext.
/// Provides access to a TryGetUmbracoContext bool method that will return true if the "current" <see cref="IUmbracoContext"/> is not null.
/// Provides a Clear() method that will clear the current <see cref="UmbracoContext"/> object.
/// Provides a Set() method that til set the current <see cref="UmbracoContext"/> object.
/// </summary>
public interface IUmbracoContextAccessor
{