diff --git a/src/Organizations/OrganizationVersion/components/OrganizationSummaryVersionView/OrganizationSummaryVersionView.js b/src/Organizations/OrganizationVersion/components/OrganizationSummaryVersionView/OrganizationSummaryVersionView.js
index d3cd65f8..f3ccc00c 100644
--- a/src/Organizations/OrganizationVersion/components/OrganizationSummaryVersionView/OrganizationSummaryVersionView.js
+++ b/src/Organizations/OrganizationVersion/components/OrganizationSummaryVersionView/OrganizationSummaryVersionView.js
@@ -84,7 +84,7 @@ export const OrganizationSummaryVersionView = ({ version }) => {
}
- value={version?.organizationTypes?.join(', ') || }
+ value={version?.organizationTypesResolved || }
multiple
/>
diff --git a/src/Organizations/OrganizationVersion/hooks/useSelectedOrganizationVersion/useSelectedOrganizationVersion.js b/src/Organizations/OrganizationVersion/hooks/useSelectedOrganizationVersion/useSelectedOrganizationVersion.js
index b8f285e8..65f0c12f 100644
--- a/src/Organizations/OrganizationVersion/hooks/useSelectedOrganizationVersion/useSelectedOrganizationVersion.js
+++ b/src/Organizations/OrganizationVersion/hooks/useSelectedOrganizationVersion/useSelectedOrganizationVersion.js
@@ -5,25 +5,25 @@ import get from 'lodash/fp/get';
import keyBy from 'lodash/fp/keyBy';
import uniq from 'lodash/fp/uniq';
import { useMemo } from 'react';
-import { useIntl } from 'react-intl';
import { useQuery } from 'react-query';
import {
useNamespace,
useOkapiKy,
} from '@folio/stripes/core';
-import { getFullName } from '@folio/stripes/util';
import {
fetchAcqUnitsByIds,
getVersionMetadata,
useOrganization,
useUsersBatch,
+ useVersionHistoryValueResolvers,
} from '@folio/stripes-acq-components';
import { currenciesByCode } from '@folio/stripes/components';
import {
useContactsByIds,
useInterfacesByIds,
+ useTypes,
} from '../../../../common/hooks';
const getUniqItems = (arr) => (
@@ -34,11 +34,13 @@ const getUniqItems = (arr) => (
);
export const useSelectedOrganizationVersion = ({ versionId, versions, snapshotPath }, options = {}) => {
- const intl = useIntl();
const ky = useOkapiKy();
const [namespace] = useNamespace({ key: 'organization-version-data' });
- const deletedRecordLabel = intl.formatMessage({ id: 'stripes-acq-components.versionHistory.deletedRecord' });
+ const {
+ getObjectPropertyById,
+ getUserFullNameById,
+ } = useVersionHistoryValueResolvers();
const currentVersion = useMemo(() => (
versions?.find(({ id }) => id === versionId)
@@ -72,6 +74,11 @@ export const useSelectedOrganizationVersion = ({ versionId, versions, snapshotPa
isLoading: isInterfacesLoading,
} = useInterfacesByIds(versionSnapshot?.interfaces);
+ const {
+ organizationTypes,
+ isLoading: isOrganizationTypesLoading,
+ } = useTypes();
+
const {
isLoading: isVersionDataLoading,
data = {},
@@ -101,9 +108,9 @@ export const useSelectedOrganizationVersion = ({ versionId, versions, snapshotPa
...versionSnapshot,
accounts: versionSnapshot?.accounts?.map((account) => ({
...account,
- acqUnits: account?.acqUnitIds?.map((acqUnitId) => acqUnitsMap[acqUnitId]?.name || deletedRecordLabel),
+ acqUnits: account?.acqUnitIds?.map((id) => getObjectPropertyById(id, 'name', acqUnitsMap)),
})),
- acqUnits: acqUnitsIds.map(acqUnitsId => acqUnitsMap[acqUnitsId]?.name || deletedRecordLabel).join(', '),
+ acqUnits: acqUnitsIds.map((id) => getObjectPropertyById(id, 'name', acqUnitsMap)).join(', '),
vendorCurrenciesValue,
metadata,
};
@@ -113,19 +120,26 @@ export const useSelectedOrganizationVersion = ({ versionId, versions, snapshotPa
});
const selectedVersion = useMemo(() => {
- const versionUsersMap = keyBy('id', users);
-
- const createdByUser = versionUsersMap[createdByUserId]
- ? getFullName(versionUsersMap[createdByUserId])
- : deletedRecordLabel;
+ const versionUsersDict = keyBy('id', users);
+ const organizationTypesDict = keyBy('id', organizationTypes);
return {
...data,
- createdByUser: createdByUserId && createdByUser,
+ organizationTypesResolved: data.organizationTypes?.map((id) => getObjectPropertyById(id, 'name', organizationTypesDict))?.join(', '),
+ createdByUser: getUserFullNameById(createdByUserId, versionUsersDict),
contactsList: contacts,
interfacesList: interfaces,
};
- }, [users, createdByUserId, deletedRecordLabel, data, contacts, interfaces]);
+ }, [
+ getObjectPropertyById,
+ getUserFullNameById,
+ users,
+ createdByUserId,
+ data,
+ contacts,
+ interfaces,
+ organizationTypes,
+ ]);
const isLoading = (
isOrganizationLoading
@@ -133,6 +147,7 @@ export const useSelectedOrganizationVersion = ({ versionId, versions, snapshotPa
|| isVersionDataLoading
|| isContactsLoading
|| isInterfacesLoading
+ || isOrganizationTypesLoading
);
return {