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",