From e1e12d826dd5c3427dec2cc33f333febfe645994 Mon Sep 17 00:00:00 2001 From: PotapovaA Date: Mon, 24 Aug 2026 13:45:10 +0300 Subject: [PATCH] fix audit log: add column name for stage (action: update stage) --- .../AuditLogsPage/constants/configEvent.jsx | 8 ++++- .../AuditLogsPage/utils/transformers.jsx | 36 ++++++++++++++----- 2 files changed, 34 insertions(+), 10 deletions(-) diff --git a/web/src/pages/AdminPanel/AuditLogsPage/constants/configEvent.jsx b/web/src/pages/AdminPanel/AuditLogsPage/constants/configEvent.jsx index cbb35e5..2256814 100644 --- a/web/src/pages/AdminPanel/AuditLogsPage/constants/configEvent.jsx +++ b/web/src/pages/AdminPanel/AuditLogsPage/constants/configEvent.jsx @@ -127,6 +127,7 @@ export const EVENT_CONFIGS = { }, ACCESS_EXTEND: { form_id: 'Информация о задаче', + project_id: 'Информация о проекте', closes_at_after: 'Дата закрытия (новая)', closes_at_before: 'Дата закрытия (старая)', phase_name: 'Названия этапа', @@ -134,6 +135,7 @@ export const EVENT_CONFIGS = { }, ACCESS_WINDOW_CHANGE: { form_id: 'Информация о задаче', + project_id: 'Информация о проекте', closes_at: 'Дата закрытия', opens_at: 'Дата открытия', phase_name: 'Названия этапа', @@ -144,7 +146,11 @@ export const EVENT_CONFIGS = { }, }; export const EVENT_CONFIGS_MULT_DEPENDENTS = { + ACCESS_EXTEND: { + 'Информация о проекте': ['year'], + }, ACCESS_WINDOW_CHANGE: { - 'Колонки в этапе': ['form_id', 'sheet'], + 'Информация о проекте': ['year'], + 'Колонки в этапе': ['form_id', 'sheet', 'project_id', 'report_type'], }, }; diff --git a/web/src/pages/AdminPanel/AuditLogsPage/utils/transformers.jsx b/web/src/pages/AdminPanel/AuditLogsPage/utils/transformers.jsx index 0932701..e5d6ea9 100644 --- a/web/src/pages/AdminPanel/AuditLogsPage/utils/transformers.jsx +++ b/web/src/pages/AdminPanel/AuditLogsPage/utils/transformers.jsx @@ -26,6 +26,7 @@ export const VALUE_TRANSFORMERS = { 'СПП/РФ': transformSsp, 'Статья расходов': transformExpense, 'Информация о задаче': transformForm, + 'Информация о проекте': transformProjectInfo, Направление: transformDirection, 'Для роли': transformRoleChanges, 'Колонки в этапе': transformColumns, @@ -132,6 +133,16 @@ export async function transformProject(projectId) { } } +export async function transformProjectInfo(projectId, year) { + const res = await ProjectsApi.get(projectId); + const project = res.result; + return { + название: project.name, + 'ССП/РФ': project.org_unit_name || '—', + Год: year || '—', + }; +} + export function transformRole(value) { return ROLES_ID_RUSSIAN_NAME[value] || 'Роль не найдена'; } @@ -243,13 +254,21 @@ export function transformDirection(direction) { return DIRECTION_TRANSLATE[direction]; } -export async function transformColumns(cols, formId, sheet) { - if (!formId || !sheet) return cols; - const res = await FormsApi.getForm(formId); - const form = res.result; - const formType = form.form_type_code; +export async function transformColumns(cols, formId, sheet, projectId, reportType) { + let formType; + let configSheet = sheet; - const { config } = await import(`../../../../components/RealtimeTable/constants/${formType}/${sheet}.js`); + if (formId && sheet) { + const res = await FormsApi.getForm(formId); + formType = res.result.form_type_code; + } else if (projectId && reportType) { + formType = 'PROJECT'; + configSheet = reportType.toUpperCase(); + } else { + return cols; + } + + const { config } = await import(`../../../../components/RealtimeTable/constants/${formType}/${configSheet}.js`); const columns = config.config.columns; function findColumnAndHeaders(columns, targetAccessorKey) { // Рекурсивная функция для поиска колонки и сбора родителей @@ -285,19 +304,18 @@ export async function transformColumns(cols, formId, sheet) { column: result.column, path: result.headers.join(' → '), }; - } else { + } return { headers: [], column: null, path: null, error: `Колонка с accessorKey "${targetAccessorKey}" не найдена`, }; - } } if (Array.isArray(cols)) { const res = []; cols.forEach((c) => { - res.push(findColumnAndHeaders(columns, 'data.' + c).path || ''); + res.push(findColumnAndHeaders(columns, `data.${c}`).path || ''); }); return res; } -- 2.47.2