Merged PR 1088: added in date raised on myportal cards

added in date raised on myportal cards

Related work items: #10487
This commit is contained in:
Robert Bond
2024-02-28 13:01:17 +00:00
7 changed files with 267 additions and 182 deletions
+34 -19
View File
@@ -1595,7 +1595,17 @@ const RenderFileUpload = (field) => {
return ( return (
<> <>
<Dropzone <Dropzone
accept="application/pdf,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,image/tiff,image/jpeg,application/zip" key={field.input.name + "_key"}
accept={{
"application/pdf": [".pdf"],
"application/msword": [".doc"],
"application/vnd.openxmlformats-officedocument.wordprocessingml.document":
[".docx"],
"image/tiff": [".tif", ".tiff"],
"image/jpeg": [".jpg", ".jpeg"],
"application/zip": [".zip"],
"image/png": [".png"],
}}
onDrop={(filesToUpload, e) => { onDrop={(filesToUpload, e) => {
const renamedAcceptedFiles = filesToUpload.map( const renamedAcceptedFiles = filesToUpload.map(
(file) => (file) =>
@@ -1645,22 +1655,27 @@ const RenderFileUpload = (field) => {
)} )}
{files && Array.isArray(files) && ( {files && Array.isArray(files) && (
<ul> <ul>
{files.map((file, i) => ( {files.map(
<div (file, i) =>
key={file.name} typeof file.name != "undefined" && (
className="govuk-!-margin-bottom-5 fileThumb" <div
> key={file.name}
<img className="govuk-!-margin-bottom-5 fileThumb"
src={getThumbnailIcon(file, file.type)} >
alt={file.name} {" "}
width="50" {}
/> <img
<span className="govuk-body govuk-!-font-size-14 govuk-!-padding-left-5"> src={getThumbnailIcon(file, file.type)}
{/* {file.name.slice(file.name.indexOf("_") + 1)} ( */}{" "} alt={file.name}
{file.name}( ({bytesToSize(file.size)}) width="50"
</span> />
</div> <span className="govuk-body govuk-!-font-size-14 govuk-!-padding-left-5">
))} {/* {file.name.slice(file.name.indexOf("_") + 1)} ( */}{" "}
{file.name}( ({bytesToSize(file.size)})
</span>
</div>
)
)}
</ul> </ul>
)} )}
{blobList.map((blob, i) => ( {blobList.map((blob, i) => (
@@ -1668,7 +1683,7 @@ const RenderFileUpload = (field) => {
key={blob.name + "_" + i} key={blob.name + "_" + i}
className="govuk-!-margin-bottom-5 fileThumb govuk-!-margin-top-5" className="govuk-!-margin-bottom-5 fileThumb govuk-!-margin-top-5"
> >
<div className=""> <div key={"deleteLnk" + i} className="">
<span <span
className="govuk-summary-list__actionLink watched_link govuk-!-margin-right-5 govuk-!-text-align-left" className="govuk-summary-list__actionLink watched_link govuk-!-margin-right-5 govuk-!-text-align-left"
onClick={() => { onClick={() => {
@@ -1692,7 +1707,7 @@ const RenderFileUpload = (field) => {
/> />
<Link <Link
key={i} key={"lnk" + i}
scroll={false} scroll={false}
href={ href={
"/api/file/downloadblob?container=" + "/api/file/downloadblob?container=" +
+13 -14
View File
@@ -122,20 +122,19 @@ const MyPortal = (props) => {
} }
/> />
)} */} )} */}
{isLPA {!isLPA &&
? "" props.awaitingSubmission
: props.awaitingSubmission .awaitingSubmissionFromBlob[
.awaitingSubmissionFromBlob[ "@odata.count"
"@odata.count" ] > 0 && (
] > 0 && ( <AwaitingSubmissionFromBlob
<AwaitingSubmissionFromBlob containerID={props.containerID}
containerID={props.containerID} awaitingSubmissionFromBlob={
awaitingSubmissionFromBlob={ props.awaitingSubmission
props.awaitingSubmission .awaitingSubmissionFromBlob
.awaitingSubmissionFromBlob }
} />
/> )}
)}
{props.myCases.myCases["@odata.count"] > 0 && ( {props.myCases.myCases["@odata.count"] > 0 && (
<MyCases <MyCases
myCases={props.myCases} myCases={props.myCases}
+194 -145
View File
@@ -24,10 +24,26 @@ const AwaitingSubmissionFromBlob = (props) => {
const { locale } = router; const { locale } = router;
const { setCurrentView } = props; const { setCurrentView } = props;
let topthreeRow = []; let topthreeRowArr = [];
let showTopThreeArr = props.awaitingSubmissionFromBlob.value; let showTopThreeArr = props.awaitingSubmissionFromBlob.value;
let showTopThreeArrDets = props.awaitingSubmissionFromBlob.case; let showTopThreeArrDets = props.awaitingSubmissionFromBlob.case;
Object.keys(showTopThreeArrDets).map((key, index) => {
let createdDate = showTopThreeArrDets[key].createdon;
showTopThreeArr[key].createdDate = createdDate;
});
showTopThreeArr.sort(function compare(a, b) {
var dateA = new Date(a.createdDate);
var dateB = new Date(b.createdDate);
return dateB - dateA;
});
const raisedDate = (datePart) => {
var dateObj = new Date(datePart);
return dateObj.toLocaleString();
};
const deleteCaseItem = (containerID, caseID) => { const deleteCaseItem = (containerID, caseID) => {
let cookies = parseCookies(); let cookies = parseCookies();
console.log("sssss", containerID, caseID); console.log("sssss", containerID, caseID);
@@ -52,170 +68,203 @@ const AwaitingSubmissionFromBlob = (props) => {
showTopThreeArr[key].pinswg_appealcasetype showTopThreeArr[key].pinswg_appealcasetype
).UrlName; ).UrlName;
topthreeRow.push( topthreeRowArr.push(
<div className="cardModuleItem" key={index}> <>
<div className="cardModuleDetails"> <div className="cardModuleItem" key={index}>
<div className="cardModuleReference"> <div className="cardModuleDetails">
<b>{t("myportal:case-reference")}:</b> <div className="cardModuleReference">
<b>{t("myportal:temp-reference")}:</b>
<Link <Link
href={ key={"link" + index}
(router.locale == "cy" href={
? "/fymhorth" (router.locale == "cy"
: "/myportal") + ? "/fymhorth"
"/" + : "/myportal") +
urlname + "/" +
"?lpa=" + urlname +
showTopThreeArr[key][ "?lpa=" +
"_pinswg_associatedlpa_value" showTopThreeArr[key][
] + "_pinswg_associatedlpa_value"
"&apt=" + ] +
showTopThreeArr[key].pinswg_appealcasetype + "&apt=" +
"&casereference=" + showTopThreeArr[key].pinswg_appealcasetype +
showTopThreeArr[key].pinswg_name + "&casereference=" +
"&inid=" + showTopThreeArr[key].pinswg_name +
showTopThreeArr[key].incidentid "&inid=" +
} showTopThreeArr[key].incidentid
className="govuk-link--no-underline" }
data-id={index} className="govuk-link--no-underline"
onClick={() => { data-id={index}
props.setCurrentReference({ onClick={() => {
"currentReference": props.setCurrentReference({
showTopThreeArr[key].ticketnumber, "currentReference":
showTopThreeArr[key].ticketnumber,
"currentType": "awaitingSubmission", "currentType": "awaitingSubmission",
"incidentid": "incidentid":
showTopThreeArr[key].incidentid, showTopThreeArr[key].incidentid,
"appealType": "appealType":
showTopThreeArr[key] showTopThreeArr[key]
.pinswg_appealcasetype, .pinswg_appealcasetype,
}); });
}} }}
> >
{showTopThreeArr[index].pinswg_name} {showTopThreeArr[index].pinswg_name}
</Link> </Link>
</div> </div>
<div>
<b>LPA reference:</b>{" "}
{showTopThreeArr[key].pinswg_lpaapplicationreference}
</div>
<div>
<b>{t("myportal:appeal-type-label")}:</b>{" "}
{
getFormCollectionByID(
showTopThreeArr[key].pinswg_appealcasetype
).value
}
</div>
<div className="carModuleAddress">
<b>{t("myportal:case-address")}:</b>{" "}
{_.isEmpty(showTopThreeArr)
? t("myportal:case-address-not-entered")
: _.isEmpty(showTopThreeArr[index])
? t("myportal:case-address-not-entered")
: _.isEmpty(showTopThreeArr[index])
? t("myportal:case-address-not-entered")
: _.isEmpty(
showTopThreeArr[index].pinswg_siteaddressline1
)
? t("myportal:case-address-not-entered")
: showTopThreeArr[index].pinswg_siteaddressline1 +
(!_.isEmpty(
showTopThreeArr[index].pinswg_siteaddressline2
)
? ", " +
showTopThreeArr[index]
.pinswg_siteaddressline2
: "") +
(!_.isEmpty(
showTopThreeArr[index].pinswg_siteaddresstown
)
? ", " +
showTopThreeArr[index]
.pinswg_siteaddresstown
: "")}
</div>
{showTopThreeArrDets[key].pinswg_appellantagent != null && (
<div> <div>
{showTopThreeArrDets[key].pinswg_appellantagent != <b>LPA reference:</b>{" "}
846040000 && ( {
<b>{t("myportal:raised-by-label")}: </b> showTopThreeArr[key]
)} .pinswg_lpaapplicationreference
{showTopThreeArrDets[key].pinswg_appellantagent != }
846040000 && </div>
(showTopThreeArrDets[key] <div>
.pinswg_agentcompanyname != null && <b>{t("myportal:appeal-type-label")}:</b>{" "}
showTopThreeArrDets[key] {
.pinswg_agentcompanyname + ", ") + getFormCollectionByID(
showTopThreeArrDets[key] showTopThreeArr[key].pinswg_appealcasetype
.pinswg_agentfirstname + ).value
}
</div>
<div className="carModuleAddress">
<b>{t("myportal:case-address")}:</b>{" "}
{_.isEmpty(showTopThreeArr)
? t("myportal:case-address-not-entered")
: _.isEmpty(showTopThreeArr[index])
? t("myportal:case-address-not-entered")
: _.isEmpty(showTopThreeArr[index])
? t("myportal:case-address-not-entered")
: _.isEmpty(
showTopThreeArr[index]
.pinswg_siteaddressline1
)
? t("myportal:case-address-not-entered")
: showTopThreeArr[index]
.pinswg_siteaddressline1 +
(!_.isEmpty(
showTopThreeArr[index]
.pinswg_siteaddressline2
)
? ", " +
showTopThreeArr[index]
.pinswg_siteaddressline2
: "") +
(!_.isEmpty(
showTopThreeArr[index]
.pinswg_siteaddresstown
)
? ", " +
showTopThreeArr[index]
.pinswg_siteaddresstown
: "")}
</div>
{showTopThreeArrDets[key].pinswg_appellantagent !=
null && (
<div>
{showTopThreeArrDets[key]
.pinswg_appellantagent != 846040000 && (
<b>{t("myportal:raised-by-label")}: </b>
)}
{showTopThreeArrDets[key]
.pinswg_appellantagent != 846040000 &&
(showTopThreeArrDets[key]
.pinswg_agentcompanyname != null &&
showTopThreeArrDets[key]
.pinswg_agentcompanyname + ", ") +
showTopThreeArrDets[key]
.pinswg_agentfirstname +
" " +
showTopThreeArrDets[key]
.pinswg_agentlastname}
</div>
)}
{showTopThreeArrDets[key].pinswg_appellantfirstname !=
null && (
<div>
<b>{t("myportal:on-behalf-of-label")}: </b>
{showTopThreeArrDets[key]
.pinswg_appellantfirstname +
" " + " " +
showTopThreeArrDets[key] showTopThreeArrDets[key]
.pinswg_agentlastname} .pinswg_appellantlastname}
</div> </div>
)} )}
{showTopThreeArrDets[key].pinswg_appellantfirstname != {router.locale == "cy"
null && ( ? jsonpath(
<div> '$..[?(@.value=="' +
<b>{t("myportal:on-behalf-of-label")}: </b> showTopThreeArrDets[key][
{showTopThreeArrDets[key] "pinswg_lpaname"
.pinswg_appellantfirstname + ] +
" " + '")].value_cy',
showTopThreeArrDets[key] transLookup
.pinswg_appellantlastname} )
</div> : showTopThreeArrDets[key]["pinswg_lpaname"] || ""}
)} <div className="cardModuleReference">
{router.locale == "cy" <b>{t("myportal:date-raised")}:</b>
? jsonpath( {" "}
'$..[?(@.value=="' + {raisedDate(showTopThreeArrDets[key].createdon)}
showTopThreeArrDets[key]["pinswg_lpaname"] + </div>{" "}
'")].value_cy', </div>
transLookup <div className="">
) <button
: showTopThreeArrDets[key]["pinswg_lpaname"] || ""} title={t("case:do-you-want-to-delete-case-label")}
className=" cardModuleRemoveCase govuk-link govuk-link--no-underline govuk-link--inverse "
onClick={() => {
confirm(
t("case:do-you-want-to-delete-case-label") +
showTopThreeArr[key].pinswg_name +
"?\n" +
t(
"case:do-you-want-to-delete-case-disclaimer-label"
)
) &&
deleteCaseItem(
props.containerID,
showTopThreeArr[key].pinswg_name
);
}}
>
&mdash;
</button>
</div>
</div> </div>
<div className=""> </>
<button
title={t("case:do-you-want-to-delete-case-label")}
className=" cardModuleRemoveCase govuk-link govuk-link--no-underline govuk-link--inverse "
onClick={() => {
confirm(
t("case:do-you-want-to-delete-case-label") +
showTopThreeArr[key].pinswg_name +
"?\n" +
t(
"case:do-you-want-to-delete-case-disclaimer-label"
)
) &&
deleteCaseItem(
props.containerID,
showTopThreeArr[key].pinswg_name
);
}}
>
&mdash;
</button>
</div>
</div>
); );
}); });
const TopThreeRow = () => {
return (
<div
className="cardModuleContainer"
key={"cttr_" + Math.floor(Math.random() * 5)}
>
{topthreeRowArr}
</div>
);
};
return ( return (
<div className="card" id="awaiting-submission-card"> <div
className="card"
id="awaiting-submission-card"
key="awaiting-submission-card"
>
<div className="card-body"> <div className="card-body">
<h3 className="heading-small card-heading"> <h3 className="heading-small card-heading">
{t("myportal:awatitingsubmission-card-title")} {t("myportal:awatitingsubmission-card-title")}
</h3> </h3>
<div className="cardModuleContainer">
{topthreeRow} <TopThreeRow key={"ttr_" + Math.floor(Math.random() * 5)} />
{/* <TopThree {/* <TopThree
showTopThree={props.awaitingSubmissionFromBlob} showTopThree={props.awaitingSubmissionFromBlob}
showDetails={props.awaitingSubmissionFromBlob} showDetails={props.awaitingSubmissionFromBlob}
topThreeType={"awaitingSubmissionFromBlob"} topThreeType={"awaitingSubmissionFromBlob"}
/> */} /> */}
</div>
{props.awaitingSubmissionFromBlob["@odata.count"] > 3 && ( {props.awaitingSubmissionFromBlob["@odata.count"] > 3 && (
<div className="cardVieAll"> <div className="cardVieAll">
<Link <Link
+21 -3
View File
@@ -46,6 +46,22 @@ const TopThree = (props) => {
let showTopThreeArr = showTopThree.value; let showTopThreeArr = showTopThree.value;
Object.keys(showTopThreeArr).map((key, index) => {
let createdDate = parseInt(showTopThreeArr[key].createdon);
showTopThreeArr[key].createdDate = createdDate;
});
showTopThreeArr.sort(function compare(a, b) {
var dateA = new Date(a.createdDate);
var dateB = new Date(b.createdDate);
return dateB - dateA;
});
const raisedDate = (datePart) => {
var dateObj = new Date(datePart);
return dateObj.toLocaleString();
};
const deleteItem = (caseID, topThreeType) => { const deleteItem = (caseID, topThreeType) => {
let cookies = parseCookies(); let cookies = parseCookies();
//console.log("sssss", caseID, topThreeType); //console.log("sssss", caseID, topThreeType);
@@ -209,7 +225,6 @@ const TopThree = (props) => {
]}{" "} ]}{" "}
</Link> </Link>
</div> </div>
{/* {(topThreeType == "awaitingSubmission" || {/* {(topThreeType == "awaitingSubmission" ||
topThreeType == "watchedCases") && ( */} topThreeType == "watchedCases") && ( */}
<div> <div>
@@ -254,7 +269,6 @@ const TopThree = (props) => {
.pinswg_siteaddresstown .pinswg_siteaddresstown
: "")} : "")}
</div> </div>
{showTopThreeArr[key].pinswg_appellantagent != null && ( {showTopThreeArr[key].pinswg_appellantagent != null && (
<div> <div>
{showTopThreeArr[key].pinswg_appellantagent != {showTopThreeArr[key].pinswg_appellantagent !=
@@ -280,7 +294,6 @@ const TopThree = (props) => {
showTopThreeArr[key].pinswg_appellantlastname} showTopThreeArr[key].pinswg_appellantlastname}
</div> </div>
)} )}
{router.locale == "cy" {router.locale == "cy"
? jsonpath( ? jsonpath(
'$..[?(@.value=="' + '$..[?(@.value=="' +
@@ -300,6 +313,11 @@ const TopThree = (props) => {
) : ( ) : (
"" ""
)} )}
<div className="cardModuleReference">
<b>{t("myportal:date-raised")}:</b>
{" "}
{raisedDate(showTopThreeArr[key].createdon)}
</div>{" "}
</div> </div>
{topThreeType == "watchedCases" && ( {topThreeType == "watchedCases" && (
<div className=""> <div className="">
+1
View File
@@ -19,6 +19,7 @@
"myrepresentations-card-title": "Cyflwyniadau'r achos", "myrepresentations-card-title": "Cyflwyniadau'r achos",
"watchedcases-card-title": "Achosion a gwylio", "watchedcases-card-title": "Achosion a gwylio",
"case-reference": "Cyfeirnod achos", "case-reference": "Cyfeirnod achos",
"temp-reference": "Cyfeirnod Dros Dro",
"case-address": "Cyfeiriad", "case-address": "Cyfeiriad",
"case-address-not-entered": "heb ei nodi", "case-address-not-entered": "heb ei nodi",
"yourdetails-card-title": "Eich manylion", "yourdetails-card-title": "Eich manylion",
+1
View File
@@ -19,6 +19,7 @@
"myrepresentations-card-title": "My representations", "myrepresentations-card-title": "My representations",
"watchedcases-card-title": "Watched cases", "watchedcases-card-title": "Watched cases",
"case-reference": "Case reference", "case-reference": "Case reference",
"temp-reference": "Temporary reference",
"case-address": "Address", "case-address": "Address",
"case-address-not-entered": "not entered", "case-address-not-entered": "not entered",
"yourdetails-card-title": "Your details", "yourdetails-card-title": "Your details",
+3 -1
View File
@@ -249,7 +249,7 @@ const authOptions = (locale, req, res) => {
}; };
}; };
export default (req, res) => { const NextAuthPEDW = (req, res) => {
//console.log("----------", authOptions(req.cookies["pedw_locale"])); //console.log("----------", authOptions(req.cookies["pedw_locale"]));
//console.log("----------", //console.log("----------",
@@ -259,3 +259,5 @@ export default (req, res) => {
authOptions(req.cookies["pedw_locale"], req, res) authOptions(req.cookies["pedw_locale"], req, res)
); );
}; };
export default NextAuthPEDW;