- Support for default package settings...

--HG--
extra : convert_revision : svn%3A5ff7c347-ad56-4c35-b696-ccb81de16e03/trunk%4042230
This commit is contained in:
suhacan
2009-11-25 20:27:41 +00:00
parent 069484e286
commit 98b23af3af
4 changed files with 24 additions and 3 deletions

View File

@@ -17,10 +17,18 @@ namespace Orchard.Comments.Models {
}
public class CommentSettingsProvider : ContentProvider {
private readonly IRepository<CommentSettingsRecord> _commentSettingsRepository;
public CommentSettingsProvider(IRepository<CommentSettingsRecord> repository) {
_commentSettingsRepository = repository;
Filters.Add(new ActivatingFilter<CommentSettings>("site"));
Filters.Add(new StorageFilter<CommentSettingsRecord>(repository) { AutomaticallyCreateMissingRecord = true });
Filters.Add(new StorageFilter<CommentSettingsRecord>(_commentSettingsRepository) { AutomaticallyCreateMissingRecord = true });
Filters.Add(new TemplateFilterForRecord<CommentSettingsRecord>("CommentSettings"));
AddOnActivated<CommentSettings>(DefaultSettings);
}
private static void DefaultSettings(ActivatedContentContext context, CommentSettings settings) {
settings.Record.EnableCommentsOnPages = true;
settings.Record.EnableCommentsOnPosts = true;
}
}
}

View File

@@ -16,6 +16,11 @@ namespace Orchard.Media.Models {
public MediaSettingsProvider(IRepository<MediaSettingsRecord> repository) {
Filters.Add(new ActivatingFilter<MediaSettings>("site"));
Filters.Add(new StorageFilter<MediaSettingsRecord>(repository) { AutomaticallyCreateMissingRecord = true });
AddOnActivated<MediaSettings>(DefaultSettings);
}
private static void DefaultSettings(ActivatedContentContext context, MediaSettings settings) {
settings.Record.RootMediaFolder = "~/Media";
}
protected override void GetEditors(GetEditorsContext context) {

View File

@@ -16,6 +16,11 @@ namespace Orchard.Tags.Models {
Filters.Add(new ActivatingFilter<TagSettings>("site"));
Filters.Add(new StorageFilter<TagSettingsRecord>(repository) { AutomaticallyCreateMissingRecord = true });
Filters.Add(new TemplateFilterForRecord<TagSettingsRecord>("TagSettings"));
AddOnActivated<TagSettings>(DefaultSettings);
}
private static void DefaultSettings(ActivatedContentContext context, TagSettings settings) {
settings.Record.EnableTagsOnPages = true;
}
}
}

View File

@@ -21,8 +21,11 @@ namespace Orchard.Models.Driver {
}
protected override void Loading(LoadContentContext context, ContentPart<TRecord> instance) {
instance.Record = _repository.Get(instance.ContentItem.Id);
if (instance.Record == null && AutomaticallyCreateMissingRecord) {
var record = _repository.Get(instance.ContentItem.Id);
if (record != null) {
instance.Record = record;
}
else if (AutomaticallyCreateMissingRecord) {
instance.Record = new TRecord {ContentItem = context.ContentItemRecord};
_repository.Create(instance.Record);
}