🔧 Permission System Fix:
- loadPermissions() → setUser() + loadPagePermissions() 수정
- PagePermissionManager 중복 생성 제거 (전역 인스턴스 사용)
- issues_dashboard 페이지를 permissions.js에 추가 (defaultAccess: true)
🐛 Fixed Error:
- ❌ TypeError: window.pagePermissionManager.loadPermissions is not a function
- ✅ 올바른 메서드 호출: setUser() + loadPagePermissions()
📋 Permission Structure:
- issues_dashboard: { title: '현황판', defaultAccess: true }
- 모든 사용자가 기본적으로 현황판 접근 가능
Expected Result:
✅ 현황판 페이지 권한 시스템 정상 초기화
✅ 페이지 접근 권한 확인 정상 동작
✅ 공통 헤더 및 메뉴 정상 표시
목록 관리를 수신함, 관리함, 폐기함 3개 하위 페이지로 세분화하고
각각 별도의 권한 관리가 가능하도록 시스템 구현
Backend Changes:
- page_permissions.py: issues_inbox, issues_management, issues_archive 권한 추가
- 수신함: 기본 접근 허용 (true)
- 관리함, 폐기함: 관리자 권한 필요 (false)
Frontend Changes:
- permissions.js: 3개 하위 페이지 권한 정의 추가
- common-header.js: 드롭다운 하위 메뉴 구조 구현
* 데스크톱: 호버 드롭다운 메뉴
* 모바일: 접을 수 있는 하위 메뉴
- admin.html: 권한 관리 UI에 새 페이지들 추가
Features:
- 권한별 하위 메뉴 필터링
- 반응형 드롭다운 메뉴
- 개별 페이지별 권한 제어
- 관리자 페이지에서 세부 권한 설정 가능
Next: 실제 페이지 파일 생성 및 기능 구현 예정
- 목록 관리 URL을 /issue-view.html#manage에서 /index.html#list로 변경
- issues_manage 페이지의 기본 접근 권한을 true로 변경
- 프론트엔드와 백엔드 권한 설정 동기화
Changes:
- common-header.js: 목록 관리 URL 수정
- page-preloader.js: 프리로더 URL 수정
- permissions.js: issues_manage defaultAccess를 true로 변경
- page_permissions.py: 백엔드 default_access를 true로 변경
Fixes: 목록 관리 버튼 클릭 시 무한 로딩 문제
- 권한 기반 공통 헤더 컴포넌트 구현
- 모바일 친화적 캘린더 날짜 필터 추가
- 페이지 프리로더 및 키보드 단축키 시스템 구현
- Service Worker 기반 캐싱 시스템 추가
Frontend Changes:
- components/common-header.js: 권한 기반 동적 메뉴 생성
- components/mobile-calendar.js: 터치/스와이프 지원 캘린더
- core/permissions.js: 페이지 접근 권한 관리
- core/page-manager.js: 페이지 라이프사이클 관리
- core/page-preloader.js: 페이지 프리로딩 최적화
- core/keyboard-shortcuts.js: 키보드 네비게이션
- css/mobile-calendar.css: 모바일 최적화 캘린더 스타일
- sw.js: 3단계 캐싱 전략 서비스 워커
Removed:
- auth-common.js, common-header.js (구버전 파일들)