added in documents for case and onlu published

This commit is contained in:
2021-09-24 15:31:08 +01:00
parent a8df1d1746
commit 287da16b8a
11 changed files with 905 additions and 548 deletions
+56 -85
View File
@@ -145,15 +145,15 @@ export const getBasicSearch = (token, searchString) => {
WEBAPI_URL +
"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 &$orderby=createdon desc&$count=true&$top=201",
"') and pinswg_appealcasetype ne null and pinswg_publishtoweb eq true&$orderby=createdon desc&$count=true&$top=201",
azureHeaders(token)
)
.then((res) => {
console.log(" ");
console.log("/////////////////////");
console.log("data:" + res.data.value);
console.log("/////////////////////");
console.log(" ");
// console.log(" ");
// console.log("/////////////////////");
// console.log("data:" + res.data.value);
// console.log("/////////////////////");
// console.log(" ");
return res.data;
})
.catch((error) => {
@@ -165,7 +165,7 @@ export const getBasicDNSSearch = (token, searchString) => {
return axios
.get(
WEBAPI_URL +
"incidents?$select=_accountid_value,_customerid_value,pinswg_appealcasetype,statuscode,ticketnumber,title, _primarycontactid_value&$expand=primarycontactid($select=fullname)&$filter=pinswg_appealcasetype eq 846040011&$orderby=createdon desc&$count=true",
"incidents?$select=_accountid_value,_customerid_value,pinswg_appealcasetype,statuscode,ticketnumber,title, _primarycontactid_value&$expand=primarycontactid($select=fullname)&$filter=pinswg_appealcasetype eq 846040011 and pinswg_publishtoweb eq true&$orderby=createdon desc&$count=true",
azureHeaders(token)
)
.then((res) => res.data)
@@ -210,7 +210,7 @@ export const getAdvancedSearch = (token, searchString) => {
WEBAPI_URL +
"incidents?$select=_accountid_value,_customerid_value,pinswg_appealcasetype,statuscode,ticketnumber,title&$filter=" +
queryString +
" and pinswg_appealcasetype ne null &$orderby=createdon desc&$count=true&$top=201",
" and pinswg_appealcasetype ne null and pinswg_publishtoweb eq true&$orderby=createdon desc&$count=true&$top=201",
azureHeaders(token)
)
@@ -236,6 +236,35 @@ export const getBasicSearchDetails = (token, appealType, caseReference) => {
});
};
export const getSearchDocumentDetails = (token, incidentID) => {
return axios
.get(
WEBAPI_URL +
"pinswg_documents?$count=true&$filter=_pinswg_documentids_value eq " +
incidentID +
" and pinswg_publishtoweb eq true&$select=pinswg_isharedocumentlocations,_pinswg_documentids_value,pinswg_isharelabelcasetype,pinswg_isharelabellpaname,pinswg_publishtoweb,pinswg_uploadstatus,pinswg_isharedocumentclassification,pinswg_isharedocumentreference",
azureHeaders(token)
)
.then((res) => res.data)
.catch((error) => {
console.log("thiserror", error);
});
};
export const getSearchDocumentHistory = (token, documentID) => {
return axios
.get(
WEBAPI_URL +
"pinswg_documenthistories?$count=true&$select=_pinswg_documentid_value,pinswg_createddate,pinswg_state,pinswg_fileexists,statecode,pinswg_publisheddate&$filter=_pinswg_documentid_value eq " +
documentID,
azureHeaders(token)
)
.then((res) => res.data)
.catch((error) => {
console.log("thiserror", error);
});
};
export const getBasicDNSSearchDetails = (token, appealType, caseReference) => {
return axios
.get(
@@ -311,64 +340,6 @@ export const getAppealsTypes = (token) => {
});
};
export const getBasicSearch2 = (searchString) => {
var req = new XMLHttpRequest();
req.open(
"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",
true
);
req.setRequestHeader("OData-MaxVersion", "4.0");
req.setRequestHeader("OData-Version", "4.0");
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
req.setRequestHeader("Prefer", 'odata.include-annotations="*"');
req.onreadystatechange = function () {
if (this.readyState === 4) {
req.onreadystatechange = null;
if (this.status === 200) {
var results = JSON.parse(this.response);
var recordCount = results["@odata.count"];
for (var i = 0; i < results.value.length; i++) {
var _accountid_value = results.value[i]["_accountid_value"];
var _accountid_value_formatted =
results.value[i][
"_accountid_value@OData.Community.Display.V1.FormattedValue"
];
var _accountid_value_lookuplogicalname =
results.value[i][
"_accountid_value@Microsoft.Dynamics.CRM.lookuplogicalname"
];
var _customerid_value =
results.value[i]["_customerid_value"];
var _customerid_value_formatted =
results.value[i][
"_customerid_value@OData.Community.Display.V1.FormattedValue"
];
var _customerid_value_lookuplogicalname =
results.value[i][
"_customerid_value@Microsoft.Dynamics.CRM.lookuplogicalname"
];
var pinswg_appealcasetype =
results.value[i]["pinswg_appealcasetype"];
var pinswg_appealcasetype_formatted =
results.value[i][
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
];
var statuscode = results.value[i]["statuscode"];
var ticketnumber = results.value[i]["ticketnumber"];
var title = results.value[i]["title"];
}
} else {
console.log(this.statusText);
}
}
};
return req.send();
};
//get list of entitydefinitions
//https://devcrm2016.llcdt.gov.wales/DVPINS/api/data/v8.2/EntityDefinitions?$select=LogicalName
@@ -393,25 +364,24 @@ export const getBasicSearch2 = (searchString) => {
// // Failed
// });
export const getAppealTypeDetail = (caseReference, appealcasetype) => {
console.log("got to axios", searchString);
console.log("api_root: ", BASE_URL);
// example appealcasetype type pinswg_householderappealhases
return axios
.get(
"https://devcrm2016.llcdt.gov.wales/DVPINS/api/data/v8.2/" +
appealcasetype +
"?$filter=pinswg_name eq '" +
caseReference +
"'",
{ httpsAgent: new https.Agent({ rejectUnauthorized: false }) }
)
.then((res) => res.data)
.catch((error) => {
console.log("thi serror", error);
});
};
//https://devcrm2016.llcdt.gov.wales/DVPINS/api/data/v8.2/pinswg_planningappeals78s?$filter=pinswg_name eq 'CAS-00015-L7J9H1'
// export const getAppealTypeDetail = (caseReference, appealcasetype) => {
// console.log("got to axios", searchString);
// console.log("api_root: ", BASE_URL);
// // example appealcasetype type pinswg_householderappealhases
// return axios
// .get(
// "https://devcrm2016.llcdt.gov.wales/DVPINS/api/data/v8.2/" +
// appealcasetype +
// "?$filter=pinswg_name eq '" +
// caseReference +
// "'",
// { httpsAgent: new https.Agent({ rejectUnauthorized: false }) }
// )
// .then((res) => res.data)
// .catch((error) => {
// console.log("thi serror", error);
// });
// };
export const getLPA = (token) => {
// console.log("api_root: ", BASE_URL);
@@ -472,6 +442,7 @@ export const createCase = (appealTypeId) => {
appealTypeId = parseInt(appealTypeId);
var data = JSON.stringify({
"title": "insertion test case",
"caseorigincode": 3,
"customerid_contact@odata.bind":
"/contacts(f8b454ed-eded-eb11-aac7-00224800be9c)",
"pinswg_appealcasetype": appealTypeId,
+8 -1
View File
@@ -31,7 +31,14 @@ const CaseSummary = (props) => {
searchDetailsObj={props.searchDetailsObj}
searchString={props.searchString}
/>
<Documents />
<Documents
incidentid={props.incidentid}
caseReference={props.caseReference}
searchResultsObj={props.searchResultsObj}
searchDetailsObj={props.searchDetailsObj}
documentDetailsObj={props.documentDetailsObj}
documentHistoryObj={props.documentHistoryObj}
/>
</div>
</div>
</main>
+132 -47
View File
@@ -1,65 +1,150 @@
import Link from "next/link";
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import jsonpath from "jsonpath";
export default function CaseSummary() {
const DocumentDetails = (props) => {
let { t } = useTranslation();
const {
incidentid,
caseReference,
searchResultsObj,
searchDetailsObj,
documentDetailsObj,
documentHistoryObj,
} = props;
const router = useRouter();
const { locale } = router;
var documentDetailsArr = documentDetailsObj || [];
console.log(documentDetailsObj);
console.log(documentDetailsArr);
const DocumentView = (documentDetailsArr) => {
return (
<dl className="govuk-summary-list govuk-!-margin-bottom-9 results">
<div className="govuk-summary-list__row results-headings">
<dd className="govuk-summary-list__key govuk-!-font-size-14 govuk-!-padding-left-2">
{t("case:documents-name-label")}
</dd>
<dd className="govuk-summary-list__key govuk-!-font-size-14">
{t("case:documents-doc-type-label")}
</dd>
<dd className="govuk-summary-list__key govuk-!-font-size-14">
{t("case:documents-date-published-label")}
</dd>
<dd className="govuk-summary-list__key govuk-!-font-size-14">
{t("case:documents-size-label")}
</dd>
</div>
{documentDetailsArr.map((item, key) => {
console.log(key);
let detailsObj = jsonpath.query(
documentDetailsObj[key],
"$..value[?(@._pinswg_documentids_value=='" +
incidentid +
"')]"
);
detailsObj = detailsObj[0];
if (typeof detailsObj != "undefined") {
var documentHistoryArr = documentHistoryObj || [];
return documentHistoryArr.map((historyItem, key) => {
let historyObj = jsonpath.query(
documentHistoryObj[key],
"$..value[?(@._pinswg_documentid_value=='" +
detailsObj.pinswg_documentid +
"')]"
);
return (
<div
className="govuk-summary-list__row"
key={key}
>
<dd className="govuk-summary-list__value govuk-!-font-size-14 govuk-!-padding-left-2">
<Link href="/">
<a>
<span className="results-visually-hidden">
{t(
"case:documents-name-label"
)}
:
</span>
{_.has(historyObj[key], [
"_pinswg_documentid_value@OData.Community.Display.V1.FormattedValue",
])
? historyObj[key][
"_pinswg_documentid_value@OData.Community.Display.V1.FormattedValue"
]
: ""}
</a>
</Link>
</dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14">
<span className="results-visually-hidden">
{t("case:documents-doc-type-label")}
:
</span>
{
detailsObj[
"pinswg_isharedocumentlocations@OData.Community.Display.V1.FormattedValue"
]
}
</dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14">
<span className="results-visually-hidden">
{t(
"case:documents-date-published-label"
)}
:
</span>
{_.has(historyObj[key], [
"pinswg_publisheddate@OData.Community.Display.V1.FormattedValue",
])
? historyObj[key][
"pinswg_publisheddate@OData.Community.Display.V1.FormattedValue"
]
: ""}
</dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14">
<span className="results-visually-hidden">
{t("case:documents-size-label")}:
</span>
92
</dd>
</div>
);
});
}
})}
</dl>
);
};
return (
<div>
<div className="govuk-grid-row">
<div className="govuk-grid-column-full">
<h2>Documents</h2>
<dl className="govuk-summary-list govuk-!-margin-bottom-9 results">
<div className="govuk-summary-list__row results-headings">
<dd className="govuk-summary-list__key govuk-!-font-size-14 govuk-!-padding-left-2">
{t("case:documents-name-label")}
</dd>
<dd className="govuk-summary-list__key govuk-!-font-size-14">
{t("case:documents-doc-type-label")}
</dd>
<dd className="govuk-summary-list__key govuk-!-font-size-14">
{t("case:documents-date-published-label")}
</dd>
<dd className="govuk-summary-list__key govuk-!-font-size-14">
{t("case:documents-size-label")}
</dd>
{console.log(documentDetailsObj)}
{documentDetailsArr.length > 0 ? (
DocumentView(documentDetailsArr)
) : (
<div className="govuk-grid-row">
<div className="govuk-grid-column-two-thirds">
<h3>There are no documents for this appeal</h3>
</div>
</div>
<div className="govuk-summary-list__row">
<dd className="govuk-summary-list__value govuk-!-font-size-14 govuk-!-padding-left-2">
<Link href="/case">
<a>
<span className="results-visually-hidden">
{t("case:documents-name-label")}:
</span>
3272770 Appeal Decision.pdf
</a>
</Link>
</dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14">
<span className="results-visually-hidden">
{t("case:documents-doc-type-label")}:
</span>
Outcome / Decision
</dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14">
<span className="results-visually-hidden">
{t("case:documents-date-published-label")}:
</span>
15/06/2021
</dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14">
<span className="results-visually-hidden">
{t("case:documents-size-label")}:
</span>
92
</dd>
</div>
</dl>
)}
</div>
</div>
</div>
);
}
};
export default DocumentDetails;
+486 -410
View File
@@ -1,9 +1,11 @@
import Link from "next/link";
import { useRouter } from "next/router";
import { useState } from "react";
import useTranslation from "next-translate/useTranslation";
import jsonpath from "jsonpath";
import _ from "lodash";
import transLookup from "../../data/lookuptranslations.json";
import LoadingOverlay from "react-loading-overlay";
const CaseSummary = (props) => {
let { t } = useTranslation();
@@ -53,151 +55,172 @@ const CaseSummary = (props) => {
));
detailsObj = detailsObj[0];
return (
<div>
<div className="govuk-grid-row">
<div className="govuk-grid-column-full">
<h1 className="govuk-heading-xl govuk-!-margin-bottom-7">
Reference:{" "}
{currentType == "searchResultsObj"
? detailsObj.pinswg_name
: casesObj.reference}
</h1>
<dl className="govuk-summary-list govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-applicant-label")}
</dt>
<dd className="govuk-summary-list__value">
{detailsObj[
"_pinswg_appellant_value@OData.Community.Display.V1.FormattedValue"
] || "not entered"}
</dd>
</div>
{_.has(detailsObj, "pinswg_agentcontactname") ? (
let showDetails = typeof detailsObj != "undefined" ? true : false;
let showDetailsBlock =
showDetails == true ? (
<div>
<div className="govuk-grid-row">
<div className="govuk-grid-column-full">
<h1 className="govuk-heading-xl govuk-!-margin-bottom-7">
Reference:{" "}
{currentType == "searchResultsObj"
? detailsObj.pinswg_name
: casesObj.reference}
</h1>
<dl className="govuk-summary-list govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-agent-label")}
{t("case:summary-applicant-label")}
</dt>
<dd className="govuk-summary-list__value">
{detailsObj[
"_pinswg_appellant_value@OData.Community.Display.V1.FormattedValue"
] || "not entered"}
</dd>
</div>
{_.has(detailsObj, "pinswg_agentcontactname") ? (
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-agent-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_agentcontactname"
)
? detailsObj.pinswg_agentcontactname
: ""}
</dd>
</div>
) : (
""
)}
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-site-address-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_agentcontactname"
"pinswg_siteaddressline1"
)
? detailsObj.pinswg_agentcontactname
? detailsObj.pinswg_siteaddressline1
: ""}
<br />
{_.has(
detailsObj,
"pinswg_siteaddressline2"
)
? detailsObj.pinswg_siteaddressline2
: ""}
<br />
{_.has(detailsObj, "pinswg_siteaddresstown")
? detailsObj.pinswg_siteaddresstown
: ""}
<br />
{_.has(
detailsObj,
"pinswg_siteaddresscounty"
)
? detailsObj.pinswg_siteaddresscounty
: ""}
<br />
{_.has(
detailsObj,
"pinswg_siteaddresspostcode"
)
? detailsObj.pinswg_siteaddresspostcode
: ""}
</dd>
</div>
) : (
""
)}
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-site-address-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(detailsObj, "pinswg_siteaddressline1")
? detailsObj.pinswg_siteaddressline1
: ""}
<br />
{_.has(detailsObj, "pinswg_siteaddressline2")
? detailsObj.pinswg_siteaddressline2
: ""}
<br />
{_.has(detailsObj, "pinswg_siteaddresstown")
? detailsObj.pinswg_siteaddresstown
: ""}
<br />
{_.has(detailsObj, "pinswg_siteaddresscounty")
? detailsObj.pinswg_siteaddresscounty
: ""}
<br />
{_.has(detailsObj, "pinswg_siteaddresspostcode")
? detailsObj.pinswg_siteaddresspostcode
: ""}
</dd>
</div>
</dl>
</div>
</div>
<div className="govuk-grid-row">
<div className="govuk-grid-column-full">
<div className="govuk-button-group">
{noRepresentationLink.includes(router.pathname) ==
true ? (
""
) : (
<Link href="/representation">
<a className="govuk-button">
{t(
"case:summary-make-representation-label"
)}
</a>
</Link>
)}
<a
onClick={() => router.back()}
className="govuk-button govuk-button--secondary"
>
{t("case:summary-back-button-label")}
</a>
</dl>
</div>
</div>
</div>
<div className="govuk-grid-row">
<div className="flex-container grid-row govuk-body case">
<div className="card" id="casescomment-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-case-details-label")}
</h2>
<div className="govuk-grid-row">
<div className="govuk-grid-column-full">
<div className="govuk-button-group">
{noRepresentationLink.includes(router.pathname) ==
true ? (
""
) : (
<Link href="/representation">
<a className="govuk-button">
{t(
"case:summary-make-representation-label"
)}
</a>
</Link>
)}
<dl className="govuk-summary-list govuk-!-font-size-14 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-case-type-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-lpa-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: detailsObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
{/* <div className="govuk-summary-list__row">
<a
onClick={() => {
spinnerState();
router.back();
}}
className="govuk-button govuk-button--secondary"
>
{t("case:summary-back-button-label")}
</a>
</div>
</div>
</div>
<div className="govuk-grid-row">
<div className="flex-container grid-row govuk-body case">
<div className="card" id="casescomment-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-case-details-label")}
</h2>
<dl className="govuk-summary-list govuk-!-font-size-14 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-case-type-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-lpa-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: detailsObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
{/* <div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-case-summary-label"
@@ -212,309 +235,362 @@ const CaseSummary = (props) => {
: ""}
</dd>
</div> */}
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-case-officer-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{" "}
{/* {casesObj.caseDetails.caseOfficer ||
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-case-officer-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{" "}
{/* {casesObj.caseDetails.caseOfficer ||
""} */}
{_.has(
detailsObj,
"pinswg_casedescription"
)
? detailsObj.pinswg_casedescription
: ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-procedure-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-status-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
{_.has(
detailsObj,
"pinswg_casedescription"
)
? detailsObj.pinswg_casedescription
: ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-procedure-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-status-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-decision-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
<br />
{/* <Link href="/">
<br />
{/* <Link href="/">
<a>
{casesObj.caseDetails
.outcome_document || ""}
</a>
</Link> */}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-case-link-status-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(detailsObj, [
"pinswg_linkedstatus@OData.Community.Display.V1.FormattedValue",
])
? detailsObj[
"pinswg_linkedstatus@OData.Community.Display.V1.FormattedValue"
]
: t(
"case:summary-case-link-status-not-linked"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-linked-cases-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{/* {casesObj.caseDetails.linkedCases ||
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-case-link-status-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(detailsObj, [
"pinswg_linkedstatus@OData.Community.Display.V1.FormattedValue",
])
? detailsObj[
"pinswg_linkedstatus@OData.Community.Display.V1.FormattedValue"
]
: t(
"case:summary-case-link-status-not-linked"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-linked-cases-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{/* {casesObj.caseDetails.linkedCases ||
""} */}
</dd>
</div>
</dl>
</dd>
</div>
</dl>
</div>
</div>
</div>
</div>
<div className="card" id="casescomment-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h3 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-dates-label")}
</h3>
<dl className="govuk-summary-list govuk-!-font-size-14 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-start-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_startdate@OData.Community.Display.V1.FormattedValue"
)
? detailsObj[
"pinswg_startdate@OData.Community.Display.V1.FormattedValue"
]
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="card" id="casescomment-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h3 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-dates-label")}
</h3>
<dl className="govuk-summary-list govuk-!-font-size-14 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-start-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_startdate@OData.Community.Display.V1.FormattedValue"
)
? detailsObj[
"pinswg_startdate@OData.Community.Display.V1.FormattedValue"
]
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-questionnaire-due-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_questionnaireduedate@OData.Community.Display.V1.FormattedValue"
)
? detailsObj[
"pinswg_questionnaireduedate@OData.Community.Display.V1.FormattedValue"
]
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-questionnaire-due-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_questionnaireduedate@OData.Community.Display.V1.FormattedValue"
)
? detailsObj[
"pinswg_questionnaireduedate@OData.Community.Display.V1.FormattedValue"
]
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-statement-due-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_statementduedate@OData.Community.Display.V1.FormattedValue"
)
? detailsObj[
"pinswg_statementduedate@OData.Community.Display.V1.FormattedValue"
]
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-statement-due-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_statementduedate@OData.Community.Display.V1.FormattedValue"
)
? detailsObj[
"pinswg_statementduedate@OData.Community.Display.V1.FormattedValue"
]
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-interested-party-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_otherpartiesstatement@OData.Community.Display.V1.FormattedValue"
)
? detailsObj[
"pinswg_otherpartiesstatement@OData.Community.Display.V1.FormattedValue"
]
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-interested-party-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_otherpartiesstatement@OData.Community.Display.V1.FormattedValue"
)
? detailsObj[
"pinswg_otherpartiesstatement@OData.Community.Display.V1.FormattedValue"
]
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-applicant-final-comments-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_finalcommentsduedate@OData.Community.Display.V1.FormattedValue"
)
? detailsObj[
"pinswg_finalcommentsduedate@OData.Community.Display.V1.FormattedValue"
]
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-applicant-final-comments-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_finalcommentsduedate@OData.Community.Display.V1.FormattedValue"
)
? detailsObj[
"pinswg_finalcommentsduedate@OData.Community.Display.V1.FormattedValue"
]
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-inquiry-evidence-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_finalcommentsduedate@OData.Community.Display.V1.FormattedValue"
)
? detailsObj[
"pinswg_finalcommentsduedate@OData.Community.Display.V1.FormattedValue"
]
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-inquiry-evidence-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_finalcommentsduedate@OData.Community.Display.V1.FormattedValue"
)
? detailsObj[
"pinswg_finalcommentsduedate@OData.Community.Display.V1.FormattedValue"
]
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-event-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_dateeventrequested@OData.Community.Display.V1.FormattedValue"
)
? detailsObj[
"pinswg_dateeventrequested@OData.Community.Display.V1.FormattedValue"
]
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-event-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_dateeventrequested@OData.Community.Display.V1.FormattedValue"
)
? detailsObj[
"pinswg_dateeventrequested@OData.Community.Display.V1.FormattedValue"
]
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-decision-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_dateoflpadecision@OData.Community.Display.V1.FormattedValue"
)
? detailsObj[
"pinswg_dateoflpadecision@OData.Community.Display.V1.FormattedValue"
]
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
</dl>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-decision-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_dateoflpadecision@OData.Community.Display.V1.FormattedValue"
)
? detailsObj[
"pinswg_dateoflpadecision@OData.Community.Display.V1.FormattedValue"
]
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
</dl>
</div>
</div>
</div>
</div>
</div>
</div>
{/* <div className="govuk-grid-row">
<div className="govuk-grid-column-full">
<div className="govuk-button-group">
<Link href="/advancedsearch">
<a className="govuk-button">
{t("case:summary-documents-button-label")}
</a>
</Link>
) : (
<>
<div>
<div className="govuk-grid-row">
<div className="govuk-grid-column-full">
<h1>Not details currently held</h1>
</div>
</div>
</div>
</div> */}
</div>
<div className="govuk-grid-row">
<div className="govuk-grid-column-full">
<div className="govuk-button-group">
{noRepresentationLink.includes(router.pathname) ==
true ? (
""
) : (
<Link href="/representation">
<a className="govuk-button">
{t(
"case:summary-make-representation-label"
)}
</a>
</Link>
)}
<a
onClick={() => {
spinnerState();
router.back();
}}
className="govuk-button govuk-button--secondary"
>
{t("case:summary-back-button-label")}
</a>
</div>
</div>
</div>
</>
);
const [showSpinnerState, setShowSpinnerState] = useState(false);
let spinnerState = () => {
showSpinnerState == true
? setShowSpinnerState(false)
: setShowSpinnerState(true);
};
return (
<>
{showDetailsBlock}
<LoadingOverlay
active={showSpinnerState}
spinner
text={t("common:spinner-searching")}
/>{" "}
</>
);
};
+1
View File
@@ -62,6 +62,7 @@ const SearchResults = (props) => {
"currentReference": item.title,
"currentType":
"searchResultsObj",
"incidentid": item.incidentid,
});
}}
>
+57
View File
@@ -343,5 +343,62 @@
"value_cy": "Ymholiad",
"pinswg_procedure": 0
}
],
"pinswg_isharedocumentlocations": [
{
"value": "Main Party - Pre-Submission Docs",
"value_cy": "Prif Blaid - Dociau Cyn Cyflwyno",
"pinswg_isharedocumentlocations": 0
},
{
"value": "Main Party - Submission Document",
"value_cy": "Prif Blaid - Dogfen Gyflwyno",
"pinswg_isharedocumentlocations": 0
},
{
"value": "Main Party - Questionnaire",
"value_cy": "Prif Blaid - Holiadur",
"pinswg_isharedocumentlocations": 0
},
{
"value": "Main Party - Statements",
"value_cy": "Prif Blaid - Datganiadau",
"pinswg_isharedocumentlocations": 0
},
{
"value": "Main Party - Comments",
"value_cy": "Prif Blaid - Sylwadau",
"pinswg_isharedocumentlocations": 0
},
{
"value": "Main Party - Written Statements of Evidence",
"value_cy": "Prif Blaid - Datganiadau Tystiolaeth Ysgrifenedig",
"pinswg_isharedocumentlocations": 0
},
{
"value": "Main Party - Environmental Statements",
"value_cy": "Prif Blaid - Datganiadau Amgylcheddol",
"pinswg_isharedocumentlocations": 0
},
{
"value": "Interested Party Representations",
"value_cy": "Cynrychioliadau Partïon â Diddordeb",
"pinswg_isharedocumentlocations": 0
},
{
"value": "Correspondence",
"value_cy": "Gohebiaeth",
"pinswg_isharedocumentlocations": 0
},
{
"value": "Inspector Notes",
"value_cy": "Nodiadau Arolygydd",
"pinswg_isharedocumentlocations": 0
},
{
"value": "Final Decision/Report",
"value_cy": "Penderfyniad / Adroddiad Terfyno",
"pinswg_isharedocumentlocations": 0
}
]
}
+62 -2
View File
@@ -20,11 +20,15 @@ import { setSearch, getSearchObj } from "../store/search/action";
import {
setSearchResults,
setSearchDetails,
setDocumentDetails,
setDocumentHistory,
getSearchResultsObj,
} from "../store/searchOutput/action";
import {
getAdvancedSearch,
getBasicSearchDetails,
getSearchDocumentDetails,
getSearchDocumentHistory,
getSASToken,
} from "../actions";
@@ -74,10 +78,21 @@ export const getServerSideProps = wrapper.getServerSideProps(
token,
searchResultsObj
);
// console.log(searchDetailsObj);
const searchDocumentResultsObj = await getDocumentDetails(
token,
searchResultsObj
);
const searchDocumentHistoryObj = await getDocumentHistory(
token,
searchDocumentResultsObj
);
//console.log(searchDocumentHistoryObj);
store.dispatch(setSearchResults(searchResultsObj));
store.dispatch(setSearchDetails(searchDetailsObj));
//store.dispatch(setSearch(query.q));
store.dispatch(setDocumentDetails(searchDocumentResultsObj));
store.dispatch(setDocumentHistory(searchDocumentHistoryObj));
}
);
@@ -121,6 +136,51 @@ const getSearchDetails = (token, searchResultsObj) => {
return Promise.all(detailsArr);
};
const getDocumentDetails = (token, searchResultsObj) => {
//console.log(searchResultsObj);
let detailsArr = [];
//console.log("search results", searchResultsObj);
searchResultsObj = searchResultsObj.value;
const detailsObj = searchResultsObj.map((searchDetail, index) => {
if (searchDetail.pinswg_appealcasetype == null) {
console.log(searchDetail.incidentid);
} else {
detailsArr.push(
getSearchDocumentDetails(token, searchDetail.incidentid)
);
}
});
//console.log(detailsArr);
return Promise.all(detailsArr);
};
const getDocumentHistory = (token, searchDocumentDetailsObj) => {
//console.log(searchResultsObj);
let historyArr = [];
//console.log("search results", searchDocumentDetailsObj);
searchDocumentDetailsObj = searchDocumentDetailsObj[0].value;
//console.log(searchDocumentDetailsObj);
const detailsObj = searchDocumentDetailsObj.map((historyDetail, index) => {
//console.log(historyDetail);
if (historyDetail.pinswg_publishtoweb != true) {
console.log(historyDetail.pinswg_documentid);
} else {
// console.log(
// "history detail documentid:",
// historyDetail.pinswg_documentid
// );
historyArr.push(
getSearchDocumentHistory(token, historyDetail.pinswg_documentid)
);
}
});
console.log(historyArr);
return Promise.all(historyArr);
};
const mapStateToProps = (state) => {
return {
currentView: state.currentView,
+7
View File
@@ -48,6 +48,12 @@ const Home = (props) => {
searchDetailsObj={
props.searchResultsObj.searchDetailsObj
}
documentDetailsObj={
props.searchResultsObj.documentDetailsObj
}
documentHistoryObj={
props.searchResultsObj.documentHistoryObj
}
myRepresentations={
props.myRepresentations.myRepresentations
}
@@ -61,6 +67,7 @@ const Home = (props) => {
currentType={
props.currentView.caseReference.currentType
}
incidentid={props.currentView.caseReference.incidentid}
/>
</div>
<Footer footerLinks={footerLinks} />
+69 -3
View File
@@ -20,9 +20,17 @@ import { setSearch, getSearchObj } from "../store/search/action";
import {
setSearchResults,
setSearchDetails,
setDocumentDetails,
setDocumentHistory,
getSearchResultsObj,
} from "../store/searchOutput/action";
import { getBasicSearch, getBasicSearchDetails, getSASToken } from "../actions";
import {
getBasicSearch,
getBasicSearchDetails,
getSearchDocumentDetails,
getSearchDocumentHistory,
getSASToken,
} from "../actions";
const Home = (props) => {
const { footerLinks, pages } = props;
@@ -71,9 +79,22 @@ export const getServerSideProps = wrapper.getServerSideProps(
token,
searchResultsObj
);
//console.log(searchDetailsObj);
const searchDocumentResultsObj = await getDocumentDetails(
token,
searchResultsObj
);
const searchDocumentHistoryObj = await getDocumentHistory(
token,
searchDocumentResultsObj
);
console.log(searchDocumentHistoryObj);
store.dispatch(setSearchResults(searchResultsObj));
store.dispatch(setSearchDetails(searchDetailsObj));
store.dispatch(setDocumentDetails(searchDocumentResultsObj));
store.dispatch(setDocumentHistory(searchDocumentHistoryObj));
store.dispatch(setSearch(query.q));
}
);
@@ -91,7 +112,7 @@ const getSearchDetails = (token, searchResultsObj) => {
//console.log(searchResultsObj);
let detailsArr = [];
console.log("search results", searchResultsObj);
//console.log("search results", searchResultsObj);
searchResultsObj = searchResultsObj.value;
const detailsObj = searchResultsObj.map((searchDetail, index) => {
if (searchDetail.pinswg_appealcasetype == null) {
@@ -118,6 +139,51 @@ const getSearchDetails = (token, searchResultsObj) => {
return Promise.all(detailsArr);
};
const getDocumentDetails = (token, searchResultsObj) => {
//console.log(searchResultsObj);
let detailsArr = [];
//console.log("search results", searchResultsObj);
searchResultsObj = searchResultsObj.value;
const detailsObj = searchResultsObj.map((searchDetail, index) => {
if (searchDetail.pinswg_appealcasetype == null) {
console.log(searchDetail.incidentid);
} else {
detailsArr.push(
getSearchDocumentDetails(token, searchDetail.incidentid)
);
}
});
//console.log(detailsArr);
return Promise.all(detailsArr);
};
const getDocumentHistory = (token, searchDocumentDetailsObj) => {
//console.log(searchResultsObj);
let historyArr = [];
//console.log("search results", searchDocumentDetailsObj);
searchDocumentDetailsObj = searchDocumentDetailsObj[0].value;
//console.log(searchDocumentDetailsObj);
const detailsObj = searchDocumentDetailsObj.map((historyDetail, index) => {
//console.log(historyDetail);
if (historyDetail.pinswg_publishtoweb != true) {
console.log(historyDetail.pinswg_documentid);
} else {
// console.log(
// "history detail documentid:",
// historyDetail.pinswg_documentid
// );
historyArr.push(
getSearchDocumentHistory(token, historyDetail.pinswg_documentid)
);
}
});
console.log(historyArr);
return Promise.all(historyArr);
};
const mapStateToProps = (state) => {
return {
currentView: state.currentView,
+15
View File
@@ -3,6 +3,8 @@ export const searchResultsActionTypes = {
SETSEARCHRESULTS: "SETSEARCHRESULTS",
UPDATESEARCHRESULTS: "UPDATESEARCHRESULTS",
SETSEARCHDETAILS: "SETSEARCHDETAILS",
SETDOCUMENTDETAILS: "SETDOCUMENTDETAILS",
SETDOCUMENTHISTORY: "SETDOCUMENTHISTORY",
};
export const getSearchResultshObj = () => (dispatch) => {
@@ -24,3 +26,16 @@ export const setSearchDetails = (searchDetails) => (dispatch) => {
searchDetailsObj: searchDetails,
});
};
export const setDocumentDetails = (documentDetails) => (dispatch) => {
return dispatch({
type: searchResultsActionTypes.SETDOCUMENTDETAILS,
documentDetailsObj: documentDetails,
});
};
export const setDocumentHistory = (documentHistory) => (dispatch) => {
return dispatch({
type: searchResultsActionTypes.SETDOCUMENTHISTORY,
documentHistoryObj: documentHistory,
});
};
+12
View File
@@ -3,6 +3,8 @@ import { searchResultsActionTypes } from "./action";
const searchResultsInitialState = {
searchResultsObj: {},
searchDetailsObj: {},
documentDetailsObj: {},
documentHistoryObj: {},
};
export default function reducer(state = searchResultsInitialState, action) {
@@ -17,6 +19,16 @@ export default function reducer(state = searchResultsInitialState, action) {
...state,
searchDetailsObj: action.searchDetailsObj,
};
case searchResultsActionTypes.SETDOCUMENTDETAILS:
return {
...state,
documentDetailsObj: action.documentDetailsObj,
};
case searchResultsActionTypes.SETDOCUMENTHISTORY:
return {
...state,
documentHistoryObj: action.documentHistoryObj,
};
default:
return state;
}