- {props.awaitingSubmissionFromBlob["@odata.count"] > 3 && (
+ {props.awaitingSubmissionFromBlob["@odata.count"] > 1 && (
{
// ? searchDetailsObj[key].value[0]
// : searchDetailsObj[key];
+ console.log(resultsArr[key]);
resultsRowArr.push(
@@ -185,14 +186,18 @@ const ViewAllResults = (props) => {
"&casereference=" +
resultsArr[key].title +
"&inid=" +
- resultsArr[key].incidentid
+ resultsArr[key].incidentid +
+ "&key=" +
+ currentView.viewKey
: router.locale == "cy"
? myportal == true
? "/fymhorth/achos"
: "/achos"
: myportal == true
? "/myportal/case/" +
- resultsArr[key].ticketnumber
+ resultsArr[key].ticketnumber +
+ "?key=" +
+ currentView.viewKey
: "/case/" +
resultsArr[key].ticketnumber
}
diff --git a/pages/myportal/[appealtypes].js b/pages/myportal/[appealtypes].js
index 1c93ffaa..555ab2ae 100644
--- a/pages/myportal/[appealtypes].js
+++ b/pages/myportal/[appealtypes].js
@@ -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));
diff --git a/pages/myportal/case/[ticketnumber].js b/pages/myportal/case/[ticketnumber].js
index 7863fad4..d651c653 100644
--- a/pages/myportal/case/[ticketnumber].js
+++ b/pages/myportal/case/[ticketnumber].js
@@ -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,