Merged PR 2158: fixed breacrumb and label

fixed breacrumb and label

Related work items: #18688, #21942, #21943
This commit is contained in:
Robert Bond
2026-03-10 18:06:46 +00:00
5 changed files with 604 additions and 775 deletions
+132 -206
View File
@@ -1,5 +1,3 @@
import { JSONPath as jsonpath } from "jsonpath-plus";
import _ from "lodash";
import useTranslation from "next-translate/useTranslation"; import useTranslation from "next-translate/useTranslation";
import Link from "next/link"; import Link from "next/link";
import { useRouter } from "next/router"; import { useRouter } from "next/router";
@@ -7,7 +5,7 @@ import { connect } from "react-redux";
import { useSession } from "next-auth/react"; import { useSession } from "next-auth/react";
import { setCurrentView } from "../store/currentView/action"; import { setCurrentView } from "../store/currentView/action";
import { Field, change, reduxForm } from "redux-form"; import { change } from "redux-form";
import { setCurrentSection } from "../store/appealType/action"; import { setCurrentSection } from "../store/appealType/action";
import { import {
@@ -15,35 +13,114 @@ import {
setRepresentationSubmit setRepresentationSubmit
} from "../store/currentView/action"; } from "../store/currentView/action";
const Breadcrumbs = (props) => { const Breadcrumbs = (props) => {
const { const { currentView, setCurrentSection, setRepresentationSubmit } = props;
currentView,
setCurrentView,
setCurrentSection,
setRepresentationCapacity,
setRepresentationSubmit
} = props;
const router = useRouter(); const router = useRouter();
let { t } = useTranslation(); let { t } = useTranslation();
const { data: session, status } = useSession(); const { data: session } = useSession();
const currentReference =
props?.props?.currentView?.caseReference?.currentReference || "";
const fallbackSearchTitle =
props?.props?.searchResultsObj?.searchResultsObj?.value?.[0]?.title ||
"";
const caseReferenceDisplay = currentReference || fallbackSearchTitle;
const myPortalHref =
router.locale != "en" ? "/" + router.locale + "/fymhorth" : "/myportal";
const cyMyPortalHref =
router.locale == "cy" ? "/" + router.locale + "/fymhorth" : "/myportal";
const caseReference = currentView?.caseReference || {};
const repDetails = caseReference?.repDetails;
const hasRepDetails = Object.prototype.hasOwnProperty.call(
caseReference,
"repDetails"
);
const qcount = const qcount =
currentView.caseReference.appealType == 846040000 || caseReference.appealType == 846040000 ||
currentView.caseReference.appealType == 846040001 || caseReference.appealType == 846040001 ||
currentView.caseReference.appealType == 846040025 || caseReference.appealType == 846040025 ||
currentView.caseReference.appealType == 846040004 || caseReference.appealType == 846040004 ||
currentView.caseReference.appealType == 846040018 || caseReference.appealType == 846040018 ||
currentView.caseReference.appealType == 846040003 || caseReference.appealType == 846040003 ||
currentView.caseReference.appealType == 846040009 || caseReference.appealType == 846040009 ||
currentView.caseReference.appealType == 846040008 caseReference.appealType == 846040008
? 7 ? 7
: currentView.caseReference.appealType == 846040005 || : caseReference.appealType == 846040005 ||
currentView.caseReference.appealType == 846040006 || caseReference.appealType == 846040006 ||
currentView.caseReference.appealType == 846040007 caseReference.appealType == 846040007
? 9 ? 9
: ""; : "";
var viewAllKey = currentView?.viewKey || router.query.viewKey; const { va, adv, ads, key } = router.query;
const breadcrumbHref = (() => {
if (va === "true") {
return {
pathname: "/myportal/viewall",
query: { key }
};
}
const base = session ? "/myportal" : "";
if (adv === "true") {
return {
pathname: `${base}/advancedsearchresults`,
query: router.query
};
}
if (ads === "true") {
return {
pathname: `${base}/addresssearchresults`,
query: router.query
};
}
return {
pathname: `${base}/searchresults`,
query: router.query
};
})();
const breadcrumbLabel = (() => {
if (va === "true") {
if (key === "awaitingSubmissionDetails")
return t("myportal:awatitingsubmission-card-title");
}
if (key === "watchedCases")
return t("myportal:watchedcases-card-title");
if (key === "myCases") return t("myportal:mycases-card-title");
if (key === "myRepresentations")
return t("myportal:myrepresentations-card-title");
if (key === "awaitingSubmissionDetails")
return t("myportal:awatitingsubmission-card-title");
if (key === "watchedCases")
return t("myportal:watchedcases-card-title");
if (key === "myCases") return t("myportal:mycases-card-title");
if (key === "myRepresentations")
return t("myportal:myrepresentations-card-title");
if (key === "mySubmittedReps") return "Submitted representations";
if (adv === "true") {
return t("common:breadcrumb-advanced-search-results");
}
if (ads === "true") {
return t("common:breadcrumb-address-search-results");
}
return t("common:breadcrumb-search-results");
})();
return ( return (
<> <>
<nav <nav
@@ -76,13 +153,7 @@ const Breadcrumbs = (props) => {
<> <>
<li className="govuk-breadcrumbs__list-item"> <li className="govuk-breadcrumbs__list-item">
<a <a
href={ href={myPortalHref}
router.locale != "en"
? "/" +
router.locale +
"/fymhorth"
: "/myportal"
}
className="govuk-breadcrumbs__link" className="govuk-breadcrumbs__link"
> >
{t("common:breadcrumb-my-portal")} {t("common:breadcrumb-my-portal")}
@@ -118,13 +189,7 @@ const Breadcrumbs = (props) => {
<> <>
<li className="govuk-breadcrumbs__list-item"> <li className="govuk-breadcrumbs__list-item">
<Link <Link
href={ href={myPortalHref}
router.locale != "en"
? "/" +
router.locale +
"/fymhorth"
: "/myportal"
}
className="govuk-breadcrumbs__link" className="govuk-breadcrumbs__link"
> >
{t("common:breadcrumb-my-portal")} {t("common:breadcrumb-my-portal")}
@@ -139,13 +204,7 @@ const Breadcrumbs = (props) => {
<> <>
<li className="govuk-breadcrumbs__list-item"> <li className="govuk-breadcrumbs__list-item">
<Link <Link
href={ href={myPortalHref}
router.locale != "en"
? "/" +
router.locale +
"/fymhorth"
: "/myportal"
}
className="govuk-breadcrumbs__link" className="govuk-breadcrumbs__link"
> >
{t("common:breadcrumb-my-portal")} {t("common:breadcrumb-my-portal")}
@@ -160,13 +219,7 @@ const Breadcrumbs = (props) => {
<> <>
<li className="govuk-breadcrumbs__list-item"> <li className="govuk-breadcrumbs__list-item">
<Link <Link
href={ href={myPortalHref}
router.locale != "en"
? "/" +
router.locale +
"/fymhorth"
: "/myportal"
}
className="govuk-breadcrumbs__link" className="govuk-breadcrumbs__link"
> >
{t("common:breadcrumb-my-portal")} {t("common:breadcrumb-my-portal")}
@@ -228,13 +281,7 @@ const Breadcrumbs = (props) => {
<> <>
<li className="govuk-breadcrumbs__list-item"> <li className="govuk-breadcrumbs__list-item">
<Link <Link
href={ href={myPortalHref}
router.locale != "en"
? "/" +
router.locale +
"/fymhorth"
: "/myportal"
}
className="govuk-breadcrumbs__link" className="govuk-breadcrumbs__link"
> >
{t("common:breadcrumb-my-portal")} {t("common:breadcrumb-my-portal")}
@@ -265,13 +312,7 @@ const Breadcrumbs = (props) => {
<> <>
<li className="govuk-breadcrumbs__list-item"> <li className="govuk-breadcrumbs__list-item">
<Link <Link
href={ href={myPortalHref}
router.locale != "en"
? "/" +
router.locale +
"/fymhorth"
: "/myportal"
}
className="govuk-breadcrumbs__link" className="govuk-breadcrumbs__link"
> >
{t("common:breadcrumb-my-portal")} {t("common:breadcrumb-my-portal")}
@@ -428,13 +469,7 @@ const Breadcrumbs = (props) => {
<> <>
<li className="govuk-breadcrumbs__list-item"> <li className="govuk-breadcrumbs__list-item">
<Link <Link
href={ href={myPortalHref}
router.locale != "en"
? "/" +
router.locale +
"/fymhorth"
: "/myportal"
}
className="govuk-breadcrumbs__link" className="govuk-breadcrumbs__link"
> >
{t("newappeal:parent-page-title")} {t("newappeal:parent-page-title")}
@@ -442,13 +477,7 @@ const Breadcrumbs = (props) => {
</li> </li>
<li className="govuk-breadcrumbs__list-item"> <li className="govuk-breadcrumbs__list-item">
<Link <Link
href={ href={myPortalHref}
router.locale != "en"
? "/" +
router.locale +
"/fymhorth"
: "/myportal"
}
className="govuk-breadcrumbs__link" className="govuk-breadcrumbs__link"
> >
{t("newappeal:page-title")} {t("newappeal:page-title")}
@@ -463,13 +492,7 @@ const Breadcrumbs = (props) => {
<> <>
<li className="govuk-breadcrumbs__list-item"> <li className="govuk-breadcrumbs__list-item">
<Link <Link
href={ href={myPortalHref}
router.locale != "en"
? "/" +
router.locale +
"/fymhorth"
: "/myportal"
}
className="govuk-breadcrumbs__link" className="govuk-breadcrumbs__link"
> >
{t("common:breadcrumb-my-portal")} {t("common:breadcrumb-my-portal")}
@@ -484,13 +507,7 @@ const Breadcrumbs = (props) => {
<> <>
<li className="govuk-breadcrumbs__list-item"> <li className="govuk-breadcrumbs__list-item">
<Link <Link
href={ href={myPortalHref}
router.locale != "en"
? "/" +
router.locale +
"/fymhorth"
: "/myportal"
}
className="govuk-breadcrumbs__link" className="govuk-breadcrumbs__link"
> >
{t("common:breadcrumb-my-portal")} {t("common:breadcrumb-my-portal")}
@@ -540,10 +557,7 @@ const Breadcrumbs = (props) => {
</li> </li>
<li className="govuk-breadcrumbs__list-item"> <li className="govuk-breadcrumbs__list-item">
{t("common:breadcrumb-case-reference")}:{" "} {t("common:breadcrumb-case-reference")}:{" "}
{ {currentReference}
props.props.currentView.caseReference
.currentReference
}
</li> </li>
</> </>
)} )}
@@ -574,10 +588,7 @@ const Breadcrumbs = (props) => {
</li> </li>
<li className="govuk-breadcrumbs__list-item"> <li className="govuk-breadcrumbs__list-item">
{t("common:breadcrumb-case-reference")}:{" "} {t("common:breadcrumb-case-reference")}:{" "}
{ {fallbackSearchTitle}
props.props.searchResultsObj
.searchResultsObj.value[0].title
}
</li> </li>
</> </>
)} )}
@@ -619,10 +630,7 @@ const Breadcrumbs = (props) => {
</li> </li>
<li className="govuk-breadcrumbs__list-item"> <li className="govuk-breadcrumbs__list-item">
{t("common:breadcrumb-case-reference")}:{" "} {t("common:breadcrumb-case-reference")}:{" "}
{ {currentReference}
props.props.currentView.caseReference
.currentReference
}
</li> </li>
</> </>
)} )}
@@ -631,13 +639,7 @@ const Breadcrumbs = (props) => {
{" "} {" "}
<li className="govuk-breadcrumbs__list-item"> <li className="govuk-breadcrumbs__list-item">
<Link <Link
href={ href={myPortalHref}
router.locale != "en"
? "/" +
router.locale +
"/fymhorth"
: "/myportal"
}
className="govuk-breadcrumbs__link" className="govuk-breadcrumbs__link"
> >
{t("common:breadcrumb-my-portal")} {t("common:breadcrumb-my-portal")}
@@ -683,10 +685,7 @@ const Breadcrumbs = (props) => {
</li> </li>
<li className="govuk-breadcrumbs__list-item"> <li className="govuk-breadcrumbs__list-item">
{t("common:breadcrumb-case-reference")}:{" "} {t("common:breadcrumb-case-reference")}:{" "}
{ {currentReference}
props.props.currentView.caseReference
.currentReference
}
</li> </li>
</> </>
)} )}
@@ -694,13 +693,7 @@ const Breadcrumbs = (props) => {
<> <>
<li className="govuk-breadcrumbs__list-item"> <li className="govuk-breadcrumbs__list-item">
<Link <Link
href={ href={myPortalHref}
router.locale != "en"
? "/" +
router.locale +
"/fymhorth"
: "/myportal"
}
className="govuk-breadcrumbs__link" className="govuk-breadcrumbs__link"
> >
{t("common:breadcrumb-my-portal")} {t("common:breadcrumb-my-portal")}
@@ -708,37 +701,15 @@ const Breadcrumbs = (props) => {
</li> </li>
<li className="govuk-breadcrumbs__list-item"> <li className="govuk-breadcrumbs__list-item">
<Link <Link
href={{ href={breadcrumbHref}
pathname:
(session ? "/myportal" : "") +
(router.query.adv == "true"
? "/advancedsearchresults"
: router.query.ads == "true"
? "/addresssearchresults"
: "/searchresults"),
query: router.query
}}
className="govuk-breadcrumbs__link" className="govuk-breadcrumbs__link"
> >
{router.query.adv == "true" {breadcrumbLabel}
? t(
"common:breadcrumb-advanced-search-results"
)
: router.query.ads == "true"
? t(
"common:breadcrumb-address-search-results"
)
: t(
"common:breadcrumb-search-results"
)}
</Link> </Link>
</li> </li>
<li className="govuk-breadcrumbs__list-item"> <li className="govuk-breadcrumbs__list-item">
{t("common:breadcrumb-case-reference")}:{" "} {t("common:breadcrumb-case-reference")}:{" "}
{props.props.currentView.caseReference {caseReferenceDisplay}
.currentReference ||
props.props.searchResultsObj
.searchResultsObj.value[0].title}
</li> </li>
</> </>
)} )}
@@ -747,13 +718,7 @@ const Breadcrumbs = (props) => {
{" "} {" "}
<li className="govuk-breadcrumbs__list-item"> <li className="govuk-breadcrumbs__list-item">
<Link <Link
href={ href={myPortalHref}
router.locale != "en"
? "/" +
router.locale +
"/fymhorth"
: "/myportal"
}
className="govuk-breadcrumbs__link" className="govuk-breadcrumbs__link"
> >
{t("common:breadcrumb-my-portal")} {t("common:breadcrumb-my-portal")}
@@ -768,13 +733,7 @@ const Breadcrumbs = (props) => {
<> <>
<li className="govuk-breadcrumbs__list-item"> <li className="govuk-breadcrumbs__list-item">
<Link <Link
href={ href={myPortalHref}
router.locale != "en"
? "/" +
router.locale +
"/fymhorth"
: "/myportal"
}
className="govuk-breadcrumbs__link" className="govuk-breadcrumbs__link"
> >
{t("common:breadcrumb-my-portal")} {t("common:breadcrumb-my-portal")}
@@ -790,10 +749,7 @@ const Breadcrumbs = (props) => {
</li> </li>
<li className="govuk-breadcrumbs__list-item"> <li className="govuk-breadcrumbs__list-item">
{t("common:breadcrumb-case-reference")}:{" "} {t("common:breadcrumb-case-reference")}:{" "}
{ {currentReference}
props.props.currentView.caseReference
.currentReference
}
</li> </li>
</> </>
)} )}
@@ -822,10 +778,7 @@ const Breadcrumbs = (props) => {
</li> </li>
<li className="govuk-breadcrumbs__list-item"> <li className="govuk-breadcrumbs__list-item">
{t("common:breadcrumb-case-reference")}:{" "} {t("common:breadcrumb-case-reference")}:{" "}
{props.props.currentView.caseReference {caseReferenceDisplay}
.currentReference ||
props.props.searchResultsObj
.searchResultsObj.value[0].title}
</li> </li>
</> </>
)} )}
@@ -856,10 +809,7 @@ const Breadcrumbs = (props) => {
</li> </li>
<li className="govuk-breadcrumbs__list-item"> <li className="govuk-breadcrumbs__list-item">
{t("common:breadcrumb-case-reference")}:{" "} {t("common:breadcrumb-case-reference")}:{" "}
{ {currentReference}
props.props.currentView.caseReference
.currentReference
}
</li> </li>
</> </>
)} )}
@@ -934,11 +884,8 @@ const Breadcrumbs = (props) => {
)} )}
{props.currentView.representationSubmit != {props.currentView.representationSubmit !=
true && true &&
props.currentView.caseReference.hasOwnProperty( hasRepDetails &&
"repDetails" repDetails?.representationType !=
) &&
props.currentView.caseReference.repDetails
.representationType !=
"Questionnaire" && ( "Questionnaire" && (
<li className="govuk-breadcrumbs__link-item backChevron"> <li className="govuk-breadcrumbs__link-item backChevron">
<a <a
@@ -956,11 +903,8 @@ const Breadcrumbs = (props) => {
)} )}
{props.currentView.representationSubmit != {props.currentView.representationSubmit !=
true && true &&
props.currentView.caseReference.hasOwnProperty( hasRepDetails &&
"repDetails" repDetails?.representationType ==
) &&
props.currentView.caseReference.repDetails
.representationType ==
"Questionnaire" && "Questionnaire" &&
props.showQuestionnaireSection > 1 && ( props.showQuestionnaireSection > 1 && (
<li className="govuk-breadcrumbs__link-item backChevron"> <li className="govuk-breadcrumbs__link-item backChevron">
@@ -987,13 +931,7 @@ const Breadcrumbs = (props) => {
<> <>
<li className="govuk-breadcrumbs__list-item"> <li className="govuk-breadcrumbs__list-item">
<Link <Link
href={ href={cyMyPortalHref}
router.locale == "cy"
? "/" +
router.locale +
"/fymhorth"
: "/myportal"
}
className="govuk-breadcrumbs__link" className="govuk-breadcrumbs__link"
> >
{t("common:breadcrumb-my-portal")} {t("common:breadcrumb-my-portal")}
@@ -1015,13 +953,7 @@ const Breadcrumbs = (props) => {
<> <>
<li className="govuk-breadcrumbs__list-item"> <li className="govuk-breadcrumbs__list-item">
<Link <Link
href={ href={cyMyPortalHref}
router.locale == "cy"
? "/" +
router.locale +
"/fymhorth"
: "/myportal"
}
className="govuk-breadcrumbs__link" className="govuk-breadcrumbs__link"
> >
{t("common:breadcrumb-my-portal")} {t("common:breadcrumb-my-portal")}
@@ -1064,10 +996,7 @@ const Breadcrumbs = (props) => {
</li> </li>
<li className="govuk-breadcrumbs__list-item"> <li className="govuk-breadcrumbs__list-item">
{t("common:breadcrumb-case-reference")}:{" "} {t("common:breadcrumb-case-reference")}:{" "}
{ {currentReference}
props.props.currentView.caseReference
.currentReference
}
</li> </li>
</> </>
)} )}
@@ -1088,10 +1017,7 @@ const Breadcrumbs = (props) => {
</li> </li>
<li className="govuk-breadcrumbs__list-item"> <li className="govuk-breadcrumbs__list-item">
{t("common:breadcrumb-case-reference")}:{" "} {t("common:breadcrumb-case-reference")}:{" "}
{props.props.currentView.caseReference {caseReferenceDisplay}
.currentReference ||
props.props.searchResultsObj
.searchResultsObj.value[0].title}
</li> </li>
</> </>
)} )}
+35 -18
View File
@@ -324,6 +324,35 @@ const CaseSummary = (props) => {
const zoom = isNaN(parseFloat(siteCoords.latitude)) ? 7 : 12; const zoom = isNaN(parseFloat(siteCoords.latitude)) ? 7 : 12;
const buildSearchHref = (router, session) => {
const { va, adv, ads, key } = router.query;
if (va === "true") {
return {
pathname: "/myportal/viewall",
query: { key }
};
}
const base = session ? "/myportal" : "";
if (adv === "true") {
return {
pathname: `${base}/advancedsearchresults`,
query: router.query
};
}
if (ads === "true") {
return {
pathname: `${base}/addresssearchresults`,
query: router.query
};
}
return { pathname: `${base}/searchresults`, query: router.query };
};
let showDetailsBlock = let showDetailsBlock =
showDetails == true ? ( showDetails == true ? (
<> <>
@@ -996,23 +1025,10 @@ const CaseSummary = (props) => {
<Link <Link
className="govuk-button govuk-button--secondary" className="govuk-button govuk-button--secondary"
href={{ href={buildSearchHref(
pathname: router,
(session session
? "/myportal" )}
: "") +
(router.query
.adv ==
"true"
? "/advancedsearchresults"
: router
.query
.ads ==
"true"
? "/addresssearchresults"
: "/searchresults"),
query: router.query
}}
> >
{" "} {" "}
{t( {t(
@@ -2134,7 +2150,8 @@ const mapStateToProps = (state) => {
myCases: state.myCases, myCases: state.myCases,
watchedCases: state.watchedCases, watchedCases: state.watchedCases,
myRepresentations: state.myRepresentations, myRepresentations: state.myRepresentations,
awaitingSubmission: state.awaitingSubmission awaitingSubmission: state.awaitingSubmission,
mySubmittedReps: state.myRepresentations.mySubmittedReps
}; };
}; };
File diff suppressed because it is too large Load Diff
@@ -54,7 +54,7 @@ export default async function ApiProxy(req, res) {
return axios return axios
.get( .get(
BASE_URL + queryUrl + hashAPIPath(queryUrl), WEBAPI_URL + queryUrl + hashAPIPath(queryUrl),
azureHeaders(token.access_token) azureHeaders(token.access_token)
) )
.then(({ data }) => { .then(({ data }) => {
+60 -43
View File
@@ -13,7 +13,7 @@ import {
getPortalModuleDetails, getPortalModuleDetails,
getWatchedCases, getWatchedCases,
getSIPSEvents, getSIPSEvents,
getSIPSMedia, getSIPSMedia
} from "../../../actions"; } from "../../../actions";
import { getFormCollectionByID } from "../../../components/utils"; import { getFormCollectionByID } from "../../../components/utils";
@@ -27,28 +27,30 @@ import { getSearchDetails } from "../../../components/utils";
import { import {
setAccountDetails, setAccountDetails,
setContainerID, setContainerID,
setLoggedInUserId, setLoggedInUserId
} from "../../../store/accountDetails/action"; } from "../../../store/accountDetails/action";
import { import {
setCurrentReference, setCurrentReference,
setCurrentView, setCurrentView
} from "../../../store/currentView/action"; } from "../../../store/currentView/action";
import { setMyCases, setMyCasesDetails } from "../../../store/myCases/action"; import { setMyCases, setMyCasesDetails } from "../../../store/myCases/action";
import { import {
setMyRepresentations, setMyRepresentations,
setMyRepresentationsDetails, setMyRepresentationsDetails,
setMySubmittedReps,
setMySubmittedRepsDetails
} from "../../../store/myRepresentations/action"; } from "../../../store/myRepresentations/action";
import { setSearch } from "../../../store/search/action"; import { setSearch } from "../../../store/search/action";
import { import {
setSearchDetails, setSearchDetails,
setSearchResults, setSearchResults,
setEventDetails, setEventDetails,
setMediaDetails, setMediaDetails
} from "../../../store/searchOutput/action"; } from "../../../store/searchOutput/action";
import { wrapper } from "../../../store/store"; import { wrapper } from "../../../store/store";
import { import {
setWatchedCases, setWatchedCases,
setWatchedCasesDetails, setWatchedCasesDetails
} from "../../../store/watchedCases/action"; } from "../../../store/watchedCases/action";
import ServiceBanner from "../../../components/myportal/servicebanner"; import ServiceBanner from "../../../components/myportal/servicebanner";
import TimeOut from "../../../components/timeout"; import TimeOut from "../../../components/timeout";
@@ -59,7 +61,7 @@ const CaseHome = (props) => {
pages, pages,
setSearchResults, setSearchResults,
setSearchDetails, setSearchDetails,
searchResultsObj, searchResultsObj
} = props; } = props;
let { t, lang } = useTranslation(); let { t, lang } = useTranslation();
@@ -159,7 +161,7 @@ export const getServerSideProps = wrapper.getServerSideProps(
if (thisSession) { if (thisSession) {
console.log(" has sesssion......."); console.log(" has sesssion.......");
[loggedInUser] = await Promise.all([ [loggedInUser] = await Promise.all([
await getPortalLogin(thisSession.user.email), await getPortalLogin(thisSession.user.email)
]); ]);
loggedInUser = loggedInUser.value[0].contactid; loggedInUser = loggedInUser.value[0].contactid;
@@ -168,8 +170,8 @@ export const getServerSideProps = wrapper.getServerSideProps(
return { return {
redirect: { redirect: {
destination: "/auth/signin", destination: "/auth/signin",
permanent: false, permanent: false
}, }
}; };
} }
@@ -203,14 +205,14 @@ export const getServerSideProps = wrapper.getServerSideProps(
if (searchResultsObj.value[0].pinswg_appealcasetype == 846040002) { if (searchResultsObj.value[0].pinswg_appealcasetype == 846040002) {
eventsObj = await getSIPSEvents( eventsObj = await getSIPSEvents(
searchDetailsObj[0].value[0].pinswg_sipsid, searchDetailsObj[0].value[0].pinswg_sipsid
); );
store.dispatch(setEventDetails(eventsObj)); store.dispatch(setEventDetails(eventsObj));
} }
if (searchResultsObj.value[0].pinswg_appealcasetype == 846040002) { if (searchResultsObj.value[0].pinswg_appealcasetype == 846040002) {
mediaObj = await getSIPSMedia( mediaObj = await getSIPSMedia(
searchDetailsObj[0].value[0].pinswg_sipsid, searchDetailsObj[0].value[0].pinswg_sipsid
); );
store.dispatch(setMediaDetails(mediaObj)); store.dispatch(setMediaDetails(mediaObj));
} }
@@ -236,8 +238,8 @@ export const getServerSideProps = wrapper.getServerSideProps(
return { return {
redirect: { redirect: {
destination: "/404", destination: "/404",
permanent: false, permanent: false
}, }
}; };
} else { } else {
if (searchResultsObj["@odata.count"] > 1) { if (searchResultsObj["@odata.count"] > 1) {
@@ -245,8 +247,8 @@ export const getServerSideProps = wrapper.getServerSideProps(
redirect: { redirect: {
//destination: "/dns-not-found", //destination: "/dns-not-found",
destination: "/404", destination: "/404",
permanent: false, permanent: false
}, }
}; };
} else { } else {
if (query.hasOwnProperty("key")) { if (query.hasOwnProperty("key")) {
@@ -257,8 +259,8 @@ export const getServerSideProps = wrapper.getServerSideProps(
store.dispatch( store.dispatch(
setCurrentView({ setCurrentView({
"viewName": "Awaiting Submission", "viewName": "Awaiting Submission",
"viewKey": "awaitingSubmissionDetails", "viewKey": "awaitingSubmissionDetails"
}), })
); );
break; break;
case "watchedCases": case "watchedCases":
@@ -301,8 +303,8 @@ export const getServerSideProps = wrapper.getServerSideProps(
store.dispatch( store.dispatch(
setCurrentView({ setCurrentView({
"viewName": "Watched Cases", "viewName": "Watched Cases",
"viewKey": "watchedCases", "viewKey": "watchedCases"
}), })
); );
break; break;
case "myCases": case "myCases":
@@ -314,41 +316,42 @@ export const getServerSideProps = wrapper.getServerSideProps(
const myCasesDetails = await getDetails( const myCasesDetails = await getDetails(
myCases, myCases,
"myCases", "myCases"
); );
store.dispatch(setMyCases(myCases)); store.dispatch(setMyCases(myCases));
store.dispatch(setMyCasesDetails(myCasesDetails)); store.dispatch(setMyCasesDetails(myCasesDetails));
store.dispatch( store.dispatch(
setCurrentView({ setCurrentView({
"viewName": "My Cases", "viewName": "My Cases",
"viewKey": "myCases", "viewKey": "myCases"
}), })
); );
break; break;
case "myRepresentations": case "myRepresentations":
const myRepresentations = await getRepsFromBlob( const myRepresentations = await getRepsFromBlob(
thisSession.user.id, thisSession.user.id
); );
const myRepresentationsDetails = await getDetails( const myRepresentationsDetails = await getDetails(
myRepresentations, myRepresentations,
"myRepresentations", "myRepresentations"
); );
store.dispatch( store.dispatch(
setMyRepresentations(myRepresentations), setMyRepresentations(myRepresentations)
); );
store.dispatch( store.dispatch(
setMyRepresentationsDetails( setMyRepresentationsDetails(
myRepresentationsDetails, myRepresentationsDetails
), )
); );
store.dispatch( store.dispatch(
setCurrentView({ setCurrentView({
"viewName": "My Representations", "viewName": "My Representations",
"viewKey": "myRepresentations", "viewKey": "myRepresentations"
}), })
); );
default: default:
// code block // code block
} }
@@ -363,7 +366,7 @@ export const getServerSideProps = wrapper.getServerSideProps(
let newObj = {}; let newObj = {};
return Object.assign(newObj, { return Object.assign(newObj, {
"@odata.count": required.length, "@odata.count": required.length,
"value": required, "value": required
}); });
}; };
@@ -371,7 +374,7 @@ export const getServerSideProps = wrapper.getServerSideProps(
const watchedCasesDetails = await getDetails( const watchedCasesDetails = await getDetails(
filteredWatchedCases, filteredWatchedCases,
"myWatchedCases", "myWatchedCases"
); );
store.dispatch(setWatchedCases(filteredWatchedCases)); store.dispatch(setWatchedCases(filteredWatchedCases));
@@ -396,8 +399,21 @@ export const getServerSideProps = wrapper.getServerSideProps(
.pinswg_speacialistcaseprocess || .pinswg_speacialistcaseprocess ||
searchDetailsObj[0].value[0] searchDetailsObj[0].value[0]
.pinswg_specialistcaseprocess .pinswg_specialistcaseprocess
: "", : ""
}), })
);
const mySubmittedReps = watchedCases.value.filter(
(el) => el.pinswg_representationsubmitted != null
);
const [mySubmittedRepsDetails] = await Promise.all([
getDetails(mySubmittedReps, "mySubmittedReps")
]);
store.dispatch(setMySubmittedReps(mySubmittedReps));
store.dispatch(
setMySubmittedRepsDetails(mySubmittedRepsDetails)
); );
} }
} }
@@ -410,18 +426,18 @@ export const getServerSideProps = wrapper.getServerSideProps(
searchResultsObj: searchResultsObj, searchResultsObj: searchResultsObj,
searchDetailsObj: searchDetailsObj, searchDetailsObj: searchDetailsObj,
eventsObj: eventsObj, eventsObj: eventsObj,
mediaObj: mediaObj, mediaObj: mediaObj
}, },
currentType: "directResultsObj", currentType: "directResultsObj",
docsOffline: process.env.DOCAPI_OFFLINE || false, docsOffline: process.env.DOCAPI_OFFLINE || false,
messagesObj: await getCaseMessage( messagesObj: await getCaseMessage(
searchResultsObj.value[0].incidentid, searchResultsObj.value[0].incidentid
), ),
showFilteredDocs: process.env.SHOWFILTERDOCS || false, showFilteredDocs: process.env.SHOWFILTERDOCS || false,
showMaps: process.env.SHOWMAPS, showMaps: process.env.SHOWMAPS
}, }
}; };
}, }
); );
const getDetails = (resultsObj, detailsType) => { const getDetails = (resultsObj, detailsType) => {
@@ -457,9 +473,9 @@ const getDetails = (resultsObj, detailsType) => {
return getPortalModuleDetails( return getPortalModuleDetails(
getFormCollectionByID(data.pinswg_appealcasetype) getFormCollectionByID(data.pinswg_appealcasetype)
.LogicalCollectionName, .LogicalCollectionName,
caseID, caseID
); );
}), })
); );
}); });
} }
@@ -495,13 +511,13 @@ const getDetails = (resultsObj, detailsType) => {
getPortalModuleDetails( getPortalModuleDetails(
getFormCollectionByID(searchDetail.pinswg_appealcasetype) getFormCollectionByID(searchDetail.pinswg_appealcasetype)
.LogicalCollectionName, .LogicalCollectionName,
caseID, caseID
// detailsType != "myWatchedCases" // detailsType != "myWatchedCases"
// ? searchDetail.ticketnumber // ? searchDetail.ticketnumber
// : searchDetail[ // : searchDetail[
// "_pinswg_watchedcase_value@OData.Community.Display.V1.FormattedValue" // "_pinswg_watchedcase_value@OData.Community.Display.V1.FormattedValue"
// ] // ]
), )
); );
}); });
@@ -524,6 +540,7 @@ const mapStateToProps = (state) => {
watchedCases: state.watchedCases, watchedCases: state.watchedCases,
myRepresentations: state.myRepresentations, myRepresentations: state.myRepresentations,
awaitingSubmission: state.awaitingSubmission, awaitingSubmission: state.awaitingSubmission,
mySubmittedReps: state.myRepresentations.mySubmittedReps
}; };
}; };
@@ -540,7 +557,7 @@ const mapDispatchToProps = (dispatch) => {
// }, // },
setLoggedInUserId: (loggedInUser) => { setLoggedInUserId: (loggedInUser) => {
dispatch(setLoggedInUserId(loggedInUser)); dispatch(setLoggedInUserId(loggedInUser));
}, }
}; };
}; };