mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-10-14 10:54:50 +08:00
16977 Check publication permission is being checked in PublishLater and ArchiveLater
--HG-- branch : dev
This commit is contained in:
@@ -2,6 +2,8 @@
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
using Orchard.ArchiveLater.Models;
|
using Orchard.ArchiveLater.Models;
|
||||||
using Orchard.ContentManagement;
|
using Orchard.ContentManagement;
|
||||||
|
using Orchard.Core.Contents;
|
||||||
|
using Orchard.Localization;
|
||||||
using Orchard.Tasks.Scheduling;
|
using Orchard.Tasks.Scheduling;
|
||||||
|
|
||||||
namespace Orchard.ArchiveLater.Services {
|
namespace Orchard.ArchiveLater.Services {
|
||||||
@@ -10,11 +12,21 @@ namespace Orchard.ArchiveLater.Services {
|
|||||||
|
|
||||||
private readonly IScheduledTaskManager _scheduledTaskManager;
|
private readonly IScheduledTaskManager _scheduledTaskManager;
|
||||||
|
|
||||||
public ArchiveLaterService(IScheduledTaskManager scheduledTaskManager) {
|
public ArchiveLaterService(
|
||||||
|
IOrchardServices services,
|
||||||
|
IScheduledTaskManager scheduledTaskManager) {
|
||||||
|
Services = services;
|
||||||
_scheduledTaskManager = scheduledTaskManager;
|
_scheduledTaskManager = scheduledTaskManager;
|
||||||
|
T = NullLocalizer.Instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public IOrchardServices Services { get; set; }
|
||||||
|
public Localizer T { get; set; }
|
||||||
|
|
||||||
void IArchiveLaterService.ArchiveLater(ContentItem contentItem, DateTime scheduledArchiveUtc) {
|
void IArchiveLaterService.ArchiveLater(ContentItem contentItem, DateTime scheduledArchiveUtc) {
|
||||||
|
if (!Services.Authorizer.Authorize(Permissions.PublishOthersContent, contentItem, T("Couldn't archive selected content.")))
|
||||||
|
return;
|
||||||
|
|
||||||
RemoveArchiveLaterTasks(contentItem);
|
RemoveArchiveLaterTasks(contentItem);
|
||||||
_scheduledTaskManager.CreateTask(UnpublishTaskType, scheduledArchiveUtc, contentItem);
|
_scheduledTaskManager.CreateTask(UnpublishTaskType, scheduledArchiveUtc, contentItem);
|
||||||
}
|
}
|
||||||
|
@@ -1,5 +1,7 @@
|
|||||||
using System;
|
using System;
|
||||||
using Orchard.ContentManagement;
|
using Orchard.ContentManagement;
|
||||||
|
using Orchard.Core.Contents;
|
||||||
|
using Orchard.Localization;
|
||||||
using Orchard.PublishLater.Models;
|
using Orchard.PublishLater.Models;
|
||||||
using Orchard.Tasks.Scheduling;
|
using Orchard.Tasks.Scheduling;
|
||||||
|
|
||||||
@@ -7,11 +9,21 @@ namespace Orchard.PublishLater.Services {
|
|||||||
public class PublishLaterService : IPublishLaterService {
|
public class PublishLaterService : IPublishLaterService {
|
||||||
private readonly IPublishingTaskManager _publishingTaskManager;
|
private readonly IPublishingTaskManager _publishingTaskManager;
|
||||||
|
|
||||||
public PublishLaterService(IPublishingTaskManager publishingTaskManager) {
|
public PublishLaterService(
|
||||||
|
IOrchardServices services,
|
||||||
|
IPublishingTaskManager publishingTaskManager) {
|
||||||
|
Services = services;
|
||||||
_publishingTaskManager = publishingTaskManager;
|
_publishingTaskManager = publishingTaskManager;
|
||||||
|
T = NullLocalizer.Instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public IOrchardServices Services { get; set; }
|
||||||
|
public Localizer T { get; set; }
|
||||||
|
|
||||||
void IPublishLaterService.Publish(ContentItem contentItem, DateTime scheduledPublishUtc) {
|
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);
|
_publishingTaskManager.Publish(contentItem, scheduledPublishUtc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user