From b407ac21d00d0a44ee02e96b89288657484063e6 Mon Sep 17 00:00:00 2001
From: rdbsolutions
Date: Mon, 2 Dec 2024 17:06:43 +0000
Subject: [PATCH 1/4] defect 80 able to select "select..."
---
components/account/personaldetails.js | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/components/account/personaldetails.js b/components/account/personaldetails.js
index b8cb9f50..91624656 100644
--- a/components/account/personaldetails.js
+++ b/components/account/personaldetails.js
@@ -173,7 +173,9 @@ const RenderPickList = ({
id={datafieldname}
name={datafieldname}
>
-
+
{Object.keys(optionsArr).map((key, index) => {
return (
- {t("newappeal:new-appeal-complete-paragraph-3")}:
+ {t("newappeal:new-appeal-complete-paragraph-3")}
{t("home:login-contact-email")}
- {t("newappeal:new-appeal-complete-paragraph-4")}:
+ {t("newappeal:new-appeal-complete-paragraph-4")}
{router.locale == "cy" ? (
https://www.llyw.cymru/diweddariad-i-wasanaeth-penderfyniadau-cynllunio-ac-amgylchedd-cymru-pcac
From 7c95f679baf819b50ed60f50c2cba9240ed6a771 Mon Sep 17 00:00:00 2001
From: rdbsolutions
Date: Mon, 2 Dec 2024 18:49:15 +0000
Subject: [PATCH 3/4] max 5 owners or tenants in field arry
---
components/elements/index.js | 81 +++++++++++++++++++++--------
components/newappeal/buildfield.js | 1 +
components/newappeal/buildrow.js | 5 ++
data/formsxml/planningappeals78.xml | 4 +-
4 files changed, 67 insertions(+), 24 deletions(-)
diff --git a/components/elements/index.js b/components/elements/index.js
index 908de2fd..f115d812 100644
--- a/components/elements/index.js
+++ b/components/elements/index.js
@@ -51,12 +51,20 @@ const RenderTextfield = ({
- {touched && error && (
-
- Error:{" "}
- {error}
-
- )}
+ {!custom.hasOwnProperty("showErrorBottom")
+ ? touched &&
+ error && (
+
+
+ Error:
+ {" "}
+ {error}
+
+ )
+ : ""}
+ {custom.hasOwnProperty("showErrorBottom")
+ ? touched &&
+ error && (
+
+
+ Error:
+ {" "}
+ {error}
+
+ )
+ : ""}
>
);
@@ -2037,7 +2059,7 @@ const renderField = ({ input, label, type, meta: { touched, error } }) => (
);
-const RenderSubFields = ({ fields }) => {
+const RenderSubFields = ({ fields, meta: { touched, error }, ...custom }) => {
let { t } = useTranslation();
let subTitle = fields.name.split("pinswg_")[1];
@@ -2045,12 +2067,16 @@ const RenderSubFields = ({ fields }) => {
const checkValue = (value) => {
let errors;
- // Check for emojis using a regular expression
- const emojiRegex =
- /[\u{1F600}-\u{1F64F}\u{1F300}-\u{1F5FF}\u{1F680}-\u{1F6FF}\u{1F700}-\u{1F77F}\u{1F780}-\u{1F7FF}\u{1F800}-\u{1F8FF}\u{1F900}-\u{1F9FF}\u{1FA00}-\u{1FA6F}\u{1FA70}-\u{1FAFF}\u{2600}-\u{26FF}\u{2700}-\u{27BF}\u{2300}-\u{23FF}\u{2B50}\u{1F004}-\u{1F0CF}\u{1F0A0}-\u{1F0A5}\u{1F170}-\u{1F251}]/gu;
+ if (!value) {
+ errors = t("newappeal:is-required-label");
+ } else {
+ // Check for emojis using a regular expression
+ const emojiRegex =
+ /[\u{1F600}-\u{1F64F}\u{1F300}-\u{1F5FF}\u{1F680}-\u{1F6FF}\u{1F700}-\u{1F77F}\u{1F780}-\u{1F7FF}\u{1F800}-\u{1F8FF}\u{1F900}-\u{1F9FF}\u{1FA00}-\u{1FA6F}\u{1FA70}-\u{1FAFF}\u{2600}-\u{26FF}\u{2700}-\u{27BF}\u{2300}-\u{23FF}\u{2B50}\u{1F004}-\u{1F0CF}\u{1F0A0}-\u{1F0A5}\u{1F170}-\u{1F251}]/gu;
- if (emojiRegex.test(value)) {
- errors = "Emojis are not allowed";
+ if (emojiRegex.test(value)) {
+ errors = "Emojis are not allowed";
+ }
}
return errors;
@@ -2065,6 +2091,7 @@ const RenderSubFields = ({ fields }) => {
{subTitle == "owners" ? "Owners" : "Tenant"} #
{index + 1}
+
{
: "Tenant name"
}
className="govuk-input govuk-input--width-10"
+ showErrorBottom={true}
/>
{
dateEnd={"0"}
className="govuk-input govuk-input--width-10"
/>
+
))}
-
+
+ {fields.length < custom.maxSubField && (
+
+ )}
);
};
@@ -2123,6 +2155,7 @@ export const FieldArrayForm = (props) => {
parentFieldShowOnValue,
parentField,
maxFieldLength,
+ maxSubField,
} = props;
var showIfHasParentShowValue =
@@ -2143,7 +2176,11 @@ export const FieldArrayForm = (props) => {
<>
{" "}
{showIfHasParentShowValue && (
-
+
)}
>
);
diff --git a/components/newappeal/buildfield.js b/components/newappeal/buildfield.js
index e0e6361e..6b2e6eb8 100644
--- a/components/newappeal/buildfield.js
+++ b/components/newappeal/buildfield.js
@@ -227,6 +227,7 @@ export default function BuildField(props) {
formProps={props.props.props.props.form}
parentField={props.parentField}
parentFieldShowOnValue={props.parentFieldShowOnValue}
+ maxSubField={props.maxSubField}
/>
);
case "{9EF39988-22BB-4f0b-BBBE-64B5A3748AEE}":
diff --git a/components/newappeal/buildrow.js b/components/newappeal/buildrow.js
index ce8e41db..fa314249 100644
--- a/components/newappeal/buildrow.js
+++ b/components/newappeal/buildrow.js
@@ -34,6 +34,7 @@ export default function BuildRow(props) {
var fieldtype = xpath.select("//@classid", doc);
var validation = xpath.select("//@validation", doc);
var maxFieldLength = xpath.select("//@maxFieldLength", doc);
+ var maxSubField = xpath.select("//@maxsubfield", doc);
var datafieldname = xpath.select("//@datafieldname", doc);
var datafieldcontent = xpath.select(
"//@datafieldcontent",
@@ -74,6 +75,9 @@ export default function BuildRow(props) {
maxFieldLength =
!_.isEmpty(maxFieldLength) && maxFieldLength[0].value;
+ maxSubField =
+ !_.isEmpty(maxSubField) && maxSubField[0].value;
+
parentField =
!_.isEmpty(parentField) && parentField[0].value;
@@ -164,6 +168,7 @@ export default function BuildRow(props) {
setFilesForAppeal={
props.props.setFilesForAppeal
}
+ maxSubField={maxSubField}
/>
);
// } else {
diff --git a/data/formsxml/planningappeals78.xml b/data/formsxml/planningappeals78.xml
index c9b3732b..afb9a268 100644
--- a/data/formsxml/planningappeals78.xml
+++ b/data/formsxml/planningappeals78.xml
@@ -148,7 +148,7 @@
-
+
@@ -160,7 +160,7 @@
-
+
From 499a1e95271e6b88f135102d234bbae7c759cf65 Mon Sep 17 00:00:00 2001
From: rdbsolutions
Date: Mon, 2 Dec 2024 18:50:55 +0000
Subject: [PATCH 4/4] if agent dont change to appellant on submit appeal
---
actions/index.js | 10 +++++--
.../myportal/awaitingsubmissionfromblob.js | 2 --
components/myportal/topthree.js | 2 --
components/newappeal/buildchecksection.js | 4 ++-
.../file/createappealcompletemessage_api.js | 29 +++++++++++++------
5 files changed, 31 insertions(+), 16 deletions(-)
diff --git a/actions/index.js b/actions/index.js
index bdca89ae..cc18fae1 100644
--- a/actions/index.js
+++ b/actions/index.js
@@ -1847,12 +1847,18 @@ export const createContainerProxy = (containerName) => {
});
};
-export const sendCaseCompleteMessage = async (containerID, caseReference) => {
+export const sendCaseCompleteMessage = async (
+ containerID,
+ caseReference,
+ typeofinvolvement
+) => {
var queryUrl =
"/api/file/createappealcompletemessage_api?container=" +
containerID +
"&tempcaseref=" +
- caseReference;
+ caseReference +
+ "&inv=" +
+ typeofinvolvement;
var config = {
method: "get",
diff --git a/components/myportal/awaitingsubmissionfromblob.js b/components/myportal/awaitingsubmissionfromblob.js
index 482054e3..d7e3629d 100644
--- a/components/myportal/awaitingsubmissionfromblob.js
+++ b/components/myportal/awaitingsubmissionfromblob.js
@@ -58,8 +58,6 @@ const AwaitingSubmissionFromBlob = (props) => {
return { ...item1, ...item2 };
});
- console.log(mergedArray);
-
showTopThreeArr = mergedArray;
showTopThreeArr = sortByISODate(showTopThreeArr, "createdon");
diff --git a/components/myportal/topthree.js b/components/myportal/topthree.js
index 4bfe4e38..a1ccd21d 100644
--- a/components/myportal/topthree.js
+++ b/components/myportal/topthree.js
@@ -96,8 +96,6 @@ const TopThree = (props) => {
return { ...item1, ...item2 };
});
- console.log(mergedArray);
-
showTopThreeArr = mergedArray;
showTopThreeArr = sortByISODate(showTopThreeArr, "createdon");
diff --git a/components/newappeal/buildchecksection.js b/components/newappeal/buildchecksection.js
index 6eb01241..5faa17dc 100644
--- a/components/newappeal/buildchecksection.js
+++ b/components/newappeal/buildchecksection.js
@@ -145,7 +145,9 @@ let BuildCheckSection = (props) => {
console.log("have generated pdf:", data);
sendCaseCompleteMessage(
props.props.accountDetails.containerID,
- props.appealType.caseReference.ticketnumber
+ props.appealType.caseReference.ticketnumber,
+ props.props.accountDetails.accountDetails
+ .pinswg_typeofinvolvement
);
})
.then(() => {
diff --git a/pages/api/file/createappealcompletemessage_api.js b/pages/api/file/createappealcompletemessage_api.js
index ca3863b8..91e81473 100644
--- a/pages/api/file/createappealcompletemessage_api.js
+++ b/pages/api/file/createappealcompletemessage_api.js
@@ -16,6 +16,7 @@ ApiProxy.use(middleware);
ApiProxy.get(async (req, res) => {
var containerName = req.query.container;
var tempCaseRef = req.query.tempcaseref;
+ var typeofinvolvement = req.query.inv;
var checkHash = req.query.hash;
console.log("/////Create Case Message:\n", tempCaseRef, "\n//////////////");
@@ -62,15 +63,25 @@ ApiProxy.get(async (req, res) => {
getCaseBlob(containerName, tempCaseRef, caseObj).then(() => {
let contactId = caseObj["customerid_contact@odata.bind"];
contactId = contactId.match(/\(([^)]+)\)/);
- updateAccount(
- contactId[1],
- {
- "pinswg_typeofinvolvement": 846040001,
- },
- true
- ).then((data) => {
- console.log("uopdated account: ", data);
- });
+
+ if (typeofinvolvement != 846040000) {
+ updateAccount(
+ contactId[1],
+ {
+ "pinswg_typeofinvolvement": 846040001,
+ },
+ true
+ ).then((data) => {
+ console.log(
+ "uopdated account : " +
+ contactId +
+ " \nfrom: " +
+ data.pinswg_typeofinvolvement +
+ "\nto: " +
+ typeofinvolvement
+ );
+ });
+ }
createCaseCompleteMessage(containerName, tempCaseRef);
return res.status(200).json({