diff --git a/web-ui/js/modern-dashboard.js b/web-ui/js/modern-dashboard.js index 66d247e..32c108e 100644 --- a/web-ui/js/modern-dashboard.js +++ b/web-ui/js/modern-dashboard.js @@ -96,7 +96,10 @@ async function initializeDashboard() { // 관리자 권한 확인 checkAdminAccess(); - + + // TBM 페이지 접근 권한 확인 + checkTbmPageAccess(); + console.log('✅ 모던 대시보드 초기화 완료'); } @@ -697,12 +700,12 @@ function checkAdminAccess() { const adminElements = document.querySelectorAll('.admin-only'); const isFullAdmin = currentUser && ['admin', 'system'].includes(currentUser.access_level); const isGroupLeader = currentUser && currentUser.access_level === 'group_leader'; - + console.log(`🔐 권한 확인: 사용자=${currentUser?.username}, 역할=${currentUser.access_level}, 전체관리자=${isFullAdmin}, 그룹리더=${isGroupLeader}`); - + adminElements.forEach(element => { const href = element.getAttribute('href'); - + // 작업 분석: 전체 관리자만 접근 가능 if (href && href.includes('work-analysis.html')) { if (isFullAdmin) { @@ -736,6 +739,40 @@ function checkAdminAccess() { }); } +// ========== TBM 페이지 접근 권한 확인 ========== // +async function checkTbmPageAccess() { + try { + if (!currentUser || !currentUser.user_id) { + console.log('⚠️ TBM 페이지 권한 확인: 사용자 정보 없음'); + return; + } + + console.log('🛠️ TBM 페이지 권한 확인 중...'); + + // 사용자의 페이지 접근 권한 조회 + const response = await window.apiCall(`/users/${currentUser.user_id}/page-access`); + + if (response && response.success) { + const pageAccess = response.data?.pageAccess || []; + + // 'tbm' 페이지 접근 권한 확인 + const tbmPage = pageAccess.find(p => p.page_key === 'tbm'); + const tbmQuickAction = document.getElementById('tbmQuickAction'); + + if (tbmPage && tbmPage.can_access && tbmQuickAction) { + tbmQuickAction.style.display = 'block'; + console.log('✅ TBM 페이지 접근 권한 있음 - 빠른 작업 버튼 표시'); + } else { + console.log('❌ TBM 페이지 접근 권한 없음 - 빠른 작업 버튼 숨김'); + } + } else { + console.log('⚠️ TBM 페이지 권한 확인 실패'); + } + } catch (error) { + console.error('❌ TBM 페이지 권한 확인 오류:', error); + } +} + // ========== 상태 표시 ========== // function showLoadingState() { const loadingHTML = ` diff --git a/web-ui/pages/dashboard.html b/web-ui/pages/dashboard.html index 9db6fc1..9a89995 100644 --- a/web-ui/pages/dashboard.html +++ b/web-ui/pages/dashboard.html @@ -37,6 +37,15 @@