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",