diff --git a/frontend/src/pages/relay/TaskCreatePage.vue b/frontend/src/pages/relay/TaskCreatePage.vue index b543e8f..95c627e 100644 --- a/frontend/src/pages/relay/TaskCreatePage.vue +++ b/frontend/src/pages/relay/TaskCreatePage.vue @@ -64,6 +64,12 @@ const repo = ref(null) async function loadProject() { try { repo.value = await projectStore.fetchOne(projectId.value) + // 업무 작성/수정은 프로젝트 관리자만 가능 — 일반 멤버는 진입 즉시 상세로 돌려보낸다 + // (백엔드도 admin 전용이지만, 폼 화면 자체를 열지 못하게 막는다) + if (repo.value && !repo.value.canManage) { + void dialog.alert('업무 작성은 프로젝트 관리자만 가능합니다.', { variant: 'warning' }) + await router.replace(`/projects/${projectId.value}`) + } } catch { repo.value = null }