diff --git a/src/FeatureBasedEnrollments/FeatureBasedEnrollmentIndexPage.jsx b/src/FeatureBasedEnrollments/FeatureBasedEnrollmentIndexPage.jsx index 9f71b4e39..50611be6a 100644 --- a/src/FeatureBasedEnrollments/FeatureBasedEnrollmentIndexPage.jsx +++ b/src/FeatureBasedEnrollments/FeatureBasedEnrollmentIndexPage.jsx @@ -8,7 +8,7 @@ import React, { useLayoutEffect, } from 'react'; import PropTypes from 'prop-types'; -import { Input, Button } from '@edx/paragon'; +import { Button, Form } from '@edx/paragon'; import UserMessagesContext from '../userMessages/UserMessagesContext'; import AlertList from '../userMessages/AlertList'; @@ -82,8 +82,8 @@ export default function FeatureBasedEnrollmentIndexPage({ location }) { // To change the url with appropriate query param if query param info is not present in URL useLayoutEffect(() => { if (searchValue - && location.pathname.indexOf(TAB_PATH_MAP[FEATURE_BASED_ENROLLMENT_TAB]) !== -1 - && !params.get('course_id')) { + && location.pathname.indexOf(TAB_PATH_MAP[FEATURE_BASED_ENROLLMENT_TAB]) !== -1 + && !params.get('course_id')) { pushHistoryIfChanged(`${TAB_PATH_MAP[FEATURE_BASED_ENROLLMENT_TAB]}/?course_id=${searchValue}`); } }); @@ -94,11 +94,21 @@ export default function FeatureBasedEnrollmentIndexPage({ location }) {
-
- - - -
+
+ + + Course ID + + + + + +
{searchValue && } diff --git a/src/ProgramEnrollments/LinkProgramEnrollments.jsx b/src/ProgramEnrollments/LinkProgramEnrollments.jsx index b781664ee..260ab67d6 100644 --- a/src/ProgramEnrollments/LinkProgramEnrollments.jsx +++ b/src/ProgramEnrollments/LinkProgramEnrollments.jsx @@ -1,4 +1,4 @@ -import { Input, Button } from '@edx/paragon'; +import { Button, Form } from '@edx/paragon'; import React, { useState, useCallback } from 'react'; import getLinkProgramEnrollmentDetails from './data/api'; import LinkProgramEnrollmentsTable from './LinkProgramEnrollmentsTable'; @@ -45,33 +45,38 @@ export default function LinkProgramEnrollments() { <>

Link Program Enrollments

-
+
- - + + Program UUID + + +
- - + + + + List of External key and username pairings (one per line) + + +
-
+
{((errorMessage && errorMessage.length > 0) - || (successMessage && successMessage.length > 0)) && ( - + || (successMessage && successMessage.length > 0)) && ( + )} ); diff --git a/src/ProgramEnrollments/ProgramInspector/ProgramInspector.jsx b/src/ProgramEnrollments/ProgramInspector/ProgramInspector.jsx index c529abc04..910691792 100644 --- a/src/ProgramEnrollments/ProgramInspector/ProgramInspector.jsx +++ b/src/ProgramEnrollments/ProgramInspector/ProgramInspector.jsx @@ -1,7 +1,7 @@ import React, { useEffect, useState, useCallback } from 'react'; import PropTypes from 'prop-types'; import { - Alert, Col, Row, Button, Input, + Alert, Col, Row, Button, Form, } from '@edx/paragon'; import { history } from '@edx/frontend-platform'; import { getSsoRecords } from '../../users/data/api'; @@ -26,12 +26,12 @@ export default function ProgramInspector({ location }) { const [clickEventCall, setClickEventCall] = useState(false); const getOrgKeyList = () => (orgKeyList - ? orgKeyList.map((data) => ({ - value: data, - label: data, - })) + ? orgKeyList.map((data) => (( + + ))) : orgKeyList); - const handleSubmit = () => { if (!username && !externalUserKey) { setUsername(undefined); @@ -40,8 +40,7 @@ export default function ProgramInspector({ location }) { setSsoRecords([]); history.push('/programs'); } else { - const newLink = `/programs?edx_user=${ - username || '' + const newLink = `/programs?edx_user=${username || '' }&org_key=${activeOrgKey}&external_user_key=${externalUserKey || ''}`; if (newLink === location.pathname + location.search) { setClickEventCall(!clickEventCall); @@ -113,50 +112,55 @@ export default function ProgramInspector({ location }) { )}

Program Enrollments Inspector

-
+
- - (e.target.value - ? setUsername(e.target.value) - : setUsername(undefined))} - placeholder="edx@example.com" - /> + + edX username or email + (e.target.value + ? setUsername(e.target.value) + : setUsername(undefined))} + placeholder="edx@example.com" + /> +
- - setActiveOrgKey(e.target.value)} - /> + + + Identity-providing institution + + setActiveOrgKey(e.target.value)} + > + {getOrgKeyList()} + +
- - (e.target.value - ? setExternalUserKey(e.target.value) - : setExternalUserKey(undefined))} - placeholder="ex. GTPersonDirectoryID for GT Students" - /> + + Institution user key + + (e.target.value + ? setExternalUserKey(e.target.value) + : setExternalUserKey(undefined))} + placeholder="ex. GTPersonDirectoryID for GT Students" + /> +
-
+
{learnerProgramEnrollment && learnerProgramEnrollment.user && ( diff --git a/src/users/EntitlementsAndEnrollmentsContainer.jsx b/src/users/EntitlementsAndEnrollmentsContainer.jsx index 701b2af5a..6830d4ca9 100644 --- a/src/users/EntitlementsAndEnrollmentsContainer.jsx +++ b/src/users/EntitlementsAndEnrollmentsContainer.jsx @@ -1,6 +1,6 @@ import React, { useState } from 'react'; import PropTypes from 'prop-types'; -import { Input } from '@edx/paragon'; +import { Form } from '@edx/paragon'; import Enrollments from './enrollments/Enrollments'; import Entitlements from './entitlements/Entitlements'; @@ -12,7 +12,13 @@ export default function EntitlementsAndEnrollmentsContainer({ return (
- { setSearchValue(e.target.value.toLowerCase()); }} /> + { setSearchValue(e.target.value.toLowerCase()); }} + />
-
- - + + Username, Email or LMS User ID + + - + + ); } diff --git a/src/users/__snapshots__/UserSearch.test.jsx.snap b/src/users/__snapshots__/UserSearch.test.jsx.snap index a7bf7b11b..d7a9d7b57 100644 --- a/src/users/__snapshots__/UserSearch.test.jsx.snap +++ b/src/users/__snapshots__/UserSearch.test.jsx.snap @@ -5,19 +5,25 @@ exports[`User Search Page renders correctly matches snapshot 1`] = ` className="mb-3" >
- +
+ +

- setComments(event.target.value)} - disabled={hideSubmit} - ref={forwardedRef} - /> + + setComments(event.target.value)} + disabled={hideSubmit} + ref={forwardedRef} + /> + ); @@ -115,7 +117,7 @@ export default function ReissueEntitlementForm({ > Close - { showLoader + {showLoader ? (
) : (