Skip to content

HBSA250_Sheet Templates (시스템 시트 템플릿) ​

(Hereby) 시스템 관리 > [[HBSA200]] > Sheet Templates

앱System Admin (포트 4100)
부모 화면[[HBSA200]]
대상 사용자플랫폼 운영자(OPERATOR)
프로토타입TBU
관련 정책[[POL_권한(RBAC)]]
Statusdraft (코드 기반 — 라이브 실사 불가: dev 라우트 AccessDenied 격리, 2026-08-25 확인)
Owner카나

개요 ​

전역(시스템) 시트 템플릿의 category(자유 텍스트)와 활성 여부(isActive)를 인라인 편집한다. category는 org-facing 워크북 추천 템플릿의 섹션 헤더를 구성하며, 활성 off 시 org 추천 목록에서 숨겨진다. org-less 플랫폼 레벨 쓰기라 audit_logs.organizationId=null로 감사된다.

문서 히스토리 ​

날짜작성자팀변경 내용
2026-08-25카나콸최초 작성 (redesign PR #583 코드 census 기반, 라이브 미실사)

Data I/O ​

Client → Server ​

액션콘솔 RESTsystemProcedure
목록GET /api/sheet-templates (fan-out)systemSheetTemplates
category/isActive 변경PATCH /api/sheet-templates/:idsystemPatchSheetTemplate

Server → Client ​

변수소스비고
sheetTemplates[]systemSheetTemplatesname/category/isActive/groupId/defaultSlug/sortOrder/description/updatedAt

코드 근거: tabs/sheet-templates.html, server/routes/sheet-templates.ts, src/app.ts(sheetTemplateCategorySuggestions).


화면 플로우 ​


Sheet Templates 사양표 ​

번호항목/기능명타입사양 및 기능 설명연관/영향 범위비고
00화면 진입 조건-activeTab === 'sheet-templates'-
01초기 상태Output"System Sheet Templates: {n} active: {활성수}" + "refresh"-
10템플릿 테이블List[List] 컬럼 name/category/active/groupId/slug/sortOrder/description/updated. 비활성 행 opacity 50sheetTemplates
11ㄴ categoryInput Box인라인 자유텍스트(placeholder "(none)"). <datalist> 자동완성(큐레이트 4종 "인사"/"급여"/"근태"/"기타" + DB 존재값). Enter/blur 저장, Esc 되돌림, 빈 제출 → NULL(→org "기타")onSheetTemplateCategoryChange → systemPatchSheetTemplate
12ㄴ activeToggleACTIVE=green/INACTIVE=gray 배지 클릭 → toggleSheetTemplateActive(item)systemPatchSheetTemplateoff 시 org 추천 목록 숨김
10-Eㄴ EmptyText"no system templates found"-
20값 없음 처리-groupId/slug 없으면 "—", description 없으면 "—"(truncate)-
30푸터 안내Info"category: free-text. Click a cell to edit; Enter or click-away saves; Esc reverts..." / "active: when off, the org-facing 추천 템플릿 picker hides the row..." / "New categories take effect immediately..."-원문 카피
40에러·실패-로드 실패 tabError. PATCH 실패 시 값 되돌림 추정 TBU-
50권한별 차이-OPERATOR org-less 쓰기(audit organizationId=null)[[POL_권한(RBAC)]]

권한 / 상태 요약 ​

시나리오트리거결과비고
case01 [category 변경]blur/EnterPATCH + org 추천 섹션 반영audit org=null
case02 [빈 category]빈 제출NULL → org "기타" 버킷
case03 [active off]토글org 추천 목록에서 숨김(DB 유지)

OQ ​

  • 새 조직 생성 없이 템플릿 자체를 콘솔에서 추가/삭제하는 경로 = 코드상 PATCH만(생성 UI 없음) TBU