Commit Graph

25 Commits

Author SHA1 Message Date
김보곤
b2d639265c feat: [users] 사용자 수정 화면에 소속 부서 선택 기능 추가
- UserController: profile 쿼리에 department_id 추가
- edit.blade.php: 소속 부서 select 드롭다운 UI 추가
- UpdateUserRequest: department_id 유효성 검증 규칙 추가
- UserService: tenant_user_profiles에 department_id 저장 로직 추가
2026-02-28 12:14:35 +09:00
김보곤
e5ea72ed2a feat: [users] 재직/휴직/퇴직 상태 검색 필터 추가
- index.blade.php에 employee_status 필터 select 추가
- UserService에 tenant_user_profiles 기반 필터링 로직 추가
2026-02-28 08:31:29 +09:00
김보곤
cf7244a30c feat: [users] 재직상태(재직/휴직/퇴직) 표시 및 수정 기능 추가
- 사용자 목록 테이블에 재직상태 컬럼 추가 (재직/휴직/퇴직 배지)
- 사용자 수정 화면에 재직상태 select 필드 추가
- UserService.getUsers()에 employee_status 서브쿼리 추가
- UserService.updateUser()에서 tenant_user_profiles에 employee_status 저장
- UpdateUserRequest에 employee_status validation 추가
2026-02-28 08:23:33 +09:00
김보곤
9f7c107970 fix: [users] 직급/직책 툴팁이 항상 표시되는 문제 수정
- Tailwind invisible/group-hover 클래스가 빌드에 누락되어 항상 표시됨
- inline style(display:none) + onmouseenter/onmouseleave로 변경
2026-02-28 08:13:42 +09:00
김보곤
4528147b26 feat: [users] 직급/직책 label에 info 툴팁 아이콘 추가
- 직급: "조직 내 서열" 설명 (사원, 대리, 과장 등)
- 직책: "맡은 역할/책임" 설명 (팀장, 실장 등)
- hover 시 tooltip 표시 (group/invisible 패턴)
2026-02-28 08:11:19 +09:00
김보곤
691a8bae55 feat: [users] 사용자 관리에 직급/직책 입력 UI 추가
- 사용자 수정/생성 화면에 직급(position_key), 직책(job_title_key) 선택 필드 추가
- HR 사원관리의 position-add-modal 재사용 ([+] 버튼으로 새 직급/직책 추가)
- UserService에서 tenant_user_profiles 테이블에 저장 (updateOrInsert)
- UpdateUserRequest, StoreUserRequest에 validation 규칙 추가
2026-02-28 08:07:42 +09:00
김보곤
1507257dcd fix:사용자 관리 화면 기본 리스트 개수 100개로 설정
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-06 10:26:33 +09:00
1cbaf1b873 refactor(dev-tools): 인증 시스템 통합 및 테넌트 사용자 조회 개선
## 인증 모달 통합
- api-explorer, flow-tester, api-logs 3개 페이지의 인증 UI 통합
- 공유 컴포넌트 생성: auth-modal.blade.php, auth-scripts.blade.php
- sessionStorage 기반으로 페이지 간 인증 상태 공유
- DevToolsAuth 글로벌 JavaScript API 제공

## 테넌트 사용자 조회 개선
- 시스템 헤더에서 선택한 테넌트의 사용자 목록 표시
- 관리자가 모든 테넌트의 사용자 조회 가능 (소속 무관)
- session('selected_tenant_id')로 Tenant 모델 직접 조회
- 테넌트 미선택 시 안내 메시지 표시

