diff --git a/webapp/components/Group/GroupMember.vue b/webapp/components/Group/GroupMember.vue index db5635c1f..830318767 100644 --- a/webapp/components/Group/GroupMember.vue +++ b/webapp/components/Group/GroupMember.vue @@ -179,12 +179,17 @@ export default { }, async addMemberToGroup() { const newRole = 'usual' + if (this.groupMembers.find((member) => member.id === this.slugUser[0].id)) { + this.$toast.error( + this.$t('group.errors.userAlreadyMember', { slug: this.slugUser[0].slug }), + ) + return + } try { await this.$apollo.mutate({ mutation: changeGroupMemberRoleMutation(), variables: { groupId: this.groupId, userId: this.slugUser[0].id, roleInGroup: newRole }, }) - // this.$apollo.queries.GroupMembers.refetch() this.$emit('loadGroupMembers') this.slugUser = [] this.form.query = '' diff --git a/webapp/locales/de.json b/webapp/locales/de.json index 39fd2de9f..31a514470 100644 --- a/webapp/locales/de.json +++ b/webapp/locales/de.json @@ -422,6 +422,9 @@ "groupName": "Einstellungen für „{name}“", "title": "Meine Gruppe ändern" }, + "errors": { + "userAlreadyMember": "Nutzer @{slug} ist bereits Mitglied" + }, "follow": "Folge", "foundation": "Gründung", "general": "Allgemein", diff --git a/webapp/locales/en.json b/webapp/locales/en.json index 18b579df4..4b63033c1 100644 --- a/webapp/locales/en.json +++ b/webapp/locales/en.json @@ -422,6 +422,9 @@ "groupName": "Settings Of “{name}”", "title": "Edit My Group" }, + "errors": { + "userAlreadyMember": "User @{slug} is already a member" + }, "follow": "Follow", "foundation": "Foundation", "general": "General",