Add phase 3 consultant task execution workflow

This commit is contained in:
A R R R Associates
2026-07-23 11:37:04 +05:30
parent e9db81b32f
commit 0f7d6f4396
9 changed files with 365 additions and 2 deletions
+15
View File
@@ -659,6 +659,19 @@ class ClientServiceTaskInstance(CommonBase):
default_role_name: Mapped[str | None] = mapped_column(String(100), nullable=True)
assigned_to_user_id: Mapped[int | None] = mapped_column(ForeignKey("users.id"), nullable=True, index=True)
execution_mode: Mapped[str] = mapped_column(String(30), nullable=False, default="internal", index=True)
assigned_consultant_id: Mapped[int | None] = mapped_column(ForeignKey("consultant_profiles.id", ondelete="SET NULL"), nullable=True, index=True)
consultant_assignment_status: Mapped[str] = mapped_column(String(30), nullable=False, default="not_applicable", index=True)
consultant_due_date: Mapped[date | None] = mapped_column(Date, nullable=True, index=True)
consultant_offered_at_utc: Mapped[datetime | None] = mapped_column(DateTime(timezone=True), nullable=True)
consultant_accepted_at_utc: Mapped[datetime | None] = mapped_column(DateTime(timezone=True), nullable=True)
consultant_declined_at_utc: Mapped[datetime | None] = mapped_column(DateTime(timezone=True), nullable=True)
consultant_decline_reason: Mapped[str | None] = mapped_column(Text, nullable=True)
consultant_started_at_utc: Mapped[datetime | None] = mapped_column(DateTime(timezone=True), nullable=True)
consultant_submitted_at_utc: Mapped[datetime | None] = mapped_column(DateTime(timezone=True), nullable=True)
consultant_submission_note: Mapped[str | None] = mapped_column(Text, nullable=True)
consultant_approved_at_utc: Mapped[datetime | None] = mapped_column(DateTime(timezone=True), nullable=True)
consultant_approved_by_user_id: Mapped[int | None] = mapped_column(ForeignKey("users.id", ondelete="SET NULL"), nullable=True, index=True)
internal_target_date: Mapped[date | None] = mapped_column(Date, nullable=True, index=True)
status: Mapped[str] = mapped_column(String(30), nullable=False, default="pending", index=True)
priority: Mapped[str] = mapped_column(String(20), nullable=False, default="normal")
@@ -725,6 +738,8 @@ class ClientServiceTaskInstance(CommonBase):
catalogue = relationship("ServiceCatalogue")
template = relationship("FirmServiceTaskTemplate")
assigned_to = relationship("User", foreign_keys=[assigned_to_user_id])
assigned_consultant = relationship("ConsultantProfile", foreign_keys=[assigned_consultant_id])
consultant_approved_by = relationship("User", foreign_keys=[consultant_approved_by_user_id])
locked_by = relationship("User", foreign_keys=[locked_by_user_id])
documents = relationship(
"EngagementDocument",