## 버그 수정
- /users 페이지 HTMX swap 오류 수정 (JSON→HTML 직접 반환)
- 사용자 이름 JavaScript 이스케이프 처리 (@js() 사용)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-21 15:13:01 +09:00
6525bfd715 feat: MNG → DEV 자동 로그인 기능 구현
- LoginToken 모델 생성 (토큰 생성 및 URL 생성)
- UserController에 loginToken API 메서드 추가
- DEV_APP_URL 환경설정 추가 (config/services.php)
- 사용자 목록에 "DEV 접속" 버튼 추가
- openDevSite JavaScript 함수 추가

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-20 13:43:13 +09:00
d43013b4b4 feat(mobile): Phase 4 폼/필터 반응형 구현
- filter-collapsible 컴포넌트 생성 (모바일 필터 토글)
- 10개 index 페이지 헤더/필터 반응형 적용
- 헤더: flex-col sm:flex-row 스택 배치
- 필터: w-full sm:w-40 반응형 너비
- 버튼: flex-1 sm:flex-none 그룹 배치
2025-12-19 16:46:30 +09:00
a72e4c4127 feat(mng): Phase 3 - 테이블 스와이프 기능 구현
- table-swipe.blade.php 컴포넌트 생성
- CSS 터치 스크롤 최적화 및 스크롤바 스타일 추가
- 11개 테이블에 x-table-swipe 컴포넌트 적용
- 모바일에서 스와이프 힌트 애니메이션 표시 (sm 미만)
2025-12-19 16:20:20 +09:00
bcdf2efe39 사용자 정보 모달 비밀번호 초기화 버튼 위치 변경 2025-12-09 21:51:39 +09:00
428d3d9e83 feat: 사용자 목록 테넌트 컬럼 추가 및 컨텍스트 메뉴 개선
- 사용자 목록에 테넌트 컬럼 추가 (기본 테넌트 인디고 배지)
- UserService: tenants 관계 eager loading 추가
- 컨텍스트 메뉴 우클릭 → 좌클릭 변경 (캡처링 방식)
- 전체 blade 파일 툴팁 통일: '클릭하여 메뉴 열기'
- flow-tester 오류 분석 문구 수정
2025-12-09 10:28:46 +09:00
858ce6194d Flow Tester AI 프롬프트 템플릿 개선
- config.apiKey 필드를 JSON에서 제거 (서버 자동 주입)
- config.baseUrl을 빈 문자열로 설정 (서버 기본값 사용)
- 프롬프트 템플릿에 더 명확한 규칙 추가
- 로그인 스텝 포함한 완전한 예시 제공
- 예시 프롬프트 간소화
2025-12-05 14:19:59 +09:00
5c892c1ed9 브라우저 alert/confirm을 SweetAlert2로 전환
- layouts/app.blade.php에 SweetAlert2 CDN 및 전역 헬퍼 함수 추가
  - showToast(): 토스트 알림 (success, error, warning, info)
  - showConfirm(): 확인 대화상자
  - showDeleteConfirm(): 삭제 확인 (경고 아이콘)
  - showPermanentDeleteConfirm(): 영구 삭제 확인 (빨간색 경고)
  - showSuccess(), showError(): 성공/에러 알림

