Adds LifecycleStatus to Feature Descriptor (#7674)

This commit is contained in:
Andrew Cartwright
2017-04-26 16:51:07 +01:00
committed by Sébastien Ros
parent 683a37800c
commit 4af9e0a1da
3 changed files with 11 additions and 2 deletions

View File

@@ -71,7 +71,7 @@
continue;
}
//hmmm...I feel like I've done this before...
var lifecycleStatus = feature.Descriptor.Extension.LifecycleStatus;
var lifecycleStatus = feature.Descriptor.LifecycleStatus;
var featureId = feature.Descriptor.Id.AsFeatureId(n => T(n));
var featureName = string.IsNullOrEmpty(feature.Descriptor.Name) ? feature.Descriptor.Id : feature.Descriptor.Name;
var featureState = feature.IsEnabled ? "enabled" : "disabled";

View File

@@ -247,7 +247,8 @@ namespace Orchard.Environment.Extensions.Folders {
Description = GetValue(manifest, FeatureDescriptionSection) ?? GetValue(manifest, DescriptionSection) ?? string.Empty,
Dependencies = ParseFeatureDependenciesEntry(GetValue(manifest, DependenciesSection)),
Extension = extensionDescriptor,
Category = GetValue(manifest, CategorySection)
Category = GetValue(manifest, CategorySection),
LifecycleStatus = GetValue(manifest, LifecycleStatusSection, extensionDescriptor.LifecycleStatus)
};
featureDescriptors.Add(defaultFeature);
@@ -307,6 +308,12 @@ namespace Orchard.Environment.Extensions.Folders {
case DependenciesSection:
featureDescriptor.Dependencies = ParseFeatureDependenciesEntry(featureField[1]);
break;
case LifecycleStatusSection:
LifecycleStatus lifecycleStatus;
featureDescriptor.LifecycleStatus = Enum.TryParse(featureField[1], out lifecycleStatus)
? lifecycleStatus
: extensionDescriptor.LifecycleStatus;
break;
}
}
else {

View File

@@ -5,6 +5,7 @@ namespace Orchard.Environment.Extensions.Models {
public class FeatureDescriptor {
public FeatureDescriptor() {
Dependencies = Enumerable.Empty<string>();
LifecycleStatus = LifecycleStatus.Production;
}
public ExtensionDescriptor Extension { get; set; }
@@ -14,6 +15,7 @@ namespace Orchard.Environment.Extensions.Models {
public string Description { get; set; }
public string Category { get; set; }
public int Priority { get; set; }
public LifecycleStatus LifecycleStatus { get; set; }
public IEnumerable<string> Dependencies { get; set; }
}
}