From 50bbb4ab24215fb92179270fd82cfa19eaaaa1dc Mon Sep 17 00:00:00 2001 From: Sipke Schoorstra Date: Tue, 1 Jul 2014 19:49:56 -0700 Subject: [PATCH] Created separate features for User, Role and Content Type Definition related event providers. --- .../Modules/Orchard.AuditTrail/Module.txt | 17 ++++++++++++++++- .../Orchard.AuditTrail.csproj | 5 ++++- .../ContentDefinitionEventHandler.cs | 12 ++++++++++++ .../ContentPartAuditTrailEventProvider.cs | 5 +++-- .../ContentTypeAuditTrailEventProvider.cs | 2 ++ .../GlobalContentDefinitionEditorEvents.cs | 2 ++ .../IContentDefinitionEventHandler.cs | 14 -------------- .../Role/RoleAuditTrailEventProvider.cs | 5 +++-- .../Providers/Role/RoleEventHandler.cs | 2 ++ .../User/UserAuditTrailEventProvider.cs | 5 +++-- .../Providers/User/UserEventHandler.cs | 2 ++ 11 files changed, 49 insertions(+), 22 deletions(-) delete mode 100644 src/Orchard.Web/Modules/Orchard.AuditTrail/Providers/ContentDefinition/IContentDefinitionEventHandler.cs diff --git a/src/Orchard.Web/Modules/Orchard.AuditTrail/Module.txt b/src/Orchard.Web/Modules/Orchard.AuditTrail/Module.txt index 72fb53bbf..ceccc1818 100644 --- a/src/Orchard.Web/Modules/Orchard.AuditTrail/Module.txt +++ b/src/Orchard.Web/Modules/Orchard.AuditTrail/Module.txt @@ -20,4 +20,19 @@ Features: Name: Audit Trail Trimming Description: Provides a background task that regularly deletes old audit trail records. Category: Security - Dependencies: Orchard.AuditTrail \ No newline at end of file + Dependencies: Orchard.AuditTrail + Orchard.AuditTrail.User: + Name: Audit Trail User Events + Description: Provides event providers for user related events. + Category: Security + Dependencies: Orchard.AuditTrail, Orchard.Users + Orchard.AuditTrail.Role: + Name: Audit Trail Role Events + Description: Provides event providers for role related events. + Category: Security + Dependencies: Orchard.AuditTrail, Orchard.Roles + Orchard.AuditTrail.ContentTypeDefinition: + Name: Audit Trail Content Type Definition Events + Description: Provides event providers for content type definition related events. + Category: Security + Dependencies: Orchard.AuditTrail, Orchard.ContentTypes \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.AuditTrail/Orchard.AuditTrail.csproj b/src/Orchard.Web/Modules/Orchard.AuditTrail/Orchard.AuditTrail.csproj index 757fe2f77..cb1c4f668 100644 --- a/src/Orchard.Web/Modules/Orchard.AuditTrail/Orchard.AuditTrail.csproj +++ b/src/Orchard.Web/Modules/Orchard.AuditTrail/Orchard.AuditTrail.csproj @@ -147,6 +147,10 @@ {9916839C-39FC-4CEB-A5AF-89CA7E87119F} Orchard.Core + + {0e7646e8-fe8f-43c1-8799-d97860925ec4} + Orchard.ContentTypes + {fe5c5947-d2d5-42c5-992a-13d672946135} Orchard.ImportExport @@ -195,7 +199,6 @@ - diff --git a/src/Orchard.Web/Modules/Orchard.AuditTrail/Providers/ContentDefinition/ContentDefinitionEventHandler.cs b/src/Orchard.Web/Modules/Orchard.AuditTrail/Providers/ContentDefinition/ContentDefinitionEventHandler.cs index c184f4596..91f473263 100644 --- a/src/Orchard.Web/Modules/Orchard.AuditTrail/Providers/ContentDefinition/ContentDefinitionEventHandler.cs +++ b/src/Orchard.Web/Modules/Orchard.AuditTrail/Providers/ContentDefinition/ContentDefinitionEventHandler.cs @@ -1,8 +1,11 @@ using System.Collections.Generic; using Orchard.AuditTrail.Services; using Orchard.ContentManagement.MetaData.Models; +using Orchard.ContentTypes.Events; +using Orchard.Environment.Extensions; namespace Orchard.AuditTrail.Providers.ContentDefinition { + [OrchardFeature("Orchard.AuditTrail.ContentTypeDefinition")] public class ContentDefinitionEventHandler : IContentDefinitionEventHandler { private readonly IAuditTrailManager _auditTrailManager; private readonly IWorkContextAccessor _wca; @@ -76,5 +79,14 @@ namespace Orchard.AuditTrail.Providers.ContentDefinition { }; _auditTrailManager.CreateRecord(eventName, _wca.GetContext().CurrentUser, properties: null, eventData: eventData, eventFilterKey: "contenttype", eventFilterData: contentTypeName); } + + public void ContentTypeCreated(ContentTypeCreatedContext context) {} + public void ContentTypeRemoved(ContentTypeRemovedContext context) {} + public void ContentPartCreated(ContentPartCreatedContext context) {} + public void ContentPartRemoved(ContentPartRemovedContext context) {} + public void ContentPartAttached(ContentPartAttachedContext context) {} + public void ContentPartDetached(ContentPartDetachedContext context) {} + public void ContentFieldAttached(ContentFieldAttachedContext context) {} + public void ContentFieldDetached(ContentFieldDetachedContext context) {} } } \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.AuditTrail/Providers/ContentDefinition/ContentPartAuditTrailEventProvider.cs b/src/Orchard.Web/Modules/Orchard.AuditTrail/Providers/ContentDefinition/ContentPartAuditTrailEventProvider.cs index 52a4fae68..dff523597 100644 --- a/src/Orchard.Web/Modules/Orchard.AuditTrail/Providers/ContentDefinition/ContentPartAuditTrailEventProvider.cs +++ b/src/Orchard.Web/Modules/Orchard.AuditTrail/Providers/ContentDefinition/ContentPartAuditTrailEventProvider.cs @@ -1,8 +1,9 @@ -using Orchard.AuditTrail.Models; -using Orchard.AuditTrail.Services; +using Orchard.AuditTrail.Services; using Orchard.AuditTrail.Services.Models; +using Orchard.Environment.Extensions; namespace Orchard.AuditTrail.Providers.ContentDefinition { + [OrchardFeature("Orchard.AuditTrail.ContentTypeDefinition")] public class ContentPartAuditTrailEventProvider : AuditTrailEventProviderBase { public const string Created = "Created"; public const string Removed = "Removed"; diff --git a/src/Orchard.Web/Modules/Orchard.AuditTrail/Providers/ContentDefinition/ContentTypeAuditTrailEventProvider.cs b/src/Orchard.Web/Modules/Orchard.AuditTrail/Providers/ContentDefinition/ContentTypeAuditTrailEventProvider.cs index 55537237b..bf29d6f30 100644 --- a/src/Orchard.Web/Modules/Orchard.AuditTrail/Providers/ContentDefinition/ContentTypeAuditTrailEventProvider.cs +++ b/src/Orchard.Web/Modules/Orchard.AuditTrail/Providers/ContentDefinition/ContentTypeAuditTrailEventProvider.cs @@ -4,8 +4,10 @@ using Orchard.AuditTrail.Helpers; using Orchard.AuditTrail.Services; using Orchard.AuditTrail.Services.Models; using Orchard.ContentManagement.MetaData; +using Orchard.Environment.Extensions; namespace Orchard.AuditTrail.Providers.ContentDefinition { + [OrchardFeature("Orchard.AuditTrail.ContentTypeDefinition")] public class ContentTypeAuditTrailEventProvider : AuditTrailEventProviderBase { private readonly IContentDefinitionManager _contentDefinitionManager; diff --git a/src/Orchard.Web/Modules/Orchard.AuditTrail/Providers/ContentDefinition/GlobalContentDefinitionEditorEvents.cs b/src/Orchard.Web/Modules/Orchard.AuditTrail/Providers/ContentDefinition/GlobalContentDefinitionEditorEvents.cs index f61106b3d..6a4c36573 100644 --- a/src/Orchard.Web/Modules/Orchard.AuditTrail/Providers/ContentDefinition/GlobalContentDefinitionEditorEvents.cs +++ b/src/Orchard.Web/Modules/Orchard.AuditTrail/Providers/ContentDefinition/GlobalContentDefinitionEditorEvents.cs @@ -4,8 +4,10 @@ using Orchard.ContentManagement; using Orchard.ContentManagement.MetaData; using Orchard.ContentManagement.MetaData.Builders; using Orchard.ContentManagement.ViewModels; +using Orchard.Environment.Extensions; namespace Orchard.AuditTrail.Providers.ContentDefinition { + [OrchardFeature("Orchard.AuditTrail.ContentTypeDefinition")] public class GlobalContentDefinitionEditorEvents : ContentDefinitionEditorEventsBase { private readonly IAuditTrailManager _auditTrailManager; private readonly IWorkContextAccessor _wca; diff --git a/src/Orchard.Web/Modules/Orchard.AuditTrail/Providers/ContentDefinition/IContentDefinitionEventHandler.cs b/src/Orchard.Web/Modules/Orchard.AuditTrail/Providers/ContentDefinition/IContentDefinitionEventHandler.cs deleted file mode 100644 index e5f921f7c..000000000 --- a/src/Orchard.Web/Modules/Orchard.AuditTrail/Providers/ContentDefinition/IContentDefinitionEventHandler.cs +++ /dev/null @@ -1,14 +0,0 @@ -using Orchard.Events; - -namespace Orchard.AuditTrail.Providers.ContentDefinition { - public interface IContentDefinitionEventHandler : IEventHandler { - void ContentTypeCreated(dynamic context); - void ContentTypeRemoved(dynamic context); - void ContentPartCreated(dynamic context); - void ContentPartRemoved(dynamic context); - void ContentPartAttached(dynamic context); - void ContentPartDetached(dynamic context); - void ContentFieldAttached(dynamic context); - void ContentFieldDetached(dynamic context); - } -} \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.AuditTrail/Providers/Role/RoleAuditTrailEventProvider.cs b/src/Orchard.Web/Modules/Orchard.AuditTrail/Providers/Role/RoleAuditTrailEventProvider.cs index ebac1ea51..2c0c301e6 100644 --- a/src/Orchard.Web/Modules/Orchard.AuditTrail/Providers/Role/RoleAuditTrailEventProvider.cs +++ b/src/Orchard.Web/Modules/Orchard.AuditTrail/Providers/Role/RoleAuditTrailEventProvider.cs @@ -1,8 +1,9 @@ -using Orchard.AuditTrail.Models; -using Orchard.AuditTrail.Services; +using Orchard.AuditTrail.Services; using Orchard.AuditTrail.Services.Models; +using Orchard.Environment.Extensions; namespace Orchard.AuditTrail.Providers.Role { + [OrchardFeature("Orchard.AuditTrail.Role")] public class RoleAuditTrailEventProvider : AuditTrailEventProviderBase { public const string Created = "Created"; public const string Removed = "Removed"; diff --git a/src/Orchard.Web/Modules/Orchard.AuditTrail/Providers/Role/RoleEventHandler.cs b/src/Orchard.Web/Modules/Orchard.AuditTrail/Providers/Role/RoleEventHandler.cs index 6da64a24d..e73562a78 100644 --- a/src/Orchard.Web/Modules/Orchard.AuditTrail/Providers/Role/RoleEventHandler.cs +++ b/src/Orchard.Web/Modules/Orchard.AuditTrail/Providers/Role/RoleEventHandler.cs @@ -1,8 +1,10 @@ using System.Collections.Generic; using Orchard.AuditTrail.Services; +using Orchard.Environment.Extensions; using Orchard.Security; namespace Orchard.AuditTrail.Providers.Role { + [OrchardFeature("Orchard.AuditTrail.Role")] public class RoleEventHandler : IRoleEventHandler { private readonly IAuditTrailManager _auditTrailManager; private readonly IWorkContextAccessor _wca; diff --git a/src/Orchard.Web/Modules/Orchard.AuditTrail/Providers/User/UserAuditTrailEventProvider.cs b/src/Orchard.Web/Modules/Orchard.AuditTrail/Providers/User/UserAuditTrailEventProvider.cs index 38325709a..6bb5bb2d1 100644 --- a/src/Orchard.Web/Modules/Orchard.AuditTrail/Providers/User/UserAuditTrailEventProvider.cs +++ b/src/Orchard.Web/Modules/Orchard.AuditTrail/Providers/User/UserAuditTrailEventProvider.cs @@ -1,8 +1,9 @@ -using Orchard.AuditTrail.Models; -using Orchard.AuditTrail.Services; +using Orchard.AuditTrail.Services; using Orchard.AuditTrail.Services.Models; +using Orchard.Environment.Extensions; namespace Orchard.AuditTrail.Providers.User { + [OrchardFeature("Orchard.AuditTrail.User")] public class UserAuditTrailEventProvider : AuditTrailEventProviderBase { public const string LoggedIn = "LoggedIn"; public const string LoggedOut = "LoggedOut"; diff --git a/src/Orchard.Web/Modules/Orchard.AuditTrail/Providers/User/UserEventHandler.cs b/src/Orchard.Web/Modules/Orchard.AuditTrail/Providers/User/UserEventHandler.cs index 185f0d156..fe58eb41a 100644 --- a/src/Orchard.Web/Modules/Orchard.AuditTrail/Providers/User/UserEventHandler.cs +++ b/src/Orchard.Web/Modules/Orchard.AuditTrail/Providers/User/UserEventHandler.cs @@ -1,8 +1,10 @@ using System.Collections.Generic; using Orchard.AuditTrail.Services; +using Orchard.Environment.Extensions; using Orchard.Security; namespace Orchard.AuditTrail.Providers.User { + [OrchardFeature("Orchard.AuditTrail.User")] public class UserEventHandler : IUserEventHandler { private readonly IAuditTrailManager _auditTrailManager; private readonly IWorkContextAccessor _wca;