- 변환된 파일 목록 (48개 Blade 파일):
  - menus/* (6개), boards/* (2개), posts/* (3개)
  - daily-logs/* (3개), project-management/* (6개)
  - dev-tools/flow-tester/* (6개)
  - quote-formulas/* (4개), permission-analyze/* (1개)
  - archived-records/* (1개), profile/* (1개)
  - roles/* (3개), permissions/* (3개)
  - departments/* (3개), tenants/* (3개), users/* (3개)

- 주요 개선사항:
  - Tailwind CSS 테마와 일관된 디자인
  - 비동기 콜백 패턴으로 리팩토링
  - 삭제/복원/영구삭제 각각 다른 스타일 적용
2025-12-05 09:49:56 +09:00
690b252bf4 fix: [users] 슈퍼관리자 체크박스 해제 시 값 반영 안되는 문제 수정
- 체크박스에 hidden 필드 추가 (해제 시에도 값 전송)
- UserService에 is_super_admin boolean 변환 로직 추가
- is_active 체크박스도 동일하게 수정
2025-12-05 09:31:23 +09:00
85cbe23782 feat: [users] 사용자 등록 시 비밀번호 자동 생성 및 이메일 발송
- 사용자 등록 시 비밀번호 입력 필드 제거
- 임의 비밀번호 자동 생성 후 이메일 발송
- 사용자 수정 페이지에 비밀번호 초기화 버튼 추가
- 사용자 모달에 비밀번호 초기화 버튼 추가
- 사용자 모달 프로필 이미지 없을 때 이름 첫글자 표시 (한글 지원)
- UserPasswordMail 클래스 및 이메일 템플릿 추가
2025-12-01 10:50:16 +09:00
b39e8b5f2c fix: [users] 슈퍼관리자 보호 기능 복원 라우트 수정
- routes/api.php: 8개 엔티티의 restore 라우트를 super.admin 미들웨어 밖으로 이동
  - tenants, departments, users, menus, boards
  - pm/projects, pm/tasks, pm/issues
- UserService.canAccessUser(): withTrashed() 적용하여 soft-deleted 사용자 권한 체크 가능
- UserPermissionService.canModifyUser(): withTrashed() 적용 (일관성 유지)

권한 정책:
- 복원 (Restore): 일반관리자 가능
- 영구삭제 (Force Delete): 슈퍼관리자 전용

버그 수정:
- 302 Found 에러 해결 (미들웨어 블로킹)
- soft-deleted 사용자 복원 시 권한 체크 실패 해결

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 00:13:12 +09:00
049fa7ed61 feat: [users] 슈퍼관리자 보호 기능 구현
- 일반관리자가 슈퍼관리자 수정/삭제 불가
- API Controller: update/destroy에서 403 반환
- Web Controller: edit에서 403 abort
- FormRequest: is_super_admin 필드 강제/유지 처리
- View: 테이블, 모달, 생성/수정 폼에서 버튼/체크박스 숨김

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-30 23:10:07 +09:00
127c2fe877 feat: 인증 및 권한 시스템 개선
- LoginController: 로그인 처리 개선
- UserPermissionController: 권한 관리 기능 개선
- User 모델: 권한 관련 메서드 추가
- AuthService: 인증 서비스 로직 개선
- Middleware 추가
- bootstrap/app.php: 미들웨어 등록
- 권한 관리 뷰 개선 (user-permissions, users)
2025-11-30 21:04:32 +09:00
39ed2ac3e3 feat(user-modal): 사용자 정보 모달 및 컨텍스트 메뉴 확장
사용자 모달 기능:
- 사용자 정보 모달 팝업 (조회/삭제/수정)
- 권한 요약 정보 (Web/API 권한 카운트)
- 2x2 그리드 레이아웃 (테넌트, 역할, 부서, 권한)
- 테이블 행 클릭으로 모달 열기
- 권한 관리 링크 클릭 시 해당 사용자 자동 선택

컨텍스트 메뉴 확장:
- permission-analyze 페이지 사용자 이름에 컨텍스트 메뉴
- user-permissions 페이지 사용자 버튼에 컨텍스트 메뉴
- 사용자 모달 내 테넌트 칩에 컨텍스트 메뉴
- 헤더 테넌트 배지에 컨텍스트 메뉴
- 테넌트 메뉴에 "이 테넌트로 전환" 기능 추가
2025-11-27 20:05:27 +09:00
d4534f0d3f feat(mng): 사용자 역할/부서 매핑 및 부서관리 복구/영구삭제 기능 추가
사용자 관리:
- 사용자 등록/수정 시 테넌트별 역할/부서 선택 기능 추가
- Department, UserRole, DepartmentUser 모델 추가
- User 모델에 역할/부서 관계 및 헬퍼 메서드 추가
- syncRoles/syncDepartments 메서드 (forceDelete로 유니크 키 충돌 방지)
- 체크박스 UI로 다중 선택 지원

부서 관리:
- Soft Delete 필터 (정상만/전체/삭제된 항목만)
- 복구(restore) 및 영구삭제(forceDelete) 기능 추가
- Department 모델에 SoftDeletes 트레이트 추가
- 삭제된 항목 빨간 배경 + "삭제됨" 배지 표시
2025-11-26 20:28:07 +09:00
2a9b697baf UI 개선: 테넌트 선택 헤더 이동 및 역할 권한 관리 개선
- 테넌트 선택을 각 페이지에서 헤더로 통합 이동
- 페이지 제목 이모지 제거 및 상단 여백(mt-6) 축소
- 역할 권한 관리 페이지 레이아웃을 다른 페이지와 통일
- 메뉴명 스타일 개선 (depth 들여쓰기, └ 기호 적용)
- 상위 메뉴 컬럼 제거로 테이블 간소화
- RolePermissionService에 depth 계산 로직 추가
- pagination.js를 body 끝으로 이동하여 로딩 오류 해결
- 역할 선택 UI를 셀렉트박스에서 버튼 형태로 변경
- 역할 버튼 hover 효과 개선 (선택된 버튼 가독성 향상)

변경된 파일:
- resources/views/partials/header.blade.php: 테넌트 선택 UI 추가
- resources/views/dashboard|menus|users|departments|permissions|roles/index.blade.php: tenant-selector 제거, 여백 축소
- resources/views/layouts/app.blade.php: pagination.js 위치 변경
- app/Services/RolePermissionService.php: depth 계산 로직 추가
- resources/views/role-permissions/: 역할 권한 관리 페이지 개선
- routes/web.php, routes/api.php: 역할 권한 관리 라우트 추가
2025-11-25 15:21:48 +09:00
894055786e 사용자 관리 복구 및 영구삭제 기능 추가
- UserService: audit 컬럼 처리 추가 (created_by, updated_by, deleted_by)
- UserService: restoreUser(), forceDeleteUser() 메서드 추가
- UserController: restore(), forceDestroy() 엔드포인트 추가
- 권한 체크: 영구삭제는 슈퍼관리자만 가능
- UI: 삭제된 사용자에 복원/영구삭제 버튼 추가
- Routes: restore, forceDestroy 라우트 추가
- UserService::getUsers()에 withTrashed() 추가
2025-11-24 19:30:36 +09:00
0c86b390ad feat: 사용자 관리 기능 및 MNG 문서 추가
- MNG_CRITICAL_RULES.md: DB 마이그레이션 금지 등 핵심 규칙
- UserController: 사용자 CRUD API 엔드포인트
- StoreUserRequest, UpdateUserRequest: 사용자 검증
- 사용자 관리 뷰: index, create, edit, table
- 시스템 관리 메뉴 UI 개선 (테이블 헤더 스타일)
- docs/INDEX.md: CRITICAL_RULES 링크 추가
2025-11-24 18:49:02 +09:00