fix(M02): 「사람 고르기」는 시스템 관리자에게만 — 회사 관리자에게는 숨김 (PLAN 29-2 뒷손질)

- 회사 관리자의 남의 개인 층 읽기 길(해시 owner · 서버 권한)은 그대로
- 시험 한 줄 맞춤

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-09-30 17:47:30 +09:00
co-authored by Claude Opus 5.5
parent b315181246
commit d17ede799d
2 changed files with 6 additions and 4 deletions
@@ -4,7 +4,7 @@
* 「구조물 조합」 아래 한 줄 · 나무 종류와 무관한 공용 부품. 고른 층의 나무는 부르는 쪽이 이 줄 아래에 붙임.
* 권한 없는 층 = 단추 글 끝에 「읽기」(권한 = `accessFor` · 서버 `M02_Layer_Access` 와 짝)
* 회사 = 볼 회사(`viewCompany` — 시스템 관리자는 해시 `company` · `aislo.adminCompany` · 자기 회사)
* 「사람 고르기」(같은 줄 select · 회사 관리자 · 시스템 관리자) = 그 회사 사람의 개인 층 · 고르면 해시 `owner`
* 「사람 고르기」(같은 줄 select · 시스템 관리자만) = 고른 회사 사람의 개인 층 · 고르면 해시 `owner`
* 누르면 `go`(부르는 쪽이 해시로 다시 엶).
* ========================================================================== */
@@ -37,7 +37,6 @@ export const companyOwner = (company: string | null, user: SessionUser | null):
export function createLayerBar(opt: LayerBarOptions): HTMLElement {
const { user, active } = opt;
const isSystem = user?.role === "SYSTEM_ADMIN";
const companyAdmin = isSystem || user?.role === "ADMIN" || !!user?.is_master;
const ownPersonal = ownOwner("personal", user);
if (!opt.company && !isSystem) {
return el("div", {
@@ -74,7 +73,7 @@ export function createLayerBar(opt: LayerBarOptions): HTMLElement {
];
const row = el("div", { className: "m02-layers__row", children: buttons });
const bar = el("div", { className: "m02-layers", children: [row] });
if (companyAdmin && opt.company) row.append(buildPeople(opt)); // 같은 줄
if (isSystem && opt.company) row.append(buildPeople(opt)); // 같은 줄 · 시스템 관리자만
return bar;
}