* Rename Umbraco.Core namespace to Umbraco.Cms.Core * Move extension methods in core project to Umbraco.Extensions * Move extension methods in core project to Umbraco.Extensions * Rename Umbraco.Examine namespace to Umbraco.Cms.Examine * Move examine extensions to Umbraco.Extensions namespace * Reflect changed namespaces in Builder and fix unit tests * Adjust namespace in Umbraco.ModelsBuilder.Embedded * Adjust namespace in Umbraco.Persistence.SqlCe * Adjust namespace in Umbraco.PublishedCache.NuCache * Align namespaces in Umbraco.Web.BackOffice * Align namespaces in Umbraco.Web.Common * Ensure that SqlCeSupport is still enabled after changing the namespace * Align namespaces in Umbraco.Web.Website * Align namespaces in Umbraco.Web.UI.NetCore * Align namespaces in Umbraco.Tests.Common * Align namespaces in Umbraco.Tests.UnitTests * Align namespaces in Umbraco.Tests.Integration * Fix errors caused by changed namespaces * Fix integration tests * Undo the Umbraco.Examine.Lucene namespace change This breaks integration tests on linux, since the namespace wont exists there because it's only used on windows. * Fix merge * Fix Merge
64 lines
2.4 KiB
C#
64 lines
2.4 KiB
C#
using Microsoft.AspNetCore.Authorization;
|
|
using Microsoft.AspNetCore.Http;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using Umbraco.Cms.Core;
|
|
using Umbraco.Cms.Core.Services;
|
|
using Umbraco.Cms.Core.Trees;
|
|
using Umbraco.Cms.Web.Common.Attributes;
|
|
using Umbraco.Cms.Web.Common.Authorization;
|
|
using Constants = Umbraco.Cms.Core.Constants;
|
|
|
|
namespace Umbraco.Cms.Web.BackOffice.Trees
|
|
{
|
|
[Authorize(Policy = AuthorizationPolicies.TreeAccessUsers)]
|
|
[Tree(Constants.Applications.Users, Constants.Trees.Users, SortOrder = 0, IsSingleNodeTree = true)]
|
|
[PluginController(Constants.Web.Mvc.BackOfficeTreeArea)]
|
|
[CoreTree]
|
|
public class UserTreeController : TreeController
|
|
{
|
|
private readonly IMenuItemCollectionFactory _menuItemCollectionFactory;
|
|
|
|
public UserTreeController(
|
|
IMenuItemCollectionFactory menuItemCollectionFactory,
|
|
ILocalizedTextService localizedTextService,
|
|
UmbracoApiControllerTypeCollection umbracoApiControllerTypeCollection
|
|
) : base(localizedTextService, umbracoApiControllerTypeCollection)
|
|
{
|
|
_menuItemCollectionFactory = menuItemCollectionFactory;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Helper method to create a root model for a tree
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
protected override ActionResult<TreeNode> CreateRootNode(FormCollection queryStrings)
|
|
{
|
|
var rootResult = base.CreateRootNode(queryStrings);
|
|
if (!(rootResult.Result is null))
|
|
{
|
|
return rootResult;
|
|
}
|
|
var root = rootResult.Value;
|
|
|
|
//this will load in a custom UI instead of the dashboard for the root node
|
|
root.RoutePath = $"{Constants.Applications.Users}/{Constants.Trees.Users}/users";
|
|
root.Icon = Constants.Icons.UserGroup;
|
|
|
|
root.HasChildren = false;
|
|
return root;
|
|
}
|
|
|
|
protected override ActionResult<TreeNodeCollection> GetTreeNodes(string id, FormCollection queryStrings)
|
|
{
|
|
//full screen app without tree nodes
|
|
return TreeNodeCollection.Empty;
|
|
}
|
|
|
|
protected override ActionResult<MenuItemCollection> GetMenuForNode(string id, FormCollection queryStrings)
|
|
{
|
|
//doesn't have a menu, this is a full screen app without tree nodes
|
|
return _menuItemCollectionFactory.Create();
|
|
}
|
|
}
|
|
}
|