Auto-sync system default tasks to firms and open engagements
This commit is contained in:
@@ -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",
|
||||
|
||||
Reference in New Issue
Block a user