Skip to content

Commit 8bc47ec

Browse files
authored
fix: filter by owner without superadmin (#36)
1 parent 844b00b commit 8bc47ec

1 file changed

Lines changed: 14 additions & 7 deletions

File tree

ui/src/pages/processings/index.vue

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -104,22 +104,29 @@ onMounted(async () => setBreadcrumbs([{ text: 'traitements' }]))
104104
/*
105105
Permissions
106106
*/
107-
107+
const owner = computed(() => {
108+
if (owners.value && owners.value.length) {
109+
const parts = owners.value[0].split(':')
110+
return { type: parts[0], id: parts[1] } as { type: 'user' | 'organization', id: string, department?: string }
111+
} else {
112+
return session.state.account
113+
}
114+
})
108115
const ownerRole = computed(() => {
109116
const user = session.state.user
110-
if (session.state.account.type === 'user') {
111-
if (session.state.account.id === user.id) return 'admin'
117+
if (owner.value.type === 'user') {
118+
if (owner.value.id === user.id) return 'admin'
112119
else return 'anonymous'
113120
}
114121
const userOrg = user.organizations.find(o => {
115-
if (o.id !== session.state.account.id) return false
122+
if (o.id !== owner.value.id) return false
116123
if (!o.department) return true
117-
if (o.department === session.state.account.department) return true
124+
if (o.department === owner.value.department) return true
118125
return false
119126
})
120127
return userOrg ? userOrg.role : 'anonymous'
121128
})
122-
const ownerFilter = computed(() => `${session.state.account.type}:${session.state.account.id}${session.state.account.department ? ':' + session.state.account.department : ''}`)
129+
const ownerFilter = computed(() => `${owner.value.type}:${owner.value.id}${owner.value.department ? ':' + owner.value.department : ''}`)
123130
const canAdmin = computed(() => {
124131
return ownerRole.value === 'admin' || !!session.state.user?.adminMode
125132
})
@@ -137,7 +144,7 @@ const processingsParams = computed(() => {
137144
}
138145
if (plugins.value.length) params.plugins = plugins.value.join(',')
139146
if (statuses.value.length) params.statuses = statuses.value.join(',')
140-
if (showAll.value) {
147+
if (owners.value) {
141148
params.owner = owners.value.join(',')
142149
} else {
143150
params.owner = ownerFilter.value

0 commit comments

Comments
 (0)