diff --git a/CHANGELOG.md b/CHANGELOG.md
index f30bba80..07078bfc 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,8 @@
## 5.1.0 (IN PROGRESS)
+* Designate Organization as donor. Refs UIORGS-383.
+
## [5.0.0](https://github.com/folio-org/ui-organizations/tree/v5.0.0) (2023-10-12)
[Full Changelog](https://github.com/folio-org/ui-organizations/compare/v4.0.0...v5.0.0)
diff --git a/src/Organizations/OrganizationCreate/OrganizationCreate.js b/src/Organizations/OrganizationCreate/OrganizationCreate.js
index 26bbf3f2..24f5d6de 100644
--- a/src/Organizations/OrganizationCreate/OrganizationCreate.js
+++ b/src/Organizations/OrganizationCreate/OrganizationCreate.js
@@ -19,6 +19,7 @@ const INITIAL_VALUES = {
interfaces: [],
contacts: [],
isVendor: false,
+ isDonor: false,
edi: {
vendorEdiType: '31B/US-SAN',
libEdiType: '31B/US-SAN',
diff --git a/src/Organizations/OrganizationDetails/OrganizationDetails.js b/src/Organizations/OrganizationDetails/OrganizationDetails.js
index 2d381b61..6c6a71d1 100644
--- a/src/Organizations/OrganizationDetails/OrganizationDetails.js
+++ b/src/Organizations/OrganizationDetails/OrganizationDetails.js
@@ -269,6 +269,7 @@ const OrganizationDetails = ({
description={organization.description}
erpCode={organization.erpCode}
isVendor={organization.isVendor}
+ isDonor={organization.isDonor}
language={organization.language}
metadata={organization.metadata}
name={organization.name}
diff --git a/src/Organizations/OrganizationDetails/OrganizationSummary/OrganizationSummary.js b/src/Organizations/OrganizationDetails/OrganizationSummary/OrganizationSummary.js
index d8a04dc6..22c29624 100644
--- a/src/Organizations/OrganizationDetails/OrganizationSummary/OrganizationSummary.js
+++ b/src/Organizations/OrganizationDetails/OrganizationSummary/OrganizationSummary.js
@@ -1,4 +1,4 @@
-import React from 'react';
+import React, { useMemo } from 'react';
import { FormattedMessage } from 'react-intl';
import PropTypes from 'prop-types';
@@ -6,7 +6,6 @@ import {
Checkbox,
Col,
KeyValue,
- MultiColumnList,
NoValue,
Row,
} from '@folio/stripes/components';
@@ -18,12 +17,6 @@ import {
import { ORGANIZATION_SECTIONS } from '../../constants';
-const aliasesColumnMapping = {
- value: ,
- description: ,
-};
-const aliasesVisibleColumns = ['value', 'description'];
-
const OrganizationSummary = ({
acqUnitIds,
aliases,
@@ -31,6 +24,7 @@ const OrganizationSummary = ({
description,
erpCode,
isVendor,
+ isDonor,
language,
metadata,
name,
@@ -38,6 +32,7 @@ const OrganizationSummary = ({
organizationTypes,
}) => {
const defaultLanguageValue = LANG_LABEL_BY_CODE[language] || language;
+ const alternativeNames = useMemo(() => aliases.map(({ value }) => value).join(', '), [aliases]);
return (
<>
@@ -53,7 +48,7 @@ const OrganizationSummary = ({
-
+
}
@@ -61,14 +56,14 @@ const OrganizationSummary = ({
/>
-
+
}
value={code}
/>
-
+
}
@@ -76,7 +71,7 @@ const OrganizationSummary = ({
/>
-
+
}
>
@@ -84,7 +79,7 @@ const OrganizationSummary = ({
-
+
}
@@ -92,16 +87,7 @@ const OrganizationSummary = ({
/>
-
- }
- vertical
- />
-
-
-
+
}
@@ -109,31 +95,42 @@ const OrganizationSummary = ({
/>
-
+
-
+
}
value={description || }
/>
-
-
-
+
+ }
+ vertical
+ />
+
+
+
+ }
+ vertical
+ />
+
+
+
}
- >
-
-
+ value={alternativeNames || }
+ />
>
@@ -150,6 +147,7 @@ OrganizationSummary.propTypes = {
description: PropTypes.string,
erpCode: PropTypes.string,
isVendor: PropTypes.bool,
+ isDonor: PropTypes.bool,
language: PropTypes.string,
metadata: PropTypes.object,
name: PropTypes.string,
diff --git a/src/Organizations/OrganizationForm/OrganizationForm.test.js b/src/Organizations/OrganizationForm/OrganizationForm.test.js
index 5ff71694..71c527bd 100644
--- a/src/Organizations/OrganizationForm/OrganizationForm.test.js
+++ b/src/Organizations/OrganizationForm/OrganizationForm.test.js
@@ -1,7 +1,3 @@
-import React from 'react';
-import { render, screen, act } from '@folio/jest-config-stripes/testing-library/react';
-import { queryHelpers } from '@folio/jest-config-stripes/testing-library/dom';
-import user from '@folio/jest-config-stripes/testing-library/user-event';
import { MemoryRouter } from 'react-router-dom';
import { useHistory } from 'react-router';
@@ -10,12 +6,18 @@ import {
expandAllSections,
collapseAllSections,
} from '@folio/stripes/components';
-import { organizationTypes } from 'fixtures';
+import {
+ render,
+ screen,
+ act,
+} from '@folio/jest-config-stripes/testing-library/react';
+import { queryHelpers } from '@folio/jest-config-stripes/testing-library/dom';
+import user from '@folio/jest-config-stripes/testing-library/user-event';
+import { organizationTypes } from 'fixtures';
import { ORGANIZATIONS_ROUTE } from '../../common/constants';
import OrganizationForm from './OrganizationForm';
-
jest.mock('react-router', () => ({
...jest.requireActual('react-router'),
useHistory: jest.fn(),
diff --git a/src/Organizations/OrganizationForm/OrganizationSummaryForm/OrganizationSummaryForm.js b/src/Organizations/OrganizationForm/OrganizationSummaryForm/OrganizationSummaryForm.js
index d9459640..816028b9 100644
--- a/src/Organizations/OrganizationForm/OrganizationSummaryForm/OrganizationSummaryForm.js
+++ b/src/Organizations/OrganizationForm/OrganizationSummaryForm/OrganizationSummaryForm.js
@@ -77,8 +77,8 @@ function OrganizationSummaryForm({ initialValues }) {
onResetVendorFields();
}, [onResetVendorFields]);
- const onChangeIsVendor = useCallback(({ target: { checked } }) => {
- change('isVendor', checked);
+ const handleCheckbox = useCallback(({ target: { checked, name } }) => {
+ change(name, checked);
if (initialValues.id && !checked) setVendorUncheckConfirm(true);
}, [initialValues.id, change]);
@@ -159,20 +159,6 @@ function OrganizationSummaryForm({ initialValues }) {
name="language"
/>
-
- }
- name="isVendor"
- type="checkbox"
- onChange={onChangeIsVendor}
- vertical
- validateFields={[]}
- />
-
+
+ }
+ name="isDonor"
+ type="checkbox"
+ onChange={handleCheckbox}
+ vertical
+ validateFields={[]}
+ />
+
+
+ }
+ name="isVendor"
+ type="checkbox"
+ onChange={handleCheckbox}
+ vertical
+ validateFields={[]}
+ />
+
}
diff --git a/translations/ui-organizations/en.json b/translations/ui-organizations/en.json
index 7b83dd21..c591d8b2 100644
--- a/translations/ui-organizations/en.json
+++ b/translations/ui-organizations/en.json
@@ -110,6 +110,7 @@
"summary.organizationStatus": "Organization status",
"summary.type": "Type",
"summary.isVendor": "Vendor",
+ "summary.isDonor": "Donor",
"summary.accountingCode": "Accounting code",
"summary.defaultLanguage": "Default language",
"summary.alternativeNames": "Alternative names",