summaryrefslogtreecommitdiffstats
path: root/src/components/MembersList
diff options
context:
space:
mode:
authorJohn Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>2021-06-04 12:31:15 +0200
committerJohn Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>2021-06-04 12:31:15 +0200
commit348fb9cbaf1e0677383c602b1f82c4faa92be256 (patch)
tree02b754a28c8e0529345f26a8be7ea33a712bb74d /src/components/MembersList
parenta8ed74fe9572c89ee2dcb598f29e2d2e58ee2198 (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.vue13
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)
},
/**