diff --git a/src/users/data/test/entitlements.js b/src/users/data/test/entitlements.js
index 7ba0d2d77..c070d4f09 100644
--- a/src/users/data/test/entitlements.js
+++ b/src/users/data/test/entitlements.js
@@ -14,9 +14,17 @@ const entitlementsData = {
supportDetails: [{
supportUser: 'admin',
action: 'CREATE',
+ actionCreated: Date().toLocaleString(),
comments: 'creating entitlement',
unenrolledRun: null,
},
+ {
+ supportUser: 'admin',
+ action: 'EXPIRE',
+ actionCreated: Date().toLocaleString(),
+ comments: 'expiring entitlement',
+ unenrolledRun: null,
+ },
],
},
{
diff --git a/src/users/entitlements/Entitlements.jsx b/src/users/entitlements/Entitlements.jsx
index 3403b6039..48b7aff8f 100644
--- a/src/users/entitlements/Entitlements.jsx
+++ b/src/users/entitlements/Entitlements.jsx
@@ -4,7 +4,7 @@ import React, {
import PropTypes from 'prop-types';
import {
- Button, Collapsible, TransitionReplace,
+ Button, Collapsible, Modal, TransitionReplace,
} from '@edx/paragon';
import { camelCaseObject, getConfig } from '@edx/frontend-platform';
import EntitlementForm from './EntitlementForm';
@@ -27,6 +27,9 @@ export default function Entitlements({
const [courseSummaryUUID, setCourseSummaryUUID] = useState(null);
const [courseSummaryData, setCourseSummaryData] = useState(null);
const [courseSummaryErrors, setCourseSummaryErrors] = useState(false);
+ const [entitlementDetailModalIsOpen, setEntitlementDetailModalIsOpen] = useState(false);
+ const [entitlementSupportDetailsTitle, setEntitlementSupportDetailsTitle] = useState('');
+ const [entitlementSupportDetails, setEntitlementSupportDetails] = useState([]);
const formRef = useRef(null);
const summaryRef = useRef(null);
@@ -45,6 +48,20 @@ export default function Entitlements({
setCourseSummaryErrors(false);
}
+ // Modal to display Support Details for each Entitlement
+ const openEntitlementsSupportDetailsModal = (title, supportDetails) => {
+ const tableData = supportDetails.map(supportDetail => ({
+ action: supportDetail.action,
+ comments: supportDetail.comments,
+ actionCreated: formatDate(supportDetail.created),
+ supportUser: supportDetail.supportUser,
+ unenrolledRun: supportDetail.unenrolledRun,
+ }));
+ setEntitlementSupportDetails(tableData);
+ setEntitlementSupportDetailsTitle(title);
+ setEntitlementDetailModalIsOpen(true);
+ };
+
const handleCourseSummaryDataGet = useCallback((courseUUID) => {
if (courseUUID !== null && courseUUID !== undefined) {
setCourseSummaryData(null);
@@ -126,8 +143,19 @@ export default function Entitlements({
displayValue: (
+