16580 contact fields for owners and tenants

This commit is contained in:
2025-06-11 18:26:14 +01:00
parent 5fc3b3867c
commit 89f1691c8f
4 changed files with 99 additions and 42 deletions
+83 -35
View File
@@ -748,7 +748,7 @@ const RenderDatePicker = ({
: value : value
: null : null
} //{parseISO(value) || null} } //{parseISO(value) || null}
className="govuk-input govuk-input--width-10" className="govuk-input govuk-input--width-12"
minDate={minDate} minDate={minDate}
maxDate={maxDate} maxDate={maxDate}
autoComplete="off" autoComplete="off"
@@ -2179,7 +2179,8 @@ const RenderFileUpload = (field) => {
).then((data) => { ).then((data) => {
console.log(data); console.log(data);
let buildAppealFilesArray = []; let buildAppealFilesArray = [];
let values = field.form.appealForm.values; //let values = field.form.appealForm.values;
let values = field.props.form.appealForm.values;
let filesUploadObj = renamedAcceptedFiles; let filesUploadObj = renamedAcceptedFiles;
for (let key in filesUploadObj) { for (let key in filesUploadObj) {
@@ -2434,6 +2435,18 @@ const RenderSubFields = ({ fields, meta: { touched, error }, ...custom }) => {
const required = (value) => const required = (value) =>
value ? undefined : t("newappeal:is-required-label"); value ? undefined : t("newappeal:is-required-label");
const email = (value) => {
let errors;
const emailRegex =
/(?:[a-z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+\/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])/gi;
if (!emailRegex.test(value)) {
errors = t("newappeal:invalid-email-address-errormsg");
}
return errors;
};
//fields.push({}); //fields.push({});
fields.length == 0 && fields.push({}); fields.length == 0 && fields.push({});
return ( return (
@@ -2445,40 +2458,75 @@ const RenderSubFields = ({ fields, meta: { touched, error }, ...custom }) => {
</h4> </h4>
<div className="fieldArrayContainer"> <div className="fieldArrayContainer">
<Field <div className="govuk-grid-column-full">
id={`${member}.${fields.name}`} <div
name={`${member}.${fields.name}`} className="gouk-grid-row"
type="text" style={{
component={RenderTextfield} display: "flex",
validate={[checkValue]} marginBottom: "20px",
label={ }}
subTitle == "owners" >
? "Owner name" <Field
: "Tenant name" id={`${member}.${fields.name}_firstname`}
} name={`${member}.${fields.name}_firstname`}
className="govuk-input govuk-input--width-10" type="text"
showErrorBottom={true} component={RenderTextfield}
/> validate={[checkValue]}
<Field label={"First name"}
name={`${member}.dateserved`} className="govuk-input govuk-input--width-12"
type="text" showErrorBottom={true}
component={RenderDatePicker} />
label="Date served " <Field
dateStart={"-6m"} id={`${member}.${fields.name}_lastname`}
dateEnd={"0"} name={`${member}.${fields.name}_lastname`}
validate={[required]} type="text"
className="govuk-input govuk-input--width-10" component={RenderTextfield}
showErrorBottom={true} validate={[checkValue]}
/> label={"Last name"}
className="govuk-input govuk-input--width-12"
<button showErrorBottom={true}
type="button" />
title="Remove" </div>
onClick={() => fields.remove(index)} <div
className="govuk-button fieldArrayDelete" className="gouk-grid-row"
style={{ display: "flex" }}
>
<Field
id={`${member}.${fields.name}_email`}
name={`${member}.${fields.name}_email`}
type="text"
component={RenderTextfield}
validate={[email]}
label={"Email"}
className="govuk-input govuk-input--width-12"
showErrorBottom={true}
/>
<Field
name={`${member}.dateserved`}
type="text"
component={RenderDatePicker}
label="Date served "
dateStart={"-6m"}
dateEnd={"0"}
validate={[required]}
className="govuk-input govuk-input--width-12"
showErrorBottom={true}
/>
</div>
</div>
<div
className="gouk-grid-row"
style={{ display: "flex" }}
> >
X <button
</button> type="button"
title="Remove"
onClick={() => fields.remove(index)}
className="govuk-button fieldArrayDelete"
>
X
</button>
</div>
</div> </div>
</div> </div>
))} ))}
+12 -5
View File
@@ -317,11 +317,11 @@ let BuildCheckRow = (props) => {
datafieldname[0].value datafieldname[0].value
].map((tenant, index) => { ].map((tenant, index) => {
console.log( console.log(
typeof tenant.pinswg_owners typeof tenant.pinswg_owners_firstname
); );
return typeof tenant.pinswg_owners != return typeof tenant.pinswg_owners_firstname !=
"undefined" || "undefined" ||
typeof tenant.pinswg_agriculturaltenantname != typeof tenant.pinswg_agriculturaltenantname_firstname !=
"undefined" ? ( "undefined" ? (
<div <div
key={index} key={index}
@@ -330,8 +330,15 @@ let BuildCheckRow = (props) => {
}} }}
> >
<div className="govuk-!-width-one-half"> <div className="govuk-!-width-one-half">
{tenant.pinswg_agriculturaltenantname || {tenant?.pinswg_agriculturaltenantname_firstname &&
tenant.pinswg_owners} tenant.pinswg_agriculturaltenantname_firstname +
" " +
tenant.pinswg_agriculturaltenantname_lastname}
{tenant?.pinswg_owners_firstname &&
tenant.pinswg_owners_firstname +
" " +
tenant.pinswg_owners_lastname}
</div> </div>
<div className="govuk-!-width-one-half"> <div className="govuk-!-width-one-half">
Served:{" "} Served:{" "}
+2 -1
View File
@@ -119,5 +119,6 @@
"previously-added-files": "Ffeiliau wedi'u llwytho i fyny", "previously-added-files": "Ffeiliau wedi'u llwytho i fyny",
"new-appeal-finalising-heading": "Cwblhau cyflwyniad eich apêl", "new-appeal-finalising-heading": "Cwblhau cyflwyniad eich apêl",
"new-appeal-finalising-label": "Wrthi'n uwchlwytho ffeiliau ar hyn o bryd a chwblhau eich cyflwyniad apêl", "new-appeal-finalising-label": "Wrthi'n uwchlwytho ffeiliau ar hyn o bryd a chwblhau eich cyflwyniad apêl",
"new-appeal-wait-label": "Arhoswch os gwelwch yn dda" "new-appeal-wait-label": "Arhoswch os gwelwch yn dda",
"invalid-email-address-errormsg": "Cyfeiriad e-bost annilys"
} }
+2 -1
View File
@@ -119,5 +119,6 @@
"previously-added-files": "Uploaded files", "previously-added-files": "Uploaded files",
"new-appeal-finalising-heading": "Finalising your appeal submission", "new-appeal-finalising-heading": "Finalising your appeal submission",
"new-appeal-finalising-label": "Currently uploading files and finalising your appeal submission", "new-appeal-finalising-label": "Currently uploading files and finalising your appeal submission",
"new-appeal-wait-label": "Please wait" "new-appeal-wait-label": "Please wait",
"invalid-email-address-errormsg": "Invalid email address"
} }