Fixes content service publishing status when parent isn't published, fixes listview to properly have selected checkbox (ng-checked is not supposed to be used), fixes the pre-check if nothing is actually selected before performing bulk operations - U4-3149

This commit is contained in:
Shannon
2013-10-15 14:11:28 +11:00
parent 754ed06d86
commit e2e40a3356
5 changed files with 238 additions and 200 deletions

View File

@@ -309,7 +309,34 @@ namespace Umbraco.Web.Editors
return HandleContentNotFound(id, false);
}
Services.ContentService.Publish(foundContent, UmbracoUser.Id);
var publishResult = Services.ContentService.PublishWithStatus(foundContent, UmbracoUser.Id);
if (publishResult.Success == false)
{
switch (publishResult.Result.StatusType)
{
case PublishStatusType.FailedPathNotPublished:
return Request.CreateValidationErrorResponse(
ui.Text("publish", "contentPublishedFailedByParent",
string.Format("{0} ({1})", publishResult.Result.ContentItem.Name, publishResult.Result.ContentItem.Id),
Security.CurrentUser).Trim());
case PublishStatusType.FailedCancelledByEvent:
return Request.CreateValidationErrorResponse(
ui.Text("speechBubbles", "contentPublishedFailedByEvent"));
case PublishStatusType.FailedHasExpired:
case PublishStatusType.FailedAwaitingRelease:
case PublishStatusType.FailedIsTrashed:
case PublishStatusType.FailedContentInvalid:
return Request.CreateValidationErrorResponse(
ui.Text("publish", "contentPublishedFailedInvalid",
new[]
{
string.Format("{0} ({1})", publishResult.Result.ContentItem.Name, publishResult.Result.ContentItem.Id),
string.Join(",", publishResult.Result.InvalidProperties.Select(x => x.Alias))
}, Security.CurrentUser));
}
}
//return ok
return Request.CreateResponse(HttpStatusCode.OK);
}