public async Task <IActionResult> DiscardDraft(string contentItemId, string returnUrl) { var contentItem = await _contentManager.GetAsync(contentItemId, VersionOptions.Latest); if (contentItem == null || contentItem.Published) { return(NotFound()); } if (!await _authorizationService.AuthorizeAsync(User, Permissions.DeleteContent, contentItem)) { return(Unauthorized()); } if (contentItem != null) { var typeDefinition = _contentDefinitionManager.GetTypeDefinition(contentItem.ContentType); await _contentManager.DiscardDraftAsync(contentItem); _notifier.Success(string.IsNullOrWhiteSpace(typeDefinition.DisplayName) ? T["The draft has been removed."] : T["The {0} draft has been removed.", typeDefinition.DisplayName]); } return(Url.IsLocalUrl(returnUrl) ? (IActionResult)LocalRedirect(returnUrl) : RedirectToAction("List")); }
public async Task <IActionResult> DiscardDraft(string contentItemId, string returnUrl) { var contentItem = await _contentManager.GetAsync(contentItemId, VersionOptions.Latest); if (contentItem == null || contentItem.Published) { return(NotFound()); } if (!await IsAuthorizedAsync(CommonPermissions.DeleteContent, contentItem)) { return(Forbid()); } if (contentItem != null) { var typeDefinition = _contentDefinitionManager.GetTypeDefinition(contentItem.ContentType); await _contentManager.DiscardDraftAsync(contentItem); await _notifier.SuccessAsync(string.IsNullOrWhiteSpace(typeDefinition.DisplayName) ?H["The draft has been removed."] : H["The {0} draft has been removed.", typeDefinition.DisplayName]); } return(Url.IsLocalUrl(returnUrl) ? (IActionResult)this.LocalRedirect(returnUrl, true) : RedirectToAction(nameof(List))); }