mirror of
https://github.com/Ocelot-Social-Community/Ocelot-Social.git
synced 2025-12-13 07:46:06 +00:00
add slug user to group member
This commit is contained in:
parent
11f5ce746a
commit
a8cf6acd93
@ -18,6 +18,13 @@
|
|||||||
</ds-flex-item>
|
</ds-flex-item>
|
||||||
</ds-flex>
|
</ds-flex>
|
||||||
</ds-form>
|
</ds-form>
|
||||||
|
<div v-if="noSlug">Kein User mit diesem Slug gefunden!</div>
|
||||||
|
<div v-if="slugUser.length > 0">
|
||||||
|
{{slugUser}}
|
||||||
|
<ds-button size="small" primary @click="addMemberToGroup(slugUser)">
|
||||||
|
{{ $t('group.addMemberToGroup') }}
|
||||||
|
</ds-button>
|
||||||
|
</div>
|
||||||
</base-card>
|
</base-card>
|
||||||
<ds-table :fields="tableFields" :data="groupMembers" condensed>
|
<ds-table :fields="tableFields" :data="groupMembers" condensed>
|
||||||
<template #avatar="scope">
|
<template #avatar="scope">
|
||||||
@ -70,7 +77,7 @@
|
|||||||
</ds-chip>
|
</ds-chip>
|
||||||
</template>
|
</template>
|
||||||
<template #edit="scope">
|
<template #edit="scope">
|
||||||
<ds-button size="small" primary :disabled="true" @click="openModal(scope.row)">
|
<ds-button v-if="scope.row.myRoleInGroup !== 'owner'" size="small" primary @click="deleteMember(scope.row.id)">
|
||||||
<!-- TODO: implement removal of group members -->
|
<!-- TODO: implement removal of group members -->
|
||||||
<!-- :disabled="scope.row.myRoleInGroup === 'owner'"
|
<!-- :disabled="scope.row.myRoleInGroup === 'owner'"
|
||||||
-->
|
-->
|
||||||
@ -93,7 +100,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import { User } from '~/graphql/User'
|
import { minimisedUserQuery } from '~/graphql/User'
|
||||||
import { changeGroupMemberRoleMutation } from '~/graphql/groups.js'
|
import { changeGroupMemberRoleMutation } from '~/graphql/groups.js'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@ -112,6 +119,8 @@ export default {
|
|||||||
return {
|
return {
|
||||||
isOpen: false,
|
isOpen: false,
|
||||||
memberId: null,
|
memberId: null,
|
||||||
|
noSlug: false,
|
||||||
|
slugUser: [],
|
||||||
form: {
|
form: {
|
||||||
query: '',
|
query: '',
|
||||||
},
|
},
|
||||||
@ -159,17 +168,49 @@ export default {
|
|||||||
this.$toast.error(error.message)
|
this.$toast.error(error.message)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
async addMemberToGroup () {
|
||||||
|
const newRole = 'usual'
|
||||||
|
try {
|
||||||
|
await this.$apollo.mutate({
|
||||||
|
mutation: changeGroupMemberRoleMutation(),
|
||||||
|
variables: { groupId: this.groupId, userId: this.slugUser[0].id, roleInGroup: newRole },
|
||||||
|
})
|
||||||
|
this.$toast.success(
|
||||||
|
this.$t('group.changeMemberRole', { role: this.$t(`group.roles.${newRole}`) }),
|
||||||
|
)
|
||||||
|
} catch (error) {
|
||||||
|
this.$toast.error(error.message)
|
||||||
|
}
|
||||||
|
},
|
||||||
async submit() {
|
async submit() {
|
||||||
console.log('submit', this.form.query)
|
try {
|
||||||
}
|
const {
|
||||||
|
data: { User },
|
||||||
|
} = await this.$apollo.query({
|
||||||
|
query: minimisedUserQuery(),
|
||||||
|
variables: {
|
||||||
|
slug: this.form.query,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
if(User.length === 0) {
|
||||||
|
this.noSlug = true
|
||||||
|
} else {
|
||||||
|
this.noSlug = false
|
||||||
|
this.slugUser = User
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
this.noSlug = true
|
||||||
|
} finally {
|
||||||
|
}
|
||||||
|
},
|
||||||
// TODO: implement removal of group members
|
// TODO: implement removal of group members
|
||||||
// openModal(row) {
|
// openModal(row) {
|
||||||
// this.isOpen = true
|
// this.isOpen = true
|
||||||
// this.memberId = row.id
|
// this.memberId = row.id
|
||||||
// },
|
// },
|
||||||
// deleteMember(id) {
|
deleteMember(id) {
|
||||||
// alert('deleteMember: ' + id)
|
alert('deleteMember: ' + id)
|
||||||
// },
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -49,8 +49,8 @@ export default (i18n) => {
|
|||||||
|
|
||||||
export const minimisedUserQuery = () => {
|
export const minimisedUserQuery = () => {
|
||||||
return gql`
|
return gql`
|
||||||
query {
|
query ($slug: String) {
|
||||||
User(orderBy: slug_asc) {
|
User(slug: $slug, orderBy: slug_asc) {
|
||||||
id
|
id
|
||||||
slug
|
slug
|
||||||
name
|
name
|
||||||
|
|||||||
@ -440,6 +440,7 @@
|
|||||||
"roleInGroup": "Rolle",
|
"roleInGroup": "Rolle",
|
||||||
"slug": "Eindeutiger Name"
|
"slug": "Eindeutiger Name"
|
||||||
},
|
},
|
||||||
|
"addMemberToGroup":"zur Gruppe hinzufügen",
|
||||||
"membersCount": "Mitglied ::: Mitglieder",
|
"membersCount": "Mitglied ::: Mitglieder",
|
||||||
"membersListTitle": "Gruppenmitglieder",
|
"membersListTitle": "Gruppenmitglieder",
|
||||||
"membersListTitleNotAllowedSeeingGroupMembers": "Gruppenmitglieder unsichtbar",
|
"membersListTitleNotAllowedSeeingGroupMembers": "Gruppenmitglieder unsichtbar",
|
||||||
|
|||||||
@ -441,6 +441,7 @@
|
|||||||
"slug": "Unique name"
|
"slug": "Unique name"
|
||||||
},
|
},
|
||||||
"membersCount": "Member ::: Members",
|
"membersCount": "Member ::: Members",
|
||||||
|
"addMemberToGroup":"zur Gruppe hinzufügen",
|
||||||
"membersListTitle": "Group Members",
|
"membersListTitle": "Group Members",
|
||||||
"membersListTitleNotAllowedSeeingGroupMembers": "Group Members invisible",
|
"membersListTitleNotAllowedSeeingGroupMembers": "Group Members invisible",
|
||||||
"myGroups": "My Groups",
|
"myGroups": "My Groups",
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user