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