Refactor variations

This commit is contained in:
Stephan
2018-06-20 14:18:57 +02:00
parent a697608529
commit ecf9a928d7
56 changed files with 1121 additions and 897 deletions

View File

@@ -191,10 +191,9 @@ namespace Umbraco.Web.PublishedCache.NuCache
if (culture != null && segment != null) return;
// use context values
// fixme CultureSegment?
var publishedVariationContext = _content.VariationContextAccessor?.VariationContext;
if (culture == null) culture = _variations.Has(ContentVariation.CultureNeutral) ? publishedVariationContext?.Culture : "";
if (segment == null) segment = _variations.Has(ContentVariation.CultureNeutral) ? publishedVariationContext?.Segment : "";
if (culture == null) culture = _variations.VariesByCulture() ? publishedVariationContext?.Culture : "";
if (segment == null) segment = _variations.VariesBySegment() ? publishedVariationContext?.Segment : "";
}
public override object GetValue(string culture = null, string segment = null)

View File

@@ -178,7 +178,7 @@ namespace Umbraco.Web.PublishedCache.NuCache
{
get
{
if (!ContentType.Variations.Has(ContentVariation.CultureNeutral)) // fixme CultureSegment?
if (!ContentType.VariesByCulture())
return _contentData.Name;
var culture = VariationContextAccessor.VariationContext.Culture;
@@ -194,7 +194,7 @@ namespace Umbraco.Web.PublishedCache.NuCache
{
get
{
if (!ContentType.Variations.Has(ContentVariation.CultureNeutral)) // fixme CultureSegment?
if (!ContentType.VariesByCulture())
return _urlSegment;
var culture = VariationContextAccessor.VariationContext.Culture;
@@ -258,7 +258,7 @@ namespace Umbraco.Web.PublishedCache.NuCache
{
get
{
if (!ContentType.Variations.Has(ContentVariation.CultureNeutral)) // fixme CultureSegment?
if (!ContentType.VariesByCulture())
return NoCultureInfos;
if (_cultureInfos != null) return _cultureInfos;

View File

@@ -1188,13 +1188,13 @@ namespace Umbraco.Web.PublishedCache.NuCache
var names = content is IContent document
? (published
? document.PublishCultureNames
? document.PublishNames
: document.CultureNames)
: content.CultureNames;
foreach (var (culture, name) in names)
{
cultureData[culture] = new CultureVariation { Name = name, Date = content.GetCultureDate(culture) };
cultureData[culture] = new CultureVariation { Name = name, Date = content.GetCultureDate(culture) ?? DateTime.MinValue };
}
//the dictionary that will be serialized