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));