Cleans up how the content path permissions are checked, integrates the bulk publishing into the controller, adds security check to ensure the user can publish the whole branch, updates the UI messaging so they are grouped by publish statuses and deals with multiple publish status (i.e. in bulk), fixes some content tree issues
This commit is contained in:
@@ -65,38 +65,36 @@ namespace Umbraco.Web.Trees
|
||||
queryStrings,
|
||||
hasChildren);
|
||||
|
||||
// entity is either a container, or a document
|
||||
// set container style if it is one
|
||||
if (isContainer)
|
||||
{
|
||||
node.AdditionalData.Add("isContainer", true);
|
||||
node.SetContainerStyle();
|
||||
}
|
||||
|
||||
var documentEntity = (IDocumentEntitySlim)entity;
|
||||
|
||||
if (!documentEntity.Variations.VariesByCulture())
|
||||
{
|
||||
if (!documentEntity.Published)
|
||||
node.SetNotPublishedStyle();
|
||||
else if (documentEntity.Edited)
|
||||
node.SetHasPendingVersionStyle();
|
||||
}
|
||||
else
|
||||
{
|
||||
var documentEntity = (IDocumentEntitySlim) entity;
|
||||
|
||||
if (!documentEntity.Variations.VariesByCulture())
|
||||
if (!culture.IsNullOrWhiteSpace())
|
||||
{
|
||||
if (!documentEntity.Published)
|
||||
if (!documentEntity.Published || !documentEntity.PublishedCultures.Contains(culture))
|
||||
node.SetNotPublishedStyle();
|
||||
else if (documentEntity.Edited)
|
||||
else if (documentEntity.EditedCultures.Contains(culture))
|
||||
node.SetHasPendingVersionStyle();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!culture.IsNullOrWhiteSpace())
|
||||
{
|
||||
if (!documentEntity.PublishedCultures.Contains(culture))
|
||||
node.SetNotPublishedStyle();
|
||||
else if (documentEntity.EditedCultures.Contains(culture))
|
||||
node.SetHasPendingVersionStyle();
|
||||
}
|
||||
}
|
||||
|
||||
node.AdditionalData.Add("variesByCulture", documentEntity.Variations.VariesByCulture());
|
||||
node.AdditionalData.Add("contentType", documentEntity.ContentTypeAlias);
|
||||
}
|
||||
|
||||
node.AdditionalData.Add("variesByCulture", documentEntity.Variations.VariesByCulture());
|
||||
node.AdditionalData.Add("contentType", documentEntity.ContentTypeAlias);
|
||||
|
||||
if (Services.PublicAccessService.IsProtected(entity.Path))
|
||||
node.SetProtectedStyle();
|
||||
|
||||
@@ -161,7 +159,7 @@ namespace Umbraco.Web.Trees
|
||||
}
|
||||
|
||||
//if the user has no path access for this node, all they can do is refresh
|
||||
if (Security.CurrentUser.HasPathAccess(item, Services.EntityService, RecycleBinId) == false)
|
||||
if (!Security.CurrentUser.HasContentPathAccess(item, Services.EntityService))
|
||||
{
|
||||
var menu = new MenuItemCollection();
|
||||
menu.Items.Add(new RefreshNode(Services.TextService, true));
|
||||
|
||||
Reference in New Issue
Block a user