From 8f84ae8d8ae8a60d7f0f96ff22682061302e9a12 Mon Sep 17 00:00:00 2001 From: rdbsolutions Date: Tue, 26 Nov 2024 09:18:53 +0000 Subject: [PATCH] uat fixes --- components/elements/index.js | 70 ++++++++++++++++--- .../myportal/awaitingsubmissionfromblob.js | 6 +- components/newappeal/aboutyou.js | 18 ++++- components/newappeal/complete.js | 2 +- .../pdftemplates/planningappeals78_pdf.js | 6 +- data/formsxml/planningappeals78.xml | 10 ++- locales/en/newappeal.json | 2 +- .../getappealtypesfornewappeal_api.js | 8 --- .../file/createappealcompletemessage_api.js | 2 +- pages/api/file/generateappealpdf.js | 2 +- 10 files changed, 99 insertions(+), 27 deletions(-) diff --git a/components/elements/index.js b/components/elements/index.js index e0270579..1a120f29 100644 --- a/components/elements/index.js +++ b/components/elements/index.js @@ -70,6 +70,7 @@ const RenderTextfield = ({ : 100 : 200 } + // pattern={custom.hasOwnProperty("pattern") && custom.pattern} /> @@ -1303,10 +1304,20 @@ export function NumericField(props) { formProps, parentFieldShowOnValue, parentField, + maxFieldLength, } = props; const required = (value) => { return value || value == 0 ? undefined : "Is required"; }; + const isNumber = (value) => { + const regex = /^\d*\.?\d{0,1}$/; + return regex.test(value) ? undefined : "Should be a number or decimal"; + }; + + const maxLength = (max) => (value) => + value && value.length > max + ? `Must be ${max} characters or less` + : undefined; //parentFieldShowOnValue var showIfHasParentShowValue = @@ -1350,7 +1361,7 @@ export function NumericField(props) { name={props.name} id={props.name} type="number" - className="govuk-input govuk-input--width-20" + className="govuk-input govuk-input--width-20 wwwww" spellCheck="false" aria-describedby={name} pattern="[0-9]*" @@ -1360,6 +1371,22 @@ export function NumericField(props) { component={RenderTextfield} label={label} normalize={(value) => parseInt(value)} + + // name={props.name} + // id={props.name} + // // component="input" + // type="text" + // className="govuk-input govuk-input--width-20 wwww" + // aria-describedby={name} + // pattern="^\d*(\.\d{0,2})?$" + // validate={[ + // required, + // isNumber, + // maxLength(props.maxFieldLength), + // ]} + // component={RenderTextfield} + // label={props.label} + // maxFieldLength={props.maxFieldLength} /> )} @@ -1380,6 +1407,16 @@ export function DecimalField(props) { } = props; const required = (value) => (value ? undefined : "Is required"); + const isNumber = (value) => { + const regex = /^\d*\.?\d{0,1}$/; + return regex.test(value) ? undefined : "Should be a number or decimal"; + }; + + const maxLength = (max) => (value) => + value && value.length > max + ? `Must be ${max} characters or less` + : undefined; + //parentFieldShowOnValue var showIfHasParentShowValue = parentField != false && @@ -1427,12 +1464,17 @@ export function DecimalField(props) { className="govuk-input govuk-input--width-10" spellCheck="false" aria-describedby={name} - pattern="[0-9]*" + pattern="^\d*(\.\d{0,2})?$" inputMode="numeric" parse={Number} - validate={eval(validation)} + validate={[ + required, + isNumber, + maxLength(props.maxFieldLength), + ]} component={RenderTextfield} label={props.label} + maxFieldLength={props.maxFieldLength} /> )} @@ -1858,33 +1900,43 @@ const renderField = ({ input, label, type, meta: { touched, error } }) => ( const RenderSubFields = ({ fields }) => { let { t } = useTranslation(); + + let subTitle = fields.name.split("pinswg_")[1]; + return ( ); diff --git a/components/myportal/awaitingsubmissionfromblob.js b/components/myportal/awaitingsubmissionfromblob.js index c0f20eb8..537f6b5c 100644 --- a/components/myportal/awaitingsubmissionfromblob.js +++ b/components/myportal/awaitingsubmissionfromblob.js @@ -51,7 +51,9 @@ const AwaitingSubmissionFromBlob = (props) => { let mergedArray = showTopThreeArr.map((item1) => { let item2 = showTopThreeArrDets.find( - (item) => item.pinswg_name === item1.ticketnumber + (item) => + item.pinswg_name === item1.ticketnumber || + item.appealComplete === item1.ticketnumber ); return { ...item1, ...item2 }; }); @@ -128,7 +130,7 @@ const AwaitingSubmissionFromBlob = (props) => { .pinswg_appealcasetype + "&casereference=" + showTopThreeArr[key] - .pinswg_name + + .ticketnumber + "&inid=" + showTopThreeArr[key].incidentid } diff --git a/components/newappeal/aboutyou.js b/components/newappeal/aboutyou.js index c81be533..62408a0b 100644 --- a/components/newappeal/aboutyou.js +++ b/components/newappeal/aboutyou.js @@ -48,6 +48,7 @@ const RenderTextfield = ({ id={id} type={type} disabled={disabled ? true : false} + maxLength={custom.maxFieldLength || ""} /> @@ -93,6 +94,7 @@ const RenderMultiline = ({ {...input} rows={rows} className={className} + maxLength="2000" > @@ -526,7 +528,7 @@ let AboutYou = (props) => { className="govuk-input govuk-input--width-20" validate={[required]} label={t("newappeal:about-you-on-behalf-label")} - maxFieldLength="25" + maxFieldLength="200" />
@@ -566,6 +568,7 @@ let AboutYou = (props) => { label={t( "newappeal:about-you-appellant-contact-details-firstname-label" )} + maxFieldLength="200" /> { label={t( "newappeal:about-you-appellant-contact-details-lastname-label" )} + maxFieldLength="200" /> { "newappeal:about-you-appellant-contact-details-address-label" )} rows={4} + maxFieldLength="2000" /> { label={t( "newappeal:about-you-appellant-contact-details-email-label" )} + maxFieldLength="200" /> { label={t( "newappeal:about-you-appellant-contact-details-firstname-label" )} + maxFieldLength="200" /> { label={t( "newappeal:about-you-appellant-contact-details-lastname-label" )} + maxFieldLength="200" /> { "newappeal:about-you-appellant-contact-details-address-label" )} rows={4} + maxFieldLength="2000" /> { label={t( "newappeal:about-you-appellant-contact-details-email-label" )} + maxFieldLength="200" /> { label={t( "newappeal:about-you-agent-contact-details-companyname-label" )} + maxFieldLength="200" /> { className="govuk-input govuk-input--width-20" // validate={[required]} label={t("newappeal:about-you-agent-reference-label")} + maxFieldLength="200" /> { label={t( "newappeal:about-you-agent-contact-details-firstname-label" )} + maxFieldLength="200" /> { label={t( "newappeal:about-you-agent-contact-details-lastname-label" )} + maxFieldLength="200" />{" "} { "newappeal:about-you-agent-contact-details-address-label" )} rows={4} + maxFieldLength="2000" /> { label={t( "newappeal:about-you-agent-contact-details-email-label" )} + maxFieldLength="200" /> { {t("newappeal:new-appeal-complete-paragraph-2")}

- {t("newappeal:new-appeal-complete-paragraph-3")}:: + {t("newappeal:new-appeal-complete-paragraph-3")}: {t("home:login-contact-email")} diff --git a/components/pdftemplates/planningappeals78_pdf.js b/components/pdftemplates/planningappeals78_pdf.js index 9ec3f81a..19875061 100644 --- a/components/pdftemplates/planningappeals78_pdf.js +++ b/components/pdftemplates/planningappeals78_pdf.js @@ -108,9 +108,9 @@ export const planningappeals78_pdf = ({ docProps, pickListData }) => { } let values = docProps; - let datestr = values.pinswg_name.split("-"); - let signedDate = datestr[2] + "/" + datestr[1] + "/" + datestr[0]; - let appealTypeValue = getFormCollectionByID(values.pinswg_appealcasetype); + // let datestr = values.pinswg_name.split("-"); + // let signedDate = datestr[2] + "/" + datestr[1] + "/" + datestr[0]; + // let appealTypeValue = getFormCollectionByID(values.pinswg_appealcasetype); var path = require("path"); const configDirectory = path.resolve(process.cwd(), "data/formsxml"); diff --git a/data/formsxml/planningappeals78.xml b/data/formsxml/planningappeals78.xml index dd795819..a34c1a2f 100644 --- a/data/formsxml/planningappeals78.xml +++ b/data/formsxml/planningappeals78.xml @@ -144,6 +144,14 @@ + diff --git a/locales/en/newappeal.json b/locales/en/newappeal.json index 9632cd09..a9a25c35 100644 --- a/locales/en/newappeal.json +++ b/locales/en/newappeal.json @@ -20,7 +20,7 @@ "hascas-confirmation-hint": "This appeal route is only applicable if your application relates the refusal of planning permission, or the refusal of an application to vary or remove a condition attached to a previous permision. All other applications will be submitted via a Section 78 Planning Appeal", "about-you-page-title": "About you", "about-you-hint": "If you are making more than one appeal for the site then please submit via email", - "about-you-on-behalf-label": "Appellant or organisations name (if applicable):", + "about-you-on-behalf-label": "Appellant or organisation's name (if applicable):", "about-you-who-can-appeal-label": "Who can appeal?", "about-you-who-can-appeal-paragraph": "Only those named as an applicant on the original application form can submit an appeal. If you are submitting an appeal on behalf of a company, state the name of the company you are representing", "about-you-who-are-you-label": "Are you the appellant or an agent acting on behalf of the appellant?", diff --git a/pages/api/endpoint/getappealtypesfornewappeal_api.js b/pages/api/endpoint/getappealtypesfornewappeal_api.js index 2325f37a..57d9ce8b 100644 --- a/pages/api/endpoint/getappealtypesfornewappeal_api.js +++ b/pages/api/endpoint/getappealtypesfornewappeal_api.js @@ -22,14 +22,6 @@ const ApiResponse = (req, res) => { "846,040,000", "attributevalue": 846040000, }, - { - "value": "Householder and Minor Commercial Appeals - HAS/CAS", - "stringmapid": "585d46a7-9138-ec11-aacb-00224800be9c", - "organizationid": "01191a4d-105f-eb11-aaba-00224800be9c", - "attributevalue@OData.Community.Display.V1.FormattedValue": - "846,040,004", - "attributevalue": 846040004, - }, ], }); }; diff --git a/pages/api/file/createappealcompletemessage_api.js b/pages/api/file/createappealcompletemessage_api.js index 14661b18..148edf71 100644 --- a/pages/api/file/createappealcompletemessage_api.js +++ b/pages/api/file/createappealcompletemessage_api.js @@ -35,7 +35,7 @@ ApiProxy.get(async (req, res) => { }); Object.assign(blobProgress, { - "appealComplete": blobProgress.pinswg_name, + "appealComplete": tempCaseRef, }); delete blobProgress["pinswg_name"]; diff --git a/pages/api/file/generateappealpdf.js b/pages/api/file/generateappealpdf.js index da80b4ea..0bd61f42 100644 --- a/pages/api/file/generateappealpdf.js +++ b/pages/api/file/generateappealpdf.js @@ -198,7 +198,7 @@ export default async function handler(req, res) { await createAppealPDFBlob( renderedPDF, containerID, - blobProgress.pinswg_name + blobProgress.pinswg_name || blobProgress.caseObj.ticketnumber ).then((data) => { console.log( "///////////////////////////////////\nfile created: " +