From 53ef2e356a0af8a7cb15029220d47c375bf65a28 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Wed, 3 May 2017 09:30:29 +0200 Subject: [PATCH 01/30] add new temp users tree --- src/Umbraco.Core/Constants-Applications.cs | 2 + src/Umbraco.Web.UI/umbraco/config/lang/en.xml | 1 + src/Umbraco.Web/Trees/UsersTreeController.cs | 44 +++++++++++++++++++ src/Umbraco.Web/Umbraco.Web.csproj | 1 + 4 files changed, 48 insertions(+) create mode 100644 src/Umbraco.Web/Trees/UsersTreeController.cs diff --git a/src/Umbraco.Core/Constants-Applications.cs b/src/Umbraco.Core/Constants-Applications.cs index fd9476a8ab..8b9be02f4f 100644 --- a/src/Umbraco.Core/Constants-Applications.cs +++ b/src/Umbraco.Core/Constants-Applications.cs @@ -118,6 +118,8 @@ public const string Scripts = "scripts"; + public const string Users = "usersV2"; + //TODO: Fill in the rest! } } diff --git a/src/Umbraco.Web.UI/umbraco/config/lang/en.xml b/src/Umbraco.Web.UI/umbraco/config/lang/en.xml index ecea653650..777728582f 100644 --- a/src/Umbraco.Web.UI/umbraco/config/lang/en.xml +++ b/src/Umbraco.Web.UI/umbraco/config/lang/en.xml @@ -1370,6 +1370,7 @@ To manage your website, simply open the Umbraco back office and start adding con Templates XSLT Files Analytics + Users New update ready diff --git a/src/Umbraco.Web/Trees/UsersTreeController.cs b/src/Umbraco.Web/Trees/UsersTreeController.cs new file mode 100644 index 0000000000..65c289006a --- /dev/null +++ b/src/Umbraco.Web/Trees/UsersTreeController.cs @@ -0,0 +1,44 @@ +using System.Net.Http.Formatting; +using Umbraco.Web.Models.Trees; +using Umbraco.Web.Mvc; +using Umbraco.Web.WebApi.Filters; +using Constants = Umbraco.Core.Constants; + +namespace Umbraco.Web.Trees +{ + [UmbracoTreeAuthorize(Constants.Trees.Users)] + [Tree(Constants.Applications.Users, Constants.Trees.Users, null, sortOrder: 3)] + [PluginController("UmbracoTrees")] + [CoreTree] + public class UsersTreeController : TreeController + { + /// + /// Helper method to create a root model for a tree + /// + /// + protected override TreeNode CreateRootNode(FormDataCollection queryStrings) + { + var root = base.CreateRootNode(queryStrings); + + //this will load in a custom UI instead of the dashboard for the root node + root.RoutePath = string.Format("{0}/{1}/{2}", Constants.Applications.Users, Constants.Trees.Users, "overview"); + root.Icon = "icon-users"; + + return root; + } + + protected override TreeNodeCollection GetTreeNodes(string id, FormDataCollection queryStrings) + { + var baseUrl = Constants.Applications.Users + "/users/"; + + var nodes = new TreeNodeCollection(); + return nodes; + } + + protected override MenuItemCollection GetMenuForNode(string id, FormDataCollection queryStrings) + { + var menu = new MenuItemCollection(); + 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 d3e31fa366..d534dc2ae4 100644 --- a/src/Umbraco.Web/Umbraco.Web.csproj +++ b/src/Umbraco.Web/Umbraco.Web.csproj @@ -433,6 +433,7 @@ + From 0bbef8cf949558ee2fcf6bfd74533a69a91fb2b7 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Thu, 4 May 2017 11:22:04 +0200 Subject: [PATCH 02/30] add temp resource for hardcoded data --- .../src/common/resources/users.resource.js | 101 ++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 src/Umbraco.Web.UI.Client/src/common/resources/users.resource.js diff --git a/src/Umbraco.Web.UI.Client/src/common/resources/users.resource.js b/src/Umbraco.Web.UI.Client/src/common/resources/users.resource.js new file mode 100644 index 0000000000..9b7ffb6750 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/common/resources/users.resource.js @@ -0,0 +1,101 @@ +/** + * @ngdoc service + * @name umbraco.resources.usersResource + * @function + * + * @description + * Used by the users section to get users and send requests to create, invite, delete, etc. users. + */ +(function () { + 'use strict'; + + function usersResource($http, umbRequestHelper, $q) { + + function getUsers() { + var deferred = $q.defer(); + var users = [ + { + "name": "Tammy Contreras", + "userGroupName": "Admin", + "avatar": "https://s3.amazonaws.com/uifaces/faces/twitter/adellecharles/128.jpg", + "state": "active" + }, + { + "name": "Edward Flores", + "userGroupName": "Admin", + "avatar": "https://s3.amazonaws.com/uifaces/faces/twitter/marcosmoralez/128.jpg", + "state": "active" + }, + { + "name": "Benjamin Mills", + "userGroupName": "Writer", + "avatar": "https://s3.amazonaws.com/uifaces/faces/twitter/dancounsell/128.jpg", + "state": "disabled" + }, + { + "name": "Samantha Martinez", + "userGroupName": "Editor", + "avatar": "", + "state": "pending" + }, + { + "name": "Angela Stone", + "userGroupName": "Editor", + "avatar": "https://s3.amazonaws.com/uifaces/faces/twitter/jina/128.jpg", + "state": "active" + }, + { + "name": "Beverly Silva", + "userGroupName": "Editor", + "avatar": "", + "state": "active" + }, + { + "name": "Arthur Welch", + "userGroupName": "Editor", + "avatar": "https://s3.amazonaws.com/uifaces/faces/twitter/ashleyford/128.jpg", + "state": "active" + }, + { + "name": "Ruth Turner", + "userGroupName": "Translator", + "avatar": "", + "state": "pending" + } + ]; + deferred.resolve(users); + return deferred.promise; + } + + function getUserGroups() { + var deferred = $q.defer(); + var userGroups = [ + { + "name": "Admin" + }, + { + "name": "Writer" + }, + { + "name": "Editor" + }, + { + "name": "Translator" + } + ]; + deferred.resolve(userGroups); + return deferred.promise; + } + + var resource = { + getUsers: getUsers, + getUserGroups: getUserGroups + }; + + return resource; + + } + + angular.module('umbraco.resources').factory('usersResource', usersResource); + +})(); From c8813c8584a5e8c43d38d5d17a1aaa149ca39b4f Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Thu, 4 May 2017 11:23:38 +0200 Subject: [PATCH 03/30] add id to user groups data --- .../src/common/resources/users.resource.js | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/common/resources/users.resource.js b/src/Umbraco.Web.UI.Client/src/common/resources/users.resource.js index 9b7ffb6750..a9ac7d5b8d 100644 --- a/src/Umbraco.Web.UI.Client/src/common/resources/users.resource.js +++ b/src/Umbraco.Web.UI.Client/src/common/resources/users.resource.js @@ -71,16 +71,20 @@ var deferred = $q.defer(); var userGroups = [ { - "name": "Admin" + "name": "Admin", + "id": 1 }, { - "name": "Writer" + "name": "Writer", + "id": 2 }, { - "name": "Editor" + "name": "Editor", + "id": 3 }, { - "name": "Translator" + "name": "Translator", + "id": 4 } ]; deferred.resolve(userGroups); From e327a971c26a23cd8fac67407ac4e871067a3d61 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Thu, 4 May 2017 11:25:20 +0200 Subject: [PATCH 04/30] update umb-avatar component include name and colors --- .../components/umbavatar.directive.js | 25 ++++++- .../src/less/components/umb-avatar.less | 68 +++++++++++++++++-- .../src/views/components/umb-avatar.html | 8 ++- 3 files changed, 94 insertions(+), 7 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/components/umbavatar.directive.js b/src/Umbraco.Web.UI.Client/src/common/directives/components/umbavatar.directive.js index ba34a752ed..51c8d660db 100644 --- a/src/Umbraco.Web.UI.Client/src/common/directives/components/umbavatar.directive.js +++ b/src/Umbraco.Web.UI.Client/src/common/directives/components/umbavatar.directive.js @@ -52,15 +52,38 @@ Use this directive to render an avatar. function AvatarDirective() { + function link(scope, element, attrs, ctrl) { + + scope.initials = ""; + + function onInit() { + scope.initials = getNameInitials(scope.name); + } + + function getNameInitials(name) { + if(name) { + var initials = name.match(/\b\w/g) || []; + initials = ((initials.shift() || '') + (initials.pop() || '')).toUpperCase(); + return initials; + } + } + + onInit(); + + } + var directive = { restrict: 'E', replace: true, templateUrl: 'views/components/umb-avatar.html', scope: { size: "@", + name: "@", + color: "@", imgSrc: "@", imgSrcset: "@" - } + }, + link: link }; return directive; diff --git a/src/Umbraco.Web.UI.Client/src/less/components/umb-avatar.less b/src/Umbraco.Web.UI.Client/src/less/components/umb-avatar.less index c4414c2880..61441f16b0 100644 --- a/src/Umbraco.Web.UI.Client/src/less/components/umb-avatar.less +++ b/src/Umbraco.Web.UI.Client/src/less/components/umb-avatar.less @@ -2,29 +2,87 @@ border-radius: 50%; width: 50px; height: 50px; + background-color: transparent; + display: flex; + align-items: center; + justify-content: center; + color: @black; + font-weight: bold; + font-size: 16px; + box-sizing: border-box; } -.umb-avatar.-xs { +/* Sizes */ + +.umb-avatar--xxs { + width: 26px; + height: 26px; + font-size: 12px; +} + +.umb-avatar--xs { width: 30px; height: 30px; + font-size: 12px; } -.umb-avatar.-s { +.umb-avatar--s { width: 40px; height: 40px; + font-size: 14px; } -.umb-avatar.-m { +.umb-avatar--m { width: 50px; height: 50px; + font-size: 16px; } -.umb-avatar.-l { +.umb-avatar--l { width: 70px; height: 70px; + font-size: 18px; } -.umb-avatar.-xl { +.umb-avatar--xl { width: 100px; height: 100px; + font-size: 20px; +} + +/* Colors */ + +.umb-avatar--white { + background-color: @white; + color: @black; +} + +.umb-avatar--gray { + background-color: @gray-10; + color: @black; +} + +.umb-avatar--primary { + background-color: @turquoise-l1; + color: @white; +} + +.umb-avatar--secondary { + background-color: @purple-l1; + color: @white; +} + +.umb-avatar--success { + background-color: @green-l1; + color: @white; +} + +.umb-avatar--warning { + background-color: @yellow-l1; + color: @white; +} + +.umb-avatar--danger { + background-color: @red-l1; + color: @white; } diff --git a/src/Umbraco.Web.UI.Client/src/views/components/umb-avatar.html b/src/Umbraco.Web.UI.Client/src/views/components/umb-avatar.html index 1d23769db2..c589eabcf7 100644 --- a/src/Umbraco.Web.UI.Client/src/views/components/umb-avatar.html +++ b/src/Umbraco.Web.UI.Client/src/views/components/umb-avatar.html @@ -1 +1,7 @@ - +
+ +
+ {{ initials }} + ? +
+
\ No newline at end of file From 7001e791f791505b9d79e0241e76df72955ebe3e Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Thu, 4 May 2017 11:29:36 +0200 Subject: [PATCH 05/30] add umb-badge component --- .../components/umbbadge.directive.js | 23 +++++++ src/Umbraco.Web.UI.Client/src/less/belle.less | 1 + .../src/less/components/umb-badge.less | 65 +++++++++++++++++++ .../src/views/components/umb-badge.html | 1 + 4 files changed, 90 insertions(+) create mode 100644 src/Umbraco.Web.UI.Client/src/common/directives/components/umbbadge.directive.js create mode 100644 src/Umbraco.Web.UI.Client/src/less/components/umb-badge.less create mode 100644 src/Umbraco.Web.UI.Client/src/views/components/umb-badge.html diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/components/umbbadge.directive.js b/src/Umbraco.Web.UI.Client/src/common/directives/components/umbbadge.directive.js new file mode 100644 index 0000000000..ee2c53eba0 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/common/directives/components/umbbadge.directive.js @@ -0,0 +1,23 @@ +(function() { + 'use strict'; + + function BadgeDirective() { + + var directive = { + restrict: 'E', + replace: true, + transclude: true, + templateUrl: 'views/components/umb-badge.html', + scope: { + size: "@?", + color: "@?" + } + }; + + return directive; + + } + + angular.module('umbraco.directives').directive('umbBadge', BadgeDirective); + +})(); diff --git a/src/Umbraco.Web.UI.Client/src/less/belle.less b/src/Umbraco.Web.UI.Client/src/less/belle.less index cfe82ff3ea..7367e9cffd 100644 --- a/src/Umbraco.Web.UI.Client/src/less/belle.less +++ b/src/Umbraco.Web.UI.Client/src/less/belle.less @@ -120,6 +120,7 @@ @import "components/umb-querybuilder.less"; @import "components/umb-pagination.less"; @import "components/umb-mini-list-view.less"; +@import "components/umb-badge.less"; @import "components/buttons/umb-button.less"; @import "components/buttons/umb-button-group.less"; diff --git a/src/Umbraco.Web.UI.Client/src/less/components/umb-badge.less b/src/Umbraco.Web.UI.Client/src/less/components/umb-badge.less new file mode 100644 index 0000000000..152eedc83f --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/less/components/umb-badge.less @@ -0,0 +1,65 @@ +.umb-badge { + padding: 6px 8px; + margin: 0 5px 0 0; + font-weight: 600; + color: @black; + background-color: @turquoise-washed; + border-width: 1px; + border-style: solid; + border-color: @turquoise; + display: inline-flex; + align-items: center; + justify-content: center; +} + +// Colors +.umb-badge--primary { + background-color: @turquoise-washed; + border-color: @turquoise; +} + +.umb-badge--seconday { + background-color: @purple-washed; + border-color: @purple; +} + +.umb-badge--danger { + background-color: @red-washed; + border-color: @red; +} + +.umb-badge--warning { + background-color: @yellow-washed; + border-color: @yellow; +} + +.umb-badge--success { + background-color: @green-washed; + border-color: @green; +} + +// Size +.umb-badge--xs { + font-size: 13px; + padding: 1px 6px; +} + +.umb-badge--s { + font-size: 14px; + padding: 3px 6px; +} + +.umb-badge--m { + font-size: 16px; + padding: 6px 8px; +} + +.umb-badge--l { + font-size: 18px; + padding: 6px 8px; +} + +.umb-badge--xl { + font-size: 20px; + padding: 6px 8px; +} \ No newline at end of file diff --git a/src/Umbraco.Web.UI.Client/src/views/components/umb-badge.html b/src/Umbraco.Web.UI.Client/src/views/components/umb-badge.html new file mode 100644 index 0000000000..1fd0c91520 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/views/components/umb-badge.html @@ -0,0 +1 @@ + \ No newline at end of file From e7137e9cce56f6256d4eb1b6165cc8ad3816c9f3 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Thu, 4 May 2017 11:34:09 +0200 Subject: [PATCH 06/30] first steps on user dashboard --- src/Umbraco.Web.UI.Client/src/less/belle.less | 2 + .../src/less/components/users/umb-users.less | 38 +++++ src/Umbraco.Web.UI.Client/src/less/main.less | 11 ++ .../components/html/umb-control-group.html | 6 +- .../src/views/usersV2/overview.controller.js | 64 +++++++++ .../src/views/usersV2/overview.html | 134 ++++++++++++++++++ 6 files changed, 251 insertions(+), 4 deletions(-) create mode 100644 src/Umbraco.Web.UI.Client/src/less/components/users/umb-users.less create mode 100644 src/Umbraco.Web.UI.Client/src/views/usersV2/overview.controller.js create mode 100644 src/Umbraco.Web.UI.Client/src/views/usersV2/overview.html diff --git a/src/Umbraco.Web.UI.Client/src/less/belle.less b/src/Umbraco.Web.UI.Client/src/less/belle.less index 7367e9cffd..de67e6d00f 100644 --- a/src/Umbraco.Web.UI.Client/src/less/belle.less +++ b/src/Umbraco.Web.UI.Client/src/less/belle.less @@ -131,6 +131,8 @@ @import "components/umb-node-preview.less"; @import "components/umb-mini-editor.less"; +@import "components/users/umb-users.less"; + // Utilities @import "utilities/_flexbox.less"; @import "utilities/_spacing.less"; diff --git a/src/Umbraco.Web.UI.Client/src/less/components/users/umb-users.less b/src/Umbraco.Web.UI.Client/src/less/components/users/umb-users.less new file mode 100644 index 0000000000..d65b3e7aae --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/less/components/users/umb-users.less @@ -0,0 +1,38 @@ +.umb-users { + display: flex; + flex-direction: row; + flex-wrap: wrap; +} + +.umb-user { + flex: 1 1 200px; + background-color: @gray-10; + border: 1px solid @gray-9; + border-radius: 3px; + padding: 15px; + box-sizing: border-box; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + margin: 10px; + cursor: pointer; +} + +.umb-user:hover { + border-color: @turquoise; +} + +.umb-user__avatar { + margin-bottom: 15px; +} + +.umb-user__name { + text-align: center; + font-size: 16px; + font-weight: bold; +} + +.umb-user__group { + +} \ No newline at end of file diff --git a/src/Umbraco.Web.UI.Client/src/less/main.less b/src/Umbraco.Web.UI.Client/src/less/main.less index 1b573bbe0b..32426ff263 100644 --- a/src/Umbraco.Web.UI.Client/src/less/main.less +++ b/src/Umbraco.Web.UI.Client/src/less/main.less @@ -113,6 +113,17 @@ h5.-black { border: none; } +/* BLOCK MODE */ +.block-form .umb-control-group { + border-bottom: none; + margin-bottom: 10px !important; + padding-bottom: 0; +} + +.block-form .umb-control-group label .help-block, +.block-form .umb-control-group label small { + font-size: 13px; +} /*COMPACT MODE */ .compact .umb-pane{margin: 0px 0px 15px 0px;} diff --git a/src/Umbraco.Web.UI.Client/src/views/components/html/umb-control-group.html b/src/Umbraco.Web.UI.Client/src/views/components/html/umb-control-group.html index b07c2b9c72..c16cf91834 100644 --- a/src/Umbraco.Web.UI.Client/src/views/components/html/umb-control-group.html +++ b/src/Umbraco.Web.UI.Client/src/views/components/html/umb-control-group.html @@ -3,11 +3,9 @@
- -
-
+
\ No newline at end of file diff --git a/src/Umbraco.Web.UI.Client/src/views/usersV2/overview.controller.js b/src/Umbraco.Web.UI.Client/src/views/usersV2/overview.controller.js new file mode 100644 index 0000000000..9a4e4c1f5b --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/views/usersV2/overview.controller.js @@ -0,0 +1,64 @@ +(function () { + "use strict"; + + function UsersOverviewController($scope, $timeout, usersResource) { + + var vm = this; + + vm.page = {}; + vm.page.name = "Users"; + vm.users = []; + vm.userGroups = []; + vm.usersViewState = 'overview'; + + vm.save = save; + vm.setUsersViewState = setUsersViewState; + vm.getUserStateType = getUserStateType; + + function init() { + + vm.loading = true; + + // Get users + usersResource.getUsers().then(function (users) { + vm.users = users; + }); + + // Get user groups + usersResource.getUserGroups().then(function (userGroups) { + vm.userGroups = userGroups; + }); + + // fake loading + $timeout(function () { + vm.loading = false; + }, 500); + + } + + function save() { + alert("save"); + } + + function setUsersViewState(state) { + vm.usersViewState = state; + } + + function getUserStateType(state) { + switch (state) { + case "disabled" || "umbracoDisabled": + return "danger"; + case "pending": + return "warning"; + default: + return "success"; + } + } + + init(); + + } + + angular.module("umbraco").controller("Umbraco.Editors.Users.OverviewController", UsersOverviewController); + +})(); diff --git a/src/Umbraco.Web.UI.Client/src/views/usersV2/overview.html b/src/Umbraco.Web.UI.Client/src/views/usersV2/overview.html new file mode 100644 index 0000000000..a180cfdc82 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/views/usersV2/overview.html @@ -0,0 +1,134 @@ +
+ + + +
+ + + + + + + + + + + +
+ + + + + + + +
+
+ + +
{{user.name}}
+
{{user.userGroupName}}
+ +
+
+
+ + +
+ + + + ← Take me back + + + +
+ +
+

Invite user

+

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed non libero vel turpis ultrices pharetra.

+
+ + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+ +
+ +
+ +
From 971f92301f3e3355682c5f472ce3e474c2be148d Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Thu, 4 May 2017 11:45:58 +0200 Subject: [PATCH 07/30] add pagination to users --- .../src/views/usersV2/overview.controller.js | 4 ++++ .../src/views/usersV2/overview.html | 9 +++++++++ 2 files changed, 13 insertions(+) diff --git a/src/Umbraco.Web.UI.Client/src/views/usersV2/overview.controller.js b/src/Umbraco.Web.UI.Client/src/views/usersV2/overview.controller.js index 9a4e4c1f5b..43bc252e8a 100644 --- a/src/Umbraco.Web.UI.Client/src/views/usersV2/overview.controller.js +++ b/src/Umbraco.Web.UI.Client/src/views/usersV2/overview.controller.js @@ -10,6 +10,10 @@ vm.users = []; vm.userGroups = []; vm.usersViewState = 'overview'; + vm.usersPagination = { + "pageNumber": 1, + "totalPages": 5 + } vm.save = save; vm.setUsersViewState = setUsersViewState; diff --git a/src/Umbraco.Web.UI.Client/src/views/usersV2/overview.html b/src/Umbraco.Web.UI.Client/src/views/usersV2/overview.html index a180cfdc82..9f26f377d5 100644 --- a/src/Umbraco.Web.UI.Client/src/views/usersV2/overview.html +++ b/src/Umbraco.Web.UI.Client/src/views/usersV2/overview.html @@ -62,6 +62,15 @@ --> + +
+ + +
+ From c0c1e2bc067dd2a2ab67ccab75dfddf4d354d325 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Mon, 8 May 2017 10:52:45 +0200 Subject: [PATCH 08/30] prototype user invite --- .../views/common/dialogs/login.controller.js | 19 +++++- .../src/views/common/dialogs/login.html | 58 ++++++++++++++++++- 2 files changed, 74 insertions(+), 3 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/views/common/dialogs/login.controller.js b/src/Umbraco.Web.UI.Client/src/views/common/dialogs/login.controller.js index 49db7dc191..106e748c20 100644 --- a/src/Umbraco.Web.UI.Client/src/views/common/dialogs/login.controller.js +++ b/src/Umbraco.Web.UI.Client/src/views/common/dialogs/login.controller.js @@ -1,5 +1,20 @@ angular.module("umbraco").controller("Umbraco.Dialogs.LoginController", - function ($scope, $cookies, localizationService, userService, externalLoginInfo, resetPasswordCodeInfo, $timeout, authResource, dialogService) { + function ($scope, $cookies, $location, localizationService, userService, externalLoginInfo, resetPasswordCodeInfo, $timeout, authResource, dialogService) { + + $scope.isInvite = false; + + function init() { + // Check if it is a new user + if ($location.search().invite) { + $scope.isInvite = true; + $scope.inviteSetPassword = true; + } + } + + $scope.inviteSavePassword = function() { + $scope.inviteSetPassword = false; + $scope.inviteSetAvatar = true; + }; var setFieldFocus = function(form, field) { $timeout(function() { @@ -234,4 +249,6 @@ $scope.showLogin(); } + init(); + }); diff --git a/src/Umbraco.Web.UI.Client/src/views/common/dialogs/login.html b/src/Umbraco.Web.UI.Client/src/views/common/dialogs/login.html index 65ce1c3ecb..991b52cc62 100644 --- a/src/Umbraco.Web.UI.Client/src/views/common/dialogs/login.html +++ b/src/Umbraco.Web.UI.Client/src/views/common/dialogs/login.html @@ -1,5 +1,5 @@ 
- +
@@ -8,7 +8,61 @@
-