From 165dfa9b4b146a70f3655307ca2a4ac0bd4e2376 Mon Sep 17 00:00:00 2001 From: Sebastien Ros Date: Fri, 21 Sep 2012 17:20:19 -0700 Subject: [PATCH] #18955: Using GetMany() on bulk actions in Contents controller Work Item: 18955 --HG-- branch : 1.x --- .../Core/Contents/Controllers/AdminController.cs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/Orchard.Web/Core/Contents/Controllers/AdminController.cs b/src/Orchard.Web/Core/Contents/Controllers/AdminController.cs index 687e7f82a..ddd16a208 100644 --- a/src/Orchard.Web/Core/Contents/Controllers/AdminController.cs +++ b/src/Orchard.Web/Core/Contents/Controllers/AdminController.cs @@ -128,11 +128,12 @@ namespace Orchard.Core.Contents.Controllers { [FormValueRequired("submit.BulkEdit")] public ActionResult ListPOST(ContentOptions options, IEnumerable itemIds, string returnUrl) { if (itemIds != null) { + var checkedContentItems = _contentManager.GetMany(itemIds, VersionOptions.Latest, QueryHints.Empty); switch (options.BulkAction) { case ContentsBulkAction.None: break; case ContentsBulkAction.PublishNow: - foreach (var item in itemIds.Select(itemId => _contentManager.GetLatest(itemId))) { + foreach (var item in checkedContentItems) { if (!Services.Authorizer.Authorize(Permissions.PublishContent, item, T("Couldn't publish selected content."))) { _transactionManager.Cancel(); return new HttpUnauthorizedResult(); @@ -143,7 +144,7 @@ namespace Orchard.Core.Contents.Controllers { Services.Notifier.Information(T("Content successfully published.")); break; case ContentsBulkAction.Unpublish: - foreach (var item in itemIds.Select(itemId => _contentManager.GetLatest(itemId))) { + foreach (var item in checkedContentItems) { if (!Services.Authorizer.Authorize(Permissions.PublishContent, item, T("Couldn't unpublish selected content."))) { _transactionManager.Cancel(); return new HttpUnauthorizedResult(); @@ -154,7 +155,7 @@ namespace Orchard.Core.Contents.Controllers { Services.Notifier.Information(T("Content successfully unpublished.")); break; case ContentsBulkAction.Remove: - foreach (var item in itemIds.Select(itemId => _contentManager.GetLatest(itemId))) { + foreach (var item in checkedContentItems) { if (!Services.Authorizer.Authorize(Permissions.DeleteContent, item, T("Couldn't remove selected content."))) { _transactionManager.Cancel(); return new HttpUnauthorizedResult();