Merged PR 2064: update language delimeter to >>>

Related work items: #21187
This commit is contained in:
Robert Bond
2026-01-27 12:01:12 +00:00
6 changed files with 467 additions and 481 deletions
+3 -2
View File
@@ -32,7 +32,7 @@ CRMURL_VERSION = "v8.2"
# # //New PreProd # # //New PreProd
# CLIENT_ID = ab6c4678-b31a-4eb3-b429-e039120e488a # CLIENT_ID = ab6c4678-b31a-4eb3-b429-e039120e488a
# CLIENT_SECRET = V288Q~P1lFMvvX9Xnkx2pLixK~GOREH983Owqc1E # CLIENT_SECRET = VWY8Q~9EtRzGXpd8Xs~5OS1fej2IyVJ8JgTMncw3
# RELAY_ROOT = https://ar-ns-lz-pedw-ppe-uks-01.servicebus.windows.net/ar-hc-lz-pedw-ppe-uks-01/ # RELAY_ROOT = https://ar-ns-lz-pedw-ppe-uks-01.servicebus.windows.net/ar-hc-lz-pedw-ppe-uks-01/
# RELAYURI = "ar-ns-lz-pedw-ppe-uks-01.servicebus.windows.net" # RELAYURI = "ar-ns-lz-pedw-ppe-uks-01.servicebus.windows.net"
# RELAYPATH = "ar-hc-lz-pedw-ppe-uks-01" # RELAYPATH = "ar-hc-lz-pedw-ppe-uks-01"
@@ -53,7 +53,7 @@ CRMURL_VERSION = "v8.2"
# //New Prod # //New Prod
# CLIENT_ID = 3e4141a3-1fbd-454e-98f0-7f3a4f14a3cc # CLIENT_ID = 3e4141a3-1fbd-454e-98f0-7f3a4f14a3cc
# CLIENT_SECRET = tFk8Q~E.R-HFjROTu1sRKqwb_ONzy05uPYoF6awR # CLIENT_SECRET = ULC8Q~fZiXm0.teVLlZ_7LjxBOj2vIsWSApu2bAq
# RELAY_ROOT = https://ar-ns-lz-pedw-prod-uks-01.servicebus.windows.net/ar-hc-lz-pedw-prod-uks-01/ # RELAY_ROOT = https://ar-ns-lz-pedw-prod-uks-01.servicebus.windows.net/ar-hc-lz-pedw-prod-uks-01/
# RELAYURI = "ar-ns-lz-pedw-prod-uks-01.servicebus.windows.net" # RELAYURI = "ar-ns-lz-pedw-prod-uks-01.servicebus.windows.net"
# RELAYPATH = "ar-hc-lz-pedw-prod-uks-01" # RELAYPATH = "ar-hc-lz-pedw-prod-uks-01"
@@ -113,6 +113,7 @@ CRMURL_VERSION = "v8.2"
//GOOGLE_TAG_MANAGER = GTM-T78CBC3 //GOOGLE_TAG_MANAGER = GTM-T78CBC3
GOOGLE_TAG_MANAGER = G-GTWW3JT03Z GOOGLE_TAG_MANAGER = G-GTWW3JT03Z
SHOWLOGIN = true SHOWLOGIN = true
SHOWREPRESENTATIONS = true SHOWREPRESENTATIONS = true
SHOWFILEUPLOAD = "false" SHOWFILEUPLOAD = "false"
+34 -33
View File
@@ -140,9 +140,9 @@ let MakeRepresentation = (props) => {
const pad = (num) => String(num).padStart(2, "0"); const pad = (num) => String(num).padStart(2, "0");
const dateStr = `${now.getFullYear()}-${pad(now.getMonth() + 1)}-${pad( const dateStr = `${now.getFullYear()}-${pad(now.getMonth() + 1)}-${pad(
now.getDate() now.getDate(),
)}-${pad(now.getHours())}:${pad(now.getMinutes())}:${pad( )}-${pad(now.getHours())}:${pad(now.getMinutes())}:${pad(
now.getSeconds() now.getSeconds(),
)}`; )}`;
const repCap = repCapMap[values.representationCapacity] || ""; const repCap = repCapMap[values.representationCapacity] || "";
@@ -154,7 +154,7 @@ let MakeRepresentation = (props) => {
const namePart = isLPA const namePart = isLPA
? sanitize(values.onBehalfOfLPA || "") ? sanitize(values.onBehalfOfLPA || "")
: `${sanitize(values.lastname || "")}_${sanitize( : `${sanitize(values.lastname || "")}_${sanitize(
values.firstname || "" values.firstname || "",
)}`; )}`;
values.repfile_name = values.repfile_name =
@@ -203,7 +203,7 @@ let MakeRepresentation = (props) => {
if (shouldIncludeInterested) { if (shouldIncludeInterested) {
capacityOptionsArr.push( capacityOptionsArr.push(
t("myrepresentations:capacity-options-arr-interested") t("myrepresentations:capacity-options-arr-interested"),
); );
} }
@@ -263,25 +263,26 @@ let MakeRepresentation = (props) => {
const isDNS = appealType === 846040011; const isDNS = appealType === 846040011;
const isSIPS = appealType === 846040002; const isSIPS = appealType === 846040002;
const isIP = true;
// Determine key dates based on appeal type // Determine key dates based on appeal type
const startDate = new Date( const startDate = new Date(
isDNS isDNS
? detailsObj.pinswg_applicationacceptedasvalid ? detailsObj.pinswg_applicationacceptedasvalid
: detailsObj.pinswg_startdate || detailsObj.pinswg_startdates : detailsObj.pinswg_startdate || detailsObj.pinswg_startdates,
); );
const questionnaireDate = new Date( const questionnaireDate = new Date(
isDNS isDNS
? detailsObj.pinswg_endofrepresentationperiod ? detailsObj.pinswg_endofrepresentationperiod
: detailsObj.pinswg_questionnaireduedate : detailsObj.pinswg_questionnaireduedate,
); );
questionnaireDate.setHours(23, 59, 59, 999); questionnaireDate.setHours(23, 59, 59, 999);
const finalCommentsDate = new Date( const finalCommentsDate = new Date(
isDNS isDNS
? detailsObj.pinswg_endofrepresentationperiod ? detailsObj.pinswg_endofrepresentationperiod
: detailsObj.pinswg_finalcommentsduedate : detailsObj.pinswg_finalcommentsduedate,
); );
finalCommentsDate.setHours(23, 59, 59, 999); finalCommentsDate.setHours(23, 59, 59, 999);
@@ -289,7 +290,7 @@ let MakeRepresentation = (props) => {
isDNS isDNS
? detailsObj.pinswg_endofrepresentationperiod ? detailsObj.pinswg_endofrepresentationperiod
: detailsObj.pinswg_statementduedate || : detailsObj.pinswg_statementduedate ||
detailsObj.pinswg_statementsduedate detailsObj.pinswg_statementsduedate,
); );
statementDueDate.setHours(23, 59, 59, 999); statementDueDate.setHours(23, 59, 59, 999);
@@ -446,7 +447,7 @@ let MakeRepresentation = (props) => {
case "apelydd": case "apelydd":
case "apelydd": case "apelydd":
case t( case t(
"myrepresentations:capacity-options-arr-appellant" "myrepresentations:capacity-options-arr-appellant",
).toLowerCase(): { ).toLowerCase(): {
const Component = const Component =
appealType === 846040002 appealType === 846040002
@@ -456,7 +457,7 @@ let MakeRepresentation = (props) => {
<Component <Component
{...commonProps} {...commonProps}
appellantApplicantRepresentationArr={buildRepsArr( appellantApplicantRepresentationArr={buildRepsArr(
detailsObj detailsObj,
)} )}
/> />
); );
@@ -468,7 +469,7 @@ let MakeRepresentation = (props) => {
<RepLPA <RepLPA
{...commonProps} {...commonProps}
appellantApplicantRepresentationArr={buildRepsArr( appellantApplicantRepresentationArr={buildRepsArr(
detailsObj detailsObj,
)} )}
setShowQuestionnaireSection={ setShowQuestionnaireSection={
setShowQuestionnaireSection setShowQuestionnaireSection
@@ -483,7 +484,7 @@ let MakeRepresentation = (props) => {
case "asiant": case "asiant":
case "asiant": case "asiant":
case t( case t(
"myrepresentations:capacity-options-arr-agent" "myrepresentations:capacity-options-arr-agent",
).toLowerCase(): { ).toLowerCase(): {
const Component = const Component =
appealType === 846040002 ? ConsultationAgent : RepAgent; appealType === 846040002 ? ConsultationAgent : RepAgent;
@@ -491,7 +492,7 @@ let MakeRepresentation = (props) => {
<Component <Component
{...commonProps} {...commonProps}
appellantApplicantRepresentationArr={buildRepsArr( appellantApplicantRepresentationArr={buildRepsArr(
detailsObj detailsObj,
)} )}
/> />
); );
@@ -499,7 +500,7 @@ let MakeRepresentation = (props) => {
case "interestedparty": case "interestedparty":
case t( case t(
"myrepresentations:capacity-options-arr-interested" "myrepresentations:capacity-options-arr-interested",
).toLowerCase(): { ).toLowerCase(): {
const Component = const Component =
appealType === 846040002 appealType === 846040002
@@ -509,7 +510,7 @@ let MakeRepresentation = (props) => {
<Component <Component
{...commonProps} {...commonProps}
interestedPersonRepresentationArr={buildRepsArr( interestedPersonRepresentationArr={buildRepsArr(
detailsObj detailsObj,
)} )}
/> />
); );
@@ -621,7 +622,7 @@ let MakeRepresentation = (props) => {
const updateRepresentation = async ( const updateRepresentation = async (
values, values,
sendSavedEmail, sendSavedEmail,
useSaveStatus useSaveStatus,
) => { ) => {
const { const {
appealType: appealTypeProp, appealType: appealTypeProp,
@@ -724,7 +725,7 @@ let MakeRepresentation = (props) => {
} }
return acc; return acc;
}, },
{} {},
); );
// Normalize "Yes"/"No" to booleans // Normalize "Yes"/"No" to booleans
@@ -747,7 +748,7 @@ let MakeRepresentation = (props) => {
templateId, templateId,
loggedinUserEmail, loggedinUserEmail,
personalisation, personalisation,
reference reference,
); );
} }
}; };
@@ -838,8 +839,8 @@ let MakeRepresentation = (props) => {
router.query?.state === "edit" router.query?.state === "edit"
? props.props.currentView.representationCapacity ? props.props.currentView.representationCapacity
: isLPA : isLPA
? "LPA" ? "LPA"
: values.representationCapacity; : values.representationCapacity;
Object.assign(values, { Object.assign(values, {
...formValues, ...formValues,
@@ -915,7 +916,7 @@ let MakeRepresentation = (props) => {
showQuestionnaireSection < questionnaireCount showQuestionnaireSection < questionnaireCount
) { ) {
setShowQuestionnaireSection( setShowQuestionnaireSection(
showQuestionnaireSection + 1 showQuestionnaireSection + 1,
); );
updateRepresentation(values, false, false); updateRepresentation(values, false, false);
} else { } else {
@@ -948,7 +949,7 @@ let MakeRepresentation = (props) => {
generateRepPDF( generateRepPDF(
values, values,
props.props.accountDetails.containerID, props.props.accountDetails.containerID,
currentView.caseReference.currentReference currentView.caseReference.currentReference,
).then((data) => { ).then((data) => {
if (data.status === "success") { if (data.status === "success") {
values = updateLinks(values); values = updateLinks(values);
@@ -967,7 +968,7 @@ let MakeRepresentation = (props) => {
(file) => (file) =>
file && file &&
typeof file === "object" && typeof file === "object" &&
Object.keys(file).length > 0 Object.keys(file).length > 0,
) )
.filter((file) => file.name !== undefined); .filter((file) => file.name !== undefined);
@@ -1002,7 +1003,7 @@ let MakeRepresentation = (props) => {
dataObj, dataObj,
[{}], [{}],
updatedValues.containerID, updatedValues.containerID,
`${props.caseReference}/${dataObj.repfile_name}` `${props.caseReference}/${dataObj.repfile_name}`,
); );
}; };
@@ -1026,7 +1027,7 @@ let MakeRepresentation = (props) => {
return formatDates( return formatDates(
detailsObj.pinswg_questionnaireduedate || detailsObj.pinswg_questionnaireduedate ||
detailsObj.pinswg_endofrepresentationperiod || detailsObj.pinswg_endofrepresentationperiod ||
detailsObj.pinswg_consultationclose detailsObj.pinswg_consultationclose,
); );
} }
return "N/A"; return "N/A";
@@ -1039,7 +1040,7 @@ let MakeRepresentation = (props) => {
{formatDates( {formatDates(
detailsObj.pinswg_statementduedate || detailsObj.pinswg_statementduedate ||
detailsObj.pinswg_statementsduedate || detailsObj.pinswg_statementsduedate ||
detailsObj.pinswg_endofrepresentationperiod detailsObj.pinswg_endofrepresentationperiod,
)} )}
</span> </span>
</div> </div>
@@ -1113,10 +1114,10 @@ let MakeRepresentation = (props) => {
<h1 className="govuk-heading-l"> <h1 className="govuk-heading-l">
{appealIsConsultation {appealIsConsultation
? t( ? t(
"myrepresentations:make-a-consultation-on-label" "myrepresentations:make-a-consultation-on-label",
) )
: t( : t(
"myrepresentations:make-a-representation-on-label" "myrepresentations:make-a-representation-on-label",
)}{" "} )}{" "}
{currentView.caseReference.currentReference}{" "} {currentView.caseReference.currentReference}{" "}
</h1> </h1>
@@ -1130,17 +1131,17 @@ let MakeRepresentation = (props) => {
<div className="card-body"> <div className="card-body">
<h2 className="govuk-heading-s"> <h2 className="govuk-heading-s">
{t( {t(
"myrepresentations:timetable-title" "myrepresentations:timetable-title",
)} )}
</h2> </h2>
<div className="govuk-summary-list"> <div className="govuk-summary-list">
<div className="govuk-body-s"> <div className="govuk-body-s">
{appealIsLocalImpact {appealIsLocalImpact
? t( ? t(
"myrepresentations:local-impact-report" "myrepresentations:local-impact-report",
) )
: t( : t(
"myrepresentations:questionnaire-due-label" "myrepresentations:questionnaire-due-label",
)} )}
:{" "} :{" "}
<span className="govuk-body-s"> <span className="govuk-body-s">
@@ -1210,11 +1211,11 @@ const selector = formValueSelector("representationForm");
export default connect( export default connect(
mapStateToProps, mapStateToProps,
mapDispatchToProps mapDispatchToProps,
)( )(
reduxForm({ reduxForm({
form: "representationForm", form: "representationForm",
destroyOnUnmount: false, destroyOnUnmount: false,
enableReinitialize: true, enableReinitialize: true,
})(MakeRepresentation) })(MakeRepresentation),
); );
+271 -277
View File
File diff suppressed because it is too large Load Diff
+14
View File
@@ -79,3 +79,17 @@ export function linkedCasesList(linkedCasesReference) {
</> </>
); );
} }
export const getBilingualText = (value, locale) => {
if (!value) return "";
// Prefer new delimiter if present
const delimiter = value.includes(">>>") ? ">>>" : ";";
// No delimiter at all → return whole string
if (!value.includes(delimiter)) return value;
const [en, cy] = value.split(delimiter);
return locale === "cy" ? (cy ?? en) : (en ?? cy);
};
+126 -150
View File
@@ -7,6 +7,7 @@ import transLookup from "../../../data/lookuptranslations.json";
import GoogleMapComponent from "../../mapping/"; import GoogleMapComponent from "../../mapping/";
import OSPoint from "ospoint"; import OSPoint from "ospoint";
import { getBilingualText } from "../summary/utils/helpers";
const Pinswg_dnsid = (props) => { const Pinswg_dnsid = (props) => {
let { t } = useTranslation(); let { t } = useTranslation();
@@ -21,7 +22,7 @@ const Pinswg_dnsid = (props) => {
point = new OSPoint( point = new OSPoint(
detailsObj.pinswg_anticipatedgridreferencenorthingtext, detailsObj.pinswg_anticipatedgridreferencenorthingtext,
detailsObj.pinswg_anticipatedgridreferenceeastingtext detailsObj.pinswg_anticipatedgridreferenceeastingtext,
); );
siteCoords = point.toOSGB36(); siteCoords = point.toOSGB36();
//console.log(siteCoords); //console.log(siteCoords);
@@ -53,36 +54,11 @@ const Pinswg_dnsid = (props) => {
{t("case:summary-project-details-label")} {t("case:summary-project-details-label")}
</h2> </h2>
<p className="govuk-body"> <p className="govuk-body">
{detailsObj.pinswg_projectdescription != null {getBilingualText(
? detailsObj.pinswg_projectdescription.indexOf( detailsObj.pinswg_projectdescription,
";" router.locale,
) < 0 )}
? detailsObj.pinswg_projectdescription
: router.locale == "cy"
? detailsObj.pinswg_projectdescription.split(
";"
)[1]
: detailsObj.pinswg_projectdescription.split(
";"
)[0]
: ""}
</p> </p>
{/* <p className="govuk-body">
{detailsObj.pinswg_projectlocation != null
? detailsObj.pinswg_projectlocation.indexOf(
";"
) < 0
? detailsObj.pinswg_projectlocation
: router.locale == "cy"
? detailsObj.pinswg_projectlocation.split(
";"
)[1]
: detailsObj.pinswg_projectlocation.split(
";"
)[0]
: ""}
</p> */}
</div> </div>
{showMap == "true" && ( {showMap == "true" && (
<div className="govuk-grid-column-one-half"> <div className="govuk-grid-column-one-half">
@@ -136,7 +112,7 @@ const Pinswg_dnsid = (props) => {
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue" "pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] || ] ||
t( t(
"case:summary-no-date-entered-label" "case:summary-no-date-entered-label",
)} )}
</dd> </dd>
</div> </div>
@@ -145,7 +121,7 @@ const Pinswg_dnsid = (props) => {
<div className="govuk-summary-list__row"> <div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key"> <dt className="govuk-summary-list__key">
{t( {t(
"case:summary-case-website-label" "case:summary-case-website-label",
)} )}
</dt> </dt>
<dd className="govuk-summary-list__value"> <dd className="govuk-summary-list__value">
@@ -164,7 +140,7 @@ const Pinswg_dnsid = (props) => {
rel="noreferrer" rel="noreferrer"
href={ href={
detailsObj.pinswg_webaddress.indexOf( detailsObj.pinswg_webaddress.indexOf(
"https://" "https://",
) )
? "https://" + ? "https://" +
detailsObj.pinswg_webaddress detailsObj.pinswg_webaddress
@@ -177,7 +153,7 @@ const Pinswg_dnsid = (props) => {
</a> </a>
) || ) ||
t( t(
"case:summary-no-date-entered-label" "case:summary-no-date-entered-label",
)} )}
</dd> </dd>
</div> </div>
@@ -206,7 +182,7 @@ const Pinswg_dnsid = (props) => {
<div className="govuk-summary-list__row"> <div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key"> <dt className="govuk-summary-list__key">
{t( {t(
"case:summary-eia-required-label" "case:summary-eia-required-label",
)} )}
</dt> </dt>
<dd className="govuk-summary-list__value"> <dd className="govuk-summary-list__value">
@@ -217,13 +193,13 @@ const Pinswg_dnsid = (props) => {
"pinswg_eiarequired@OData.Community.Display.V1.FormattedValue" "pinswg_eiarequired@OData.Community.Display.V1.FormattedValue"
] + ] +
'")].value_cy', '")].value_cy',
transLookup transLookup,
) )
: detailsObj[ : detailsObj[
"pinswg_eiarequired@OData.Community.Display.V1.FormattedValue" "pinswg_eiarequired@OData.Community.Display.V1.FormattedValue"
] || ] ||
t( t(
"case:summary-to-be-confirmed-label" "case:summary-to-be-confirmed-label",
)} )}
</dd> </dd>
</div> </div>
@@ -247,7 +223,7 @@ const Pinswg_dnsid = (props) => {
"pinswg_choiceofprocedure@OData.Community.Display.V1.FormattedValue" "pinswg_choiceofprocedure@OData.Community.Display.V1.FormattedValue"
] || ] ||
t( t(
"case:summary-to-be-confirmed-label" "case:summary-to-be-confirmed-label",
)} )}
</dd> </dd>
</div> </div>
@@ -291,7 +267,7 @@ const Pinswg_dnsid = (props) => {
<div className="govuk-summary-list__row"> <div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key"> <dt className="govuk-summary-list__key">
{t( {t(
"case:summary-type-of-event-label" "case:summary-type-of-event-label",
)} )}
</dt> </dt>
<dd className="govuk-summary-list__value"> <dd className="govuk-summary-list__value">
@@ -314,25 +290,25 @@ const Pinswg_dnsid = (props) => {
<div className="govuk-summary-list__row"> <div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key"> <dt className="govuk-summary-list__key">
{t( {t(
"case:summary-start-event-date-label" "case:summary-start-event-date-label",
)} )}
</dt> </dt>
<dd className="govuk-summary-list__value"> <dd className="govuk-summary-list__value">
{_.has( {_.has(
detailsObj, detailsObj,
"pinswg_startdateofevent" "pinswg_startdateofevent",
) )
? !_.isEmpty( ? !_.isEmpty(
detailsObj.pinswg_startdateofevent detailsObj.pinswg_startdateofevent,
) )
? formatDates( ? formatDates(
detailsObj.pinswg_startdateofevent detailsObj.pinswg_startdateofevent,
) )
: t( : t(
"case:summary-no-information-to-date-label" "case:summary-no-information-to-date-label",
) )
: t( : t(
"case:summary-no-information-to-date-label" "case:summary-no-information-to-date-label",
)} )}
</dd> </dd>
</div> </div>
@@ -343,19 +319,19 @@ const Pinswg_dnsid = (props) => {
<dd className="govuk-summary-list__value"> <dd className="govuk-summary-list__value">
{_.has( {_.has(
detailsObj, detailsObj,
"pinswg_dateeventrequested" "pinswg_dateeventrequested",
) )
? !_.isEmpty( ? !_.isEmpty(
detailsObj.pinswg_dateeventrequested detailsObj.pinswg_dateeventrequested,
) )
? formatDates( ? formatDates(
detailsObj.pinswg_dateeventrequested detailsObj.pinswg_dateeventrequested,
) )
: t( : t(
"case:summary-to-be-confirmed-label" "case:summary-to-be-confirmed-label",
) )
: t( : t(
"case:summary-to-be-confirmed-label" "case:summary-to-be-confirmed-label",
)} )}
</dd> </dd>
</div> </div>
@@ -379,7 +355,7 @@ const Pinswg_dnsid = (props) => {
"pinswg_decision@OData.Community.Display.V1.FormattedValue" "pinswg_decision@OData.Community.Display.V1.FormattedValue"
] || ] ||
t( t(
"case:summary-no-information-to-date-label" "case:summary-no-information-to-date-label",
)} )}
<br /> <br />
@@ -394,25 +370,25 @@ const Pinswg_dnsid = (props) => {
<div className="govuk-summary-list__row"> <div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key"> <dt className="govuk-summary-list__key">
{t( {t(
"case:summary-decision-date-label" "case:summary-decision-date-label",
)} )}
</dt> </dt>
<dd className="govuk-summary-list__value"> <dd className="govuk-summary-list__value">
{_.has( {_.has(
detailsObj, detailsObj,
"pinswg_dateofdecision" "pinswg_dateofdecision",
) )
? !_.isEmpty( ? !_.isEmpty(
detailsObj.pinswg_dateofdecision detailsObj.pinswg_dateofdecision,
) )
? formatDates( ? formatDates(
detailsObj.pinswg_dateofdecision detailsObj.pinswg_dateofdecision,
) )
: t( : t(
"case:summary-no-information-to-date-label" "case:summary-no-information-to-date-label",
) )
: t( : t(
"case:summary-no-information-to-date-label" "case:summary-no-information-to-date-label",
)} )}
</dd> </dd>
</div> </div>
@@ -420,7 +396,7 @@ const Pinswg_dnsid = (props) => {
<div className="govuk-summary-list__row"> <div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key"> <dt className="govuk-summary-list__key">
{t( {t(
"case:summary-case-link-status-label" "case:summary-case-link-status-label",
)} )}
</dt> </dt>
<dd className="govuk-summary-list__value"> <dd className="govuk-summary-list__value">
@@ -430,13 +406,13 @@ const Pinswg_dnsid = (props) => {
? casesObj.numberofchildincidents > ? casesObj.numberofchildincidents >
0 0
? t( ? t(
"case:summary-case-link-status-linked" "case:summary-case-link-status-linked",
) )
: t( : t(
"case:summary-case-link-status-not-linked" "case:summary-case-link-status-not-linked",
) )
: t( : t(
"case:summary-case-link-status-not-linked" "case:summary-case-link-status-not-linked",
)} )}
</dd> </dd>
</div> </div>
@@ -445,13 +421,13 @@ const Pinswg_dnsid = (props) => {
<div className="govuk-summary-list__row"> <div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key"> <dt className="govuk-summary-list__key">
{t( {t(
"case:summary-linked-cases-label" "case:summary-linked-cases-label",
)} )}
</dt> </dt>
<dd className="govuk-summary-list__value"> <dd className="govuk-summary-list__value">
{linkedCasesList( {linkedCasesList(
props.currentView props.currentView
.linkedCaseReferences .linkedCaseReferences,
)} )}
</dd> </dd>
</div> </div>
@@ -515,126 +491,126 @@ const Pinswg_dnsid = (props) => {
<div className="govuk-summary-list__row"> <div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key"> <dt className="govuk-summary-list__key">
{t( {t(
"case:summary-written-acceptance-of-notice" "case:summary-written-acceptance-of-notice",
)} )}
</dt> </dt>
<dd className="govuk-summary-list__value"> <dd className="govuk-summary-list__value">
{_.has( {_.has(
detailsObj, detailsObj,
"pinswg_writtenacceptanceofnotification" "pinswg_writtenacceptanceofnotification",
) )
? !_.isEmpty( ? !_.isEmpty(
detailsObj.pinswg_writtenacceptanceofnotification detailsObj.pinswg_writtenacceptanceofnotification,
) )
? formatDates( ? formatDates(
detailsObj.pinswg_writtenacceptanceofnotification detailsObj.pinswg_writtenacceptanceofnotification,
) )
: t( : t(
"case:summary-awaiting-information-label" "case:summary-awaiting-information-label",
) )
: t( : t(
"case:summary-awaiting-information-label" "case:summary-awaiting-information-label",
)} )}
</dd> </dd>
</div> </div>
<div className="govuk-summary-list__row"> <div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key"> <dt className="govuk-summary-list__key">
{t( {t(
"case:summary-deadline-for-submission-of-application" "case:summary-deadline-for-submission-of-application",
)} )}
</dt> </dt>
<dd className="govuk-summary-list__value"> <dd className="govuk-summary-list__value">
{_.has( {_.has(
detailsObj, detailsObj,
"pinswg_deadlineforsubmissionofapplication" "pinswg_deadlineforsubmissionofapplication",
) )
? !_.isEmpty( ? !_.isEmpty(
detailsObj.pinswg_deadlineforsubmissionofapplication detailsObj.pinswg_deadlineforsubmissionofapplication,
) )
? formatDates( ? formatDates(
detailsObj.pinswg_deadlineforsubmissionofapplication detailsObj.pinswg_deadlineforsubmissionofapplication,
) )
: t( : t(
"case:summary-awaiting-information-label" "case:summary-awaiting-information-label",
) )
: t( : t(
"case:summary-awaiting-information-label" "case:summary-awaiting-information-label",
)} )}
</dd> </dd>
</div> </div>
<div className="govuk-summary-list__row"> <div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key"> <dt className="govuk-summary-list__key">
{t( {t(
"case:summary-date-of-submission-of-application" "case:summary-date-of-submission-of-application",
)} )}
</dt> </dt>
<dd className="govuk-summary-list__value"> <dd className="govuk-summary-list__value">
{_.has( {_.has(
detailsObj, detailsObj,
"pinswg_dateofsubmissionofapplication" "pinswg_dateofsubmissionofapplication",
) )
? !_.isEmpty( ? !_.isEmpty(
detailsObj.pinswg_dateofsubmissionofapplication detailsObj.pinswg_dateofsubmissionofapplication,
) )
? formatDates( ? formatDates(
detailsObj.pinswg_dateofsubmissionofapplication detailsObj.pinswg_dateofsubmissionofapplication,
) )
: t( : t(
"case:summary-awaiting-information-label" "case:summary-awaiting-information-label",
) )
: t( : t(
"case:summary-awaiting-information-label" "case:summary-awaiting-information-label",
)} )}
</dd> </dd>
</div> </div>
{_.has( {_.has(
detailsObj, detailsObj,
"pinswg_applicationacceptedasvalid" "pinswg_applicationacceptedasvalid",
) && ) &&
!_.isEmpty( !_.isEmpty(
detailsObj.pinswg_applicationrejectedasinvalid detailsObj.pinswg_applicationrejectedasinvalid,
) && ( ) && (
<div className="govuk-summary-list__row"> <div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key"> <dt className="govuk-summary-list__key">
{t( {t(
"case:summary-application-accepted-as-valid" "case:summary-application-accepted-as-valid",
)} )}
</dt> </dt>
<dd className="govuk-summary-list__value"> <dd className="govuk-summary-list__value">
{!_.isEmpty( {!_.isEmpty(
detailsObj.pinswg_applicationacceptedasvalid detailsObj.pinswg_applicationacceptedasvalid,
) )
? formatDates( ? formatDates(
detailsObj.pinswg_applicationacceptedasvalid detailsObj.pinswg_applicationacceptedasvalid,
) )
: t( : t(
"case:summary-awaiting-information-label" "case:summary-awaiting-information-label",
)} )}
</dd> </dd>
</div> </div>
)} )}
{_.has( {_.has(
detailsObj, detailsObj,
"pinswg_applicationrejectedasinvalid" "pinswg_applicationrejectedasinvalid",
) && ) &&
!_.isEmpty( !_.isEmpty(
detailsObj.pinswg_applicationrejectedasinvalid detailsObj.pinswg_applicationrejectedasinvalid,
) && ( ) && (
<div className="govuk-summary-list__row"> <div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key"> <dt className="govuk-summary-list__key">
{t( {t(
"case:summary-application-rejected-as-invalid" "case:summary-application-rejected-as-invalid",
)} )}
</dt> </dt>
<dd className="govuk-summary-list__value"> <dd className="govuk-summary-list__value">
{!_.isEmpty( {!_.isEmpty(
detailsObj.pinswg_applicationrejectedasinvalid detailsObj.pinswg_applicationrejectedasinvalid,
) )
? formatDates( ? formatDates(
detailsObj.pinswg_applicationrejectedasinvalid detailsObj.pinswg_applicationrejectedasinvalid,
) )
: t( : t(
"case:summary-awaiting-information-label" "case:summary-awaiting-information-label",
)} )}
</dd> </dd>
</div> </div>
@@ -642,51 +618,51 @@ const Pinswg_dnsid = (props) => {
<div className="govuk-summary-list__row"> <div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key"> <dt className="govuk-summary-list__key">
{t( {t(
"case:summary-end-of-representation-period" "case:summary-end-of-representation-period",
)} )}
</dt> </dt>
<dd className="govuk-summary-list__value"> <dd className="govuk-summary-list__value">
{_.has( {_.has(
detailsObj, detailsObj,
"pinswg_endofrepresentationperiod" "pinswg_endofrepresentationperiod",
) )
? !_.isEmpty( ? !_.isEmpty(
detailsObj.pinswg_endofrepresentationperiod detailsObj.pinswg_endofrepresentationperiod,
) )
? formatDates( ? formatDates(
detailsObj.pinswg_endofrepresentationperiod detailsObj.pinswg_endofrepresentationperiod,
) )
: t( : t(
"case:summary-awaiting-information-label" "case:summary-awaiting-information-label",
) )
: t( : t(
"case:summary-awaiting-information-label" "case:summary-awaiting-information-label",
)} )}
</dd> </dd>
</div> </div>
{_.has( {_.has(
detailsObj, detailsObj,
"pinswg_dateofrequesttovarytheapplication" "pinswg_dateofrequesttovarytheapplication",
) && ) &&
!_.isEmpty( !_.isEmpty(
detailsObj.pinswg_dateofrequesttovarytheapplication detailsObj.pinswg_dateofrequesttovarytheapplication,
) && ( ) && (
<div className="govuk-summary-list__row"> <div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key"> <dt className="govuk-summary-list__key">
{t( {t(
"case:summary-date-of-request-to-vary" "case:summary-date-of-request-to-vary",
)} )}
</dt> </dt>
<dd className="govuk-summary-list__value"> <dd className="govuk-summary-list__value">
{!_.isEmpty( {!_.isEmpty(
detailsObj.pinswg_dateofrequesttovarytheapplication detailsObj.pinswg_dateofrequesttovarytheapplication,
) )
? formatDates( ? formatDates(
detailsObj.pinswg_dateofrequesttovarytheapplication detailsObj.pinswg_dateofrequesttovarytheapplication,
) )
: t( : t(
"case:summary-awaiting-information-label" "case:summary-awaiting-information-label",
)} )}
</dd> </dd>
</div> </div>
@@ -694,33 +670,33 @@ const Pinswg_dnsid = (props) => {
{_.has( {_.has(
detailsObj, detailsObj,
"pinswg_confirmrequesttovaryapplication" "pinswg_confirmrequesttovaryapplication",
) && ) &&
!_.isEmpty( !_.isEmpty(
detailsObj.pinswg_confirmrequesttovaryapplication detailsObj.pinswg_confirmrequesttovaryapplication,
) && ) &&
(_.has( (_.has(
detailsObj, detailsObj,
"pinswg_rejectrequesttovaryapplication" "pinswg_rejectrequesttovaryapplication",
) && ) &&
_.isEmpty( _.isEmpty(
detailsObj.pinswg_rejectrequesttovaryapplication detailsObj.pinswg_rejectrequesttovaryapplication,
) ? ( ) ? (
<div className="govuk-summary-list__row"> <div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key"> <dt className="govuk-summary-list__key">
{t( {t(
"case:summary-confirm-request-to-vary-application" "case:summary-confirm-request-to-vary-application",
)} )}
</dt> </dt>
<dd className="govuk-summary-list__value"> <dd className="govuk-summary-list__value">
{!_.isEmpty( {!_.isEmpty(
detailsObj.pinswg_confirmrequesttovaryapplication detailsObj.pinswg_confirmrequesttovaryapplication,
) )
? formatDates( ? formatDates(
detailsObj.pinswg_confirmrequesttovaryapplication detailsObj.pinswg_confirmrequesttovaryapplication,
) )
: t( : t(
"case:summary-awaiting-information-label" "case:summary-awaiting-information-label",
)} )}
</dd> </dd>
</div> </div>
@@ -729,33 +705,33 @@ const Pinswg_dnsid = (props) => {
))} ))}
{_.has( {_.has(
detailsObj, detailsObj,
"pinswg_rejectrequesttovaryapplication" "pinswg_rejectrequesttovaryapplication",
) && ) &&
!_.isEmpty( !_.isEmpty(
detailsObj.pinswg_rejectrequesttovaryapplication detailsObj.pinswg_rejectrequesttovaryapplication,
) && ) &&
(_.has( (_.has(
detailsObj, detailsObj,
"pinswg_confirmrequesttovaryapplication" "pinswg_confirmrequesttovaryapplication",
) && ) &&
_.isEmpty( _.isEmpty(
detailsObj.pinswg_confirmrequesttovaryapplication detailsObj.pinswg_confirmrequesttovaryapplication,
) ? ( ) ? (
<div className="govuk-summary-list__row"> <div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key"> <dt className="govuk-summary-list__key">
{t( {t(
"case:summary-reject-request-to-vary-application" "case:summary-reject-request-to-vary-application",
)} )}
</dt> </dt>
<dd className="govuk-summary-list__value"> <dd className="govuk-summary-list__value">
{!_.isEmpty( {!_.isEmpty(
detailsObj.pinswg_rejectrequesttovaryapplication detailsObj.pinswg_rejectrequesttovaryapplication,
) )
? formatDates( ? formatDates(
detailsObj.pinswg_rejectrequesttovaryapplication detailsObj.pinswg_rejectrequesttovaryapplication,
) )
: t( : t(
"case:summary-awaiting-information-label" "case:summary-awaiting-information-label",
)} )}
</dd> </dd>
</div> </div>
@@ -764,26 +740,26 @@ const Pinswg_dnsid = (props) => {
))} ))}
{_.has( {_.has(
detailsObj, detailsObj,
"pinswg_suspensionstartdates" "pinswg_suspensionstartdates",
) && ) &&
!_.isEmpty( !_.isEmpty(
detailsObj.pinswg_suspensionstartdates detailsObj.pinswg_suspensionstartdates,
) && ( ) && (
<div className="govuk-summary-list__row"> <div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key"> <dt className="govuk-summary-list__key">
{t( {t(
"case:summary-suspension-start-dates" "case:summary-suspension-start-dates",
)} )}
</dt> </dt>
<dd className="govuk-summary-list__value"> <dd className="govuk-summary-list__value">
{!_.isEmpty( {!_.isEmpty(
detailsObj.pinswg_suspensionstartdates detailsObj.pinswg_suspensionstartdates,
) )
? formatDates( ? formatDates(
detailsObj.pinswg_suspensionstartdates detailsObj.pinswg_suspensionstartdates,
) )
: t( : t(
"case:summary-awaiting-information-label" "case:summary-awaiting-information-label",
)} )}
</dd> </dd>
</div> </div>
@@ -792,25 +768,25 @@ const Pinswg_dnsid = (props) => {
<div className="govuk-summary-list__row"> <div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key"> <dt className="govuk-summary-list__key">
{t( {t(
"case:summary-suspension-end-dates" "case:summary-suspension-end-dates",
)} )}
</dt> </dt>
<dd className="govuk-summary-list__value"> <dd className="govuk-summary-list__value">
{_.has( {_.has(
detailsObj, detailsObj,
"pinswg_suspensionenddates" "pinswg_suspensionenddates",
) )
? !_.isEmpty( ? !_.isEmpty(
detailsObj.pinswg_suspensionenddates detailsObj.pinswg_suspensionenddates,
) )
? formatDates( ? formatDates(
detailsObj.pinswg_suspensionenddates detailsObj.pinswg_suspensionenddates,
) )
: t( : t(
"case:summary-awaiting-information-label" "case:summary-awaiting-information-label",
) )
: t( : t(
"case:summary-awaiting-information-label" "case:summary-awaiting-information-label",
)} )}
</dd> </dd>
</div> </div>
@@ -821,19 +797,19 @@ const Pinswg_dnsid = (props) => {
<dd className="govuk-summary-list__value"> <dd className="govuk-summary-list__value">
{_.has( {_.has(
detailsObj, detailsObj,
"pinswg_reportdueby" "pinswg_reportdueby",
) )
? !_.isEmpty( ? !_.isEmpty(
detailsObj.pinswg_reportdueby detailsObj.pinswg_reportdueby,
) )
? formatDates( ? formatDates(
detailsObj.pinswg_reportdueby detailsObj.pinswg_reportdueby,
) )
: t( : t(
"case:summary-awaiting-information-label" "case:summary-awaiting-information-label",
) )
: t( : t(
"case:summary-awaiting-information-label" "case:summary-awaiting-information-label",
)} )}
</dd> </dd>
</div> </div>
@@ -863,50 +839,50 @@ const Pinswg_dnsid = (props) => {
<div className="govuk-summary-list__row"> <div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key"> <dt className="govuk-summary-list__key">
{t( {t(
"case:summary-inspector-report-submission-to-welsh-government" "case:summary-inspector-report-submission-to-welsh-government",
)} )}
</dt> </dt>
<dd className="govuk-summary-list__value"> <dd className="govuk-summary-list__value">
{_.has( {_.has(
detailsObj, detailsObj,
"pinswg_inspectorreportsubmittedtowelshgovernment" "pinswg_inspectorreportsubmittedtowelshgovernment",
) )
? !_.isEmpty( ? !_.isEmpty(
detailsObj.pinswg_inspectorreportsubmittedtowelshgovernment detailsObj.pinswg_inspectorreportsubmittedtowelshgovernment,
) )
? formatDates( ? formatDates(
detailsObj.pinswg_inspectorreportsubmittedtowelshgovernment detailsObj.pinswg_inspectorreportsubmittedtowelshgovernment,
) )
: t( : t(
"case:summary-awaiting-information-label" "case:summary-awaiting-information-label",
) )
: t( : t(
"case:summary-awaiting-information-label" "case:summary-awaiting-information-label",
)} )}
</dd> </dd>
</div> </div>
{_.has( {_.has(
detailsObj, detailsObj,
"pinswg_withdrawndate" "pinswg_withdrawndate",
) && ) &&
!_.isEmpty( !_.isEmpty(
detailsObj.pinswg_withdrawndate detailsObj.pinswg_withdrawndate,
) && ( ) && (
<div className="govuk-summary-list__row"> <div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key"> <dt className="govuk-summary-list__key">
{t( {t(
"case:summary-withdrawn-date" "case:summary-withdrawn-date",
)} )}
</dt> </dt>
<dd className="govuk-summary-list__value"> <dd className="govuk-summary-list__value">
{!_.isEmpty( {!_.isEmpty(
detailsObj.pinswg_withdrawndate detailsObj.pinswg_withdrawndate,
) )
? formatDates( ? formatDates(
detailsObj.pinswg_withdrawndate detailsObj.pinswg_withdrawndate,
) )
: t( : t(
"case:summary-awaiting-information-label" "case:summary-awaiting-information-label",
)} )}
</dd> </dd>
</div> </div>
+19 -19
View File
@@ -100,7 +100,7 @@ export const getSearchDetails = async (searchResultsObj) => {
searchResultsObj = searchResultsObj.value; searchResultsObj = searchResultsObj.value;
const detailsObj = searchResultsObj.map((searchDetail, index) => { const detailsObj = searchResultsObj.map((searchDetail, index) => {
let formMeta = getFormCollectionByID( let formMeta = getFormCollectionByID(
searchDetail.pinswg_appealcasetype searchDetail.pinswg_appealcasetype,
); );
// console.log( // console.log(
// "------------------- Details: ", // "------------------- Details: ",
@@ -117,11 +117,11 @@ export const getSearchDetails = async (searchResultsObj) => {
"pinswg_dnses", "pinswg_dnses",
searchDetail.title, searchDetail.title,
"pinswg_dnsid", "pinswg_dnsid",
searchDetail.incidentid searchDetail.incidentid,
) || { ) || {
"@odata.count": 1, "@odata.count": 1,
"value": [{ "title": searchDetail.title }], "value": [{ "title": searchDetail.title }],
} },
); );
} else { } else {
// formMeta?.LogicalCollectionName && // formMeta?.LogicalCollectionName &&
@@ -131,11 +131,11 @@ export const getSearchDetails = async (searchResultsObj) => {
formMeta.LogicalCollectionName, formMeta.LogicalCollectionName,
searchDetail.title, searchDetail.title,
formMeta.PrimaryIdAttribute, formMeta.PrimaryIdAttribute,
searchDetail.incidentid searchDetail.incidentid,
) || { ) || {
"@odata.count": 1, "@odata.count": 1,
"value": [{ "title": searchDetail.title }], "value": [{ "title": searchDetail.title }],
} },
); );
} }
}); });
@@ -159,7 +159,7 @@ export const getPartSavedDetails = (searchResultsObj) => {
console.log(searchDetail.title); console.log(searchDetail.title);
} else { } else {
let formMeta = getFormCollectionByID( let formMeta = getFormCollectionByID(
searchDetail.pinswg_appealcasetype searchDetail.pinswg_appealcasetype,
); );
// console.log(formMeta); // console.log(formMeta);
detailsArr.push( detailsArr.push(
@@ -167,8 +167,8 @@ export const getPartSavedDetails = (searchResultsObj) => {
formMeta.LogicalCollectionName, formMeta.LogicalCollectionName,
searchDetail.title, searchDetail.title,
formMeta.PrimaryIdAttribute, formMeta.PrimaryIdAttribute,
searchDetail.incidentid searchDetail.incidentid,
) ),
); );
} }
}); });
@@ -307,7 +307,7 @@ export const getSearchDetailsPaged = async (searchResultsObj) => {
formMeta.LogicalCollectionName, // appealTypeName formMeta.LogicalCollectionName, // appealTypeName
null, // caseReference is no longer used in batch null, // caseReference is no longer used in batch
formMeta.PrimaryIdAttribute, // primaryIdAttribute formMeta.PrimaryIdAttribute, // primaryIdAttribute
incidentIDs // pass array of incidentIDs incidentIDs, // pass array of incidentIDs
); );
allDetails.push(...details); allDetails.push(...details);
@@ -323,7 +323,7 @@ export const getProgressObj = (
formObjXML, formObjXML,
titleList, titleList,
mandatoryFieldsData, mandatoryFieldsData,
props props,
) => { ) => {
const parser = new DOMParser(); const parser = new DOMParser();
const BuildFormObj = (formObjXML) => { const BuildFormObj = (formObjXML) => {
@@ -336,7 +336,7 @@ export const getProgressObj = (
"//tabs/tab[" + "//tabs/tab[" +
(index + 1) + (index + 1) +
"]//rows/row/control[not(@parentField)]/..", "]//rows/row/control[not(@parentField)]/..",
doc doc,
); );
return BuildRowObj(sectionXML, titleList[key].value); return BuildRowObj(sectionXML, titleList[key].value);
@@ -376,7 +376,7 @@ export const getProgressObj = (
0) || 0) ||
(_.has(props.props.form.appealForm, "values") && (_.has(props.props.form.appealForm, "values") &&
Object.keys( Object.keys(
props.props.form.appealForm.values props.props.form.appealForm.values,
).filter((k) => k.startsWith("pinswg_fileUpload")) ).filter((k) => k.startsWith("pinswg_fileUpload"))
.length > 0) .length > 0)
: rowCount == formObj[key].fieldsTotal, : rowCount == formObj[key].fieldsTotal,
@@ -401,17 +401,17 @@ export const getProgressObj = (
var parentFieldShowOnValue = xpath.select( var parentFieldShowOnValue = xpath.select(
"//@parentFieldShowOnValue", "//@parentFieldShowOnValue",
doc doc,
); );
var requiredDocumentValue = xpath.select( var requiredDocumentValue = xpath.select(
"//@requiredDocumentValue", "//@requiredDocumentValue",
doc doc,
); );
var requiredDocumentLabel = xpath.select( var requiredDocumentLabel = xpath.select(
"//@requiredDocumentLabel", "//@requiredDocumentLabel",
doc doc,
); );
var hint = xpath.select("//label/@hint", doc); var hint = xpath.select("//label/@hint", doc);
@@ -616,7 +616,7 @@ export const getDetailsProxy = (resultsObj, detailsType) => {
? searchDetail.ticketnumber ? searchDetail.ticketnumber
: searchDetail[ : searchDetail[
"_pinswg_watchedcase_value@OData.Community.Display.V1.FormattedValue" "_pinswg_watchedcase_value@OData.Community.Display.V1.FormattedValue"
] ],
); );
} else { } else {
detailsArr.push( detailsArr.push(
@@ -627,8 +627,8 @@ export const getDetailsProxy = (resultsObj, detailsType) => {
? searchDetail.ticketnumber ? searchDetail.ticketnumber
: searchDetail[ : searchDetail[
"_pinswg_watchedcase_value@OData.Community.Display.V1.FormattedValue" "_pinswg_watchedcase_value@OData.Community.Display.V1.FormattedValue"
] ],
) ),
); );
} }
}); });
@@ -700,7 +700,7 @@ export const updateLinks = (jsonObj) => {
// Before the URL // Before the URL
if (match.index > lastIndex) { if (match.index > lastIndex) {
newNodeContent.push( newNodeContent.push(
currentText.slice(lastIndex, match.index) currentText.slice(lastIndex, match.index),
); );
} }