From 57b4b37468804909881a21e0dc2dba53f00d228e Mon Sep 17 00:00:00 2001 From: king Date: Thu, 25 Jun 2026 12:59:44 +0900 Subject: [PATCH] =?UTF-8?q?feat(project):=20=EB=8B=AC=EB=A0=A5=20bar=20?= =?UTF-8?q?=EB=9D=BC=EB=B2=A8=EC=97=90=20=ED=94=84=EB=A1=9C=EC=A0=9D?= =?UTF-8?q?=ED=8A=B8=EB=AA=85=C2=B7=EB=8B=B4=EB=8B=B9=EC=9E=90=20=ED=91=9C?= =?UTF-8?q?=EA=B8=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit bar 라벨을 제목만 → '[프로젝트명] 제목 · 담당자(아이디)' 로 확장. 서브프로젝트 업무도 한 달력에 섞이므로 프로젝트 구분에 유용. Co-Authored-By: Claude Opus 4.8 --- app/modules/project/router.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/app/modules/project/router.py b/app/modules/project/router.py index b8c1ce1..30d04d2 100644 --- a/app/modules/project/router.py +++ b/app/modules/project/router.py @@ -263,10 +263,19 @@ def _build_task_calendar( continue seg_start = max(rs, w_start) seg_end = min(re_, w_end) + # bar 라벨: [프로젝트명] 제목 · 담당자(아이디) + assignee = (t.get("assignee_email") or "").split("@")[0] + proj = t.get("project_name") or "" + parts = [] + if proj: + parts.append(f"[{proj}]") + parts.append(t["title"]) + if assignee: + parts.append(f"· {assignee}") bars.append( { "id": t["id"], - "label": t["title"], + "label": " ".join(parts), "color": t.get("project_color") or "#4573d2", "completed": bool(t.get("completed_at")), "start_col": (seg_start - w_start).days,