This commit is contained in:
2026-07-08 20:28:24 +09:00
parent 38b5c2492e
commit 76d91efcb8
11 changed files with 1064 additions and 7 deletions
+21 -1
View File
@@ -97,4 +97,24 @@ export const ui_locales = {
- 회원가입 후 이메일 인증 완료: `users.status = 'NO_COMPANY'` (로그인 가능, 회사 미연결)
- 회사 생성: `users.status = 'ACTIVE'`, `company_id` 세팅, `role = 'ADMIN'`, `is_master = TRUE`
- 회사 참여 신청: `users.status = 'PENDING'` (관리자 승인 대기)
- 관리자 승인: `users.status = 'ACTIVE'`, `company_id` 세팅
- 관리자 승인: `users.status = 'ACTIVE'`, `company_id` 세팅
### 5.3 대시보드 권한 기반 UI 제어 (B01_Dashboard)
* **권한 검증 헬퍼 필수:** `.agent/plan_dashboard_management.md` 섹션 9의 헬퍼 함수 참고
- `canEditProject(user, project)` - 프로젝트 수정 권한
- `canDeleteProject(user)` - 프로젝트 삭제 권한 (SYSTEM_ADMIN만)
- `canAddUser(user)` - 사용자 추가 권한
- `canChangeRole(user, targetUser)` - 역할 변경 권한 (ADMIN: USER↔ADMIN만, SYSTEM_ADMIN 제외)
- `canDeleteUser(user, targetUser)` - 사용자 삭제 권한 (마지막 ADMIN 보호)
- `canManageAutomation(user, automation)` - 자동화 로직 관리 권한
- `isLastAdmin(company, excludeUserId)` - 회사의 마지막 ADMIN 확인
* **UI 컴포넌트 구현:** 권한에 따라 버튼/필드 표시/비활성화
- 프로젝트: 수정 모달, 삭제 확인 모달 (삭제는 SYSTEM_ADMIN만)
- 사용자: 추가 모달 (가입 계정 목록), 수정 모달, 역할변경 모달, 삭제 확인 모달
- 자동화 로직: 생성/수정/삭제 모달 (ADMIN/SYSTEM_ADMIN만)
- 모든 삭제 모달에 경고 메시지 포함 (되돌릴 수 없음)
* **다국어 반영:** 계획서 8장의 모든 키를 `ui_template_locale.ts`에 추가 후 컴포넌트에서 `L(키)` 사용
- 모달 제목, 버튼 레이블, 확인 메시지, 오류 메시지 모두 다국어 처리
- 하드코딩된 문구 절대 금지