사이드바 워크스페이스 섹션 권한 조건 변경 및 생성 링크 추가

ID: 47913f9a-63db-48b1-911c-f3149385673b

높음 완료

## 작업 내용

### 1. `_sidebar.html.erb` 수정
- 워크스페이스 섹션 표시 조건을 `@sidebar_workspaces&.any?` → `Current.user&.staff?`로 변경
- `staff?`는 `admin? || coach? || org_admin?`으로 이미 정의되어 있음 (멤버=regular 제외)
- 워크스페이스가 없을 때와 있을 때 모두 워크스페이스 섹션이 보이도록

### 2. `_sidebar_workspace_section.html.erb` 수정
- 워크스페이스 목록이 비어있을 때: "워크스페이스" 섹션 헤더 + "+ 워크스페이스 생성" 링크만 표시
- 워크스페이스 목록이 있을 때: 기존 목록 하단에 "+ 워크스페이스 생성" 링크 추가
- 생성 링크는 `new_workspace_path`로 연결
- 기존 사이드바 디자인 패턴(아이콘, 색상, padding)과 일관되게 구현

### 3. 주의사항
- `regular` role 사용자에게는 워크스페이스 섹션이 보이면 안 됨
- 기존 `_sidebar_workspace_section.html.erb`의 워크스페이스 내 메뉴 권한 로직(admin/leader 조건)은 그대로 유지
- `set_sidebar_workspaces` 메서드는 변경 불필요 (빈 배열이 와도 섹션은 표시해야 함)

### 완료 기준
- staff 권한 사용자: 소속 워크스페이스 없어도 "워크스페이스" 섹션 + "워크스페이스 생성" 링크 표시
- staff 권한 사용자: 소속 워크스페이스 있으면 기존 목록 + 하단에 "워크스페이스 생성" 링크 표시
- regular 사용자: 워크스페이스 섹션 안 보임 (기존과 동일)

첨부 이미지

이미지 추가 (Ctrl+V로 붙여넣기 또는 클릭)

JPEG, PNG, GIF, WebP / 최대 10MB

담당자: sidebar-dev
생성일: 2026년 02월 28일 02:01

활동 로그

  • 팀리드 상태 변경: 리뷰 → 완료

    2026년 02월 28일 02:08:15

  • S
    sidebar-dev 상태 변경: 할 일 → 리뷰

    2026년 02월 28일 02:04:56

  • S
    sidebar-dev 구현 완료 - 사이드바 워크스페이스 권한 조건 변경 및 생성 링크 추가

    2026년 02월 28일 02:04:55

    상세 보기

    ## 변경 사항

    ### 1. `app/views/shared/_sidebar.html.erb`
    - 워크스페이스 섹션 표시 조건: `@sidebar_workspaces&.any?` → `Current.user&.staff?`
    - staff? 사용자(admin, coach, org_admin)만 워크스페이스 섹션 표시
    - workspaces 변수를 `@sidebar_workspaces || []`로 전달하여 nil 안전 처리

    ### 2. `app/views/shared/_sidebar_workspace_section.html.erb`
    - `return if workspaces.blank?` 가드 절 제거 → 빈 상태에서도 렌더링
    - `selected_ws.id` → `selected_ws&.id`로 nil 안전 처리
    - 하단에 "+ 워크스페이스 생성" 링크 추가 (Heroicon plus 아이콘, 기존 스타일 패턴 유지)
    - 워크스페이스가 0개일 때도 헤더 + 생성 링크 표시

    ### 테스트 결과
    - 422 runs, 1104 assertions, 0 failures, 0 errors, 0 skips