Tasks: default reviewer to assignee manager; remove reviewer from create-task UI

This commit is contained in:
Abhimanyu Saharan
2026-02-02 17:56:35 +05:30
parent 899500249e
commit 8787efc50d
2 changed files with 8 additions and 9 deletions

View File

@@ -8,6 +8,7 @@ from sqlalchemy.exc import IntegrityError
from app.api.utils import log_activity, get_actor_employee_id
from app.db.session import get_session
from app.models.org import Employee
from app.models.work import Task, TaskComment
from app.schemas.work import TaskCommentCreate, TaskCreate, TaskUpdate
from app.integrations.notify import NotifyContext, notify_openclaw
@@ -30,6 +31,12 @@ def create_task(payload: TaskCreate, background: BackgroundTasks, session: Sessi
if payload.created_by_employee_id is None:
payload = TaskCreate(**{**payload.model_dump(), "created_by_employee_id": actor_employee_id})
# Default reviewer to the manager of the assignee (if not explicitly provided).
if payload.reviewer_employee_id is None and payload.assignee_employee_id is not None:
assignee = session.get(Employee, payload.assignee_employee_id)
if assignee is not None and assignee.manager_id is not None:
payload = TaskCreate(**{**payload.model_dump(), "reviewer_employee_id": assignee.manager_id})
task = Task(**payload.model_dump())
if task.status not in ALLOWED_STATUSES:
raise HTTPException(status_code=400, detail="Invalid status")