Commit Graph

209 Commits

Author SHA1 Message Date
127c2fe877 feat: 인증 및 권한 시스템 개선
- LoginController: 로그인 처리 개선
- UserPermissionController: 권한 관리 기능 개선
- User 모델: 권한 관련 메서드 추가
- AuthService: 인증 서비스 로직 개선
- Middleware 추가
- bootstrap/app.php: 미들웨어 등록
- 권한 관리 뷰 개선 (user-permissions, users)
2025-11-30 21:04:32 +09:00
76c8a94e4f docs: MNG 프로젝트 문서 정비
- 개발 단계별 문서 추가 (00_OVERVIEW ~ 06_PHASE)
- 기술 표준 문서 추가 (99_TECHNICAL_STANDARDS)
- 개발 프로세스 및 패턴 문서 추가
  - API_FLOW_TESTER_DESIGN, DEV_PROCESS
  - HTMX_API_PATTERN, LAYOUT_PATTERN
  - SETUP_GUIDE, MNG_PROJECT_PLAN
- 프로젝트 관리 문서 추가 (project-management/)
- INDEX.md, MNG_CRITICAL_RULES.md 업데이트
2025-11-30 21:04:19 +09:00
432ec2b1c1 feat: [pm] 작업/이슈 긴급(is_urgent) 토글 기능 추가
- Task, Issue 모델에 is_urgent 필드 추가
- TaskService, IssueService에 toggleUrgent() 메서드 추가
- TaskController, IssueController에 toggleUrgent 엔드포인트 추가
- API 라우트에 toggle-urgent 경로 추가
- 프로젝트 상세 페이지 UI 개선:
  - 작업/이슈 행에 긴급 토글 버튼(불꽃 아이콘) 추가
  - 서브 row(아코디언 내 이슈)에도 긴급 토글 추가
  - 서브 row 컬럼을 작업 row와 동일하게 8컬럼으로 정렬
  - 진행중 작업의 이슈 아코디언 자동 열기
  - 이슈 상태 버튼 항상 테두리 표시
2025-11-28 18:08:32 +09:00
58009e675d feat: [boards] MNG 게시판 관리 시스템 구현
- Models: Board, BoardSetting (커스텀 필드)
- Service: BoardService (CRUD, 필드 관리)
- Controllers: BoardController (Blade), Api/Admin/BoardController (API)
- Views: index, create, edit, table partial
- 커스텀 필드 다중 추가 모달 (한 줄 레이아웃, + 버튼 추가)
2025-11-28 08:50:47 +09:00
e2475d0d9f feat: [pm] 프로젝트 진행 관리 시스템 구현
- Models: AdminPmProject, AdminPmTask, AdminPmIssue
- Services: ProjectService, TaskService, IssueService, ImportService
- API Controllers: ProjectController, TaskController, IssueController, ImportController
- FormRequests: Store/Update/BulkAction 요청 검증
- Views: 대시보드, 프로젝트 CRUD, JSON Import 화면
- Routes: API 42개 + Web 6개 엔드포인트

주요 기능:
- 프로젝트/작업/이슈 계층 구조 관리
- 상태 변경, 우선순위, 마감일 추적
- 작업 순서 드래그앤드롭 (reorder API)
- JSON Import로 일괄 등록
- Soft Delete 및 복원
2025-11-28 08:49:30 +09:00
fe902472c1 feat: [flow-tester] 의존성 검사, Docker 지원, 인증 자동 주입 기능 추가
FlowExecutor 개선:
- 의존성 스텝 실패 시 후속 스텝 자동 스킵 로직 추가
- Docker 환경 자동 감지 및 내부 URL 변환 (api.sam.kr → nginx)
- SSL 검증 비활성화 및 Host 헤더 설정 지원
- .env에서 API Key/Bearer Token 자동 주입

VariableBinder 개선:
- 임의 stepId 패턴 지원 (page_create_1.tempPageId 등)
- {{$env.VAR_NAME}} 환경변수 플레이스홀더 추가
- {{$auth.token}}, {{$auth.apiKey}} 인증 플레이스홀더 추가

UI 개선:
- SKIPPED 상태 스타일링 (노란색 배경/테두리)
- 행 클릭 시 스텝 상세 확장 기능
- 실행 결과 실시간 표시 개선
2025-11-27 22:20:36 +09:00
28ca71a17e feat: [flow-tester] 플로우 실행 기능 완성
- FlowTesterController에 FlowExecutor 연결
- 실행 결과를 AdminApiFlowRun에 저장
- 실행 중 로딩 인디케이터 추가
- 결과 모달로 상세 실행 결과 표시
  - 상태, 소요 시간, 완료 스텝 표시
  - 각 스텝별 성공/실패 로그 표시
  - 상세 보기 링크 제공
