diff --git a/src/Orchard.Web/Modules/Orchard.Layouts/Providers/SnippetElementHarvester.cs b/src/Orchard.Web/Modules/Orchard.Layouts/Providers/SnippetElementHarvester.cs index cca37506f..9ab4cd7ad 100644 --- a/src/Orchard.Web/Modules/Orchard.Layouts/Providers/SnippetElementHarvester.cs +++ b/src/Orchard.Web/Modules/Orchard.Layouts/Providers/SnippetElementHarvester.cs @@ -125,6 +125,7 @@ namespace Orchard.Layouts.Providers { var shape = (dynamic)_shapeFactory.Value.Create(shapeType); shape.Element = context.Element; + shape.SnippetDescriptor = snippetDescriptor; if (snippetDescriptor != null) { foreach (var fieldDescriptor in snippetDescriptor.Fields) { diff --git a/src/Orchard.Web/Modules/Orchard.PublishLater/Drivers/PublishLaterPartDriver.cs b/src/Orchard.Web/Modules/Orchard.PublishLater/Drivers/PublishLaterPartDriver.cs index 8edefd9d5..bef714637 100644 --- a/src/Orchard.Web/Modules/Orchard.PublishLater/Drivers/PublishLaterPartDriver.cs +++ b/src/Orchard.Web/Modules/Orchard.PublishLater/Drivers/PublishLaterPartDriver.cs @@ -11,6 +11,7 @@ using Orchard.PublishLater.Models; using Orchard.PublishLater.Services; using Orchard.PublishLater.ViewModels; using Orchard.Services; +using Orchard.Tasks.Scheduling; namespace Orchard.PublishLater.Drivers { public class PublishLaterPartDriver : ContentPartDriver { @@ -19,19 +20,22 @@ namespace Orchard.PublishLater.Drivers { private readonly IPublishLaterService _publishLaterService; private readonly IClock _clock; private readonly IDateLocalizationServices _dateLocalizationServices; + private readonly IPublishingTaskManager _publishingTaskManager; public PublishLaterPartDriver( IOrchardServices services, IHttpContextAccessor httpContextAccessor, IPublishLaterService publishLaterService, IClock clock, - IDateLocalizationServices dateLocalizationServices) { + IDateLocalizationServices dateLocalizationServices, + IPublishingTaskManager publishingTaskManager) { _httpContextAccessor = httpContextAccessor; _publishLaterService = publishLaterService; _clock = clock; _dateLocalizationServices = dateLocalizationServices; T = NullLocalizer.Instance; Services = services; + _publishingTaskManager = publishingTaskManager; } public Localizer T { @@ -105,6 +109,9 @@ namespace Orchard.PublishLater.Drivers { } } + if (httpContext.Request.Form["submit.Save"] == "submit.CancelPublishLaterTasks") { + _publishingTaskManager.DeleteTasks(model.ContentItem); + } return ContentShape("Parts_PublishLater_Edit", () => shapeHelper.EditorTemplate(TemplateName: TemplateName, Model: model, Prefix: Prefix)); } diff --git a/src/Orchard.Web/Modules/Orchard.PublishLater/Views/EditorTemplates/Parts/PublishLater.cshtml b/src/Orchard.Web/Modules/Orchard.PublishLater/Views/EditorTemplates/Parts/PublishLater.cshtml index 8f0aa281c..5dc5b49a1 100644 --- a/src/Orchard.Web/Modules/Orchard.PublishLater/Views/EditorTemplates/Parts/PublishLater.cshtml +++ b/src/Orchard.Web/Modules/Orchard.PublishLater/Views/EditorTemplates/Parts/PublishLater.cshtml @@ -41,6 +41,9 @@ @Html.HiddenFor(m => m.Editor.ShowTime) @Html.EditorFor(m => m.Editor) + @if (!string.IsNullOrEmpty(Model.Editor.Date)) { + + } using (Script.Foot()) {