fix: allow moderators to edit all jobs
This commit is contained in:
@@ -32,7 +32,7 @@
|
||||
</Button>
|
||||
</router-link>
|
||||
<router-link
|
||||
v-if="user.data.name == job.data?.owner"
|
||||
v-if="canManageJob"
|
||||
:to="{
|
||||
name: 'JobForm',
|
||||
params: { jobName: job.data?.name },
|
||||
@@ -240,9 +240,7 @@ const redirectToWebsite = (url) => {
|
||||
|
||||
const canManageJob = computed(() => {
|
||||
if (!user.data?.name || !job.data) return false
|
||||
return (
|
||||
user.data.name === job.data.owner || user.data.roles?.includes('Moderator')
|
||||
)
|
||||
return user.data.name === job.data.owner || user.data?.is_moderator
|
||||
})
|
||||
|
||||
usePageMeta(() => {
|
||||
|
||||
@@ -207,6 +207,11 @@ const jobDetail = createResource({
|
||||
}
|
||||
},
|
||||
onSuccess(data) {
|
||||
if (data.owner != user.data?.name && !user.data?.is_moderator) {
|
||||
router.push({
|
||||
name: 'Jobs',
|
||||
})
|
||||
}
|
||||
Object.keys(data).forEach((key) => {
|
||||
if (Object.hasOwn(job, key)) job[key] = data[key]
|
||||
})
|
||||
@@ -242,7 +247,11 @@ const job = reactive({
|
||||
})
|
||||
|
||||
onMounted(() => {
|
||||
if (!user.data) window.location.href = '/login'
|
||||
if (!user.data) {
|
||||
router.push({
|
||||
name: 'Jobs',
|
||||
})
|
||||
}
|
||||
|
||||
if (props.jobName != 'new') jobDetail.reload()
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user