2025-11-27 20:25:32 +09:00
3dcad4e00c fix: [flow-tester] AdminApiFlowRun 모델 수정
- created_at datetime 캐스팅 추가 (=false로 인한 문제)
- status_color DaisyUI → 순수 Tailwind CSS 클래스로 변경
2025-11-27 20:18:44 +09:00
ae980fff38 fix: [flow-tester] guide-modal Blade 이스케이핑 누락 수정 2025-11-27 20:16:44 +09:00
c9f2f780e0 feat: 권한/역할/헤더 페이지에 테넌트 컨텍스트 메뉴 추가
- permissions 테이블의 테넌트 컬럼에 우클릭 메뉴 추가
- roles 테이블의 테넌트 컬럼에 우클릭 메뉴 추가
- 헤더의 현재 테넌트 배지에 우클릭 메뉴 추가
2025-11-27 20:13:17 +09:00
30defc4b10 feat(flow-tester): AI 프롬프트 템플릿 개선 및 복사 기능 추가
- meta 필드 포함 안내 추가 (자동 추출 설명)
- 프롬프트 템플릿에 복사 버튼 추가
- 예시 프롬프트에 복사 버튼 추가
- 사용 흐름 안내 추가
2025-11-27 20:12:49 +09:00
b4ed386c72 refactor: 사용자 컨텍스트 메뉴에서 삭제 옵션 제거 2025-11-27 20:09:39 +09:00
39ed2ac3e3 feat(user-modal): 사용자 정보 모달 및 컨텍스트 메뉴 확장
사용자 모달 기능:
- 사용자 정보 모달 팝업 (조회/삭제/수정)
- 권한 요약 정보 (Web/API 권한 카운트)
- 2x2 그리드 레이아웃 (테넌트, 역할, 부서, 권한)
- 테이블 행 클릭으로 모달 열기
- 권한 관리 링크 클릭 시 해당 사용자 자동 선택

컨텍스트 메뉴 확장:
- permission-analyze 페이지 사용자 이름에 컨텍스트 메뉴
- user-permissions 페이지 사용자 버튼에 컨텍스트 메뉴
- 사용자 모달 내 테넌트 칩에 컨텍스트 메뉴
- 헤더 테넌트 배지에 컨텍스트 메뉴
- 테넌트 메뉴에 "이 테넌트로 전환" 기능 추가
2025-11-27 20:05:27 +09:00
9440742d84 fix(flow-tester): Blade 이스케이핑 오류 수정 (@verbatim 적용) 2025-11-27 20:00:35 +09:00
f292765035 feat(flow-tester): JSON 작성 가이드 모달 및 예제 플로우 추가
- guide-modal.blade.php: JSON 작성 가이드 (기본 구조, 변수 바인딩, 응답 검증, AI 프롬프트)
- example-flows.blade.php: Item Master 전체/기본 테스트, 인증 플로우 예제
- index.blade.php: 가이드/예제 버튼 추가
- 순수 Tailwind CSS 모달 패턴 적용 (DaisyUI 미사용)
2025-11-27 19:50:10 +09:00
367f2159d1 feat: API Flow Tester 핵심 서비스 클래스 구현 (Day 2)
- VariableBinder: 변수 바인딩 엔진 ({{...}} 패턴 처리)
- DependencyResolver: 의존성 정렬 (Topological Sort)
- ResponseValidator: HTTP 응답 검증 (JSONPath, 연산자)
- HttpClient: Laravel HTTP Client 래퍼
- FlowExecutor: 플로우 실행 엔진
2025-11-27 19:20:07 +09:00
b32f6cfcf0 feat: 테넌트 정보 모달 팝업 기능 추가
- 테넌트 row 클릭 시 모달 팝업 표시
- 컨텍스트 메뉴 (우클릭) 지원
- 탭 구조: 구독정보, 사용자, 부서, 역할, 메뉴
- 메뉴 탭 트리 구조 접기/펼치기 기능
- 삭제된 테넌트 경고 배너 (삭제일, 삭제자 표시)
- 복원 버튼으로 즉시 복원 및 모달 새로고침
- 액션 버튼 (수정/삭제) 클릭 시 모달 미표시
2025-11-27 19:11:32 +09:00
ff943ab728 feat: API Flow Tester 기능 기반 구조 추가
- 모델: AdminApiFlow, AdminApiFlowRun
- 컨트롤러: FlowTesterController
- 뷰: index, create, edit, history, run-detail
- 사이드바 메뉴에 "개발 도구" 그룹 추가
- 라우트 설정
2025-11-27 19:02:18 +09:00
604aa256f6 refactor: 메뉴 트리 스크립트 공통화 및 디자인 통일
- public/js/menu-tree.js 공통 스크립트 생성
  - 테이블(tr.menu-row) / div(.menu-item) 둘 다 지원
  - toggleChildren, hideChildren, showChildren 함수 통합

