feat: BOM 관리 시스템 대폭 개선 및 Docker 배포 가이드 추가
Some checks failed
SonarQube Analysis / SonarQube Scan (push) Has been cancelled

- 🎨 UI/UX 개선: 데본씽크 스타일 모던 디자인 적용
- 📁 컴포넌트 구조 개선: 폴더별 체계적 관리 (common/, bom/, materials/)
- 🔧 BOM 관리 페이지 리팩토링: NewMaterialsPage → BOMManagementPage + 카테고리별 컴포넌트 분리
- 💾 구매신청 기능 개선: 선택된 자재 비활성화, 제목 편집, 엑셀 다운로드
- 📊 자재 표시 개선: 타입/서브타입 컬럼 정리, 상세 정보 복원
- 🐛 CSS 빌드 오류 수정: NewMaterialsPage.css 문법 오류 해결
- 📚 문서화: PAGES_GUIDE.md 추가, README에 Docker 캐시 문제 해결 가이드 추가
- 🔄 API 개선: 구매신청 자재 조회, 제목 수정 엔드포인트 추가
This commit is contained in:
hyungi
2025-10-16 12:45:23 +09:00
parent 5aef867110
commit 64fd9ad3d2
31 changed files with 7450 additions and 1604 deletions

View File

@@ -176,6 +176,39 @@ async def get_signup_requests(
)
@router.get("/pending-signups/count")
async def get_pending_signups_count(
current_user: dict = Depends(get_current_user),
db: Session = Depends(get_db)
):
"""
승인 대기 중인 회원가입 수 조회 (관리자 전용)
Returns:
dict: 승인 대기 중인 사용자 수
"""
try:
# 관리자 권한 확인
if current_user.get('role') not in ['admin', 'system']:
return {"count": 0} # 관리자가 아니면 0 반환
# 승인 대기 중인 사용자 수 조회
query = text("""
SELECT COUNT(*) as count
FROM users
WHERE status = 'pending'
""")
result = db.execute(query).fetchone()
count = result.count if result else 0
return {"count": count}
except Exception as e:
logger.error(f"승인 대기 회원가입 수 조회 실패: {str(e)}")
return {"count": 0} # 오류 시 0 반환
@router.post("/approve-signup/{user_id}")
async def approve_signup(
user_id: int,