Add per-project Department management
Departments are now a customizable per-project list (standard + custom), matching the existing custom task type/status pattern, instead of a fixed 7-value enum. They're usable directly on tasks (new field, independent of assignee) and continue to drive team member department roles.
This commit is contained in:
@@ -4,7 +4,6 @@ from datetime import date, datetime
|
||||
from enum import Enum
|
||||
|
||||
from models.task import TaskType, TaskStatus, ReviewDecision, AttachmentType, NoteType
|
||||
from models.user import DepartmentRole
|
||||
|
||||
|
||||
class TaskBase(BaseModel):
|
||||
@@ -14,6 +13,7 @@ class TaskBase(BaseModel):
|
||||
start_date: Optional[date] = None
|
||||
deadline: Optional[date] = None
|
||||
status: str = "not_started" # Changed from TaskStatus enum to str to support custom statuses
|
||||
department: Optional[str] = None # Standard or project-custom department, independent of assignee
|
||||
|
||||
|
||||
class TaskCreate(TaskBase):
|
||||
@@ -31,6 +31,7 @@ class TaskUpdate(BaseModel):
|
||||
start_date: Optional[date] = None
|
||||
deadline: Optional[date] = None
|
||||
status: Optional[str] = None # Changed from TaskStatus enum to str to support custom statuses
|
||||
department: Optional[str] = None # Standard or project-custom department, independent of assignee
|
||||
assigned_user_id: Optional[int] = None
|
||||
|
||||
|
||||
@@ -70,6 +71,7 @@ class TaskListResponse(BaseModel):
|
||||
name: str
|
||||
task_type: str # Changed from TaskType enum to str to support custom task types
|
||||
status: str # Changed from TaskStatus enum to str to support custom statuses
|
||||
department: Optional[str] = None # Standard or project-custom department, independent of assignee
|
||||
start_date: Optional[date] = None
|
||||
deadline: Optional[date] = None
|
||||
project_id: int
|
||||
|
||||
Reference in New Issue
Block a user