diff --git a/zero.Web.UI/App/pages/settings/user.vue b/zero.Web.UI/App/pages/settings/user.vue
index 90d1d0f1..73db9323 100644
--- a/zero.Web.UI/App/pages/settings/user.vue
+++ b/zero.Web.UI/App/pages/settings/user.vue
@@ -1,4 +1,11 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/zero.Web.UI/App/renderers/user.js b/zero.Web.UI/App/renderers/user.js
new file mode 100644
index 00000000..e9f7b34e
--- /dev/null
+++ b/zero.Web.UI/App/renderers/user.js
@@ -0,0 +1,60 @@
+import { filter as _filter } from 'underscore';
+
+export default {
+ alias: 'user',
+
+ tabs: [
+ {
+ name: 'general',
+ label: '@ui.tab_general'
+ },
+ {
+ name: 'permissions',
+ label: '@user.tab_permissions',
+ count: x =>
+ {
+ return _filter(x.claims || [], claim =>
+ {
+ const value = claim.value.split(':')[1];
+ return value !== 'none' && value !== 'false' && !!value;
+ }).length;
+ }
+ }
+ ],
+
+ labelTemplate(field)
+ {
+ return "@user.fields." + field;
+ },
+
+ descriptionTemplate(field)
+ {
+ return "@user.fields." + field + "_text";
+ },
+
+ fields: [
+ {
+ field: 'name',
+ display: 'text',
+ label: '@ui.name',
+ required: true
+ },
+ {
+ field: 'email',
+ display: 'text',
+ required: true
+ },
+ {
+ field: 'avatarId',
+ display: 'media',
+ type: 'image'
+ },
+ {
+ tab: 'permissions',
+ field: 'claims',
+ display: 'custom',
+ hideLabel: true,
+ path: '@zero/components/permissions.vue'
+ }
+ ]
+};
\ No newline at end of file
diff --git a/zero.Web/Resources/Localization/zero.en-us.json b/zero.Web/Resources/Localization/zero.en-us.json
index 3747c98e..c63ab9db 100644
--- a/zero.Web/Resources/Localization/zero.en-us.json
+++ b/zero.Web/Resources/Localization/zero.en-us.json
@@ -198,13 +198,14 @@
"users": "Users",
"count_permissions": "{count} permissions",
"one_permission": "1 permission",
+ "tab_permissions": "Permissions",
"fields": {
"name_placeholder": "Enter your real name or a username",
"email": "Email",
"email_text": "Also used as login username",
"email_placeholder": "Enter your email address",
- "avatar": "Avatar",
- "avatar_text": "Upload a user image",
+ "avatarId": "Avatar",
+ "avatarId_text": "Upload a user image",
"language": "Language",
"language_text": "Set the backoffice language for this user",
"roles": "Roles",