mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-09-18 17:47:54 +08:00
- Support for default package settings...
--HG-- extra : convert_revision : svn%3A5ff7c347-ad56-4c35-b696-ccb81de16e03/trunk%4042230
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -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) {
|
||||
|
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -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);
|
||||
}
|
||||
|
Reference in New Issue
Block a user