updated view all to set missing current view state

This commit is contained in:
2024-06-05 12:21:39 +01:00
parent 7d82328b02
commit 5001fbcbfe
5 changed files with 281 additions and 12 deletions
+29
View File
@@ -13,6 +13,7 @@ import {
getPartSavedAppeal,
getFilesFromBlob,
getProgressFromBlob,
getAwaitingSubmissionFromBlob,
getIP,
} from "../../actions";
import Breadcrumbs from "../../components/breadcrumbs";
@@ -37,6 +38,15 @@ import {
setCaseReference,
setFilesForAppeal,
} from "../../store/appealType/action";
import {
setCurrentReference,
setCurrentView,
} from "../../store/currentView/action";
import {
setAwaitingSubmission,
setAwaitingSubmissionFromBlob,
setAwaitingSubmissionDetails,
} from "../../store/awaitingSubmission/action";
import { setForm } from "../../store/formData/action";
import { wrapper } from "../../store/store";
import { getPartSavedDetails } from "../../components/utils";
@@ -296,6 +306,25 @@ export const getServerSideProps = wrapper.getServerSideProps(
xmlStr = xmlStr.replace(/> <"/g, "><");
xmlStr = xmlStr.toString();
if (query.hasOwnProperty("key")) {
const awaitingSubmissionFromBlob =
await getAwaitingSubmissionFromBlob(thisSession.user.id);
store.dispatch(
setAwaitingSubmissionFromBlob(awaitingSubmissionFromBlob)
);
store.dispatch(
setAwaitingSubmissionDetails(awaitingSubmissionFromBlob)
);
store.dispatch(
setCurrentView({
"viewName": "Awaiting Submission",
"viewKey": "awaitingSubmissionDetails",
})
);
}
store.dispatch(setLoggedInUserId(loggedInUser));
store.dispatch(setLoggedInUserEmail(loggedInUserEmail));
store.dispatch(setAppealLPA(query.lpa));
+241 -6
View File
@@ -7,12 +7,21 @@ import {
getIP,
getPortalLogin,
getPersonalAccount,
getWatchedCases,
getPortalModuleDetails,
getMyCases,
getMyLPACases,
} from "../../../actions";
import { getFormCollectionByID } from "../../../components/utils";
import CookieBanner from "../../../components/cookieBanner";
import Footer from "../../../components/footer";
import Header from "../../../components/header";
import { getSearchDetails } from "../../../components/utils";
import { setCurrentReference } from "../../../store/currentView/action";
import {
setCurrentReference,
setCurrentView,
} from "../../../store/currentView/action";
import { setSearch } from "../../../store/search/action";
import {
setSearchDetails,
@@ -27,6 +36,17 @@ import {
setContainerID,
setLoggedInUserId,
} from "../../../store/accountDetails/action";
import {
setMyRepresentations,
setMyRepresentationsDetails,
setMySubmittedReps,
setMySubmittedRepsDetails,
} from "../../../store/myRepresentations/action";
import {
setWatchedCases,
setWatchedCasesDetails,
} from "../../../store/watchedCases/action";
import { setMyCases, setMyCasesDetails } from "../../../store/myCases/action";
const CaseHome = (props) => {
const { footerLinks, pages, setSearchResults, setSearchDetails } = props;
@@ -104,6 +124,8 @@ export const getServerSideProps = wrapper.getServerSideProps(
console.log(cookies);
console.log("the query :", query.ticketnumber);
console.log("viewkey:" + query.hasOwnProperty("key") ? "yes" : "no");
const showLoginCheck = process.env.SHOWLOGIN || false;
let thisSession = await getSession(ctx);
let loggedInUser = {};
@@ -115,15 +137,21 @@ export const getServerSideProps = wrapper.getServerSideProps(
]);
loggedInUser = loggedInUser.value[0].contactid;
const accountDetails = await getPersonalAccount(loggedInUser);
store.dispatch(setContainerID(thisSession.user.id));
store.dispatch(setAccountDetails(accountDetails));
store.dispatch(setLoggedInUserId(loggedInUser));
} else {
console.log("not has sesssion.......");
return {
redirect: {
destination: "/auth/signin",
permanent: false,
},
};
}
const accountDetails = await getPersonalAccount(loggedInUser);
store.dispatch(setContainerID(thisSession.user.id));
store.dispatch(setAccountDetails(accountDetails));
store.dispatch(setLoggedInUserId(loggedInUser));
let developmentQuery =
query.ticketnumber.indexOf("CAS-") == 0
? query.ticketnumber
@@ -167,6 +195,110 @@ export const getServerSideProps = wrapper.getServerSideProps(
},
};
} else {
if (query.hasOwnProperty("key")) {
let whichViewKey = query.key;
switch (whichViewKey) {
case "awaitingSubmissionDetails":
store.dispatch(
setCurrentView({
"viewName": "Awaiting Submission",
"viewKey": "awaitingSubmissionDetails",
})
);
break;
case "watchedCases":
const watchedCases = await getWatchedCases(
loggedInUser
);
let showWatchedCases = (submittedArr) => {
const required = submittedArr.value.filter(
(el) => {
return (
el.pinswg_representationsubmitted ==
null
);
}
);
let newObj = {};
return Object.assign(newObj, {
"@odata.count": required.length,
"value": required,
});
};
let filteredWatchedCases =
showWatchedCases(watchedCases);
const watchedCasesDetails = await getDetails(
filteredWatchedCases,
"myWatchedCases"
);
store.dispatch(
setWatchedCases(filteredWatchedCases)
);
store.dispatch(
setWatchedCasesDetails(watchedCasesDetails)
);
store.dispatch(
setCurrentView({
"viewName": "Watched Cases",
"viewKey": "watchedCases",
})
);
break;
case "myCases":
const myCases =
accountDetails.pinswg_typeofinvolvement ==
846040012
? await getMyLPACases(lpaid)
: await getMyCases(loggedInUser);
const myCasesDetails = await getDetails(
myCases,
"myCases"
);
store.dispatch(setMyCases(myCases));
store.dispatch(setMyCasesDetails(myCasesDetails));
store.dispatch(
setCurrentView({
"viewName": "My Cases",
"viewKey": "myCases",
})
);
break;
case "myRepresentations":
const myRepresentations = await getRepsFromBlob(
thisSession.user.id
);
const myRepresentationsDetails = await getDetails(
myRepresentations,
"myRepresentations"
);
store.dispatch(
setMyRepresentations(myRepresentations)
);
store.dispatch(
setMyRepresentationsDetails(
myRepresentationsDetails
)
);
store.dispatch(
setCurrentView({
"viewName": "My Representations",
"viewKey": "myRepresentations",
})
);
default:
// code block
}
}
store.dispatch(setSearchResults(searchResultsObj));
store.dispatch(setSearchDetails(searchDetailsObj));
store.dispatch(
@@ -207,6 +339,109 @@ export const getServerSideProps = wrapper.getServerSideProps(
}
);
const getDetails = (resultsObj, detailsType) => {
let detailsArr = [];
// console.log(
// "//////////////////////////////////\n",
// resultsObj,
// //"\n",
// detailsType,
// "\n//////////////////////////////////\n"
// );
resultsObj =
detailsType == "mySubmittedReps" ? resultsObj : resultsObj.value;
// console.log(
// "////////////////////////////////// resultsobj\n",
// detailsType,
// "\n",
// resultsObj.length + "\n//////////////////////////////////\n"
// );
if (detailsType == "myRepresentations") {
const repsObj = resultsObj.map((searchDetail, index) => {
//console.log(".......... ", searchDetail);
detailsArr.push(
getCase(searchDetail["incidentID"]).then((data) => {
let caseID = "";
switch (detailsType) {
case "myCases":
caseID = data.pinswg_title;
break;
case "myWatchedCases":
case "mySubmittedReps":
caseID =
data[
"_pinswg_watchedcase_value@OData.Community.Display.V1.FormattedValue"
];
break;
case "awaitingSubmission":
caseID = data.ticketnumber;
break;
case "myRepresentations":
caseID = data.ticketnumber;
break;
default:
caseID = data.pinswg_title;
}
return getPortalModuleDetails(
getFormCollectionByID(data.pinswg_appealcasetype)
.LogicalCollectionName,
caseID
);
})
);
});
}
const detailsObj = resultsObj.map((searchDetail, index) => {
let caseID = "";
switch (detailsType) {
case "myCases":
caseID = searchDetail.pinswg_title;
break;
case "myWatchedCases":
case "mySubmittedReps":
caseID =
searchDetail[
"_pinswg_watchedcase_value@OData.Community.Display.V1.FormattedValue"
];
break;
case "awaitingSubmission":
caseID = searchDetail.ticketnumber;
break;
case "myRepresentations":
caseID = searchDetail.casereference;
break;
default:
caseID = searchDetail.pinswg_title;
}
//console.log(detailsType, " case id : ", caseID);
searchDetail.pinswg_appealcasetype != null &&
detailsArr.push(
getPortalModuleDetails(
getFormCollectionByID(searchDetail.pinswg_appealcasetype)
.LogicalCollectionName,
caseID
// detailsType != "myWatchedCases"
// ? searchDetail.ticketnumber
// : searchDetail[
// "_pinswg_watchedcase_value@OData.Community.Display.V1.FormattedValue"
// ]
)
);
});
let detArr = Promise.all(detailsArr);
console.log(detArr);
return detArr;
};
const mapStateToProps = (state) => {
return {
accountDetails: state.accountDetails,