diff options
author | John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com> | 2021-06-04 12:31:15 +0200 |
---|---|---|
committer | John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com> | 2021-06-04 12:31:15 +0200 |
commit | 348fb9cbaf1e0677383c602b1f82c4faa92be256 (patch) | |
tree | 02b754a28c8e0529345f26a8be7ea33a712bb74d /src/components/MembersList | |
parent | a8ed74fe9572c89ee2dcb598f29e2d2e58ee2198 (diff) |
Admins can also promote others as admin
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
Diffstat (limited to 'src/components/MembersList')
-rw-r--r-- | src/components/MembersList/MembersListItem.vue | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/components/MembersList/MembersListItem.vue b/src/components/MembersList/MembersListItem.vue index 3774b3c7..b90ee0b8 100644 --- a/src/components/MembersList/MembersListItem.vue +++ b/src/components/MembersList/MembersListItem.vue @@ -162,16 +162,21 @@ export default { const levels = Object.keys(CIRCLES_MEMBER_LEVELS) // Object.keys returns those as string .map(level => parseInt(level, 10)) - // we cannot set to a level higher than the current user's level + // we cannot set to a level higher or equal than the current user's level .filter(level => level < this.currentUserLevel) - // we cannot set to the level this member is already - .filter(level => level !== this.source.level) + // Admins can promote others as Admin too + if (this.currentUserLevel === MemberLevels.ADMIN) { + levels.push(MemberLevels.ADMIN) + } + + // Owners transfer ownership to another member if (this.circle.isOwner) { levels.push(MemberLevels.OWNER) } - return levels + // we cannot set to the level this member is already + return levels.filter(level => level !== this.source.level) }, /** |