From 991d0670911b9ba4752529410ba265003bf346de Mon Sep 17 00:00:00 2001 From: "robert.bond@test.gov.wales" Date: Wed, 8 Sep 2021 10:03:33 +0100 Subject: [PATCH] search results and case summary page --- actions/index.js | 38 ++-- components/case.js | 1 + components/case/summary.js | 190 ++++++++++++++---- components/search/searchresults.js | 110 +++++----- components/searchresults.js | 1 + data/collections.json | 312 +++++++++++++++++++++++++++++ pages/case.js | 3 + pages/searchresults.js | 51 ++++- store/store.js | 2 +- 9 files changed, 589 insertions(+), 119 deletions(-) create mode 100644 data/collections.json diff --git a/actions/index.js b/actions/index.js index 1ab22b86..229d45d5 100644 --- a/actions/index.js +++ b/actions/index.js @@ -29,33 +29,24 @@ const crmHeaders = { "Accept": "application/json", "Prefer": 'odata.include-annotations="*"', "Authorization": - "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IlVXelVaa0U3OEx0NVBGRkJ0LV9seVdoMjdjTSIsImtpZCI6IlVXelVaa0U3OEx0NVBGRkJ0LV9seVdoMjdjTSJ9.eyJhdWQiOiJodHRwczovL2RldmNybTIwMTYubGxjZHQuZ292LndhbGVzLyIsImlzcyI6Imh0dHA6Ly9mcy50ZXN0Lmdvdi53YWxlcy9hZGZzL3NlcnZpY2VzL3RydXN0IiwiaWF0IjoxNjMxMDAwMjUxLCJuYmYiOjE2MzEwMDAyNTEsImV4cCI6MTYzMTAyOTA1MSwidXBuIjpbIlJvYmVydC5Cb25kQHRlc3QuZ292LndhbGVzIiwicm9iZXJ0LmJvbmRAdGVzdC5nb3Yud2FsZXMiXSwicHJpbWFyeXNpZCI6IlMtMS01LTIxLTE4MDA4NDIwNzYtMjQ1NTYwNjU5LTQyMTU3NzU0NjktMTY2MjgiLCJ1bmlxdWVfbmFtZSI6IlhNXFxCb25kUiIsImFwcHR5cGUiOiJQdWJsaWMiLCJhcHBpZCI6IjQyN2ZhNzljLWI1ZmMtNDJhZC04M2Q0LTQxMGIwMzk0OGFiNiIsImF1dGhtZXRob2QiOiJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dzLzIwMDgvMDYvaWRlbnRpdHkvYXV0aGVudGljYXRpb25tZXRob2Qvd2luZG93cyIsImF1dGhfdGltZSI6IjIwMjEtMDktMDdUMDc6Mzc6MjIuMzM3WiIsInZlciI6IjEuMCJ9.L8husDSMXMtZxpxKDS0cpPplG6xoHQjSdd17qMfgKZaEUPUOKPy4rznxNwAMp7WxussNeK__nOKE9vHNgc5Nk4lzxbvcYy3jeE7bLWHsB5UYFa1FIrPZpzuEdPIgoWAzhTa4k-anzsA0YNMHpV6QHT14F9wkBTsT8MUtpT2BiNfbflQQ_xtQavp_pCww-1-guysM6USv5NJkuvrHpXjA5_HpaGbprLI8Or3Htjsdgq9c4uCxfjoAGZsjUmtvaIL-jQnkR6-ndYezo12tes7ql2iV4iZT4-fvcib8sUdzHkgFvNmyzMblhogUo8QciTBcvF7-syCfNzLG2vvWSZJ9_g", + "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IlVXelVaa0U3OEx0NVBGRkJ0LV9seVdoMjdjTSIsImtpZCI6IlVXelVaa0U3OEx0NVBGRkJ0LV9seVdoMjdjTSJ9.eyJhdWQiOiJodHRwczovL2RldmNybTIwMTYubGxjZHQuZ292LndhbGVzLyIsImlzcyI6Imh0dHA6Ly9mcy50ZXN0Lmdvdi53YWxlcy9hZGZzL3NlcnZpY2VzL3RydXN0IiwiaWF0IjoxNjMxMDgwNTk3LCJuYmYiOjE2MzEwODA1OTcsImV4cCI6MTYzMTEwOTM5NywidXBuIjpbIlJvYmVydC5Cb25kQHRlc3QuZ292LndhbGVzIiwicm9iZXJ0LmJvbmRAdGVzdC5nb3Yud2FsZXMiXSwicHJpbWFyeXNpZCI6IlMtMS01LTIxLTE4MDA4NDIwNzYtMjQ1NTYwNjU5LTQyMTU3NzU0NjktMTY2MjgiLCJ1bmlxdWVfbmFtZSI6IlhNXFxCb25kUiIsImFwcHR5cGUiOiJQdWJsaWMiLCJhcHBpZCI6IjQyN2ZhNzljLWI1ZmMtNDJhZC04M2Q0LTQxMGIwMzk0OGFiNiIsImF1dGhtZXRob2QiOiJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dzLzIwMDgvMDYvaWRlbnRpdHkvYXV0aGVudGljYXRpb25tZXRob2Qvd2luZG93cyIsImF1dGhfdGltZSI6IjIwMjEtMDktMDhUMDU6NTY6MzcuMjg1WiIsInZlciI6IjEuMCJ9.bsZhsbeQtJpLxxe70nePUnT-vokKDVUZh3s17w34TAWlWERAj4KxxcAJvhTACz9BJqz7YXTBsqPu2Kq10f_g9FibIgqQZEMiFM4nKFbgALRXjdEtP6ptpqLBvbW2ECCHSnf_IpClhmr0d_a1nv-MQ62YmKyztcEvNBd7IC1NZsWrAf2jLYg_ROOxjtAlK3itfSqGazkvKdgYYtbC-Al6hjn5y-3E0lfq2H8ZZdVFa9XcDOss5rxSeJBkJK6Ezczov5FXHhN9oATTiA0khRpcnqfXbhW2H8w5PYqyZGa7_LMDAdmeCgBxAva874jadjIN2Fjfq9Bo6V1v6OvbXBgAAg", }, }; export const getBasicSearch = (searchString) => { - console.log("got to axios", searchString); - console.log("api_root: ", BASE_URL); - return ( - axios - //.get("https://devcrm2016.llcdt.gov.wales/DVPINS/api/data/v8.2/incidents?$select=_accountid_value,_customerid_value,pinswg_appealcasetype,statuscode,ticketnumber,title&$filter=contains(title, '" + searchString + "')&$count=true", crmHeaders) - //.get("https://jsonplaceholder.typicode.com/todos/1",{proxy:{protocol: 'http',host:'lon3.sme.zscloud.net',port: 80}}) - // .get(BASE_URL + "/api/searchresults2", { - // httpsAgent: new https.Agent({ rejectUnauthorized: false }), - // }) - .get( - WEBAPI_URL + - API_PATH + - "incidents?$select=_accountid_value,_customerid_value,pinswg_appealcasetype,statuscode,ticketnumber,title&$filter=contains(title, '" + - searchString + - "')&$count=true", - crmHeaders - ) - .then((res) => res.data) - .catch((error) => { - console.log("thiserror", error); - }) - ); + return axios + .get( + WEBAPI_URL + + API_PATH + + "incidents?$select=_accountid_value,_customerid_value,pinswg_appealcasetype,statuscode,ticketnumber,title, _primarycontactid_value&$expand=primarycontactid($select=fullname)&$filter=contains(title, '" + + searchString + + "') and pinswg_appealcasetype ne null &$count=true", + crmHeaders + ) + .then((res) => res.data) + .catch((error) => { + console.log("thiserror", error); + }); }; export const getBasicSearchDetails = (appealType, caseReference) => { @@ -63,7 +54,6 @@ export const getBasicSearchDetails = (appealType, caseReference) => { .get( WEBAPI_URL + API_PATH + - "/pinswg_ " + appealType + "?$filter=pinswg_name eq '" + caseReference + diff --git a/components/case.js b/components/case.js index 4984fd98..2c06f59c 100644 --- a/components/case.js +++ b/components/case.js @@ -27,6 +27,7 @@ const CaseSummary = (props) => { caseReference={props.caseReference} currentType={props.currentType} searchResultsObj={props.searchResultsObj} + searchDetailsObj={props.searchDetailsObj} searchString={props.searchString} /> diff --git a/components/case/summary.js b/components/case/summary.js index 02521be7..fd4c1325 100644 --- a/components/case/summary.js +++ b/components/case/summary.js @@ -16,15 +16,17 @@ const CaseSummary = (props) => { watchedCases, awaitingSubmission, searchResultsObj, + searchDetailsObj, currentType, } = props; let setCaseQueryObj = props[currentType]; + var casesObj = {}; currentType == "searchResultsObj" ? (casesObj = jsonpath.query( - setCaseQueryObj, + searchResultsObj, '$..[?(@.title=="' + caseReference + '")]' )) : (casesObj = jsonpath.query( @@ -34,6 +36,14 @@ const CaseSummary = (props) => { casesObj = Object.assign({}, ...casesObj); + var detailsObj = {}; + + detailsObj = jsonpath.query( + searchDetailsObj, + '$..[?(@.pinswg_name=="' + caseReference + '")]' + ); + + detailsObj = detailsObj[0]; return (
@@ -41,7 +51,7 @@ const CaseSummary = (props) => {

Reference:{" "} {currentType == "searchResultsObj" - ? casesObj.title + ? detailsObj.pinswg_name : casesObj.reference}

@@ -51,7 +61,11 @@ const CaseSummary = (props) => { {t("case:summary-applicant-label")}
- {casesObj.appellantApplicant || ""} + { + detailsObj[ + "_pinswg_appellant_value@OData.Community.Display.V1.FormattedValue" + ] + }
@@ -59,7 +73,9 @@ const CaseSummary = (props) => { {t("case:summary-agent-label")}
- Mr A Agent + {_.has(detailsObj, "pinswg_agentcontactname") + ? detailsObj.pinswg_agentcontactname + : ""}
@@ -67,12 +83,25 @@ const CaseSummary = (props) => { {t("case:summary-site-address-label")}
- {casesObj.address1 || ""} + {_.has(detailsObj, "pinswg_siteaddressline1") + ? detailsObj.pinswg_siteaddressline1 + : ""}
- {casesObj.town || ""} - + {_.has(detailsObj, "pinswg_siteaddressline1") + ? detailsObj.pinswg_siteaddressline2 + : ""}
- {casesObj.postcode || ""} + {_.has(detailsObj, "pinswg_siteaddressline1") + ? detailsObj.pinswg_siteaddresstown + : ""} +
+ {_.has(detailsObj, "pinswg_siteaddressline1") + ? detailsObj.pinswg_siteaddresscounty + : ""} +
+ {_.has(detailsObj, "pinswg_siteaddressline1") + ? detailsObj.pinswg_siteaddresspostcode + : ""}
@@ -120,7 +149,13 @@ const CaseSummary = (props) => { {t("case:summary-lpa-label")}
- {casesObj.lpaname || ""} + {_.has(detailsObj, [ + "_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue", + ]) + ? detailsObj[ + "_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue" + ] + : ""}
@@ -130,8 +165,12 @@ const CaseSummary = (props) => { )}
- {casesObj.caseDetails.caseSummary || - ""} + {_.has( + detailsObj, + "pinswg_casedescription" + ) + ? detailsObj.pinswg_casedescription + : ""}
@@ -142,8 +181,14 @@ const CaseSummary = (props) => {
{" "} - {casesObj.caseDetails.caseOfficer || - ""} + {/* {casesObj.caseDetails.caseOfficer || + ""} */} + {_.has( + detailsObj, + "pinswg_casedescription" + ) + ? detailsObj.pinswg_casedescription + : ""}
@@ -151,8 +196,13 @@ const CaseSummary = (props) => { {t("case:summary-procedure-label")}
- {casesObj.caseDetails.procedure || - ""} + {_.has(detailsObj, [ + "pinswg_procedure@OData.Community.Display.V1.FormattedValue", + ]) + ? detailsObj[ + "pinswg_procedure@OData.Community.Display.V1.FormattedValue" + ] + : ""}
@@ -170,15 +220,21 @@ const CaseSummary = (props) => { {t("case:summary-decision-label")}
- {casesObj.caseDetails.decision || - ""} + {_.has(detailsObj, [ + "pinswg_decision@OData.Community.Display.V1.FormattedValue", + ]) + ? detailsObj[ + "pinswg_decision@OData.Community.Display.V1.FormattedValue" + ] + : ""} +
- + {/* {casesObj.caseDetails .outcome_document || ""} - + */}
@@ -188,8 +244,13 @@ const CaseSummary = (props) => { )}
- {casesObj.caseDetails - .caseLinkStatus || ""} + {_.has(detailsObj, [ + "pinswg_linkedstatus@OData.Community.Display.V1.FormattedValue", + ]) + ? detailsObj[ + "pinswg_linkedstatus@OData.Community.Display.V1.FormattedValue" + ] + : "Not linked"}
@@ -199,8 +260,8 @@ const CaseSummary = (props) => { )}
- {casesObj.caseDetails.linkedCases || - ""} + {/* {casesObj.caseDetails.linkedCases || + ""} */}
@@ -219,8 +280,14 @@ const CaseSummary = (props) => { {t("case:summary-start-date-label")}
- {casesObj.caseDates.start_date || - "N/A"} + {_.has( + detailsObj, + "pinswg_startdate@OData.Community.Display.V1.FormattedValue" + ) + ? detailsObj[ + "pinswg_startdate@OData.Community.Display.V1.FormattedValue" + ] + : "N/A"}
@@ -231,8 +298,14 @@ const CaseSummary = (props) => { )}
- {casesObj.caseDates - .questionnaireDue || "N/A"} + {_.has( + detailsObj, + "pinswg_questionnaireduedate@OData.Community.Display.V1.FormattedValue" + ) + ? detailsObj[ + "pinswg_questionnaireduedate@OData.Community.Display.V1.FormattedValue" + ] + : "N/A"}
@@ -243,8 +316,14 @@ const CaseSummary = (props) => { )}
- {casesObj.caseDates.statementsDue || - "N/A"} + {_.has( + detailsObj, + "pinswg_statementduedate@OData.Community.Display.V1.FormattedValue" + ) + ? detailsObj[ + "pinswg_statementduedate@OData.Community.Display.V1.FormattedValue" + ] + : "N/A"}
@@ -255,9 +334,14 @@ const CaseSummary = (props) => { )}
- {casesObj.caseDates - .interestedPartyCommentsdue || - "N/A"} + {_.has( + detailsObj, + "pinswg_otherpartiesstatement@OData.Community.Display.V1.FormattedValue" + ) + ? detailsObj[ + "pinswg_otherpartiesstatement@OData.Community.Display.V1.FormattedValue" + ] + : "N/A"}
@@ -268,9 +352,14 @@ const CaseSummary = (props) => { )}
- {casesObj.caseDates - .appellantLPAFinalCommentsdue || - "N/A"} + {_.has( + detailsObj, + "pinswg_finalcommentsduedate@OData.Community.Display.V1.FormattedValue" + ) + ? detailsObj[ + "pinswg_finalcommentsduedate@OData.Community.Display.V1.FormattedValue" + ] + : "N/A"}
@@ -281,8 +370,14 @@ const CaseSummary = (props) => { )}
- {casesObj.caseDates - .inquiryEvidenceDue || "N/A"} + {_.has( + detailsObj, + "pinswg_finalcommentsduedate@OData.Community.Display.V1.FormattedValue" + ) + ? detailsObj[ + "pinswg_finalcommentsduedate@OData.Community.Display.V1.FormattedValue" + ] + : "N/A"}
@@ -291,8 +386,14 @@ const CaseSummary = (props) => { {t("case:summary-event-date-label")}
- {casesObj.caseDates.eventDate || - "N/A"} + {_.has( + detailsObj, + "pinswg_dateeventrequested@OData.Community.Display.V1.FormattedValue" + ) + ? detailsObj[ + "pinswg_dateeventrequested@OData.Community.Display.V1.FormattedValue" + ] + : "N/A"}
@@ -303,8 +404,14 @@ const CaseSummary = (props) => { )}
- {casesObj.caseDates.decisionDate || - "N/A"} + {_.has( + detailsObj, + "pinswg_dateoflpadecision@OData.Community.Display.V1.FormattedValue" + ) + ? detailsObj[ + "pinswg_dateoflpadecision@OData.Community.Display.V1.FormattedValue" + ] + : "N/A"}
@@ -313,6 +420,7 @@ const CaseSummary = (props) => { + {/*
diff --git a/components/search/searchresults.js b/components/search/searchresults.js index ebbfb932..a7842b99 100644 --- a/components/search/searchresults.js +++ b/components/search/searchresults.js @@ -3,54 +3,22 @@ import { useRouter } from "next/router"; import useTranslation from "next-translate/useTranslation"; import { setCurrentReference } from "../../store/currentView/action"; import { connect } from "react-redux"; +import jsonpath from "jsonpath"; +import _ from "lodash"; const SearchResults = (props) => { - const { searchString, searchResultsObj, setCurrentReference } = props; + const { + searchString, + searchResultsObj, + searchDetailsObj, + setCurrentReference, + } = props; let { t } = useTranslation(); const router = useRouter(); const { locale } = router; var resultsArr = searchResultsObj.value || [{}]; - const resultRow = Object.keys(resultsArr).map((key, index) => { -
-
- - - - wwwwwwwCase Reference: - - {resultsArr[key].title} - - -
-
- Site Address: - 23 Martineau Lane -
HASTINGS -
- TN35 5DS -
-
- - Appellant/Applicant: - - Mr J Pocknell -
-
- Authority: - Hastings Borough Council{" "} -
-
- Case Type: - Planning (W){" "} -
-
- Status: - In Progress -
-
; - }); return (
@@ -87,6 +55,12 @@ const SearchResults = (props) => {
{resultsArr.map((item, key) => { + let detailsObj = jsonpath.query( + searchDetailsObj, + "$..value[?(@.pinswg_name=='" + item.title + "')]" + ); + detailsObj = detailsObj[0]; + return (
@@ -112,26 +86,64 @@ const SearchResults = (props) => { Site Address:{" "} - 23 Martineau Lane -
HASTINGS + {_.has( + detailsObj, + "pinswg_siteaddressline1" + ) + ? detailsObj.pinswg_siteaddressline1 + : ""}
- TN35 5DS + {_.has( + detailsObj, + "pinswg_siteaddressline1" + ) + ? detailsObj.pinswg_siteaddressline2 + : ""} +
+ {_.has( + detailsObj, + "pinswg_siteaddressline1" + ) + ? detailsObj.pinswg_siteaddresstown + : ""} +
+ {_.has( + detailsObj, + "pinswg_siteaddressline1" + ) + ? detailsObj.pinswg_siteaddresscounty + : ""} +
+ {_.has( + detailsObj, + "pinswg_siteaddressline1" + ) + ? detailsObj.pinswg_siteaddresspostcode + : ""}
Appellant/Applicant: - Mr J Pocknell + {_.has(detailsObj, [ + "_pinswg_appellant_value@OData.Community.Display.V1.FormattedValue", + ]) + ? detailsObj[ + "_pinswg_appellant_value@OData.Community.Display.V1.FormattedValue" + ] + : ""}
Authority: - { - item[ - "_customerid_value@OData.Community.Display.V1.FormattedValue" - ] - } + {_.has(detailsObj, [ + "_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue", + ]) + ? detailsObj[ + "_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue" + ] + : ""}
diff --git a/components/searchresults.js b/components/searchresults.js index f55a274d..02599187 100644 --- a/components/searchresults.js +++ b/components/searchresults.js @@ -23,6 +23,7 @@ export default function Search(props) {
diff --git a/data/collections.json b/data/collections.json new file mode 100644 index 00000000..af477149 --- /dev/null +++ b/data/collections.json @@ -0,0 +1,312 @@ +{ + "value": [ + { + "LogicalCollectionName": "pinswg_planningobligationss106flows", + "LogicalName": "pinswg_planningobligationss106flow", + "MetadataId": "efb4c590-19be-eb11-aac4-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_dnsflows", + "LogicalName": "pinswg_dnsflow", + "MetadataId": "328e015f-dabe-eb11-aac4-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_harbourrevisionorderflows", + "LogicalName": "pinswg_harbourrevisionorderflow", + "MetadataId": "98bbb26e-e7be-eb11-aac4-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_transportandworkactflows", + "LogicalName": "pinswg_transportandworkactflow", + "MetadataId": "ad4bfc8c-e1be-eb11-aac4-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_maintenanceoflands127flows", + "LogicalName": "pinswg_maintenanceoflands127flow", + "MetadataId": "2b26362c-d3be-eb11-aac4-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_environmentalpermittingflows", + "LogicalName": "pinswg_environmentalpermittingflow", + "MetadataId": "74dd4767-f2be-eb11-aac4-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_dnses", + "LogicalName": "pinswg_dns", + "MetadataId": "36f07225-4a82-eb11-aac0-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_planningobligationappeals106s", + "LogicalName": "pinswg_planningobligationappeals106", + "MetadataId": "cb8beeae-8f81-eb11-aac0-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_planningconditionss73s79s", + "LogicalName": "pinswg_planningconditionss73s79", + "MetadataId": "093bf9ff-8d81-eb11-aac0-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_rows", + "LogicalName": "pinswg_row", + "MetadataId": "4ccc6e93-4f82-eb11-aac0-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_transportandworkacts", + "LogicalName": "pinswg_transportandworkact", + "MetadataId": "bc3edc4b-7d82-eb11-aac0-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_transportandworkacts", + "LogicalName": "pinswg_transportandworksact", + "MetadataId": "bc3edc4b-7d82-eb11-aac0-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_wayleaveflows", + "LogicalName": "pinswg_wayleaveflow", + "MetadataId": "a28054b9-e3be-eb11-aac4-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_planningappeals78flows", + "LogicalName": "pinswg_planningappeals78flow", + "MetadataId": "ddaebde1-0fbe-eb11-aac4-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_harbourrevisionorders", + "LogicalName": "pinswg_harbourrevisionorder", + "MetadataId": "dc8dcd0d-4f82-eb11-aac0-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_miscellaneouscaseworks", + "LogicalName": "pinswg_miscellaneouscasework", + "MetadataId": "f519aa8e-5782-eb11-aac0-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_miscellaneouscaseworks", + "LogicalName": "pinswg_misccasework", + "MetadataId": "f519aa8e-5782-eb11-aac0-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_localdevelopmentplanses", + "LogicalName": "pinswg_localdevelopmentplans", + "MetadataId": "38ed3835-c1e0-eb11-aac5-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_planningappeals78s", + "LogicalName": "pinswg_planningappeals78", + "MetadataId": "8d7f813a-4183-eb11-aac0-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_enforcementnoticeappealsflow174s", + "LogicalName": "pinswg_enforcementnoticeappealsflow174", + "MetadataId": "a933cf28-20be-eb11-aac4-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_lawfuldevelopmentcertificates", + "LogicalName": "pinswg_lawfuldevelopmentcertificate", + "MetadataId": "184e4861-9681-eb11-aac0-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_lawfuldevelopmentcertificates", + "LogicalName": "pinswg_lawfuldevelopmentcertificateappeals194195", + "MetadataId": "184e4861-9681-eb11-aac0-00224800be9c" + }, + + + + { + "LogicalCollectionName": "pinswg_highhedgestreepreservationflows", + "LogicalName": "pinswg_highhedgestreepreservationflow", + "MetadataId": "c365b924-f3be-eb11-aac4-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_householderappealhases", + "LogicalName": "pinswg_householderappealhas", + "MetadataId": "a6c728b0-9081-eb11-aac0-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_enforcementlistedbuildingconservationaps", + "LogicalName": "pinswg_enforcementlistedbuildingconservationap", + "MetadataId": "c697be96-9481-eb11-aac0-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_enforcementlistedbuildingconservationaps", + "LogicalName": "pinswg_enforcementlistedbuildingandconservationappeals39", + "MetadataId": "c697be96-9481-eb11-aac0-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_callinss77s", + "LogicalName": "pinswg_callinss77", + "MetadataId": "dd309e51-4982-eb11-aac0-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_commonlands", + "LogicalName": "pinswg_commonland", + "MetadataId": "4161a618-5082-eb11-aac0-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_advertses", + "LogicalName": "pinswg_adverts", + "MetadataId": "0735866b-5482-eb11-aac0-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_hedgeshedgerowstreepreservationreplacems", + "LogicalName": "pinswg_hedgeshedgerowstreepreservationreplacem", + "MetadataId": "60f38fed-5382-eb11-aac0-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_hedgeshedgerowstreepreservationreplacems", + "LogicalName": "pinswg_highhedgestreepreservationordershedgerowstreereplacementnotice", + "MetadataId": "60f38fed-5382-eb11-aac0-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_compulsorypurchaseorderses", + "LogicalName": "pinswg_compulsorypurchaseorders", + "MetadataId": "054da4c7-5582-eb11-aac0-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_communityinfrastructurelevys117118119s", + "LogicalName": "pinswg_communityinfrastructurelevys117118119", + "MetadataId": "0c309f3c-4882-eb11-aac0-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_objectiveconfigs", + "LogicalName": "pinswg_objectiveconfig", + "MetadataId": "f89ae20c-4777-eb11-aabd-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_nonvalidations", + "LogicalName": "pinswg_nonvalidation", + "MetadataId": "37f31a93-5882-eb11-aac0-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_rightofwayflows", + "LogicalName": "pinswg_rightofwayflow", + "MetadataId": "b26c1d43-efbe-eb11-aac4-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_caseinvolvements", + "LogicalName": "pinswg_caseinvolvement", + "MetadataId": "65677cd9-4aae-eb11-aac3-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_commonlandflows", + "LogicalName": "pinswg_commonlandflow", + "MetadataId": "338fac85-e6be-eb11-aac4-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_lawfuldevelopmentcertificates195flows", + "LogicalName": "pinswg_lawfuldevelopmentcertificates195flow", + "MetadataId": "0b8f5046-1dbe-eb11-aac4-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_advertisementappealanddiscontinuances", + "LogicalName": "pinswg_advertisementappealanddiscontinuance", + "MetadataId": "79b9ab3a-f1be-eb11-aac4-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_documenthistories", + "LogicalName": "pinswg_documenthistory", + "MetadataId": "0d8e78a7-33a3-eb11-aac3-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_documents", + "LogicalName": "pinswg_document", + "MetadataId": "e6cbbbca-026a-eb11-aabb-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_electricityactflows", + "LogicalName": "pinswg_electricityactflow", + "MetadataId": "699c4318-e3be-eb11-aac4-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_planningconditionss73s79flows", + "LogicalName": "pinswg_planningconditionss73s79flow", + "MetadataId": "510154b1-15be-eb11-aac4-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_wayleaves", + "LogicalName": "pinswg_wayleave", + "MetadataId": "a0652117-5782-eb11-aac0-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_listedbuildingandconservationareaconsens", + "LogicalName": "pinswg_listedbuildingandconservationareaconsen", + "MetadataId": "4cd95405-8f81-eb11-aac0-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_listedbuildingandconservationareaconsens", + "LogicalName": "pinswg_listedbuildingandconservationareaconsents73s79", + "MetadataId": "4cd95405-8f81-eb11-aac0-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_callinapplicationss77flows", + "LogicalName": "pinswg_callinapplicationss77flow", + "MetadataId": "2a4f3d43-d4be-eb11-aac4-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_transfercodes", + "LogicalName": "pinswg_transfercode", + "MetadataId": "a551ad5c-29f5-eb11-aac7-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_compulsorypurchaseordersflows", + "LogicalName": "pinswg_compulsorypurchaseordersflow", + "MetadataId": "a94f098b-f0be-eb11-aac4-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_environmentalpermittings", + "LogicalName": "pinswg_environmentalpermitting", + "MetadataId": "62d4aa9a-5682-eb11-aac0-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_nonvaidationflows", + "LogicalName": "pinswg_nonvaidationflow", + "MetadataId": "e5ca3ceb-c1e0-eb11-aac5-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_enforcementnoticeappeals174s", + "LogicalName": "pinswg_enforcementnoticeappeals174", + "MetadataId": "930a3cc4-9181-eb11-aac0-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_ldps", + "LogicalName": "pinswg_ldp", + "MetadataId": "af424d4d-5882-eb11-aac0-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_maintenanceoflands217s", + "LogicalName": "pinswg_maintenanceoflands217", + "MetadataId": "bb302784-9581-eb11-aac0-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_enforcelistbuild39flows", + "LogicalName": "pinswg_enforcelistbuild39flow", + "MetadataId": "9423206e-d2be-eb11-aac4-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_householderappealflows", + "LogicalName": "pinswg_householderappealflow", + "MetadataId": "330541bd-d5be-eb11-aac4-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_miscellaneouscaseworkflows", + "LogicalName": "pinswg_miscellaneouscaseworkflow", + "MetadataId": "87db8649-f4be-eb11-aac4-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_communityinfrastructurelevyflows", + "LogicalName": "pinswg_communityinfrastructurelevyflow", + "MetadataId": "92bc1e3d-e0be-eb11-aac4-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_listedbuildconserv20flows", + "LogicalName": "pinswg_listedbuildconserv20flow", + "MetadataId": "4c11cbe9-27be-eb11-aac4-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_electricityacts", + "LogicalName": "pinswg_electricityact", + "MetadataId": "6aedaab1-4a82-eb11-aac0-00224800be9c" + } + ] +} diff --git a/pages/case.js b/pages/case.js index fb0a32c4..4b651b81 100644 --- a/pages/case.js +++ b/pages/case.js @@ -41,6 +41,9 @@ const Home = (props) => { searchResultsObj={ props.searchResultsObj.searchResultsObj } + searchDetailsObj={ + props.searchResultsObj.searchDetailsObj + } myRepresentations={ props.myRepresentations.myRepresentations } diff --git a/pages/searchresults.js b/pages/searchresults.js index da9d1d07..9de1b67c 100644 --- a/pages/searchresults.js +++ b/pages/searchresults.js @@ -13,10 +13,13 @@ import { wrapper } from "../store/store"; import Cookies from "cookies"; import { useRouter } from "next/router"; import useTranslation from "next-translate/useTranslation"; +import jsonpath from "jsonpath"; +import data from "../data/collections.json"; import { setSearch, getSearchObj } from "../store/search/action"; import { setSearchResults, + setSearchDetails, getSearchResultsObj, } from "../store/searchOutput/action"; import { getBasicSearch, getBasicSearchDetails } from "../actions"; @@ -57,17 +60,57 @@ export const getServerSideProps = wrapper.getServerSideProps( (store) => async ({ query, req, res }) => { console.log("query-", query); - const [searchResultsObj, searchDetailsObj] = await Promise.all( - await getBasicSearch(query.q), - await getBasicSearchDetails(query.d) - ); + // const [searchResultsObj, searchDetailsObj] = await Promise.all( + // await getBasicSearch(query.q), + // await getBasicSearchDetails(query.d) + // ); + const searchResultsObj = await getBasicSearch(query.q); + const searchDetailsObj = await getSearchDetails(searchResultsObj); + // console.log(searchDetailsObj); store.dispatch(setSearchResults(searchResultsObj)); store.dispatch(setSearchDetails(searchDetailsObj)); store.dispatch(setSearch(query.q)); } ); +const getFormCollection = (formtype) => { + const collectionName = jsonpath.query( + data, + "$..[?(@.LogicalName=='" + formtype + "')].LogicalCollectionName" + ); + //console.log(collectionName[0]); + return collectionName[0]; +}; + +const getSearchDetails = (searchResultsObj) => { + //console.log(searchResultsObj); + + let detailsArr = []; + searchResultsObj = searchResultsObj.value; + const detailsObj = searchResultsObj.map((searchDetail, index) => { + if (searchDetail.pinswg_appealcasetype == null) { + console.log(searchDetail.ticketnumber); + } else { + detailsArr.push( + getBasicSearchDetails( + getFormCollection( + "pinswg_" + + searchDetail[ + "pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue" + ] + .replace(/[\s\-\+\(\)\,\&\.]/g, "") + .toLowerCase() + ), + searchDetail.ticketnumber + ) + ); + } + }); + //console.log(detailsArr); + return Promise.all(detailsArr); +}; + const mapStateToProps = (state) => { return { currentView: state.currentView, diff --git a/store/store.js b/store/store.js index 154ae5e8..e59d8bdb 100644 --- a/store/store.js +++ b/store/store.js @@ -103,7 +103,7 @@ const makeStore = ({ isServer }) => { const storage = require("redux-persist/lib/storage").default; const persistConfig = { - key: "acp_" + Math.floor(100000 + Math.random() * 900000), + key: "acp", whitelist: [ "currentView", "search",