my cases portal module by loggedin user

This commit is contained in:
robert.bond@test.gov.wales
2021-09-17 16:37:06 +01:00
parent 219e6a4744
commit c96a72f124
26 changed files with 673 additions and 107 deletions
+1
View File
@@ -21,6 +21,7 @@ const CaseSummary = (props) => {
<div className="govuk-grid-column-full">
<Summary
myCases={props.myCases}
myCasesDetails={props.myCasesDetails}
myRepresentations={props.myRepresentations}
watchedCases={props.watchedCases}
awaitingSubmission={props.awaitingSubmission}
+13 -9
View File
@@ -21,6 +21,7 @@ const CaseSummary = (props) => {
} = props;
let setCaseQueryObj = props[currentType];
let setCaseDetailsObj = props[currentType][currentType + "Details"];
var casesObj = {};
@@ -38,10 +39,15 @@ const CaseSummary = (props) => {
var detailsObj = {};
detailsObj = jsonpath.query(
searchDetailsObj,
'$..[?(@.pinswg_name=="' + caseReference + '")]'
);
currentType == "searchResultsObj"
? (detailsObj = jsonpath.query(
searchDetailsObj,
'$..[?(@.pinswg_name=="' + caseReference + '")]'
))
: (detailsObj = jsonpath.query(
setCaseDetailsObj,
'$..[?(@.pinswg_name=="' + caseReference + '")]'
));
detailsObj = detailsObj[0];
return (
@@ -61,11 +67,9 @@ const CaseSummary = (props) => {
{t("case:summary-applicant-label")}
</dt>
<dd className="govuk-summary-list__value">
{
detailsObj[
"_pinswg_appellant_value@OData.Community.Display.V1.FormattedValue"
]
}
{detailsObj[
"_pinswg_appellant_value@OData.Community.Display.V1.FormattedValue"
] || "not entered"}
</dd>
</div>
<div className="govuk-summary-list__row">
+1
View File
@@ -20,6 +20,7 @@ const MyCases = (props) => {
<div className="cardModuleContainer">
<TopThree
showTopThree={props.myCases.myCases}
showDetails={props.myCases.myCasesDetails}
topThreeType={"myCases"}
/>
</div>
+120 -50
View File
@@ -1,4 +1,5 @@
import Link from "next/link";
import _ from "lodash";
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import { setCurrentReference } from "../../store/currentView/action";
@@ -6,65 +7,134 @@ import { connect } from "react-redux";
const TopThree = (props) => {
let { t } = useTranslation();
const { showTopThree, setCurrentReference, topThreeType } = props;
const { showTopThree, showDetails, setCurrentReference, topThreeType } =
props;
const router = useRouter();
const { locale } = router;
let topthreeRow = [];
for (var i = 0; i < 3; i++) {
(function (i) {
topthreeRow.push(
<div className="cardModuleItem" key={i}>
<div className="cardModuleDetails">
<div className="cardModuleReference">
<b>Case reference:</b>{" "}
<Link
href={
topThreeType == "awaitingSubmission"
? "/representation"
: "/case"
}
>
<a
data-id={i}
onClick={() => {
setCurrentReference({
"currentReference":
showTopThree.value[i]
.ticketnumber,
"currentType": topThreeType,
});
}}
>
{showTopThree.value[i].ticketnumber}
</a>
</Link>
</div>
{topThreeType != "awaitingSubmission" ? (
<div className="carModuleAddress">
<b>Address: </b>
{showTopThree.value[i].address1}
</div>
) : (
""
)}
// for (var i = 0; i < 3; i++) {
// (function (i) {
// topthreeRow.push(
// <div className="cardModuleItem" key={i}>
// <div className="cardModuleDetails">
// <div className="cardModuleReference">
// <b>Case reference:</b>{" "}
// <Link
// href={
// topThreeType == "awaitingSubmission"
// ? "/representation"
// : "/case"
// }
// >
// <a
// data-id={i}
// onClick={() => {
// setCurrentReference({
// "currentReference":
// showTopThree.value[i]
// .ticketnumber,
// "currentType": topThreeType,
// });
// }}
// >
// {showTopThree.value[i].ticketnumber}
// </a>
// </Link>
// </div>
// {topThreeType != "awaitingSubmission" ? (
// <div className="carModuleAddress">
// <b>Addressaa: </b>
// {showDetails[i].value[0]
// .pinswg_siteaddressline1 == null
// ? "not entered"
// : showDetails[i].value[0]
// .pinswg_siteaddressline1}
// </div>
// ) : (
// ""
// )}
{topThreeType == "awaitingSubmission" ? (
<div className="carModuleAddress">
Make Representation on Case Incomplete, not
submitted
</div>
) : (
""
)}
// {topThreeType == "awaitingSubmission" ? (
// <div className="carModuleAddress">
// Make Representation on Case Incomplete, not
// submitted
// </div>
// ) : (
// ""
// )}
// </div>
// <div className="cardModuleRemoveCase"> &mdash;</div>
// </div>
// );
// })(i);
// }
let showTopThreeArr = showTopThree.value;
Object.keys(showTopThreeArr).map((key, index) => {
topthreeRow.push(
<div className="cardModuleItem" key={index}>
<div className="cardModuleDetails">
<div className="cardModuleReference">
<b>Case reference:</b>{" "}
<Link
href={
topThreeType == "awaitingSubmission"
? "/representation"
: "/case"
}
>
<a
data-id={index}
onClick={() => {
setCurrentReference({
"currentReference":
showTopThreeArr[key].ticketnumber,
"currentType": topThreeType,
});
}}
>
{showTopThreeArr[key].ticketnumber}
</a>
</Link>
</div>
<div className="cardModuleRemoveCase"> &mdash;</div>
{topThreeType != "awaitingSubmission" ? (
<div className="carModuleAddress">
<b>Addressa:</b>{" "}
{_.isEmpty(showDetails)
? "not entered"
: _.isEmpty(showDetails[index])
? "not entered"
: _.isEmpty(showDetails[index].value[0])
? "not entered"
: _.isEmpty(
showDetails[index].value[0]
.pinswg_siteaddressline1
)
? "not entered"
: showDetails[index].value[0]
.pinswg_siteaddressline1}
</div>
) : (
""
)}
{topThreeType == "awaitingSubmission" ? (
<div className="carModuleAddress">
Make Representation on Case Incomplete, not
submitted
</div>
) : (
""
)}
</div>
);
})(i);
}
<div className="cardModuleRemoveCase"> &mdash;</div>
</div>
);
});
return <>{topthreeRow}</>;
};
+4
View File
@@ -26,6 +26,10 @@ let CompleteAppeal = (props) => {
"Ids";
Object.assign(updateBody, {
"pinswg_Appellant@odata.bind":
"/contacts(" + props.props.accountDetails.loggedinUserId + ")",
"pinswg_AssociatedLPA@odata.bind":
"/accounts(" + props.appealType.appealLPA + ")",
"pinswg_name": props.appealType.caseReference.ticketnumber,
[updateBindAppealTypeToIncident + "@odata.bind"]:
"/incidents(" + incidentId + ")",
+26 -2
View File
@@ -7,6 +7,8 @@ import BuildRow from "./buildrow";
import { reduxForm, formValueSelector, Field } from "redux-form";
import { useDispatch, useSelector, shallowEqual, connect } from "react-redux";
import jsonpath from "jsonpath";
import data from "../../data/collections.json";
import {
setAppealType,
setAppealTypeTitle,
@@ -174,7 +176,7 @@ let CreateCase = (props) => {
"," +
optionsObj[key].value
.replace(
/[\s\-\+\(\)\,]/g,
/(\band|[\s\-\+\(\)\,\&])/g,
""
)
.toLowerCase()
@@ -201,11 +203,33 @@ let CreateCase = (props) => {
const required = (value) => (value ? undefined : "Required");
const getFormCollection = (formtype) => {
formtype =
"pinswg_" +
(formtype.length > 39 ? formtype.slice(0, 39) : formtype);
const collectionName = jsonpath.query(
data,
"$..[?(@.LogicalName=='" + formtype + "')].UrlName"
);
//console.log(collectionName[0]);
return collectionName[0];
};
const onHandleSubmit = (values) => {
event.preventDefault();
var appTypeCollection = values.appealTypes.split(",")[1];
appTypeCollection = getFormCollection(
appTypeCollection.length > 39
? appTypeCollection.slice(0, 39)
: appTypeCollection
);
router.replace(
"/newappeal/" +
values.appealTypes.split(",")[1] +
appTypeCollection +
"?lpa=" +
values.lpaTypes +
"&apt=" +