mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-10-15 19:54:57 +08:00
[Fixes #5846] Saving settings would reset Markdown part settings
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
using System.Linq;
|
||||
using System;
|
||||
using System.Linq;
|
||||
using Markdown.Models;
|
||||
using Orchard.ContentManagement;
|
||||
using Orchard.ContentManagement.Handlers;
|
||||
using Orchard.ContentManagement.MetaData;
|
||||
using Orchard.ContentManagement.MetaData.Builders;
|
||||
using Orchard.Localization;
|
||||
|
||||
namespace Markdown.Handlers {
|
||||
@@ -18,24 +18,6 @@ namespace Markdown.Handlers {
|
||||
part.UseMarkdownForBlogs = false;
|
||||
});
|
||||
|
||||
OnUpdated<MarkdownSiteSettingsPart>((context, part) => {
|
||||
var blogPost = _contentDefinitionManager.GetTypeDefinition("BlogPost");
|
||||
if (blogPost == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
var bodyPart = blogPost.Parts.FirstOrDefault(x => x.PartDefinition.Name == "BodyPart");
|
||||
if (bodyPart == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
_contentDefinitionManager.AlterTypeDefinition("BlogPost", build => build
|
||||
.WithPart("BodyPart", cfg => cfg
|
||||
.WithSetting("BodyTypePartSettings.Flavor", part.UseMarkdownForBlogs ? "markdown" : "html")
|
||||
)
|
||||
);
|
||||
});
|
||||
|
||||
T = NullLocalizer.Instance;
|
||||
}
|
||||
|
||||
@@ -46,5 +28,33 @@ namespace Markdown.Handlers {
|
||||
base.GetItemMetadata(context);
|
||||
context.Metadata.EditorGroupInfo.Add(new GroupInfo(T("Markdown")));
|
||||
}
|
||||
|
||||
protected override void UpdateEditorShape(UpdateEditorContext context) {
|
||||
if (!string.Equals("markdown", context.GroupId, StringComparison.OrdinalIgnoreCase))
|
||||
return;
|
||||
|
||||
var part = context.ContentItem.As<MarkdownSiteSettingsPart>();
|
||||
if (part == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
base.UpdateEditorShape(context);
|
||||
|
||||
var blogPost = _contentDefinitionManager.GetTypeDefinition("BlogPost");
|
||||
if (blogPost == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
var bodyPart = blogPost.Parts.FirstOrDefault(x => x.PartDefinition.Name == "BodyPart");
|
||||
if (bodyPart == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
_contentDefinitionManager.AlterTypeDefinition("BlogPost", build => build
|
||||
.WithPart("BodyPart", cfg => cfg
|
||||
.WithSetting("BodyTypePartSettings.Flavor", part.UseMarkdownForBlogs ? "markdown" : "html")
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user