From ab9d9d2d79fdfddce5cd7b142f44d7e42c459d00 Mon Sep 17 00:00:00 2001 From: Sebastien Ros Date: Wed, 20 Feb 2013 12:18:37 -0800 Subject: [PATCH] Creating Close Comment activity --HG-- branch : 1.x --- .../Activities/CloseCommentsActivity.cs | 53 +++++++++++++++++++ .../Modules/Orchard.Workflows/Module.txt | 2 +- .../Orchard.Workflows.csproj | 6 +++ 3 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 src/Orchard.Web/Modules/Orchard.Workflows/Activities/CloseCommentsActivity.cs diff --git a/src/Orchard.Web/Modules/Orchard.Workflows/Activities/CloseCommentsActivity.cs b/src/Orchard.Web/Modules/Orchard.Workflows/Activities/CloseCommentsActivity.cs new file mode 100644 index 000000000..6dba30dfe --- /dev/null +++ b/src/Orchard.Web/Modules/Orchard.Workflows/Activities/CloseCommentsActivity.cs @@ -0,0 +1,53 @@ +using System.Collections.Generic; +using Orchard.Comments.Models; +using Orchard.ContentManagement; +using Orchard.Localization; +using Orchard.Logging; +using Orchard.Workflows.Models; +using Orchard.Workflows.Services; + +namespace Orchard.Workflows.Activities { + public class CloseCommentsActivity : Task { + + public CloseCommentsActivity() { + T = NullLocalizer.Instance; + Logger = NullLogger.Instance; + } + + public Localizer T { get; set; } + public ILogger Logger { get; set; } + + public override string Name { + get { return "CloseComments"; } + } + + public override LocalizedString Category { + get { return T("Comments"); } + } + + public override LocalizedString Description { + get { return T("Closes the comments on the currently processed content item."); } + } + + public override string Form { + get { return null; } + } + + public override IEnumerable GetPossibleOutcomes(WorkflowContext workflowContext, ActivityContext activityContext) { + return new[] {T("Done")}; + } + + public override IEnumerable Execute(WorkflowContext workflowContext, ActivityContext activityContext) { + var content = workflowContext.Content; + + if (content != null) { + var comments = content.As(); + if (comments != null) { + comments.CommentsActive = false; + } + } + + yield return T("Done"); + } + } +} \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.Workflows/Module.txt b/src/Orchard.Web/Modules/Orchard.Workflows/Module.txt index e78aa1a35..cc8231f4c 100644 --- a/src/Orchard.Web/Modules/Orchard.Workflows/Module.txt +++ b/src/Orchard.Web/Modules/Orchard.Workflows/Module.txt @@ -9,4 +9,4 @@ Description: Description for the module Features: Orchard.Workflows: Description: Description for feature Orchard.Workflows. - Dependencies: Orchard.Tokens, Orchard.Forms, Orchard.jQuery, Orchard.Roles \ No newline at end of file + Dependencies: Orchard.Tokens, Orchard.Forms, Orchard.jQuery, Orchard.Roles, Orchard.Comments \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.Workflows/Orchard.Workflows.csproj b/src/Orchard.Web/Modules/Orchard.Workflows/Orchard.Workflows.csproj index 9c021ba79..583083f80 100644 --- a/src/Orchard.Web/Modules/Orchard.Workflows/Orchard.Workflows.csproj +++ b/src/Orchard.Web/Modules/Orchard.Workflows/Orchard.Workflows.csproj @@ -71,6 +71,7 @@ + @@ -103,6 +104,10 @@ {9916839C-39FC-4CEB-A5AF-89CA7E87119F} Orchard.Core + + {14C049FD-B35B-415A-A824-87F26B26E7FD} + Orchard.Comments + {642a49d7-8752-4177-80d6-bfbbcfad3de0} Orchard.Forms @@ -120,6 +125,7 @@ +