16977 Check publication permission is being checked in PublishLater and ArchiveLater

--HG--
branch : dev
This commit is contained in:
Suha Can
2010-12-08 16:00:12 -08:00
parent ea760cfe2e
commit 5e3acea767
2 changed files with 26 additions and 2 deletions

View File

@@ -2,6 +2,8 @@
using System.Linq;
using Orchard.ArchiveLater.Models;
using Orchard.ContentManagement;
using Orchard.Core.Contents;
using Orchard.Localization;
using Orchard.Tasks.Scheduling;
namespace Orchard.ArchiveLater.Services {
@@ -10,11 +12,21 @@ namespace Orchard.ArchiveLater.Services {
private readonly IScheduledTaskManager _scheduledTaskManager;
public ArchiveLaterService(IScheduledTaskManager scheduledTaskManager) {
public ArchiveLaterService(
IOrchardServices services,
IScheduledTaskManager scheduledTaskManager) {
Services = services;
_scheduledTaskManager = scheduledTaskManager;
T = NullLocalizer.Instance;
}
public IOrchardServices Services { get; set; }
public Localizer T { get; set; }
void IArchiveLaterService.ArchiveLater(ContentItem contentItem, DateTime scheduledArchiveUtc) {
if (!Services.Authorizer.Authorize(Permissions.PublishOthersContent, contentItem, T("Couldn't archive selected content.")))
return;
RemoveArchiveLaterTasks(contentItem);
_scheduledTaskManager.CreateTask(UnpublishTaskType, scheduledArchiveUtc, contentItem);
}

View File

@@ -1,5 +1,7 @@
using System;
using Orchard.ContentManagement;
using Orchard.Core.Contents;
using Orchard.Localization;
using Orchard.PublishLater.Models;
using Orchard.Tasks.Scheduling;
@@ -7,11 +9,21 @@ namespace Orchard.PublishLater.Services {
public class PublishLaterService : IPublishLaterService {
private readonly IPublishingTaskManager _publishingTaskManager;
public PublishLaterService(IPublishingTaskManager publishingTaskManager) {
public PublishLaterService(
IOrchardServices services,
IPublishingTaskManager publishingTaskManager) {
Services = services;
_publishingTaskManager = publishingTaskManager;
T = NullLocalizer.Instance;
}
public IOrchardServices Services { get; set; }
public Localizer T { get; set; }
void IPublishLaterService.Publish(ContentItem contentItem, DateTime scheduledPublishUtc) {
if (!Services.Authorizer.Authorize(Permissions.PublishOthersContent, contentItem, T("Couldn't publish selected content.")))
return;
_publishingTaskManager.Publish(contentItem, scheduledPublishUtc);
}