From c493b086ca89cef46ca5a6883f8eae93270df8eb Mon Sep 17 00:00:00 2001 From: OldHawk Date: Wed, 13 Dec 2017 16:14:58 +0800 Subject: [PATCH] opt(users): admin can create maker for user if him already join other maker group --- .../admin/user.client.controller.js | 19 +++++++++++++++++++ .../views/admin/view-user.client.view.html | 2 +- .../controllers/admin.server.controller.js | 2 +- 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/modules/users/client/controllers/admin/user.client.controller.js b/modules/users/client/controllers/admin/user.client.controller.js index 6ffa4f8a..53383692 100644 --- a/modules/users/client/controllers/admin/user.client.controller.js +++ b/modules/users/client/controllers/admin/user.client.controller.js @@ -183,6 +183,25 @@ } }; + /** + * alreadyIsFounder + * @param u + * @returns {boolean} + */ + vm.alreadyIsFounder = function (u) { + var is = false; + + if (u.makers.length > 0) { + angular.forEach(u.makers, function (m) { + if (m.user === u._id) { + is = true; + } + }); + } + + return is; + }; + /** * showMakerGroup * @param evt diff --git a/modules/users/client/views/admin/view-user.client.view.html b/modules/users/client/views/admin/view-user.client.view.html index 9c4b79e4..dce0a5f6 100644 --- a/modules/users/client/views/admin/view-user.client.view.html +++ b/modules/users/client/views/admin/view-user.client.view.html @@ -86,7 +86,7 @@ -
+ ng-if="vm.authentication.user.isOper && !vm.alreadyIsFounder(vm.user);"> diff --git a/modules/users/server/controllers/admin.server.controller.js b/modules/users/server/controllers/admin.server.controller.js index 9367e2e3..a714df15 100644 --- a/modules/users/server/controllers/admin.server.controller.js +++ b/modules/users/server/controllers/admin.server.controller.js @@ -604,7 +604,7 @@ exports.userByID = function (req, res, next, id) { User.findById(id, '-salt -password -providerData') .populate('invited_by', 'username displayName profileImageURL') - .populate('makers', 'name') + .populate('makers', 'user name') .exec(function (err, user) { if (err) { return next(err);