diff --git a/docs_prod/cross-project-task-routing/phase-roadmap.md b/docs_prod/cross-project-task-routing/phase-roadmap.md index f882539..3be0fab 100644 --- a/docs_prod/cross-project-task-routing/phase-roadmap.md +++ b/docs_prod/cross-project-task-routing/phase-roadmap.md @@ -95,6 +95,8 @@ - source-side список `Открытые / Завершенные` - status pill по фактическому state целевой задачи - отображение целевого проекта +- отображение исполнителей целевого контура +- отображение фактической даты последнего изменения - открытие source-side detail экрана Что еще остается на следующие этапы: diff --git a/plane-src/apps/web/ce/components/projects/external-contours/list-item.tsx b/plane-src/apps/web/ce/components/projects/external-contours/list-item.tsx index 4b5c1b4..bef9b6d 100644 --- a/plane-src/apps/web/ce/components/projects/external-contours/list-item.tsx +++ b/plane-src/apps/web/ce/components/projects/external-contours/list-item.tsx @@ -41,8 +41,9 @@ export const ExternalContoursListItem = observer(function ExternalContoursListIt if (!request || !issue) return <>; - const createdByDetails = issue.created_by_detail; + const assigneeDetails = issue.assignee_details?.slice(0, 2) ?? []; const visibleLabels = issue.label_details?.slice(0, 3) ?? []; + const lastUpdatedAt = issue.updated_at || request.updated_at; return (
-
{renderFormattedDate(issue.created_at ?? "")}
+
{renderFormattedDate(lastUpdatedAt ?? "")}
{issue.priority && issue.priority !== "none" && ( @@ -93,9 +94,25 @@ export const ExternalContoursListItem = observer(function ExternalContoursListIt
))} - {createdByDetails ? ( - - ) : null} +
+ {assigneeDetails.length > 0 ? ( + <> + {assigneeDetails.map((assignee) => ( + + ))} + + ) : ( + +
{t("external_contours_page.list.unassigned")}
+
+ )} +
diff --git a/plane-src/apps/web/ce/components/projects/external-contours/request-traceability.tsx b/plane-src/apps/web/ce/components/projects/external-contours/request-traceability.tsx index a74ca6e..d96f1bc 100644 --- a/plane-src/apps/web/ce/components/projects/external-contours/request-traceability.tsx +++ b/plane-src/apps/web/ce/components/projects/external-contours/request-traceability.tsx @@ -23,6 +23,7 @@ export const ExternalContoursRequestTraceability = observer(function ExternalCon const issue = contourRequest.issue; const requestedByName = contourRequest.requested_by_name || issue.created_by_detail?.display_name || t("common.none"); const requestedAt = contourRequest.requested_at || contourRequest.created_at; + const lastUpdatedAt = issue.updated_at || contourRequest.updated_at; const targetProjectName = contourRequest.target_project_name || issue.project_detail?.name || t("common.none"); const targetIssueKey = issue.project_detail?.identifier && issue.sequence_id @@ -80,6 +81,13 @@ export const ExternalContoursRequestTraceability = observer(function ExternalCon +
+
{t("external_contours_page.traceability.last_updated")}
+
+ {lastUpdatedAt ? renderFormattedDate(lastUpdatedAt) : t("common.none")} +
+
+
{t("external_contours_page.traceability.linked_item")}
diff --git a/plane-src/packages/i18n/src/locales/en/translations.ts b/plane-src/packages/i18n/src/locales/en/translations.ts index 1db265e..2ce2e43 100644 --- a/plane-src/packages/i18n/src/locales/en/translations.ts +++ b/plane-src/packages/i18n/src/locales/en/translations.ts @@ -296,6 +296,10 @@ export default { open: "Open", closed: "Closed", }, + list: { + last_updated: "Last updated", + unassigned: "Unassigned", + }, empty_state: { title: "External contours module is ready for the next stage", description: @@ -340,6 +344,7 @@ export default { status: "Current status", requested_by: "Requested by", requested_at: "Sent at", + last_updated: "Last updated", linked_item: "Linked work item", }, actions: { diff --git a/plane-src/packages/i18n/src/locales/ru/translations.ts b/plane-src/packages/i18n/src/locales/ru/translations.ts index 5f84f16..5130933 100644 --- a/plane-src/packages/i18n/src/locales/ru/translations.ts +++ b/plane-src/packages/i18n/src/locales/ru/translations.ts @@ -453,6 +453,10 @@ export default { open: "Открытые", closed: "Закрытые", }, + list: { + last_updated: "Последнее изменение", + unassigned: "Не назначено", + }, empty_state: { title: "Модуль внешних контуров подготовлен", description: @@ -496,6 +500,7 @@ export default { status: "Текущий статус", requested_by: "Отправитель", requested_at: "Отправлено", + last_updated: "Последнее изменение", linked_item: "Связанная задача", }, actions: {