- 권한 관리 페이지들 메뉴 트리 디자인 통일
  - role-permissions, department-permissions, user-permissions
  - 폴더/파일 아이콘, 접기/펼치기 버튼, chevron 아이콘
  - menu-row 클래스 및 data 속성 추가

- permission-analyze 접기/펼치기 기능 추가
  - data-parent-id, data-depth 속성 추가
  - 폴더 버튼 클릭으로 하위 메뉴 토글

- menus 페이지 스크립트 공통화

- 각 페이지 중복 코드 제거 및 공통 menu-tree.js 로드
2025-11-27 10:25:02 +09:00
82c072d72e fix(mng): 아카이브 레코드 batch_id NULL 처리
- 기존 데이터(batch_id NULL)는 legacy_ 접두사로 가상 batch_id 생성
- legacy 데이터 조회 시 id 기반으로 단일 레코드 조회
- batch_description NULL인 경우 레코드 타입과 원본 ID로 자동 생성
2025-11-27 09:09:05 +09:00
d45ccfb325 feat(mng): 아카이브 레코드 batch 그룹핑 UI 구현
- ArchivedRecordService: batch_id 기준 그룹핑 쿼리 추가
- Controller: batchId 파라미터로 상세 조회 변경
- 목록: 작업 설명, 레코드 타입, 레코드 수 표시
- 상세: batch 내 모든 레코드를 카드 형태로 표시
- 한번의 삭제 작업이 하나의 행으로 표시됨
2025-11-26 23:16:39 +09:00
d0b843057e fix(mng): 권한 분석 - 명시적 DENY 표시 개선
- 권한이 없는 사용자는 목록에 표시하지 않음
- access_denied → explicit_deny로 명칭 변경
- DENY 목록은 명시적 개인 거부만 표시
2025-11-26 22:23:43 +09:00
6ad76239a9 feat(mng): 삭제된 데이터 백업 기능 추가
- ArchivedRecord, ArchivedRecordRelation 모델 추가
- ArchivedRecordService 추가 (읽기 전용)
- 목록/상세 컨트롤러 및 뷰 구현
- HTMX 기반 테이블 필터링 및 페이지네이션
- 사이드바 메뉴 연결
2025-11-26 22:23:37 +09:00
f82fd5ff1b fix(mng): 권한 분석에서 역할 기반 사용자가 표시되지 않는 버그 수정
- getUserRoles(): user_roles 테이블에서 model_has_roles(Spatie) 테이블로 변경
- roles 테이블의 display_name → description 컬럼으로 수정
- traceUsersWithPermission()에서도 동일한 컬럼명 수정
2025-11-26 22:01:27 +09:00
1fc530bca2 feat(mng): 권한 분석 페이지 구현
- 메뉴별 권한 분석 기능 (접근 가능/불가 사용자 목록)
- 사용자 역추적 기능 (역할/부서/개인별 권한 추적)
- CSV 내보내기 기능
- 트리 구조 시각화 (└─ 연결선, 폴더/문서 아이콘)
- 중복 메뉴 표시 문제 해결 (테넌트별 메뉴만 표시)
2025-11-26 21:42:51 +09:00
7546771ee5 feat(mng): 개인 권한 관리 통합 매트릭스 구현
- 역할/부서/개인 권한을 통합하여 최종 유효 권한 표시
- 권한 소스별 색상 구분 UI (보라=역할, 파랑=부서, 녹색=개인허용, 빨강=개인거부)
- 스마트 토글 로직 (상속된 권한 오버라이드 지원)
- UserPermissionService: getRolePermissions(), getDepartmentPermissions(), getPersonalOverrides()
- 사용자 ID 뱃지 스타일 개선
2025-11-26 20:40:54 +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
f59e7051ac 역할/부서 권한 관리 페이지 테넌트 처리 개선
- 테넌트 미선택 시 안내 메시지 표시 (역할/부서 목록 숨김)
- 역할/부서 선택 시 해당 항목의 tenant_id로 메뉴 필터링
- 자동 선택은 특정 테넌트 선택 시에만 동작
2025-11-26 17:40:00 +09:00
ee9e645290 역할 관리 페이지 개선
- 역할 목록: 테넌트/Guard 컬럼 추가, Guard 필터 드롭다운 추가
- 역할 등록/수정: Guard 선택 기능 추가 (API/Web)
- 권한 선택 UI를 메뉴 기반 매트릭스로 변경 (7가지 권한 유형)
- 테넌트 미선택 시 역할 등록 차단
- pagination.js 디버그 로그 제거
2025-11-26 17:11:17 +09:00
f029d78614 역할/부서 권한 관리 페이지 테넌트별 그룹핑 기능 추가
- 전체 테넌트 선택 시 역할/부서를 테넌트별로 그룹화하여 표시
- 테넌트별 섹션 헤더 추가 (회색 라벨)
- 선택 시 [테넌트명] 역할/부서명 형식으로 표시
- 단일 테넌트 선택 시 기존 UI 유지
2025-11-26 15:58:54 +09:00
69b04ae041 feat: 권한 관리 시스템에 Guard 선택 기능 추가
- 부서 권한 아키텍처 재설계 (Role → Department 직접 할당)
- Guard 선택 기능 구현 (API/Web 분리)
- 초기화(Reset) 기능 추가 (view 권한만 허용)
- UI 개선 (Guard 선택기 + 구분선)

