Fixing field indexing in Projector

--HG--
branch : 1.x
This commit is contained in:
Sebastien Ros
2011-12-07 18:57:17 -08:00
parent 42e00e3bf7
commit 3d15cd9fe2
5 changed files with 18 additions and 19 deletions
@@ -1,5 +1,5 @@
@{
string name = Model.Field.DisplayName;
string name = Model.ContentField.DisplayName;
string value = Model.Value;
}
@if (HasText(name) && HasText(value)) {
@@ -41,19 +41,17 @@ namespace Orchard.ContentManagement.FieldStorage {
public void Set<T>(string name, T value) {
_concreteStorage.Set(name, value);
if (_contentPart.ContentItem.IsPublished()) {
var context = new FieldStorageEventContext {
FieldName = _contentPartFieldDefinition.Name,
PartName = _contentPart.PartDefinition.Name,
Value = value,
ValueName = name,
ValueType = typeof (T),
Content = _contentPart
};
var context = new FieldStorageEventContext {
FieldName = _contentPartFieldDefinition.Name,
PartName = _contentPart.PartDefinition.Name,
Value = value,
ValueName = name,
ValueType = typeof (T),
Content = _contentPart
};
foreach (var fieldEvent in _events) {
fieldEvent.SetCalled(context);
}
foreach (var fieldEvent in _events) {
fieldEvent.SetCalled(context);
}
}
}
@@ -14,8 +14,8 @@ namespace Orchard.ContentManagement.FieldStorage.InfosetStorage {
var infosetPart = contentPart.As<InfosetPart>();
return new SimpleFieldStorage(
(name, valueType) => Get(infosetPart.ContentItem.IsPublished() ? infosetPart.Infoset.Element : infosetPart.VersionInfoset.Element, partName, fieldName, name),
(name, valueType, value) => Set(infosetPart.ContentItem.IsPublished() ? infosetPart.Infoset.Element : infosetPart.VersionInfoset.Element, partName, fieldName, name, value));
(name, valueType) => Get(infosetPart.ContentItem.VersionRecord == null ? infosetPart.Infoset.Element : infosetPart.VersionInfoset.Element, partName, fieldName, name),
(name, valueType, value) => Set(infosetPart.ContentItem.VersionRecord == null ? infosetPart.Infoset.Element : infosetPart.VersionInfoset.Element, partName, fieldName, name, value));
}
private static string Get(XElement element, string partName, string fieldName, string valueName) {
@@ -116,7 +116,8 @@ namespace Orchard.Environment.State {
FeatureDescriptor = featureDescriptor,
FeatureState = shellState.Features.FirstOrDefault(s => s.Name == featureDescriptor.Id),
})
.Where(entry => entry.FeatureState != null);
.Where(entry => entry.FeatureState != null)
.ToArray();
// get loaded feature information
var loadedFeatures = _extensionManager.LoadFeatures(orderedFeatureDescriptorsAndStates.Select(entry => entry.FeatureDescriptor)).ToArray();
@@ -131,7 +132,7 @@ namespace Orchard.Environment.State {
},
entry.FeatureDescriptor,
entry.FeatureState,
});
}).ToList();
// find feature state that is beyond what's currently available from modules
var additionalState = shellState.Features.Except(loadedEntries.Select(entry => entry.FeatureState));
@@ -152,7 +153,7 @@ namespace Orchard.Environment.State {
FeatureDescriptor = featureDescriptor,
FeatureState = featureState
};
}));
})).ToArray();
// lower enabled states in reverse order
foreach (var entry in allEntries.Reverse().Where(entry => entry.FeatureState.EnableState == ShellFeatureState.State.Falling)) {