diff --git a/src/data/api.js b/src/data/api.js index b563f755..37363af1 100644 --- a/src/data/api.js +++ b/src/data/api.js @@ -15,8 +15,8 @@ function normalizeMetadata(metadata) { start: metadata.start, enrollmentMode: metadata.enrollment.mode, isEnrolled: metadata.enrollment.is_active, - userHasAccess: metadata.user_has_access, - isStaff: metadata.user_has_staff_access, + canLoadCourseware: metadata.can_load_courseware, + isStaff: metadata.is_staff, verifiedMode: camelCaseObject(metadata.verified_mode), tabs: camelCaseObject(metadata.tabs), showCalculator: metadata.show_calculator, diff --git a/src/data/thunks.js b/src/data/thunks.js index ded167b6..365d548d 100644 --- a/src/data/thunks.js +++ b/src/data/thunks.js @@ -68,7 +68,7 @@ export function fetchCourse(courseId) { } if (fetchedMetadata) { - if (courseMetadataResult.value.userHasAccess && fetchedBlocks) { + if (courseMetadataResult.value.canLoadCourseware && fetchedBlocks) { // User has access dispatch(fetchCourseSuccess({ courseId })); return; diff --git a/src/enrollment-alert/hooks.js b/src/enrollment-alert/hooks.js index 587292a0..b2bdfc5e 100644 --- a/src/enrollment-alert/hooks.js +++ b/src/enrollment-alert/hooks.js @@ -10,7 +10,7 @@ export function useEnrollmentAlert(courseId) { const isEnrolled = course && course.isEnrolled; useEffect(() => { if (course && course.isEnrolled !== undefined) { - if (!course.isEnrolled) { + if (!course.isEnrolled && alertId === null) { if (course.isStaff) { setAlertId(add({ code: 'clientStaffEnrollmentAlert', @@ -22,7 +22,7 @@ export function useEnrollmentAlert(courseId) { topic: 'course', })); } - } else if (alertId !== null) { + } else if (course.isEnrolled && alertId !== null) { remove(alertId); setAlertId(null); } diff --git a/src/logistration-alert/hooks.js b/src/logistration-alert/hooks.js index 4bad8769..bd21a0c9 100644 --- a/src/logistration-alert/hooks.js +++ b/src/logistration-alert/hooks.js @@ -8,14 +8,14 @@ export function useLogistrationAlert() { const { add, remove } = useContext(UserMessagesContext); const [alertId, setAlertId] = useState(null); useEffect(() => { - if (authenticatedUser === null) { + if (authenticatedUser === null && alertId === null) { setAlertId(add({ code: 'clientLogistrationAlert', dismissible: false, type: 'error', topic: 'course', })); - } else if (alertId !== null) { + } else if (authenticatedUser !== null && alertId !== null) { remove(alertId); setAlertId(null); }