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