From b68e7b3c3cf516932a3eeeb441d0945990aa56c7 Mon Sep 17 00:00:00 2001 From: suhacan Date: Fri, 8 Jan 2010 22:49:16 +0000 Subject: [PATCH] - Pages: adding Unpublish to the service. The content manager needs to have this capability in addition to publish... --HG-- extra : convert_revision : svn%3A5ff7c347-ad56-4c35-b696-ccb81de16e03/trunk%4045166 --- .../Packages/Orchard.Pages/Controllers/AdminController.cs | 8 ++++++++ src/Orchard.Web/Packages/Orchard.Pages/Permissions.cs | 2 +- .../Packages/Orchard.Pages/Services/IPageService.cs | 1 + .../Packages/Orchard.Pages/Services/PageService.cs | 4 ++++ .../Packages/Orchard.Pages/ViewModels/PagesViewModel.cs | 1 + .../Packages/Orchard.Pages/Views/Admin/List.aspx | 1 + 6 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/Orchard.Web/Packages/Orchard.Pages/Controllers/AdminController.cs b/src/Orchard.Web/Packages/Orchard.Pages/Controllers/AdminController.cs index 7cf5c7355..67ffcca39 100644 --- a/src/Orchard.Web/Packages/Orchard.Pages/Controllers/AdminController.cs +++ b/src/Orchard.Web/Packages/Orchard.Pages/Controllers/AdminController.cs @@ -75,6 +75,14 @@ namespace Orchard.Pages.Controllers { _pageService.Publish(page); } break; + case PagesBulkAction.Unpublish: + if (!Services.Authorizer.Authorize(Permissions.UnpublishPages, T("Couldn't unpublish page"))) + return new HttpUnauthorizedResult(); + foreach (PageEntry entry in checkedEntries) { + var page = _pageService.GetLatest(entry.PageId); + _pageService.Unpublish(page); + } + break; case PagesBulkAction.Delete: if (!Services.Authorizer.Authorize(Permissions.DeletePages, T("Couldn't delete page"))) return new HttpUnauthorizedResult(); diff --git a/src/Orchard.Web/Packages/Orchard.Pages/Permissions.cs b/src/Orchard.Web/Packages/Orchard.Pages/Permissions.cs index 234041c36..715a6705e 100644 --- a/src/Orchard.Web/Packages/Orchard.Pages/Permissions.cs +++ b/src/Orchard.Web/Packages/Orchard.Pages/Permissions.cs @@ -15,7 +15,7 @@ namespace Orchard.Pages { public string PackageName { get { - return "NewPages"; + return "Pages"; } } diff --git a/src/Orchard.Web/Packages/Orchard.Pages/Services/IPageService.cs b/src/Orchard.Web/Packages/Orchard.Pages/Services/IPageService.cs index 47e1c383c..8f8df5b8c 100644 --- a/src/Orchard.Web/Packages/Orchard.Pages/Services/IPageService.cs +++ b/src/Orchard.Web/Packages/Orchard.Pages/Services/IPageService.cs @@ -12,6 +12,7 @@ namespace Orchard.Pages.Services { Page Create(bool publishNow); void Delete(Page page); void Publish(Page page); + void Unpublish(Page page); } public enum PageStatus { diff --git a/src/Orchard.Web/Packages/Orchard.Pages/Services/PageService.cs b/src/Orchard.Web/Packages/Orchard.Pages/Services/PageService.cs index c2f026d03..4edd64dbe 100644 --- a/src/Orchard.Web/Packages/Orchard.Pages/Services/PageService.cs +++ b/src/Orchard.Web/Packages/Orchard.Pages/Services/PageService.cs @@ -69,5 +69,9 @@ namespace Orchard.Pages.Services { public void Publish(Page page) { _contentManager.Publish(page.ContentItem); } + + public void Unpublish(Page page) { + //_contentManager.Unpublish(page.ContentItem); + } } } \ No newline at end of file diff --git a/src/Orchard.Web/Packages/Orchard.Pages/ViewModels/PagesViewModel.cs b/src/Orchard.Web/Packages/Orchard.Pages/ViewModels/PagesViewModel.cs index 51fe23483..246c5d34a 100644 --- a/src/Orchard.Web/Packages/Orchard.Pages/ViewModels/PagesViewModel.cs +++ b/src/Orchard.Web/Packages/Orchard.Pages/ViewModels/PagesViewModel.cs @@ -28,6 +28,7 @@ namespace Orchard.Pages.ViewModels { public enum PagesBulkAction { None, PublishNow, + Unpublish, Delete } } \ No newline at end of file diff --git a/src/Orchard.Web/Packages/Orchard.Pages/Views/Admin/List.aspx b/src/Orchard.Web/Packages/Orchard.Pages/Views/Admin/List.aspx index 7aeb3e269..221967f91 100644 --- a/src/Orchard.Web/Packages/Orchard.Pages/Views/Admin/List.aspx +++ b/src/Orchard.Web/Packages/Orchard.Pages/Views/Admin/List.aspx @@ -12,6 +12,7 @@