From 43a436b2405aa0d33ceaad19306388c724bc9837 Mon Sep 17 00:00:00 2001 From: henrikmv <110386561+henrikmv@users.noreply.github.com> Date: Sat, 25 Jul 2026 11:20:19 +0000 Subject: [PATCH 01/12] feat: add uid to error --- i18n/en.pot | 4 +- .../Actions/CompleteAction/CompleteAction.tsx | 41 ++++++++++++++-- .../Actions/CompleteAction/CompleteAction.tsx | 43 ++++++++++++++-- .../hooks/useCompleteBulkEnrollments.ts | 14 ++++++ .../utils/getRecordUrlFromErrorReport.ts | 49 +++++++++++++++++++ .../BulkActionBar/utils/index.ts | 1 + 6 files changed, 140 insertions(+), 12 deletions(-) create mode 100644 src/core_modules/capture-core/components/WorkingLists/WorkingListsCommon/BulkActionBar/utils/getRecordUrlFromErrorReport.ts create mode 100644 src/core_modules/capture-core/components/WorkingLists/WorkingListsCommon/BulkActionBar/utils/index.ts diff --git a/i18n/en.pot b/i18n/en.pot index d04cbca43f..bb4c1d9ae3 100644 --- a/i18n/en.pot +++ b/i18n/en.pot @@ -5,8 +5,8 @@ msgstr "" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -"POT-Creation-Date: 2026-07-21T13:35:51.419Z\n" -"PO-Revision-Date: 2026-07-21T13:35:51.419Z\n" +"POT-Creation-Date: 2026-07-25T11:20:21.107Z\n" +"PO-Revision-Date: 2026-07-25T11:20:21.107Z\n" msgid "The application could not be loaded." msgstr "The application could not be loaded." diff --git a/src/core_modules/capture-core/components/WorkingLists/EventWorkingListsCommon/EventBulkActions/Actions/CompleteAction/CompleteAction.tsx b/src/core_modules/capture-core/components/WorkingLists/EventWorkingListsCommon/EventBulkActions/Actions/CompleteAction/CompleteAction.tsx index 35de3c8129..0cfaccbbfa 100644 --- a/src/core_modules/capture-core/components/WorkingLists/EventWorkingListsCommon/EventBulkActions/Actions/CompleteAction/CompleteAction.tsx +++ b/src/core_modules/capture-core/components/WorkingLists/EventWorkingListsCommon/EventBulkActions/Actions/CompleteAction/CompleteAction.tsx @@ -5,6 +5,8 @@ import { Button, ButtonStrip, colors, Modal, ModalActions, ModalContent, ModalTi import { useBulkCompleteEvents } from './hooks/useBulkCompleteEvents'; import { ConditionalTooltip } from '../../../../../Tooltips/ConditionalTooltip'; import { Widget } from '../../../../../Widget'; +import { getRecordUrlFromErrorReport } from '../../../../WorkingListsCommon/BulkActionBar/utils'; +import { useLocationQuery } from '../../../../../../utils/routing'; import type { Props } from './CompleteAction.types'; const styles: Readonly = { @@ -19,6 +21,13 @@ const styles: Readonly = { errorContainer: { padding: '0px 20px', }, + errorItem: { + marginBottom: '8px', + }, + errorUidHeader: { + fontWeight: 'bold', + fontFamily: 'monospace', + }, }; const getTooltipContent = (stageDataWriteAccess?: boolean, bulkDataEntryIsActive?: boolean) => { @@ -42,6 +51,7 @@ const CompleteActionPlain = ({ }: Props & WithStyles) => { const [isCompleteDialogOpen, setIsCompleteDialogOpen] = useState(false); const [openAccordion, setOpenAccordion] = useState(false); + const { orgUnitId } = useLocationQuery(); const tooltipContent = getTooltipContent(stageDataWriteAccess, bulkDataEntryIsActive); const disabled = Boolean(!stageDataWriteAccess || bulkDataEntryIsActive); const { @@ -141,11 +151,32 @@ const CompleteActionPlain = ({