diff --git a/src/Orchard.Web/Core/Contents/Settings/ContentTypeSettings.cs b/src/Orchard.Web/Core/Contents/Settings/ContentTypeSettings.cs
index 34cbb05ab..793893a63 100644
--- a/src/Orchard.Web/Core/Contents/Settings/ContentTypeSettings.cs
+++ b/src/Orchard.Web/Core/Contents/Settings/ContentTypeSettings.cs
@@ -1,8 +1,16 @@
-namespace Orchard.Core.Contents.Settings {
+using Orchard.ContentManagement.MetaData.Builders;
+
+namespace Orchard.Core.Contents.Settings {
public class ContentTypeSettings {
///
/// This setting is used to display a Content Type in Content Mamagement menu like
///
public bool Creatable { get; set; }
}
+
+ public static class MetaDataExtensions {
+ public static ContentTypeDefinitionBuilder Creatable(this ContentTypeDefinitionBuilder builder, bool creatable = true) {
+ return builder.WithSetting(typeof(ContentTypeSettings).Name + ".Creatable", creatable.ToString());
+ }
+ }
}
\ No newline at end of file
diff --git a/src/Orchard.Web/Modules/Orchard.ContentTypes/Module.txt b/src/Orchard.Web/Modules/Orchard.ContentTypes/Module.txt
index c90988215..4087222c5 100644
--- a/src/Orchard.Web/Modules/Orchard.ContentTypes/Module.txt
+++ b/src/Orchard.Web/Modules/Orchard.ContentTypes/Module.txt
@@ -7,4 +7,5 @@ orchardversion: 0.5.0
features:
Orchard.ContentTypes:
Description: ContentTypes modules enables the creation and alteration of content types not based on code.
+ Dependencies: Contents
Category: Content
diff --git a/src/Orchard.Web/Modules/Orchard.ContentTypes/Orchard.ContentTypes.csproj b/src/Orchard.Web/Modules/Orchard.ContentTypes/Orchard.ContentTypes.csproj
index 45431ed1f..7f8f7b6e6 100644
--- a/src/Orchard.Web/Modules/Orchard.ContentTypes/Orchard.ContentTypes.csproj
+++ b/src/Orchard.Web/Modules/Orchard.ContentTypes/Orchard.ContentTypes.csproj
@@ -126,6 +126,10 @@
{2D1D92BB-4555-4CBE-8D0E-63563D6CE4C6}
Orchard.Framework
+
+ {9916839C-39FC-4CEB-A5AF-89CA7E87119F}
+ Orchard.Core
+
diff --git a/src/Orchard.Web/Modules/Orchard.ContentTypes/Services/ContentDefinitionService.cs b/src/Orchard.Web/Modules/Orchard.ContentTypes/Services/ContentDefinitionService.cs
index 2667690bd..33ea55239 100644
--- a/src/Orchard.Web/Modules/Orchard.ContentTypes/Services/ContentDefinitionService.cs
+++ b/src/Orchard.Web/Modules/Orchard.ContentTypes/Services/ContentDefinitionService.cs
@@ -7,6 +7,7 @@ using Orchard.ContentManagement.Drivers;
using Orchard.ContentManagement.MetaData;
using Orchard.ContentManagement.MetaData.Models;
using Orchard.ContentTypes.ViewModels;
+using Orchard.Core.Contents.Settings;
using Orchard.Localization;
namespace Orchard.ContentTypes.Services {
@@ -70,6 +71,7 @@ namespace Orchard.ContentTypes.Services {
var contentTypeDefinition = new ContentTypeDefinition(name, typeViewModel.DisplayName);
_contentDefinitionManager.StoreTypeDefinition(contentTypeDefinition);
+ _contentDefinitionManager.AlterTypeDefinition(name, cfg => cfg.Creatable());
return new EditTypeViewModel(contentTypeDefinition);
}
diff --git a/src/Orchard.Web/Modules/Orchard.Pages/Module.txt b/src/Orchard.Web/Modules/Orchard.Pages/Module.txt
index f8bdd8aa3..ee9d1dd60 100644
--- a/src/Orchard.Web/Modules/Orchard.Pages/Module.txt
+++ b/src/Orchard.Web/Modules/Orchard.Pages/Module.txt
@@ -8,4 +8,5 @@ description: The pages module enables the creation and management of pages on an
features:
Orchard.Pages:
Description: Simple pages.
+ Dependencies: Contents
Category: Content
diff --git a/src/Orchard.Web/Modules/Orchard.Setup/Services/SetupService.cs b/src/Orchard.Web/Modules/Orchard.Setup/Services/SetupService.cs
index 11ec469f5..c1f0c2c09 100644
--- a/src/Orchard.Web/Modules/Orchard.Setup/Services/SetupService.cs
+++ b/src/Orchard.Web/Modules/Orchard.Setup/Services/SetupService.cs
@@ -6,6 +6,7 @@ using Orchard.ContentManagement;
using Orchard.ContentManagement.MetaData;
using Orchard.Core.Common.Models;
using Orchard.Core.Common.Settings;
+using Orchard.Core.Contents.Settings;
using Orchard.Core.Navigation.Models;
using Orchard.Core.Routable.Models;
using Orchard.Core.Settings.Descriptor.Records;
@@ -194,6 +195,7 @@ namespace Orchard.Setup.Services {
.WithPart("CommentsPart")
.WithPart("HasTags")
.WithPart("Localized")
+ .Creatable()
.Indexed());
contentDefinitionManager.AlterTypeDefinition("Page", cfg => cfg
.DisplayedAs("Page")
@@ -204,6 +206,7 @@ namespace Orchard.Setup.Services {
.WithPart("CommentsPart")
.WithPart("HasTags")
.WithPart("Localized")
+ .Creatable()
.Indexed());
contentDefinitionManager.AlterPartDefinition("BodyPart", cfg => cfg
.WithSetting("BodyPartSettings.FlavorDefault", BodyPartSettings.FlavorDefaultDefault));