From 1b4d7c37331027e71e9cf52ffc8f45a062949cfd Mon Sep 17 00:00:00 2001 From: AndyButland Date: Sat, 7 May 2016 23:52:47 +0200 Subject: [PATCH] Migrated user permissions tree to new format; updated icon to indicate single user being acted on --- src/Umbraco.Core/Constants-Applications.cs | 5 ++ src/Umbraco.Web.UI/Umbraco/config/lang/cs.xml | 1 + src/Umbraco.Web.UI/Umbraco/config/lang/nb.xml | 1 + src/Umbraco.Web.UI/config/trees.config | 2 +- src/Umbraco.Web.UI/umbraco/config/lang/da.xml | 1 + src/Umbraco.Web.UI/umbraco/config/lang/de.xml | 1 + src/Umbraco.Web.UI/umbraco/config/lang/en.xml | 1 + .../umbraco/config/lang/en_us.xml | 1 + src/Umbraco.Web.UI/umbraco/config/lang/es.xml | 1 + src/Umbraco.Web.UI/umbraco/config/lang/fr.xml | 1 + src/Umbraco.Web.UI/umbraco/config/lang/he.xml | 1 + src/Umbraco.Web.UI/umbraco/config/lang/it.xml | 1 + src/Umbraco.Web.UI/umbraco/config/lang/ja.xml | 1 + src/Umbraco.Web.UI/umbraco/config/lang/ko.xml | 1 + src/Umbraco.Web.UI/umbraco/config/lang/nl.xml | 1 + src/Umbraco.Web.UI/umbraco/config/lang/pl.xml | 1 + src/Umbraco.Web.UI/umbraco/config/lang/pt.xml | 1 + src/Umbraco.Web.UI/umbraco/config/lang/ru.xml | 1 + src/Umbraco.Web.UI/umbraco/config/lang/sv.xml | 1 + src/Umbraco.Web.UI/umbraco/config/lang/zh.xml | 1 + .../Trees/UserPermissionsTreeController.cs | 53 +++++++++++++++++++ src/Umbraco.Web/Umbraco.Web.csproj | 1 + 22 files changed, 78 insertions(+), 1 deletion(-) create mode 100644 src/Umbraco.Web/Trees/UserPermissionsTreeController.cs diff --git a/src/Umbraco.Core/Constants-Applications.cs b/src/Umbraco.Core/Constants-Applications.cs index 2feae59bad..39ab8ea37f 100644 --- a/src/Umbraco.Core/Constants-Applications.cs +++ b/src/Umbraco.Core/Constants-Applications.cs @@ -114,6 +114,11 @@ /// public const string UserTypes = "userTypes"; + /// + /// alias for the user permissions tree. + /// + public const string UserPermissions = "userPermissions"; + /// /// alias for the users tree. /// diff --git a/src/Umbraco.Web.UI/Umbraco/config/lang/cs.xml b/src/Umbraco.Web.UI/Umbraco/config/lang/cs.xml index 20e252c431..ddb7263681 100644 --- a/src/Umbraco.Web.UI/Umbraco/config/lang/cs.xml +++ b/src/Umbraco.Web.UI/Umbraco/config/lang/cs.xml @@ -963,6 +963,7 @@ Stylopisy Šablony XSLT soubory + Oprávnění Uživatele Typy Uživatelů Uživatelé diff --git a/src/Umbraco.Web.UI/Umbraco/config/lang/nb.xml b/src/Umbraco.Web.UI/Umbraco/config/lang/nb.xml index 12031dc0e0..fe8ad9d4ca 100644 --- a/src/Umbraco.Web.UI/Umbraco/config/lang/nb.xml +++ b/src/Umbraco.Web.UI/Umbraco/config/lang/nb.xml @@ -928,6 +928,7 @@ Vennlig hilsen Umbraco roboten Maler XSLT Filer Analytics + Brukertillatelser Brukertyper typer Brukere diff --git a/src/Umbraco.Web.UI/config/trees.config b/src/Umbraco.Web.UI/config/trees.config index e2e1e7dc10..c0a9155d75 100644 --- a/src/Umbraco.Web.UI/config/trees.config +++ b/src/Umbraco.Web.UI/config/trees.config @@ -25,7 +25,7 @@ - + diff --git a/src/Umbraco.Web.UI/umbraco/config/lang/da.xml b/src/Umbraco.Web.UI/umbraco/config/lang/da.xml index df4318ec2a..4de625c299 100644 --- a/src/Umbraco.Web.UI/umbraco/config/lang/da.xml +++ b/src/Umbraco.Web.UI/umbraco/config/lang/da.xml @@ -998,6 +998,7 @@ Mange hilsner fra Umbraco robotten Skabeloner XSLT-filer Analytics + Brugertilladelser Bruger Typer Brugere diff --git a/src/Umbraco.Web.UI/umbraco/config/lang/de.xml b/src/Umbraco.Web.UI/umbraco/config/lang/de.xml index 4bb906f983..3f3c3dcfc5 100644 --- a/src/Umbraco.Web.UI/umbraco/config/lang/de.xml +++ b/src/Umbraco.Web.UI/umbraco/config/lang/de.xml @@ -946,6 +946,7 @@ Ihr freundlicher Umbraco-Robot Vorlagen XSLT-Dateien Auswertungen + Berechtigungen Benutzertypen Benutzer diff --git a/src/Umbraco.Web.UI/umbraco/config/lang/en.xml b/src/Umbraco.Web.UI/umbraco/config/lang/en.xml index 1360c09667..e8ef07bf01 100644 --- a/src/Umbraco.Web.UI/umbraco/config/lang/en.xml +++ b/src/Umbraco.Web.UI/umbraco/config/lang/en.xml @@ -1202,6 +1202,7 @@ To manage your website, simply open the Umbraco back office and start adding con Templates XSLT Files Analytics + User Permissions User Types Users diff --git a/src/Umbraco.Web.UI/umbraco/config/lang/en_us.xml b/src/Umbraco.Web.UI/umbraco/config/lang/en_us.xml index 700c252cde..ba5298af7b 100644 --- a/src/Umbraco.Web.UI/umbraco/config/lang/en_us.xml +++ b/src/Umbraco.Web.UI/umbraco/config/lang/en_us.xml @@ -1207,6 +1207,7 @@ To manage your website, simply open the Umbraco back office and start adding con Templates XSLT Files Analytics + User Permissions User Types Users diff --git a/src/Umbraco.Web.UI/umbraco/config/lang/es.xml b/src/Umbraco.Web.UI/umbraco/config/lang/es.xml index 097c028d2b..257411cae4 100644 --- a/src/Umbraco.Web.UI/umbraco/config/lang/es.xml +++ b/src/Umbraco.Web.UI/umbraco/config/lang/es.xml @@ -850,6 +850,7 @@ Hojas de estilo Plantillas Archivos XSLT + Permisos de Usuarios Tipos de Usuarios Usuarios diff --git a/src/Umbraco.Web.UI/umbraco/config/lang/fr.xml b/src/Umbraco.Web.UI/umbraco/config/lang/fr.xml index 853f1b11f1..a8b48492a1 100644 --- a/src/Umbraco.Web.UI/umbraco/config/lang/fr.xml +++ b/src/Umbraco.Web.UI/umbraco/config/lang/fr.xml @@ -984,6 +984,7 @@ Pour gérer votre site, ouvrez simplement le backoffice Umbraco et commencez à Feuilles de style Modèles Fichiers XSLT + Permissions utilisateur Types d'utilisateurs Utilisateurs diff --git a/src/Umbraco.Web.UI/umbraco/config/lang/he.xml b/src/Umbraco.Web.UI/umbraco/config/lang/he.xml index e42c382b20..75c5dc5e85 100644 --- a/src/Umbraco.Web.UI/umbraco/config/lang/he.xml +++ b/src/Umbraco.Web.UI/umbraco/config/lang/he.xml @@ -869,6 +869,7 @@ To manage your website, simply open the Umbraco back office and start adding con גיליונות סגנון תבניות קבצי XSLT + הרשאות משתמש משתמש מקליד משתמש diff --git a/src/Umbraco.Web.UI/umbraco/config/lang/it.xml b/src/Umbraco.Web.UI/umbraco/config/lang/it.xml index 039d727044..a25e49b4a0 100644 --- a/src/Umbraco.Web.UI/umbraco/config/lang/it.xml +++ b/src/Umbraco.Web.UI/umbraco/config/lang/it.xml @@ -842,6 +842,7 @@ Per gestire il tuo sito web, è sufficiente aprire il back office di Umbraco e i Fogli di stile Templates Files XSLT + Permessi Utente Tipi di Utente Utenti diff --git a/src/Umbraco.Web.UI/umbraco/config/lang/ja.xml b/src/Umbraco.Web.UI/umbraco/config/lang/ja.xml index bbe3152464..de47edefff 100644 --- a/src/Umbraco.Web.UI/umbraco/config/lang/ja.xml +++ b/src/Umbraco.Web.UI/umbraco/config/lang/ja.xml @@ -1173,6 +1173,7 @@ Runwayをインストールして作られた新しいウェブサイトがど テンプレート XSLT ファイル アナリティクス + ユーザーの権限 ユーザータイプ ユーザー diff --git a/src/Umbraco.Web.UI/umbraco/config/lang/ko.xml b/src/Umbraco.Web.UI/umbraco/config/lang/ko.xml index 8435cb9c48..ac25c123a7 100644 --- a/src/Umbraco.Web.UI/umbraco/config/lang/ko.xml +++ b/src/Umbraco.Web.UI/umbraco/config/lang/ko.xml @@ -846,6 +846,7 @@ 스타일시트 템플릿 XSLT 파일 + 사용자권한 사용자 유형 사용자 diff --git a/src/Umbraco.Web.UI/umbraco/config/lang/nl.xml b/src/Umbraco.Web.UI/umbraco/config/lang/nl.xml index d69d5954dd..fab92f2e61 100644 --- a/src/Umbraco.Web.UI/umbraco/config/lang/nl.xml +++ b/src/Umbraco.Web.UI/umbraco/config/lang/nl.xml @@ -951,6 +951,7 @@ Om een vertalingstaak te sluiten, ga aub naar het detailoverzicht en klik op de Stylesheets Sjablonen XSLT Bestanden + Gebruikersrechten Gebruiker Types Gebruikers diff --git a/src/Umbraco.Web.UI/umbraco/config/lang/pl.xml b/src/Umbraco.Web.UI/umbraco/config/lang/pl.xml index dbdefcb6c2..45f0159fdf 100644 --- a/src/Umbraco.Web.UI/umbraco/config/lang/pl.xml +++ b/src/Umbraco.Web.UI/umbraco/config/lang/pl.xml @@ -742,6 +742,7 @@ Miłego dnia!]]> Arkusze stylów Szablony Pliki XSLT + Prawa dostępu użytkownika Typy Użytkowników Użytkowników diff --git a/src/Umbraco.Web.UI/umbraco/config/lang/pt.xml b/src/Umbraco.Web.UI/umbraco/config/lang/pt.xml index 86887b00df..0b3ae99e12 100644 --- a/src/Umbraco.Web.UI/umbraco/config/lang/pt.xml +++ b/src/Umbraco.Web.UI/umbraco/config/lang/pt.xml @@ -830,6 +830,7 @@ Para fechar a tarefa de tradução vá até os detalhes e clique no botão "Fech Stylesheets Modelos Arquivos XSLT + Permissões de usuário Tipos de Usuários Usuários diff --git a/src/Umbraco.Web.UI/umbraco/config/lang/ru.xml b/src/Umbraco.Web.UI/umbraco/config/lang/ru.xml index 09edfdeb6a..3e9aafb954 100644 --- a/src/Umbraco.Web.UI/umbraco/config/lang/ru.xml +++ b/src/Umbraco.Web.UI/umbraco/config/lang/ru.xml @@ -1162,6 +1162,7 @@ Стили CSS Шаблоны Файлы XSLT + Разрешения для пользователя Типы пользователей пользователи diff --git a/src/Umbraco.Web.UI/umbraco/config/lang/sv.xml b/src/Umbraco.Web.UI/umbraco/config/lang/sv.xml index ae7e8a479e..4d9c111fd1 100644 --- a/src/Umbraco.Web.UI/umbraco/config/lang/sv.xml +++ b/src/Umbraco.Web.UI/umbraco/config/lang/sv.xml @@ -851,6 +851,7 @@ Stilmallar Sidmallar XSLT-filer + Användarrättigheter Användartyper Användare diff --git a/src/Umbraco.Web.UI/umbraco/config/lang/zh.xml b/src/Umbraco.Web.UI/umbraco/config/lang/zh.xml index 4e25e92ef2..9239eeabee 100644 --- a/src/Umbraco.Web.UI/umbraco/config/lang/zh.xml +++ b/src/Umbraco.Web.UI/umbraco/config/lang/zh.xml @@ -920,6 +920,7 @@ 样式表 模板 XSLT文件 + 用户权限 用户类型 Users diff --git a/src/Umbraco.Web/Trees/UserPermissionsTreeController.cs b/src/Umbraco.Web/Trees/UserPermissionsTreeController.cs new file mode 100644 index 0000000000..3ed2b2b9d1 --- /dev/null +++ b/src/Umbraco.Web/Trees/UserPermissionsTreeController.cs @@ -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(); + int 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("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(Services.TextService.Localize("actions", ActionRefresh.Instance.Alias), true); + return menu; + } + + return menu; + } + } +} \ No newline at end of file diff --git a/src/Umbraco.Web/Umbraco.Web.csproj b/src/Umbraco.Web/Umbraco.Web.csproj index bd8a6b102d..e1da74100c 100644 --- a/src/Umbraco.Web/Umbraco.Web.csproj +++ b/src/Umbraco.Web/Umbraco.Web.csproj @@ -340,6 +340,7 @@ +