Add AQMM task evidence and review notes workflow

This commit is contained in:
A R R R Associates
2026-07-07 12:03:07 +05:30
parent 05690a220c
commit 91b1811eb8
10 changed files with 816 additions and 11 deletions
+26
View File
@@ -62,6 +62,19 @@ class EngagementDocument(CommonBase):
released_at_utc: Mapped[datetime | None] = mapped_column(DateTime(timezone=True), nullable=True)
release_notes: Mapped[str | None] = mapped_column(Text, nullable=True)
# Phase 4 - AQMM evidence metadata.
# If this document is uploaded against a task marked as AQMM, it is
# automatically treated as AQMM evidence. These fields store review status
# without creating a duplicate AQMM document vault.
is_aqmm_evidence: Mapped[bool] = mapped_column(Boolean, nullable=False, default=False, index=True)
evidence_type: Mapped[str | None] = mapped_column(String(80), nullable=True, index=True)
evidence_description: Mapped[str | None] = mapped_column(Text, nullable=True)
evidence_status: Mapped[str] = mapped_column(String(30), nullable=False, default="not_required", index=True)
evidence_review_note: Mapped[str | None] = mapped_column(Text, nullable=True)
evidence_reviewed_by_user_id: Mapped[int | None] = mapped_column(ForeignKey("users.id", ondelete="SET NULL"), nullable=True, index=True)
evidence_reviewed_at_utc: Mapped[datetime | None] = mapped_column(DateTime(timezone=True), nullable=True)
is_deleted: Mapped[bool] = mapped_column(Boolean, nullable=False, default=False, index=True)
deleted_at_utc: Mapped[datetime | None] = mapped_column(DateTime(timezone=True), nullable=True)
deleted_by_user_id: Mapped[int | None] = mapped_column(ForeignKey("users.id", ondelete="SET NULL"), nullable=True)
@@ -291,6 +304,19 @@ class PermanentClientDocument(CommonBase):
released_at_utc: Mapped[datetime | None] = mapped_column(DateTime(timezone=True), nullable=True)
release_notes: Mapped[str | None] = mapped_column(Text, nullable=True)
# Phase 4 - AQMM evidence metadata.
# If this document is uploaded against a task marked as AQMM, it is
# automatically treated as AQMM evidence. These fields store review status
# without creating a duplicate AQMM document vault.
is_aqmm_evidence: Mapped[bool] = mapped_column(Boolean, nullable=False, default=False, index=True)
evidence_type: Mapped[str | None] = mapped_column(String(80), nullable=True, index=True)
evidence_description: Mapped[str | None] = mapped_column(Text, nullable=True)
evidence_status: Mapped[str] = mapped_column(String(30), nullable=False, default="not_required", index=True)
evidence_review_note: Mapped[str | None] = mapped_column(Text, nullable=True)
evidence_reviewed_by_user_id: Mapped[int | None] = mapped_column(ForeignKey("users.id", ondelete="SET NULL"), nullable=True, index=True)
evidence_reviewed_at_utc: Mapped[datetime | None] = mapped_column(DateTime(timezone=True), nullable=True)
is_deleted: Mapped[bool] = mapped_column(Boolean, nullable=False, default=False, index=True)
deleted_at_utc: Mapped[datetime | None] = mapped_column(DateTime(timezone=True), nullable=True)
deleted_by_user_id: Mapped[int | None] = mapped_column(ForeignKey("users.id", ondelete="SET NULL"), nullable=True)