부서 권한 관리:
- Department 모델에 HasPermissions trait 추가
- DepartmentPermissionService 완전 재작성 (직접 할당 패턴)
- model_has_permissions 테이블 직접 사용
- guard_name 파라미터 모든 메서드에 추가

역할 권한 관리:
- RolePermissionService에 guard_name 파라미터 추가
- RolePermissionController에 guard_name 처리 구현
- Guard별 독립적인 권한 매트릭스 관리

UI 개선:
- Guard 선택 드롭다운 (Web/API) 추가
- 모든 HTMX 요청에 guard_name 포함
- Guard 변경 시 자동 새로고침 기능
- 시각적 구분선으로 UI 가독성 향상
2025-11-25 20:53:53 +09:00
fec284d872 feat: 부서 권한 관리 기능 구현
- DepartmentPermissionService 생성 (역할 권한 관리 패턴 적용)
- 부서별 메뉴 권한 매트릭스 관리
- 하위 부서 권한 자동 전파 기능
- 전체 허용/거부/초기화 기능
- HTMX 기반 실시간 권한 토글
- Department 모델의 HasRoles trait 활용
- model_has_permissions 테이블 사용

주요 파일:
- app/Services/DepartmentPermissionService.php
- app/Http/Controllers/DepartmentPermissionController.php
- app/Http/Controllers/Api/Admin/DepartmentPermissionController.php
- resources/views/department-permissions/index.blade.php
- resources/views/department-permissions/partials/*.blade.php
- routes/web.php, routes/api.php 라우트 추가
- sidebar 부서 권한 관리 메뉴 활성화
2025-11-25 15:32:58 +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
c921ef43f9 feat(ui): 사이드바 메뉴 그룹화 및 접기/펼치기 기능 구현
- 메뉴를 4개 그룹으로 재구성 (시스템 관리, 권한 관리, 생산 관리, 시스템)
- 그룹 접기/펼치기 기능 추가 (localStorage 상태 저장)
- 그룹 내 메뉴 인덴트 적용 (2rem)
- 그룹 구분선 및 시각적 계층 구조 강화
- 권한 테이블 레이아웃 최적화 (한 줄 표시)
- 사이드바 메뉴 가이드 문서 작성 (SIDEBAR_MENU_GUIDE.md)

변경 파일:
- resources/views/partials/sidebar.blade.php
- resources/views/permissions/partials/table.blade.php
- SIDEBAR_MENU_GUIDE.md (신규)
2025-11-25 11:53:17 +09:00
3992adc800 style: Laravel Pint 코드 스타일 자동 수정 2025-11-25 11:06:03 +09:00
dc91b89b44 feat(mng): 권한 관리 기능 구현
- Permission 모델 및 PermissionService 생성 (Spatie Permission 확장)
- HTMX 기반 권한 CRUD API 구현
- Blade 기반 권한 관리 화면 (index, create, edit)
- 권한명 포맷팅 로직 추가 (menu:id.type 파싱)
- 사이드바 메뉴 추가
- 멀티테넌트 지원 (tenant_id nullable)
- 할당된 역할/부서 표시 기능
2025-11-25 11:05:57 +09:00
ee167a112e docs: Phase 4 완료 문서 업데이트 및 메뉴 관리 링크 추가
- CURRENT_WORKS.md: Phase 4-2~4-5 상세 작업 내역 추가 (365줄)
- docs/INDEX.md: Phase 4 완료 상태 업데이트
- docs/specs/database-schema.md: Phase 4 테이블 8개 상세 스키마 추가
- sidebar.blade.php: 메뉴 관리 링크 추가 (누락되어 있었음)

Phase 4 완료: 시스템 관리 5개 메뉴 (테넌트/역할/부서/사용자/메뉴)
2025-11-24 23:07:09 +09:00
79aebfa148 메뉴 관리 기능 개선
- 트리 구조 정렬 및 표시 (무제한 depth 지원)
- 접기/펼치기 기능 추가 (재귀적 처리)
- 활성/숨김 상태 토글 기능 (실시간 업데이트)
- 테넌트 필터링 (전체 선택 시 마스터 메뉴만 표시)
- UI 개선 (토글 버튼, 외부 메뉴 표시)

추가된 파일:
- MenuService: 비즈니스 로직 처리
- MenuController (API/Web): 라우트 처리
- MenuRequest: 유효성 검증
- views/menus/: 메뉴 관리 뷰

수정된 파일:
- routes/api.php, web.php: 메뉴 라우트 추가
2025-11-24 22:02:09 +09:00
43af1a5779 페이지네이션 기능 개선 및 공통화
- 페이지네이션 로직을 별도 JS 파일로 분리 (public/js/pagination.js)
  * 쿠키 기반 per_page 값 저장 및 유지
  * 페이지네이션 이벤트 핸들러 통합
  * 중복 코드 제거

- 페이지네이션 UI 개선
  * 처음으로/끝으로 이동 버튼 추가
  * selectbox 너비 조정 (90px)
  * 서버사이드 selected 속성으로 옵션 매칭 개선

- 초기 페이지당 항목 수를 10개로 변경
  * TenantController, UserController, DepartmentController, RoleController 기본값 수정

- layouts/app.blade.php
  * pagination.js 로드 추가
  * 기존 인라인 스크립트 제거

변경 파일:
- public/js/pagination.js (신규)
- resources/views/layouts/app.blade.php
- resources/views/partials/pagination.blade.php
- app/Http/Controllers/Api/Admin/{Tenant,User,Department,Role}Controller.php
2025-11-24 21:21:22 +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
74ee0f5f5a fix: User 모델 tenant 관계 수정 (user_tenants pivot 사용)
- User 모델: tenants() belongsToMany 관계 추가
- UserService: whereHas('tenants') pivot 필터링으로 변경
- 사용자 생성 시 user_tenants pivot 처리
- tenant_id 컬럼 참조 제거 (다대다 관계)
2025-11-24 18:48:07 +09:00
6738505106 feat: Phase 4-3 부서 관리 시스템 구현
- DepartmentService, DepartmentController (Blade/API) 생성
- 부서 CRUD 기능 완성 (목록/생성/수정/삭제)
- FormRequest 검증 (StoreDepartmentRequest, UpdateDepartmentRequest)
- HTMX 패턴 적용 (index, create, edit, partials/table)
- 계층 구조 지원 (parent-child relationships)
- 활성/비활성 상태 관리
- 정렬 순서 관리
- Tenant Selector 통합
- Sidebar 메뉴에 부서 관리 추가

주요 기능:
- 자기 참조 방지 (parent_id validation)
- 하위 부서 존재 시 삭제 방지
- Conditional tenant filtering 적용
- Active/Inactive 필터링
- HTMX 페이지네이션 (target, includeForm 파라미터 포함)

정책:
- 모든 리스트 화면은 1페이지만 있어도 페이지네이션 표시
2025-11-24 16:52:23 +09:00
5f50716d7f feat: Phase 4-2 역할 관리 시스템 구현 (HTMX + API 패턴)
- RoleService, RoleController (Blade/API) 생성
- 역할 CRUD 기능 완성 (목록/생성/수정/삭제)
- FormRequest 검증 (StoreRoleRequest, UpdateRoleRequest)
- HTMX 패턴 적용 (index, create, edit)
- 권한 선택 UI (체크박스, 전체 선택/해제)
- Tenant Selector 통합
- 레이아웃 패턴 문서화 (LAYOUT_PATTERN.md)
- Sidebar 메뉴에 역할 관리 추가
- Pagination partial 컴포넌트 추가
- Tenants 레이아웃 100% 폭으로 통일

주요 수정:
- UpdateRoleRequest 라우트 파라미터 수정 (role → id)
- RoleController permissions 조회 시 description 제거
- Conditional tenant filtering 적용
2025-11-24 16:36:02 +09:00
2752a6b7c3 docs: 트러블슈팅 가이드 추가
테넌트 관리 개발 중 발생한 주요 오류와 해결 방법 문서화:
- HTMX 관련 오류 (URL 라우팅, CSRF, ViewComposer 충돌)
- FormRequest 유효성 검증 오류
- 데이터베이스 외래키 제약 오류

디버깅 팁 및 예방 체크리스트 포함
2025-11-24 11:43:04 +09:00
bc3777ace5 테넌트 CRUD 기능 수정
주요 수정사항:
- UpdateTenantRequest: 라우트 파라미터 수정 (tenant → id)
- TenantService: 영구 삭제 시 관련 데이터 먼저 삭제 (FK 제약 해결)
- edit.blade.php: HTMX URL 전체 경로 사용 + 폼 fallback 추가
- index.blade.php: CSRF 토큰 추가 (삭제, 복원, 영구삭제)

버그 수정:
- 수정 시 302 리다이렉트 오류 해결 (code 유일성 검증 실패)
- 삭제 시 419 CSRF 토큰 오류 해결
- 영구 삭제 시 500 FK 제약 오류 해결
2025-11-24 11:42:01 +09:00
f49cfd982a 테넌트 관리 기능 수정 및 ViewServiceProvider 변수명 충돌 해결
주요 변경사항:
- Spatie Laravel Permission 패키지 설치 (v6.23.0)
- admin 프로젝트에서 필수 Traits 및 Scopes 복사
  - ModelTrait, BelongsToTenant, HasTenantFilter, UppercaseAttributes
  - TenantScope
- Tenant 모델 관계 수정 (hasMany → belongsToMany via user_tenants)
- Tenant 모델 null 처리 추가 (status_label, created_at)
- Laravel 12 bootstrap/app.php에 API 라우트 등록
- API 라우트 미들웨어 수정 (auth:sanctum → web,auth)
- HTMX 라이브러리 및 CSRF 토큰 헤더 추가

ViewServiceProvider 수정:
- 전역 View Composer의 $tenants 변수를 $globalTenants로 변경
- 페이지별 페이지네이션된 $tenants 변수와의 충돌 방지
- tenant-selector.blade.php에서 $globalTenants 사용

버그 수정:
- Collection::hasPages() 오류 해결 (ViewComposer 변수 덮어쓰기 문제)
- 테넌트 목록 무한 로딩 스피너 해결
- 500 Internal Server Error 해결
2025-11-24 11:17:31 +09:00
6c73571c0f fix: Tenant 모델 네임스페이스 참조 오류 수정
- ViewServiceProvider: App\Models\Tenant → App\Models\Tenants\Tenant
- User 모델에 tenant() 관계 추가
2025-11-24 08:50:44 +09:00
0f214459dd feat: Phase 4-1 테넌트 관리 프론트엔드 구현
- 라우트 등록 (web.php: Blade 화면, api.php: HTMX API)
- Blade 뷰 생성 (index, create, edit)
- Partial 템플릿 생성 (table with pagination)
- HTMX 통합 (비동기 CRUD, 필터링, 페이지네이션)
- Pure Tailwind CSS 스타일링
- 실시간 검색 및 상태 필터
- 삭제/복원 기능 구현
2025-11-21 15:00:30 +09:00
575e9df431 feat: Phase 4-1 테넌트 관리 백엔드 구현
- TenantService 생성 (CRUD, 통계, 복원/영구삭제)
- API Controller 구현 (HTMX 요청 감지, HTML/JSON 이중 응답)
- FormRequest 검증 (StoreTenantRequest, UpdateTenantRequest)
- Tenant 모델 확장 (17개 필드, 관계 설정, accessor)
- Department, Menu, Role 모델 복사 (admin → mng)
- Web Controller 수정 (index/create/edit 화면)
- MIGRATION_PLAN.md 작성 (HTMX + API 아키텍처)
2025-11-21 14:46:13 +09:00