diff --git a/patientsearch/src/js/containers/Logout.js b/patientsearch/src/js/containers/Logout.js index 7503af03..68b50500 100644 --- a/patientsearch/src/js/containers/Logout.js +++ b/patientsearch/src/js/containers/Logout.js @@ -8,10 +8,12 @@ import { getUrlParameter } from "../helpers/utility"; import { useSettingContext } from "../context/SettingContextProvider"; import "../../styles/app.scss"; + +const isForbidden = getUrlParameter("forbidden"); // Error message, e.g. forbidden error const AlertMessage = () => { const appSettings = useSettingContext().appSettings; - if (!getUrlParameter("forbidden")) return ""; // look for forbidden message for now, can be others as well + if (!isForbidden) return ""; // look for forbidden message for now, can be others as well const message = appSettings && appSettings["FORBIDDEN_TEXT"] ? appSettings["FORBIDDEN_TEXT"] @@ -41,15 +43,17 @@ render(
- + {!isForbidden && + + } , document.getElementById("content") diff --git a/patientsearch/src/js/context/PatientListContextProvider.js b/patientsearch/src/js/context/PatientListContextProvider.js index b4eb8878..7427beed 100644 --- a/patientsearch/src/js/context/PatientListContextProvider.js +++ b/patientsearch/src/js/context/PatientListContextProvider.js @@ -1067,17 +1067,8 @@ export default function PatientListContextProvider({ children }) { }) .catch((error) => { console.log("Failed to retrieve data", error); - //unauthorized error + //display error message or redirect based on error status handleErrorCallback(error); - setErrorMessage( - `Error retrieving data: ${ - typeof error === "string" - ? error - : error && error.status - ? "Error status " + error.status - : error - }` - ); resolve(defaults); }); }); diff --git a/patientsearch/src/js/helpers/utility.js b/patientsearch/src/js/helpers/utility.js index ed56c60b..4e4dfc9e 100644 --- a/patientsearch/src/js/helpers/utility.js +++ b/patientsearch/src/js/helpers/utility.js @@ -90,6 +90,10 @@ export async function fetchData(url, params, errorCallback) { console.log("no results returned ", results); if (!results.ok) { console.log("Error results ", results); + if (results && results.status) { + // raise error here to allow callee to catch it as needed + throw results; + } const errorMessage = json && json.message ? json.message