New Content Type metadata to indicate if it can be displayed in the Content Management menu as a creatable element

--HG--
branch : dev
This commit is contained in:
Sebastien Ros
2010-07-22 17:33:24 -07:00
parent 45c325e0bf
commit 3a1e07e038
4 changed files with 21 additions and 1 deletions

View File

@@ -1,6 +1,7 @@
using System.Linq;
using Orchard.ContentManagement;
using Orchard.ContentManagement.MetaData;
using Orchard.Core.Contents.Settings;
using Orchard.Localization;
using Orchard.UI.Navigation;
@@ -22,7 +23,7 @@ namespace Orchard.Core.Contents {
builder.Add(T("Content"), "2", menu => {
menu.Add(T("Manage Content"), "1", item => item.Action("List", "Admin", new { area = "Contents", id = "" }));
foreach (var contentTypeDefinition in contentTypeDefinitions) {
foreach (var contentTypeDefinition in contentTypeDefinitions.Where(ctd => ctd.Settings.GetModel<ContentTypeSettings>().Creatable)) {
var ci = _contentManager.New(contentTypeDefinition.Name);
var cim = _contentManager.GetItemMetadata(ci);
var createRouteValues = cim.CreateRouteValues;

View File

@@ -0,0 +1,8 @@
namespace Orchard.Core.Contents.Settings {
public class ContentTypeSettings {
/// <summary>
/// This setting is used to display a Content Type in Content Mamagement menu like
/// </summary>
public bool Creatable { get; set; }
}
}

View File

@@ -84,6 +84,7 @@
<Compile Include="Contents\Handlers\ContentsHandler.cs" />
<Compile Include="Contents\Permissions.cs" />
<Compile Include="Contents\Routes.cs" />
<Compile Include="Contents\Settings\ContentTypeSettings.cs" />
<Compile Include="Contents\ViewModels\PublishContentViewModel.cs" />
<Compile Include="Localization\ViewModels\EditLocalizationViewModel.cs" />
<Compile Include="PublishLater\DataMigrations\PublishLaterDataMigration.cs" />

View File

@@ -16,5 +16,15 @@ namespace Orchard.Pages.DataMigrations {
return 1;
}
public int UpdateFrom1() {
ContentDefinitionManager.AlterTypeDefinition("Page",
cfg => cfg
.WithSetting("ContentTypeSettings.Creatable", "true")
);
return 2;
}
}
}