diff --git a/src/Orchard.Web/Core/Contents/Extensions/MetaDataExtensions.cs b/src/Orchard.Web/Core/Contents/Extensions/MetaDataExtensions.cs index bb557db07..c30209969 100644 --- a/src/Orchard.Web/Core/Contents/Extensions/MetaDataExtensions.cs +++ b/src/Orchard.Web/Core/Contents/Extensions/MetaDataExtensions.cs @@ -6,6 +6,9 @@ namespace Orchard.Core.Contents.Extensions { public static ContentTypeDefinitionBuilder Creatable(this ContentTypeDefinitionBuilder builder, bool creatable = true) { return builder.WithSetting("ContentTypeSettings.Creatable", creatable.ToString()); } + public static ContentTypeDefinitionBuilder Draftable(this ContentTypeDefinitionBuilder builder, bool draftable = true) { + return builder.WithSetting("ContentTypeSettings.Draftable", draftable.ToString()); + } public static ContentPartDefinitionBuilder Attachable(this ContentPartDefinitionBuilder builder, bool attachable = true) { return builder.WithSetting("ContentPartSettings.Attachable", attachable.ToString()); } diff --git a/src/Orchard.Web/Core/Contents/Settings/ContentTypeSettings.cs b/src/Orchard.Web/Core/Contents/Settings/ContentTypeSettings.cs index e0d35b2e9..ed495eab7 100644 --- a/src/Orchard.Web/Core/Contents/Settings/ContentTypeSettings.cs +++ b/src/Orchard.Web/Core/Contents/Settings/ContentTypeSettings.cs @@ -1,8 +1,12 @@ namespace Orchard.Core.Contents.Settings { public class ContentTypeSettings { /// - /// This setting is used to display a Content Type in Content Management menu like + /// Used to determine if an instance of this content type can be created through the UI /// public bool Creatable { get; set; } + /// + /// Used to determine if this content type supports draft versions + /// + public bool Draftable { get; set; } } } \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.ContentTypes/Services/ContentDefinitionService.cs b/src/Orchard.Web/Modules/Orchard.ContentTypes/Services/ContentDefinitionService.cs index d81c09df1..9c3d936af 100644 --- a/src/Orchard.Web/Modules/Orchard.ContentTypes/Services/ContentDefinitionService.cs +++ b/src/Orchard.Web/Modules/Orchard.ContentTypes/Services/ContentDefinitionService.cs @@ -73,7 +73,8 @@ namespace Orchard.ContentTypes.Services { var contentTypeDefinition = new ContentTypeDefinition(name, typeViewModel.DisplayName); _contentDefinitionManager.StoreTypeDefinition(contentTypeDefinition); - _contentDefinitionManager.AlterTypeDefinition(name, cfg => cfg.Creatable()); + _contentDefinitionManager.AlterTypeDefinition(name, + cfg => cfg.Creatable().Draftable()); return new EditTypeViewModel(contentTypeDefinition); }