Auto-sync system default tasks to firms and open engagements

This commit is contained in:
A R R R Associates
2026-09-19 12:47:53 +05:30
parent f6776cc96a
commit 2d6043962b
9 changed files with 857 additions and 313 deletions
+12
View File
@@ -242,6 +242,17 @@ class FirmServiceTaskTemplate(CommonBase):
is_active: Mapped[bool] = mapped_column(Boolean, default=True, nullable=False)
# System-default inheritance metadata. Firm-only tasks keep source_system_task_id=None.
# Linked tasks remain centrally synchronized until the firm explicitly customizes them.
source_system_task_id: Mapped[int | None] = mapped_column(
ForeignKey("service_default_task_templates.id", ondelete="SET NULL"), nullable=True, index=True
)
is_customized: Mapped[bool] = mapped_column(Boolean, nullable=False, default=False, index=True)
last_synced_system_hash: Mapped[str | None] = mapped_column(String(64), nullable=True)
last_reviewed_system_hash: Mapped[str | None] = mapped_column(String(64), nullable=True)
system_update_available: Mapped[bool] = mapped_column(Boolean, nullable=False, default=False, index=True)
system_update_detected_at_utc: Mapped[datetime | None] = mapped_column(DateTime(timezone=True), nullable=True)
created_by_user_id: Mapped[int | None] = mapped_column(ForeignKey("users.id"), nullable=True)
updated_by_user_id: Mapped[int | None] = mapped_column(ForeignKey("users.id"), nullable=True)
@@ -256,6 +267,7 @@ class FirmServiceTaskTemplate(CommonBase):
)
catalogue = relationship("ServiceCatalogue", back_populates="task_templates")
source_system_task = relationship("ServiceDefaultTaskTemplate", foreign_keys=[source_system_task_id])
document_requirements = relationship(
"FirmTaskDocumentRequirement",
back_populates="task_template",