From 6b32f6db3cdc7c13f4ef75bb0d8bab52bc4ec606 Mon Sep 17 00:00:00 2001 From: Sipke Schoorstra Date: Fri, 28 Nov 2014 20:26:22 -0800 Subject: [PATCH] Making the SigninUserActivity support logging in the contextual content item if that content has the UserPart attached. --- .../Orchard.Users/Activities/SignInUserActivity.cs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/Orchard.Web/Modules/Orchard.Users/Activities/SignInUserActivity.cs b/src/Orchard.Web/Modules/Orchard.Users/Activities/SignInUserActivity.cs index 5a1b4f915..4df4c440b 100644 --- a/src/Orchard.Web/Modules/Orchard.Users/Activities/SignInUserActivity.cs +++ b/src/Orchard.Web/Modules/Orchard.Users/Activities/SignInUserActivity.cs @@ -1,9 +1,11 @@ using System; using System.Collections.Generic; using System.Linq; +using Orchard.ContentManagement; using Orchard.Environment.Extensions; using Orchard.Localization; using Orchard.Security; +using Orchard.Users.Models; using Orchard.Workflows.Models; using Orchard.Workflows.Services; @@ -30,7 +32,7 @@ namespace Orchard.Users.Activities { } public override LocalizedString Description { - get { return T("Signs in a user based on the specified credentials."); } + get { return T("Signs in a user based on the specified credentials, or if the current content item us a user, that user is signed in."); } } public override string Form { @@ -54,7 +56,9 @@ namespace Orchard.Users.Activities { yield break; } - var user = _membershipService.ValidateUser(userNameOrEmail, password); + var user = !String.IsNullOrWhiteSpace(userNameOrEmail) + ? _membershipService.ValidateUser(userNameOrEmail, password) + : workflowContext.Content != null ? workflowContext.Content.As() : default(UserPart); if (user == null) { yield return T("IncorrectUserNameOrPassword");