Merge branch 'u4-8191' of https://github.com/AndyButland/Umbraco-CMS into AndyButland-u4-8191

Conflicts:
	src/Umbraco.Web/umbraco.presentation/umbraco/Trees/UserPermissions.cs
This commit is contained in:
Sebastiaan Janssen
2016-06-21 17:33:57 +02:00
25 changed files with 81 additions and 82 deletions
@@ -118,6 +118,11 @@
/// </summary>
public const string UserTypes = "userTypes";
/// <summary>
/// alias for the user permissions tree.
/// </summary>
public const string UserPermissions = "userPermissions";
/// <summary>
/// alias for the users tree.
/// </summary>
@@ -969,6 +969,7 @@
<key alias="stylesheets">Stylopisy</key>
<key alias="templates">Šablony</key>
<key alias="xslt">XSLT soubory</key>
<key alias="userPermissions">Oprávnění Uživatele</key>
<key alias="userTypes">Typy Uživatelů</key>
<key alias="users">Uživatelé</key>
</area>
@@ -934,6 +934,7 @@ Vennlig hilsen Umbraco roboten
<key alias="templates">Maler</key>
<key alias="xslt">XSLT Filer</key>
<key alias="analytics">Analytics</key>
<key alias="userPermissions">Brukertillatelser</key>
<key alias="userTypes">Brukertyper typer</key>
<key alias="users">Brukere</key>
</area>
@@ -13,7 +13,6 @@
<add application="settings" alias="stylesheets" title="Stylesheets" type="Umbraco.Web.Trees.StylesheetsTreeController, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="3" />
<add application="settings" alias="scripts" title="Scripts" type="Umbraco.Web.Trees.ScriptsTreeController, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="4" />
<add application="settings" alias="languages" title="Languages" iconClosed="icon-folder" iconOpen="icon-folder-open" type="Umbraco.Web.Trees.LanguageTreeController, umbraco" sortOrder="5" />
<add application="settings" alias="dictionary" title="Dictionary" type="Umbraco.Web.Trees.DictionaryTreeController, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="6" />
<add initialize="true" sortOrder="7" alias="dataTypes" application="settings" title="Data Types" iconClosed="icon-folder" iconOpen="icon-folder" type="Umbraco.Web.Trees.DataTypeTreeController, umbraco" />
<add initialize="true" sortOrder="8" alias="mediaTypes" application="settings" title="Media Types" iconClosed="icon-folder" iconOpen="icon-folder-open" type="Umbraco.Web.Trees.MediaTypeTreeController, umbraco" />
<!--Developer-->
@@ -24,9 +23,9 @@
<add application="developer" alias="xslt" title="XSLT Files" type="Umbraco.Web.Trees.XsltTreeController, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="5" />
<add application="developer" alias="partialViewMacros" type="Umbraco.Web.Trees.PartialViewMacrosTreeController, umbraco" silent="false" initialize="true" sortOrder="6" title="Partial View Macro Files" iconClosed="icon-folder" iconOpen="icon-folder" />
<!--Users-->
<add application="users" alias="users" title="Users" type="umbraco.loadUsers, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="0" />
<add application="users" alias="users" title="Users" type="Umbraco.Web.Trees.UsersTreeController, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="0" />
<add application="users" alias="userTypes" title="User Types" type="Umbraco.Web.Trees.UserTypesTreeController, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="1" />
<add application="users" alias="userPermissions" title="User Permissions" type="umbraco.cms.presentation.Trees.UserPermissions, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="2" />
<add application="users" alias="userPermissions" title="User Permissions" type="Umbraco.Web.Trees.UserPermissionsTreeController, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="2" />
<!--Members-->
<add initialize="true" sortOrder="0" alias="member" application="member" title="Members" iconClosed="icon-folder" iconOpen="icon-folder-open" type="Umbraco.Web.Trees.MemberTreeController, umbraco" />
<add initialize="true" sortOrder="1" alias="memberTypes" application="member" title="Member Types" iconClosed="icon-folder" iconOpen="icon-folder-open" type="Umbraco.Web.Trees.MemberTypeTreeController, umbraco" />
+1 -1
View File
@@ -25,7 +25,7 @@
<!--Users-->
<add application="users" alias="users" title="Users" type="Umbraco.Web.Trees.UsersTreeController, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="0" />
<add application="users" alias="userTypes" title="User Types" type="Umbraco.Web.Trees.UserTypesTreeController, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="1" />
<add application="users" alias="userPermissions" title="User Permissions" type="umbraco.cms.presentation.Trees.UserPermissions, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="2" />
<add application="users" alias="userPermissions" title="User Permissions" type="Umbraco.Web.Trees.UserPermissionsTreeController, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="2" />
<!--Members-->
<add initialize="true" sortOrder="0" alias="member" application="member" title="Members" iconClosed="icon-folder" iconOpen="icon-folder-open" type="Umbraco.Web.Trees.MemberTreeController, umbraco" />
<add initialize="true" sortOrder="1" alias="memberTypes" application="member" title="Member Types" iconClosed="icon-folder" iconOpen="icon-folder-open" type="Umbraco.Web.Trees.MemberTypeTreeController, umbraco" />
@@ -1009,6 +1009,7 @@ Mange hilsner fra Umbraco robotten
<key alias="templates">Skabeloner</key>
<key alias="xslt">XSLT-filer</key>
<key alias="analytics">Analytics</key>
<key alias="userPermissions">Brugertilladelser</key>
<key alias="userTypes">Bruger Typer</key>
<key alias="users">Brugere</key>
</area>
@@ -952,6 +952,7 @@ Ihr freundlicher Umbraco-Robot
<key alias="templates">Vorlagen</key>
<key alias="xslt">XSLT-Dateien</key>
<key alias="analytics">Auswertungen</key>
<key alias="userPermissions">Berechtigungen</key>
<key alias="userTypes">Benutzertypen</key>
<key alias="users">Benutzer</key>
</area>
@@ -1213,6 +1213,7 @@ To manage your website, simply open the Umbraco back office and start adding con
<key alias="templates">Templates</key>
<key alias="xslt">XSLT Files</key>
<key alias="analytics">Analytics</key>
<key alias="userPermissions">User Permissions</key>
<key alias="userTypes">User Types</key>
<key alias="users">Users</key>
</area>
@@ -1218,6 +1218,7 @@ To manage your website, simply open the Umbraco back office and start adding con
<key alias="templates">Templates</key>
<key alias="xslt">XSLT Files</key>
<key alias="analytics">Analytics</key>
<key alias="userPermissions">User Permissions</key>
<key alias="userTypes">User Types</key>
<key alias="users">Users</key>
</area>
@@ -856,6 +856,7 @@
<key alias="stylesheets">Hojas de estilo</key>
<key alias="templates">Plantillas</key>
<key alias="xslt">Archivos XSLT</key>
<key alias="userPermissions">Permisos de Usuarios</key>
<key alias="userTypes">Tipos de Usuarios</key>
<key alias="users">Usuarios</key>
</area>
@@ -990,6 +990,7 @@ Pour gérer votre site, ouvrez simplement le backoffice Umbraco et commencez à
<key alias="stylesheets">Feuilles de style</key>
<key alias="templates">Modèles</key>
<key alias="xslt">Fichiers XSLT</key>
<key alias="userPermissions">Permissions utilisateur</key>
<key alias="userTypes">Types d'utilisateurs</key>
<key alias="users">Utilisateurs</key>
</area>
@@ -875,6 +875,7 @@ To manage your website, simply open the Umbraco back office and start adding con
<key alias="stylesheets">גיליונות סגנון</key>
<key alias="templates">תבניות</key>
<key alias="xslt">קבצי XSLT</key>
<key alias="userPermissions">הרשאות משתמש</key>
<key alias="userTypes">משתמש מקליד</key>
<key alias="users">משתמש</key>
</area>
@@ -848,6 +848,7 @@ Per gestire il tuo sito web, è sufficiente aprire il back office di Umbraco e i
<key alias="stylesheets">Fogli di stile</key>
<key alias="templates">Templates</key>
<key alias="xslt">Files XSLT</key>
<key alias="userPermissions">Permessi Utente</key>
<key alias="userTypes">Tipi di Utente</key>
<key alias="users">Utenti</key>
</area>
@@ -1179,6 +1179,7 @@ Runwayをインストールして作られた新しいウェブサイトがど
<key alias="templates">テンプレート</key>
<key alias="xslt">XSLT ファイル</key>
<key alias="analytics">アナリティクス</key>
<key alias="userPermissions">ユーザーの権限</key>
<key alias="userTypes">ユーザータイプ</key>
<key alias="users">ユーザー</key>
</area>
@@ -852,6 +852,7 @@
<key alias="stylesheets">스타일시트</key>
<key alias="templates">템플릿</key>
<key alias="xslt">XSLT 파일</key>
<key alias="userPermissions">사용자권한</key>
<key alias="userTypes">사용자 유형</key>
<key alias="users">사용자</key>
</area>
@@ -957,6 +957,7 @@ Om een vertalingstaak te sluiten, ga aub naar het detailoverzicht en klik op de
<key alias="stylesheets">Stylesheets</key>
<key alias="templates">Sjablonen</key>
<key alias="xslt">XSLT Bestanden</key>
<key alias="userPermissions">Gebruikersrechten</key>
<key alias="userTypes">Gebruiker Types</key>
<key alias="users">Gebruikers</key>
</area>
@@ -748,6 +748,7 @@ Miłego dnia!]]></key>
<key alias="stylesheets">Arkusze stylów</key>
<key alias="templates">Szablony</key>
<key alias="xslt">Pliki XSLT</key>
<key alias="userPermissions">Prawa dostępu użytkownika</key>
<key alias="userTypes">Typy Użytkowników</key>
<key alias="users">Użytkowników</key>
</area>
@@ -836,6 +836,7 @@ Para fechar a tarefa de tradução vá até os detalhes e clique no botão "Fech
<key alias="stylesheets">Stylesheets</key>
<key alias="templates">Modelos</key>
<key alias="xslt">Arquivos XSLT</key>
<key alias="userPermissions">Permissões de usuário</key>
<key alias="userTypes">Tipos de Usuários</key>
<key alias="users">Usuários</key>
</area>
@@ -1168,6 +1168,7 @@
<key alias="stylesheets">Стили CSS</key>
<key alias="templates">Шаблоны</key>
<key alias="xslt">Файлы XSLT</key>
<key alias="userPermissions">Разрешения для пользователя</key>
<key alias="userTypes">Типы пользователей</key>
<key alias="users">пользователи</key>
</area>
@@ -857,6 +857,7 @@
<key alias="stylesheets">Stilmallar</key>
<key alias="templates">Sidmallar</key>
<key alias="xslt">XSLT-filer</key>
<key alias="userPermissions">Användarrättigheter</key>
<key alias="userTypes">Användartyper</key>
<key alias="users">Användare</key>
</area>
@@ -926,6 +926,7 @@
<key alias="stylesheets">样式表</key>
<key alias="templates">模板</key>
<key alias="xslt">XSLT文件</key>
<key alias="userPermissions">用户权限</key>
<key alias="userTypes">用户类型</key>
<key alias="users">Users</key>
</area>
@@ -0,0 +1,53 @@
using System;
using System.Linq;
using System.Net.Http.Formatting;
using Umbraco.Core;
using Umbraco.Core.Services;
using Umbraco.Web.Models.Trees;
using Umbraco.Web.Mvc;
using Umbraco.Web.WebApi.Filters;
using Umbraco.Web._Legacy.Actions;
using Constants = Umbraco.Core.Constants;
namespace Umbraco.Web.Trees
{
[UmbracoTreeAuthorize(Constants.Trees.UserPermissions)]
[Tree(Constants.Applications.Users, Constants.Trees.UserPermissions, null, sortOrder: 2)]
[PluginController("UmbracoTrees")]
[CoreTree]
public class UserPermissionsTreeController : TreeController
{
protected override TreeNodeCollection GetTreeNodes(string id, FormDataCollection queryStrings)
{
var nodes = new TreeNodeCollection();
long totalUsers;
nodes.AddRange(
Services.UserService.GetAll(0, int.MaxValue, out totalUsers)
.Where(x => x.Id > 0 && x.IsApproved)
.Select(x => CreateTreeNode(x.Id.ToString(),
id,
queryStrings,
x.Name,
"icon-user",
false,
"/" + queryStrings.GetValue<string>("application") + "/framed/"
+ Uri.EscapeDataString("users/PermissionEditor.aspx?id=" + x.Id))));
return nodes;
}
protected override MenuItemCollection GetMenuForNode(string id, FormDataCollection queryStrings)
{
var menu = new MenuItemCollection();
if (id == Constants.System.Root.ToInvariantString())
{
// root actions
menu.Items.Add<RefreshNode, ActionRefresh>(Services.TextService.Localize("actions", ActionRefresh.Instance.Alias), true);
return menu;
}
return menu;
}
}
}
+1 -1
View File
@@ -183,6 +183,7 @@
<Compile Include="Trees\ScriptsTreeController.cs" />
<Compile Include="Trees\DictionaryTreeController.cs" />
<Compile Include="Trees\StylesheetsTreeController.cs" />
<Compile Include="Trees\UserPermissionsTreeController.cs" />
<Compile Include="Trees\UserTypesTreeController.cs" />
<Compile Include="Trees\XsltTreeController.cs" />
<Compile Include="Trees\UsersTreeController.cs" />
@@ -1381,7 +1382,6 @@
<Compile Include="umbraco.presentation\umbraco\Trees\TreeDefinition.cs" />
<Compile Include="umbraco.presentation\umbraco\Trees\TreeDialogModes.cs" />
<Compile Include="umbraco.presentation\umbraco\Trees\TreeService.cs" />
<Compile Include="umbraco.presentation\umbraco\Trees\UserPermissions.cs" />
<Compile Include="umbraco.presentation\umbraco\Trees\XmlTree.cs">
<DependentUpon>XmlTree.xsd</DependentUpon>
</Compile>
@@ -1,76 +0,0 @@
using Umbraco.Core.Services;
using System;
using System.Collections.Generic;
using System.Text;
using Umbraco.Core;
using Umbraco.Web.Trees;
using Umbraco.Web._Legacy.Actions;
namespace umbraco.cms.presentation.Trees
{
[Tree(Constants.Applications.Users, "userPermissions", "User Permissions", sortOrder: 2)]
public class UserPermissions : BaseTree
{
public UserPermissions(string application) : base(application) { }
/// <summary>
/// don't allow any actions on this tree
/// </summary>
/// <param name="actions"></param>
protected override void CreateAllowedActions(ref List<IAction> actions)
{
actions.Clear();
}
/// <summary>
/// no actions should be able to be performed on the parent node except for refresh
/// </summary>
/// <param name="actions"></param>
protected override void CreateRootNodeActions(ref List<IAction> actions)
{
actions.Clear();
actions.Add(ActionRefresh.Instance);
}
public override void Render(ref XmlTree tree)
{
long totalusers;
foreach (var user in Services.UserService.GetAll(0, int.MaxValue, out totalusers))
{
if (user.Id > 0 && user.IsApproved)
{
XmlTreeNode node = XmlTreeNode.Create(this);
node.NodeID = user.Id.ToString();
node.Text = user.Name;
node.Action = "javascript:openUserPermissions('" + user.Id + "');";
node.Icon = "icon-users";
OnBeforeNodeRender(ref tree, ref node, EventArgs.Empty);
if (node != null)
{
tree.Add(node);
OnAfterNodeRender(ref tree, ref node, EventArgs.Empty);
}
}
}
}
protected override void CreateRootNode(ref XmlTreeNode rootNode)
{
rootNode.Text = Services.TextService.Localize("user/userPermissions");
}
public override void RenderJS(ref StringBuilder Javascript)
{
Javascript.Append(
@"
function openUserPermissions(id) {
UmbClientMgr.contentFrame('users/PermissionEditor.aspx?id=' + id);
}
");
}
}
}
@@ -52,7 +52,7 @@ namespace umbraco.cms.presentation.user
if (!IsPostBack)
{
ClientTools cTools = new ClientTools(this);
cTools.SetActiveTreeType(TreeDefinitionCollection.Instance.FindTree<Trees.UserPermissions>().Tree.Alias)
cTools.SetActiveTreeType(Constants.Trees.UserPermissions)
.SyncTree(Request.QueryString["id"], false);
}
}