ФУНКЦИИ - МЕЖПРОЕКТНАЯ КОММУНИКАЦИЯ: единый realtime слой Tasker

Добавлен NODE.DC realtime event stream для workspace/project/member/invite/profile событий. Обновлены frontend stores и live controller. Доработаны settings modal, member dropdown и confirm remove под NODE.DC UX.
This commit is contained in:
DCCONSTRUCTIONS
2026-05-12 17:28:40 +03:00
parent fc59481703
commit 480f85cce8
23 changed files with 993 additions and 72 deletions
@@ -135,3 +135,34 @@ def publish_issue_event_on_commit(event_type, issue, actor_id=None, changed_fiel
transaction.on_commit(_publish)
if publish_external_bridge:
publish_external_contour_issue_event_on_commit(event_type, issue, actor_id=actor_id, changed_fields=changed_fields)
def publish_assignee_cleanup_issue_events_on_commit(project_id=None, workspace_id=None, assignee_id=None, actor_id=None):
if not assignee_id:
return
from plane.db.models import Issue
issues = (
Issue.objects.filter(
deleted_at__isnull=True,
issue_assignee__assignee_id=assignee_id,
issue_assignee__deleted_at__isnull=True,
)
.select_related("workspace")
.distinct()
)
if project_id:
issues = issues.filter(project_id=project_id)
if workspace_id:
issues = issues.filter(workspace_id=workspace_id)
for issue in issues:
publish_issue_event_on_commit(
"issue.updated",
issue,
actor_id=actor_id,
changed_fields=["assignees"],
publish_external_bridge=True,
)