fix(sharing): correctly check if the user has admin rights when sharing
continuous-integration/drone/push Build is failing Details

This commit is contained in:
kolaente 2022-10-25 18:48:51 +02:00
parent 70e81ee682
commit 8a5b1ab3e3
Signed by: konrad
GPG Key ID: F40E70337AB24C9B
2 changed files with 7 additions and 4 deletions

View File

@ -34,6 +34,8 @@ import {useTitle} from '@vueuse/core'
import ListService from '@/services/list' import ListService from '@/services/list'
import ListModel from '@/models/list' import ListModel from '@/models/list'
import type {IList} from '@/modelTypes/IList'
import {RIGHTS} from '@/constants/rights'
import CreateEdit from '@/components/misc/create-edit.vue' import CreateEdit from '@/components/misc/create-edit.vue'
import LinkSharing from '@/components/sharing/linkSharing.vue' import LinkSharing from '@/components/sharing/linkSharing.vue'
@ -45,7 +47,7 @@ import {useAuthStore} from '@/stores/auth'
const {t} = useI18n({useScope: 'global'}) const {t} = useI18n({useScope: 'global'})
const list = ref() const list = ref<IList>()
const title = computed(() => list.value?.title const title = computed(() => list.value?.title
? t('list.share.title', {list: list.value.title}) ? t('list.share.title', {list: list.value.title})
: '', : '',
@ -56,7 +58,7 @@ const authStore = useAuthStore()
const configStore = useConfigStore() const configStore = useConfigStore()
const linkSharingEnabled = computed(() => configStore.linkSharingEnabled) const linkSharingEnabled = computed(() => configStore.linkSharingEnabled)
const userIsAdmin = computed(() => 'owner' in list.value && list.value.owner.id === authStore.info.id) const userIsAdmin = computed(() => list?.value?.maxRight === RIGHTS.ADMIN)
async function loadList(listId: number) { async function loadList(listId: number) {
const listService = new ListService() const listService = new ListService()

View File

@ -31,12 +31,13 @@ import {useI18n} from 'vue-i18n'
import NamespaceService from '@/services/namespace' import NamespaceService from '@/services/namespace'
import NamespaceModel from '@/models/namespace' import NamespaceModel from '@/models/namespace'
import type {INamespace} from '@/modelTypes/INamespace'
import {RIGHTS} from '@/constants/rights'
import CreateEdit from '@/components/misc/create-edit.vue' import CreateEdit from '@/components/misc/create-edit.vue'
import manageSharing from '@/components/sharing/userTeam.vue' import manageSharing from '@/components/sharing/userTeam.vue'
import {useTitle} from '@/composables/useTitle' import {useTitle} from '@/composables/useTitle'
import {useAuthStore} from '@/stores/auth' import {useAuthStore} from '@/stores/auth'
import type {INamespace} from '@/modelTypes/INamespace'
const {t} = useI18n({useScope: 'global'}) const {t} = useI18n({useScope: 'global'})
@ -49,7 +50,7 @@ const title = computed(() => namespace.value?.title
useTitle(title) useTitle(title)
const authStore = useAuthStore() const authStore = useAuthStore()
const userIsAdmin = computed(() => 'owner' in namespace.value && namespace.value.owner.id === authStore.info.id) const userIsAdmin = computed(() => namespace?.value?.maxRight === RIGHTS.ADMIN)
async function loadNamespace(namespaceId: number) { async function loadNamespace(namespaceId: number) {
if (!namespaceId) return if (!namespaceId) return