welsh versions of questionnaire

This commit is contained in:
2023-10-31 14:12:12 +00:00
parent 2cbd2d731c
commit 1477ed74e4
34 changed files with 3524 additions and 1532 deletions
File diff suppressed because it is too large Load Diff
@@ -44,7 +44,9 @@ const RepAgent = (props) => {
<>
<div className="govuk-grid-row">
<h2 className="govuk-heading-m ">
Representation from an Agent
{t(
"myrepresentations:representation-from-an-agent-heading"
)}
</h2>
<div className="govuk-form-group">
@@ -52,7 +54,7 @@ const RepAgent = (props) => {
className="govuk-label govuk-body-m"
htmlFor="representationType"
>
What kind of representation are you making?
{t("myrepresentations:kind-of-rep-label")}
</label>
<Field
name="representationType"
@@ -81,7 +83,7 @@ const RepAgent = (props) => {
<Field
name="representationOnBehalfOf"
datafieldname="representationOnBehalfOf"
// label="In what capacity do you wish to make representations on this case?"
// label={t("myrepresentations:capacity-select-what-capacity-label")}
options={["Yes", "No"]}
id="representationOnBehalfOf"
className="govuk-radios__input"
@@ -98,15 +100,14 @@ const RepAgent = (props) => {
<div className="govuk-grid-row">
<div className="govuk-form-group">
<p className="govuk-body">
You can enter your comments in the space provided or
attach a separate document.
{t("myrepresentations:enter-comment-label")}
</p>
<fieldset
className="govuk-fieldset"
aria-describedby="commentBox-hint"
>
<div id="commentBox-hint" className="govuk-hint">
My comments are set out in:
{t("myrepresentations:comments-set-out-label")}:
</div>
<div className="govuk-form-group">
<Field
@@ -119,14 +120,7 @@ const RepAgent = (props) => {
aria-describedby={props.name + "-hint"}
/>
<p className="govuk-hint govuk-!-font-size-14 govuk-!-margin-top-5">
Please note that all representations may be
published in line with our Publishing Policy.
Should your representation include any sensitive
information or potentially defamatory
information, it may be redacted before
publishing. If it contains racist, libellous or
offensive content it will be returned to you and
you will be asked to provide an amended version.{" "}
{t("myrepresentations:publish-policy-label")}
<a href="https://gov.wales/planning-and-environment-decisions-wales-publishing-policy-html">
https://gov.wales/planning-and-environment-decisions-wales-publishing-policy-html
</a>
@@ -135,7 +129,7 @@ const RepAgent = (props) => {
<div className="govuk-form-group govuk-!-margin-bottom-9">
<FileUploadField
name={"representationDocuments"}
label={"Add your files"}
label={t("myrepresentations:add-files-label")}
ticketnumber={props.props.caseReference}
hint={"sdsd"}
fileList={[]}
@@ -186,7 +180,7 @@ const RepAgent = (props) => {
className="govuk-button"
data-module="govuk-button"
>
Continue
{t("common:continue-button")}{" "}
</button>
{/* <a
onClick={() => {
@@ -194,7 +188,7 @@ const RepAgent = (props) => {
}}
className="govuk-button"
>
Continue ww
{t("common:continue-button")} ww
</a> */}
<a
onClick={() => {
@@ -202,7 +196,7 @@ const RepAgent = (props) => {
}}
className="govuk-link"
>
Back
{t("common:back-link")}
</a>
</div>
</div>
@@ -48,13 +48,18 @@ const RepAppellant = (props) => {
<div className="govuk-grid-row">
<div className="govuk-form-group">
<h2 className="govuk-heading-m ">
Representation from an Appellant
{t(
"myrepresentations:representation-from-an-appellant-heading"
)}
</h2>
<label
className="govuk-label govuk-body-m"
htmlFor="representationType"
>
What kind of representation are you making?
{t(
"myrepresentations:representation-from-an-agent-heading"
)}
?
</label>
{typeof props.representationType == "undefined" ? (
@@ -88,15 +93,14 @@ const RepAppellant = (props) => {
<div className="govuk-grid-row">
<div className="govuk-form-group">
<p className="govuk-body">
You can enter your comments in the space provided or
attach a separate document.
{t("myrepresentations:enter-comment-label")}
</p>
<fieldset
className="govuk-fieldset"
aria-describedby="commentBox-hint"
>
<div id="commentBox-hint" className="govuk-hint">
My comments are set out in:
{t("myrepresentations:comments-set-out-label")}:
</div>
<div className="govuk-form-group">
<Field
@@ -115,7 +119,7 @@ const RepAppellant = (props) => {
<div className="govuk-form-group govuk-!-margin-bottom-9">
<FileUploadField
name={"representationDocuments"}
label={"Add your files"}
label={t("myrepresentations:add-files-label")}
ticketnumber={props.props.caseReference}
hint={"sdsd"}
fileList={[]}
@@ -166,7 +170,7 @@ const RepAppellant = (props) => {
className="govuk-button"
data-module="govuk-button"
>
Continue
{t("common:continue-button")}
</button>
{/* <a
onClick={() => {
@@ -174,7 +178,7 @@ const RepAppellant = (props) => {
}}
className="govuk-button"
>
Continue ww
{t("common:continue-button")} ww
</a> */}
<a
onClick={() => {
@@ -182,7 +186,7 @@ const RepAppellant = (props) => {
}}
className="govuk-link"
>
Back
{t("common:back-link")}
</a>
</div>
</div>
@@ -56,12 +56,17 @@ let RepCapacitySelection = (props) => {
<div className="govuk-grid-column-three-quarters">
<div className="govuk-grid-row">
<h2 className="govuk-heading-m ">
Your details - {props.firstValue}
{t(
"myrepresentations:capacity-select-your-details"
)}{" "}
- {props.firstValue}
</h2>
<Field
name="representationCapacity"
datafieldname="representationCapacity"
label="In what capacity do you wish to make representations on this case?"
label={t(
"myrepresentations:capacity-select-what-capacity-label"
)}
options={capacityOptionsArr}
id="representationCapacity"
className="govuk-radios__input"
@@ -56,25 +56,13 @@ const RepComplete = (props) => {
<div className="govuk-grid-column-full">
<div className="govuk-grid-row govuk-body">
<h1 className="govuk-heading-m ">
Submission of Representation
{t("myrepresentations:rep-complete-heading")}
</h1>
<p>
Thank you for submitting your representation(s) using
the Appeals Casework Portal.
</p>
<p>{t("myrepresentations:rep-complete-para-one")}</p>
<p>
Please remember that any supporting documentation needs
to be received by us within the appropriate deadline for
the case. Anything you send to us must be clearly marked
with the case reference number and the site address
(including the postcode, where known).
</p>
<p>{t("myrepresentations:rep-complete-para-two")}</p>
<p>
You will shortly receive confirmation to the email
address you have provided.
</p>
<p> {t("myrepresentations:rep-complete-para-three")}</p>
</div>
<div className="govuk-grid-row">
<div className="govuk-button-group">
@@ -83,7 +71,7 @@ const RepComplete = (props) => {
onClick={() => setRepresentationReset()}
className="govuk-button"
>
Continue
{t("common:continue-button")}
</a>
</Link>
</div>
@@ -81,10 +81,17 @@ const RepCompleteSubmit = (props) => {
<div id="rep-appellant">
<div className="govuk-grid-column-full">
<div className="govuk-grid-row govuk-body">
<h1 className="govuk-heading-m ">Submit</h1>
<h1 className="govuk-heading-m ">
{" "}
{t(
"myrepresentations:rep-check-submit-heading"
)}
</h1>
<dl className="govuk-summary-list ">
<h2 className="govuk-heading-m govuk-!-margin-top-9">
Your representation:
{t(
"myrepresentations:rep-check-your-rep-heading"
)}
</h2>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
@@ -286,24 +293,21 @@ const RepCompleteSubmit = (props) => {
{whichQuestionnaireCheck()}
</dl>
<p>
The gathering and subsequent processing of the
personal data supplied by you in this form, is
in accordance with the terms of our registration
under the Data Protection Act 2018.
{t(
"myrepresentations:rep-check-tandc-para-one"
)}
</p>
<p>
The Planning Inspectorate takes its data
protection responsibilities for the information
you provide us with very seriously. To find out
more about how we use and manage your personal
data, please go to our privacy notice.
{t(
"myrepresentations:rep-check-tandc-para-two"
)}
</p>
<p>
I confirm that all sections of this form have
been fully completed and that the details are
correct to the best of my knowledge.
{t(
"myrepresentations:rep-check-tandc-para-three"
)}
</p>
<div className="govuk-form-group">
@@ -311,7 +315,10 @@ const RepCompleteSubmit = (props) => {
className="govuk-label govuk-body-m"
htmlFor="representationType"
>
I confirm I have read the above.
{" "}
{t(
"myrepresentations:rep-check-tandc-para-four"
)}
</label>
{/* <Field
name="representationType"
@@ -340,7 +347,7 @@ const RepCompleteSubmit = (props) => {
}}
className="govuk-button"
>
Continue
{t("common:continue-button")}
</a> */}
<a
@@ -109,14 +109,10 @@ const RepDetails = (props) => {
</div>
<div className="govuk-grid-row">
<p className="govuk-body">
This form enables you to submit comments on a case to
Planning and Environment Decisions Wales.{" "}
{t("myrepresentations:capacity-para-one")}
</p>
<p className="govuk-body">
Please note that comments from interested parties need
to be made within the timetable. This can be found on
the previous &lsquo;Case Summary&lsquo; page. Comments
submitted after this date may be considered invalid.
{t("myrepresentations:capacity-para-two")}
</p>
</div>
</div>
@@ -1002,16 +1002,14 @@ export function FileUploadField(props) {
}
export const RepresentationGuidanceText = (appealType) => {
let { t } = useTranslation();
console.log(appealType);
switch (appealType) {
case "846040004": //has/cas
return (
<p className="govuk-hint govuk-!-font-size-14 govuk-!-margin-top-5">
Please note that all questionnaire documents may be
published in line with our Publishing Policy. Should your
questionnaire include any sensitive information or
potentially defamatory information, it may be redacted
before publishing.{" "}
{t("myrepresentations:questionnaire-publish-policy-label")}{" "}
<a href="https://gov.wales/planning-and-environment-decisions-wales-publishing-policy-html">
https://gov.wales/planning-and-environment-decisions-wales-publishing-policy-html
</a>
@@ -1021,13 +1019,7 @@ export const RepresentationGuidanceText = (appealType) => {
default:
return (
<p className="govuk-hint govuk-!-font-size-14 govuk-!-margin-top-5">
Please note that all representations may be published in
line with our Publishing Policy. Should your representation
include any sensitive information or potentially defamatory
information, it may be redacted before publishing. If it
contains racist, libellous or offensive content it will be
returned to you and you will be asked to provide an amended
version.{" "}
{t("myrepresentations:publish-policy-label")}{" "}
<a href="https://gov.wales/planning-and-environment-decisions-wales-publishing-policy-html">
https://gov.wales/planning-and-environment-decisions-wales-publishing-policy-html
</a>
@@ -35,15 +35,19 @@ const RepInterestedPartyPerson = (props) => {
<>
<div className="govuk-grid-row">
<h2 className="govuk-heading-m ">
Representation from an Interested Party/Person
{t(
"myrepresentations:representation-from-an-interested-party-heading"
)}
</h2>
<div className="govuk-form-group">
<label
className="govuk-label govuk-body-m"
htmlFor="representationType"
>
What kind of representation are you making?
{t(
"myrepresentations:representation-from-an-agent-heading"
)}
?
</label>
<Field
name="representationType"
@@ -78,15 +82,14 @@ const RepInterestedPartyPerson = (props) => {
<div className="govuk-grid-row">
<div className="govuk-form-group">
<p className="govuk-body">
You can enter your comments in the space provided or
attach a separate document.
{t("myrepresentations:enter-comment-label")}
</p>
<fieldset
className="govuk-fieldset"
aria-describedby="commentBox-hint"
>
<div id="commentBox-hint" className="govuk-hint">
My comments are set out in:
{t("myrepresentations:comments-set-out-label")}:
</div>
<div className="govuk-form-group">
<Field
@@ -103,7 +106,7 @@ const RepInterestedPartyPerson = (props) => {
<div className="govuk-form-group govuk-!-margin-bottom-9">
<FileUploadField
name={"representationDocuments"}
label={"Add your files"}
label={t("myrepresentations:add-files-label")}
ticketnumber={props.props.caseReference}
hint={"sdsd"}
fileList={[]}
@@ -133,7 +136,7 @@ const RepInterestedPartyPerson = (props) => {
}}
className="govuk-button"
>
Continue
{t("common:continue-button")}
</a>
</Link> */}
<a
@@ -25,6 +25,9 @@ import jsonpath from "jsonpath";
import { useState } from "react";
import Enforcement_Questionnaire from "./representationQuestionnaires/representationLPAQuestionnaire_enforcement";
import S78_Qquestionnaire from "./representationQuestionnaires/representationLPAQuestionnaire_s78";
import { RepresentationProgress_s78 } from "./representationProgress/representationProgress_s78";
import { RepresentationProgress_enforcement } from "./representationProgress/representationProgress_enforcement";
import transLookup from "../../../data/lookuptranslations.json";
let RepLPA = (props) => {
let { t } = useTranslation();
@@ -102,6 +105,58 @@ let RepLPA = (props) => {
}
};
const whichProgress = () => {
{
console.log("curr");
switch (currentView.caseReference.appealType) {
case 846040000:
case 846040001:
case 846040006:
case 846040025:
case 846040004:
case 846040018:
case 846040003:
case 846040009:
case 846040008:
return (
<RepresentationProgress_s78
props={props}
containerID={
props.props.props.accountDetails.containerID
}
currentView={currentView}
showQuestionnaireSection={showQuestionnaireSection}
setShowQuestionnaireSection={
setShowQuestionnaireSection
}
/>
);
break;
case 846040005:
case 846040006:
case 846040007:
return (
<RepresentationProgress_enforcement
props={props}
containerID={
props.props.props.accountDetails.containerID
}
currentView={currentView}
showQuestionnaireSection={showQuestionnaireSection}
setShowQuestionnaireSection={
setShowQuestionnaireSection
}
/>
);
break;
default:
return <>hello</>;
break;
}
}
};
let setCaseDetailsObj = router.query.hasOwnProperty("state")
? router.query.state == "edit"
? props.props.myRepresentations.myRepresentations
@@ -142,14 +197,25 @@ let RepLPA = (props) => {
<div className="govuk-grid-row">
<h2 className="govuk-heading-m ">
{typeof props.representationType != "undefined"
? props.representationType
? props.representationType == "Questionnaire"
? locale == "cy"
? "Holiadur"
: props.representationType
: props.representationType
: locale == "cy"
? "Cynrychioliadau"
: "Representation"}{" "}
from an LPA for a{" "}
{
getFormCollectionByID(
currentView.caseReference.appealType
).value
}
{locale == "cy" ? "o ACLI am a" : "from an LPA for a"}{" "}
{locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.attributevalue=="' +
currentView.caseReference.appealType +
'")].value_cy'
)
: getFormCollectionByID(
currentView.caseReference.appealType
).value}
</h2>
{typeof props.representationType == "undefined" && (
@@ -158,7 +224,10 @@ let RepLPA = (props) => {
className="govuk-label govuk-body-m"
htmlFor="representationType"
>
What kind of representation are you making?
{t(
"myrepresentations:representation-from-an-agent-heading"
)}
?
</label>
<Field
id="representationType"
@@ -177,8 +246,7 @@ let RepLPA = (props) => {
(props.representationType != "Questionnaire" ? (
<>
<p className="govuk-body">
You can enter your comments in the space
provided or attach a separate document.
{t("myrepresentations:enter-comment-label")}
</p>
<fieldset
className="govuk-fieldset"
@@ -188,7 +256,10 @@ let RepLPA = (props) => {
id="commentBox-hint"
className="govuk-hint"
>
My comments are set out in:
{t(
"myrepresentations:comments-set-out-label"
)}
:
</div>
<div className="govuk-form-group">
<Field
@@ -212,7 +283,9 @@ let RepLPA = (props) => {
<div className="govuk-form-group govuk-!-margin-bottom-9">
<FileUploadField
name={"representationDocuments"}
label={"Add your files"}
label={t(
"myrepresentations:add-files-label"
)}
ticketnumber={
props.props.caseReference
}
@@ -256,7 +329,7 @@ let RepLPA = (props) => {
className="govuk-button"
data-module="govuk-button"
>
Continue
{t("common:continue-button")}
</button>
)}
{showQuestionnaireSection > 1 && (
@@ -281,7 +354,7 @@ let RepLPA = (props) => {
className="govuk-button"
data-module="govuk-button"
>
Continue
{t("common:continue-button")}
</button>
{/* <a
onClick={() => {
@@ -290,7 +363,7 @@ let RepLPA = (props) => {
}}
className="govuk-button"
>
Continue
{t("common:continue-button")}
</a> */}
<a
onClick={() => {
@@ -298,7 +371,7 @@ let RepLPA = (props) => {
}}
className="govuk-link"
>
Back
{t("common:back-link")}
</a>
</>
)}
@@ -64,7 +64,7 @@ let RepLPACapacitySelection = (props) => {
<Field
name="representationCapacity"
datafieldname="representationCapacity"
label="In what capacity do you wish to make representations on this case?"
label={t("myrepresentations:capacity-select-what-capacity-label")}
options={["LPA"]}
id="representationCapacity"
//className="govuk-radios__input "
@@ -19,15 +19,14 @@ let RepLPAQuestionnaire = (props) => {
return (
<>
<p className="govuk-body">
You can enter your comments in the space provided or attach a
separate document.
{t("myrepresentations:enter-comment-label")}
</p>
<fieldset
className="govuk-fieldset"
aria-describedby="commentBox-hint"
>
<div id="commentBox-hint" className="govuk-hint">
My comments are set out in: vcc
{t("myrepresentations:comments-set-out-label")}:
</div>
<div className="govuk-form-group">
<Field
@@ -94,9 +94,7 @@ const RepLPADetails = (props) => {
</div>
<div className="govuk-grid-row">
<p className="govuk-body">
This form enables you to submit statements, comments and
questionaires on a case to Planning and Environment
Decisions Wales.{" "}
{t("myrepresentations:lpa-capacity-para-one")}
</p>
</div>
</div>
@@ -47,7 +47,10 @@ const RepLandOwner = (props) => {
className="govuk-label govuk-body-m"
htmlFor="representationType"
>
What kind of representation are you making?
{t(
"myrepresentations:representation-from-an-agent-heading"
)}
?
</label>
<Field
name="representationType"
@@ -75,15 +78,14 @@ const RepLandOwner = (props) => {
<div className="govuk-grid-row">
<div className="govuk-form-group">
<p className="govuk-body">
You can enter your comments in the space provided or
attach a separate document.
{t("myrepresentations:enter-comment-label")}
</p>
<fieldset
className="govuk-fieldset"
aria-describedby="commentBox-hint"
>
<div id="commentBox-hint" className="govuk-hint">
My comments are set out in:
{t("myrepresentations:comments-set-out-label")}:
</div>
<div className="govuk-form-group">
<Field
@@ -100,7 +102,9 @@ const RepLandOwner = (props) => {
<div className="govuk-form-group govuk-!-margin-bottom-9">
<FileUploadField
name={"representationDocuments"}
label={"Add your files"}
label={t(
"myrepresentations:add-files-label"
)}
ticketnumber={props.props.caseReference}
hint={"sdsd"}
fileList={[]}
@@ -122,7 +126,7 @@ const RepLandOwner = (props) => {
className="govuk-button"
data-module="govuk-button"
>
Continue
{t("common:continue-button")}
</button>
{/* <Link href="/representation">
<a
@@ -131,7 +135,7 @@ const RepLandOwner = (props) => {
}}
className="govuk-button"
>
Continue
{t("common:continue-button")}
</a>
</Link> */}
<a
@@ -140,7 +144,7 @@ const RepLandOwner = (props) => {
}}
className="govuk-link"
>
Back
{t("common:back-link")}
</a>
</div>
</div>
@@ -0,0 +1,540 @@
import Link from "next/link";
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import { connect } from "react-redux";
import { Field, reduxForm, formValueSelector } from "redux-form";
import {
RenderPickList,
RenderTextfield,
RenderRadioList,
RenderMultiline,
RenderCondtionalRadioList,
RenderLPACondtionalRadioList,
FileUploadField,
RenderRichMultiline,
RenderDatePicker,
} from "../representationElements";
import {
setRepresentationCapacity,
setRepresentationSubmit,
} from "../../../../store/currentView/action";
import { useDropzone } from "react-dropzone";
import { select } from "xpath";
import jsonpath from "jsonpath";
const RepresentationProgress_enforcement = (props) => {
let { t } = useTranslation();
const router = useRouter();
const {
formObj,
appellantApplicantRepresentationArr,
setRepresentationCapacity,
setRepresentationSubmit,
currentView,
procedureTypeValue,
onBehalfOfLPA,
setShowQuestionnaireSection,
showQuestionnaireSection,
} = props;
return (
<nav
role="navigation"
aria-labelledby="progress-list"
className="at-nav"
>
<div
id="step-by-step-navigation"
data-module="gemstepnav"
className="app-step-nav app-step-nav--active"
data-id="e01e924b-9c7c-4c71-8241-66a575c2f61f"
data-show-text="show"
data-hide-text="hide"
data-show-all-text="Show all"
data-hide-all-text="Hide all"
>
<ol className="app-step-nav__steps">
<li
className={
"app-step-nav__step js-step app-step-nav__step--active" +
(showQuestionnaireSection >= 1
? " sectionComplete"
: " sectionIncomplete")
}
aria-current="step"
data-show=""
id="check-youre-allowed-to-drive"
>
<div
className="app-step-nav__header js-toggle-panel "
data-position="1"
>
<h3 className="app-step-nav__title ">
<span className="app-step-nav__circle app-step-nav__circle--number">
<span className="app-step-nav__circle-inner">
<span className="app-step-nav__circle-background">
<span className="app-step-nav__circle-step-label govuk-visually-hidden">
Step
</span>{" "}
1
<span
className="app-step-nav__circle-step-colon govuk-visually-hidden"
aria-hidden="true"
>
:
</span>
</span>
</span>
</span>
<span className="js-step-title">
<a
href="#"
onClick={() => {
setShowQuestionnaireSection(1);
}}
className="app-step-nav__button app-step-nav__button--title js-step-title-button"
aria-expanded="false"
aria-controls="step-panel-check-youre-allowed-to-drive-1"
>
<span className="js-step-title-text govuk-!-font-size-16">
{t(
"myrepresentations:enf-section-heading-one"
)}
</span>
</a>
</span>
</h3>
</div>
</li>
<li
className={
"app-step-nav__step js-step app-step-nav__step--active" +
(showQuestionnaireSection >= 2
? " sectionComplete"
: " sectionIncomplete")
}
aria-current="step"
data-show=""
id="check-youre-allowed-to-drive"
>
<div
className="app-step-nav__header js-toggle-panel "
data-position="1"
>
<h3 className="app-step-nav__title ">
<span className="app-step-nav__circle app-step-nav__circle--number">
<span className="app-step-nav__circle-inner">
<span className="app-step-nav__circle-background">
<span className="app-step-nav__circle-step-label govuk-visually-hidden">
Step
</span>{" "}
2
<span
className="app-step-nav__circle-step-colon govuk-visually-hidden"
aria-hidden="true"
>
:
</span>
</span>
</span>
</span>
<span className="js-step-title">
<a
href="#"
onClick={() => {
setShowQuestionnaireSection(2);
}}
className="app-step-nav__button app-step-nav__button--title js-step-title-button"
aria-expanded="false"
aria-controls="step-panel-check-youre-allowed-to-drive-1"
>
<span className="js-step-title-text govuk-!-font-size-16">
{t(
"myrepresentations:enf-section-heading-two"
)}
</span>
</a>
</span>
</h3>
</div>
</li>
<li
className={
"app-step-nav__step js-step app-step-nav__step--active" +
(showQuestionnaireSection >= 3
? " sectionComplete"
: " sectionIncomplete")
}
aria-current="step"
data-show=""
id="check-youre-allowed-to-drive"
>
<div
className="app-step-nav__header js-toggle-panel "
data-position="1"
>
<h3 className="app-step-nav__title ">
<span className="app-step-nav__circle app-step-nav__circle--number">
<span className="app-step-nav__circle-inner">
<span className="app-step-nav__circle-background">
<span className="app-step-nav__circle-step-label govuk-visually-hidden">
Step
</span>{" "}
3
<span
className="app-step-nav__circle-step-colon govuk-visually-hidden"
aria-hidden="true"
>
:
</span>
</span>
</span>
</span>
<span className="js-step-title">
<a
href="#"
onClick={() => {
setShowQuestionnaireSection(3);
}}
className="app-step-nav__button app-step-nav__button--title js-step-title-button"
aria-expanded="false"
aria-controls="step-panel-check-youre-allowed-to-drive-1"
>
<span className="js-step-title-text govuk-!-font-size-16">
{t(
"myrepresentations:enf-section-heading-three"
)}
</span>
</a>
</span>
</h3>
</div>
</li>
<li
className={
"app-step-nav__step js-step app-step-nav__step--active" +
(showQuestionnaireSection >= 4
? " sectionComplete"
: " sectionIncomplete")
}
aria-current="step"
data-show=""
id="check-youre-allowed-to-drive"
>
<div
className="app-step-nav__header js-toggle-panel "
data-position="1"
>
<h3 className="app-step-nav__title ">
<span className="app-step-nav__circle app-step-nav__circle--number">
<span className="app-step-nav__circle-inner">
<span className="app-step-nav__circle-background">
<span className="app-step-nav__circle-step-label govuk-visually-hidden">
Step
</span>{" "}
4
<span
className="app-step-nav__circle-step-colon govuk-visually-hidden"
aria-hidden="true"
>
:
</span>
</span>
</span>
</span>
<span className="js-step-title">
<a
href="#"
onClick={() => {
setShowQuestionnaireSection(4);
}}
className="app-step-nav__button app-step-nav__button--title js-step-title-button"
aria-expanded="false"
aria-controls="step-panel-check-youre-allowed-to-drive-1"
>
<span className="js-step-title-text govuk-!-font-size-16">
{t(
"myrepresentations:enf-section-heading-four"
)}
</span>
</a>
</span>
</h3>
</div>
</li>
<li
className={
"app-step-nav__step js-step app-step-nav__step--active" +
(showQuestionnaireSection >= 5
? " sectionComplete"
: " sectionIncomplete")
}
aria-current="step"
data-show=""
id="check-youre-allowed-to-drive"
>
<div
className="app-step-nav__header js-toggle-panel "
data-position="1"
>
<h3 className="app-step-nav__title ">
<span className="app-step-nav__circle app-step-nav__circle--number">
<span className="app-step-nav__circle-inner">
<span className="app-step-nav__circle-background">
<span className="app-step-nav__circle-step-label govuk-visually-hidden">
Step
</span>{" "}
5
<span
className="app-step-nav__circle-step-colon govuk-visually-hidden"
aria-hidden="true"
>
:
</span>
</span>
</span>
</span>
<span className="js-step-title">
<a
href="#"
onClick={() => {
setShowQuestionnaireSection(5);
}}
className="app-step-nav__button app-step-nav__button--title js-step-title-button"
aria-expanded="false"
aria-controls="step-panel-check-youre-allowed-to-drive-1"
>
<span className="js-step-title-text govuk-!-font-size-16">
{t(
"myrepresentations:enf-section-heading-five"
)}
</span>
</a>
</span>
</h3>
</div>
</li>
<li
className={
"app-step-nav__step js-step app-step-nav__step--active" +
(showQuestionnaireSection >= 6
? " sectionComplete"
: " sectionIncomplete")
}
aria-current="step"
data-show=""
id="check-youre-allowed-to-drive"
>
<div
className="app-step-nav__header js-toggle-panel "
data-position="1"
>
<h3 className="app-step-nav__title ">
<span className="app-step-nav__circle app-step-nav__circle--number">
<span className="app-step-nav__circle-inner">
<span className="app-step-nav__circle-background">
<span className="app-step-nav__circle-step-label govuk-visually-hidden">
Step
</span>{" "}
6
<span
className="app-step-nav__circle-step-colon govuk-visually-hidden"
aria-hidden="true"
>
:
</span>
</span>
</span>
</span>
<span className="js-step-title">
<a
href="#"
onClick={() => {
setShowQuestionnaireSection(6);
}}
className="app-step-nav__button app-step-nav__button--title js-step-title-button"
aria-expanded="false"
aria-controls="step-panel-check-youre-allowed-to-drive-1"
>
<span className="js-step-title-text govuk-!-font-size-16">
{t(
"myrepresentations:enf-section-heading-six"
)}
</span>
</a>
</span>
</h3>
</div>
</li>{" "}
<li
className={
"app-step-nav__step js-step app-step-nav__step--active" +
(showQuestionnaireSection >= 7
? " sectionComplete"
: " sectionIncomplete")
}
aria-current="step"
data-show=""
id="check-youre-allowed-to-drive"
>
<div
className="app-step-nav__header js-toggle-panel "
data-position="1"
>
<h3 className="app-step-nav__title ">
<span className="app-step-nav__circle app-step-nav__circle--number">
<span className="app-step-nav__circle-inner">
<span className="app-step-nav__circle-background">
<span className="app-step-nav__circle-step-label govuk-visually-hidden">
Step
</span>{" "}
7
<span
className="app-step-nav__circle-step-colon govuk-visually-hidden"
aria-hidden="true"
>
:
</span>
</span>
</span>
</span>
<span className="js-step-title">
<a
href="#"
onClick={() => {
setShowQuestionnaireSection(7);
}}
className="app-step-nav__button app-step-nav__button--title js-step-title-button"
aria-expanded="false"
aria-controls="step-panel-check-youre-allowed-to-drive-1"
>
<span className="js-step-title-text govuk-!-font-size-16">
{t(
"myrepresentations:enf-section-heading-seven"
)}
</span>
</a>
</span>
</h3>
</div>
</li>
<li
className={
"app-step-nav__step js-step app-step-nav__step--active" +
(showQuestionnaireSection >= 8
? " sectionComplete"
: " sectionIncomplete")
}
aria-current="step"
data-show=""
id="check-youre-allowed-to-drive"
>
<div
className="app-step-nav__header js-toggle-panel "
data-position="1"
>
<h3 className="app-step-nav__title ">
<span className="app-step-nav__circle app-step-nav__circle--number">
<span className="app-step-nav__circle-inner">
<span className="app-step-nav__circle-background">
<span className="app-step-nav__circle-step-label govuk-visually-hidden">
Step
</span>{" "}
8
<span
className="app-step-nav__circle-step-colon govuk-visually-hidden"
aria-hidden="true"
>
:
</span>
</span>
</span>
</span>
<span className="js-step-title">
<a
href="#"
onClick={() => {
setShowQuestionnaireSection(8);
}}
className="app-step-nav__button app-step-nav__button--title js-step-title-button"
aria-expanded="false"
aria-controls="step-panel-check-youre-allowed-to-drive-1"
>
<span className="js-step-title-text govuk-!-font-size-16">
{t(
"myrepresentations:add-files-label"
)}
</span>
</a>
</span>
</h3>
</div>
</li>
<li
className={
"app-step-nav__step js-step app-step-nav__step--active" +
(showQuestionnaireSection >= 9
? " sectionComplete"
: " sectionIncomplete")
}
aria-current="step"
data-show=""
id="check-youre-allowed-to-drive"
>
<div
className="app-step-nav__header js-toggle-panel "
data-position="1"
>
<h3 className="app-step-nav__title ">
<span className="app-step-nav__circle app-step-nav__circle--number">
<span className="app-step-nav__circle-inner">
<span className="app-step-nav__circle-background">
<span className="app-step-nav__circle-step-label govuk-visually-hidden">
Step
</span>{" "}
9
<span
className="app-step-nav__circle-step-colon govuk-visually-hidden"
aria-hidden="true"
>
:
</span>
</span>
</span>
</span>
<span className="js-step-title">
<a
href="#"
onClick={() => {
setShowQuestionnaireSection(9);
}}
className="app-step-nav__button app-step-nav__button--title js-step-title-button"
aria-expanded="false"
aria-controls="step-panel-check-youre-allowed-to-drive-1"
>
<span className="js-step-title-text govuk-!-font-size-16">
{t(
"myrepresentations:enf-section-heading-eight"
)}
</span>
</a>
</span>
</h3>
</div>
</li>
</ol>
</div>
</nav>
);
};
export default RepresentationProgress_enforcement;
@@ -0,0 +1,435 @@
import Link from "next/link";
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import { connect } from "react-redux";
import { Field, reduxForm, formValueSelector } from "redux-form";
import {
RenderPickList,
RenderTextfield,
RenderRadioList,
RenderMultiline,
RenderCondtionalRadioList,
RenderLPACondtionalRadioList,
FileUploadField,
RenderRichMultiline,
RenderDatePicker,
} from "../representationElements";
import {
setRepresentationCapacity,
setRepresentationSubmit,
} from "../../../../store/currentView/action";
import { useDropzone } from "react-dropzone";
import { select } from "xpath";
import jsonpath from "jsonpath";
const RepresentationProgress_s78 = (props) => {
let { t } = useTranslation();
const router = useRouter();
const {
formObj,
appellantApplicantRepresentationArr,
setRepresentationCapacity,
setRepresentationSubmit,
currentView,
procedureTypeValue,
onBehalfOfLPA,
setShowQuestionnaireSection,
showQuestionnaireSection,
} = props;
return (
<nav
role="navigation"
aria-labelledby="progress-list"
className="at-nav"
>
<div
id="step-by-step-navigation"
data-module="gemstepnav"
className="app-step-nav app-step-nav--active"
data-id="e01e924b-9c7c-4c71-8241-66a575c2f61f"
data-show-text="show"
data-hide-text="hide"
data-show-all-text="Show all"
data-hide-all-text="Hide all"
>
<ol className="app-step-nav__steps">
<li
className={
"app-step-nav__step js-step app-step-nav__step--active" +
(showQuestionnaireSection >= 1
? " sectionComplete"
: " sectionIncomplete")
}
aria-current="step"
data-show=""
id="check-youre-allowed-to-drive"
>
<div
className="app-step-nav__header js-toggle-panel "
data-position="1"
>
<h3 className="app-step-nav__title ">
<span className="app-step-nav__circle app-step-nav__circle--number">
<span className="app-step-nav__circle-inner">
<span className="app-step-nav__circle-background">
<span className="app-step-nav__circle-step-label govuk-visually-hidden">
Step
</span>{" "}
1
<span
className="app-step-nav__circle-step-colon govuk-visually-hidden"
aria-hidden="true"
>
:
</span>
</span>
</span>
</span>
<span className="js-step-title">
<a
href="#"
onClick={() => {
setShowQuestionnaireSection(1);
}}
className="app-step-nav__button app-step-nav__button--title js-step-title-button"
aria-expanded="false"
aria-controls="step-panel-check-youre-allowed-to-drive-1"
>
<span className="js-step-title-text govuk-!-font-size-16">
{t(
"myrepresentations:s78-section-heading-one"
)}
</span>
</a>
</span>
</h3>
</div>
</li>
<li
className={
"app-step-nav__step js-step app-step-nav__step--active" +
(showQuestionnaireSection >= 2
? " sectionComplete"
: " sectionIncomplete")
}
aria-current="step"
data-show=""
id="check-youre-allowed-to-drive"
>
<div
className="app-step-nav__header js-toggle-panel "
data-position="1"
>
<h3 className="app-step-nav__title ">
<span className="app-step-nav__circle app-step-nav__circle--number">
<span className="app-step-nav__circle-inner">
<span className="app-step-nav__circle-background">
<span className="app-step-nav__circle-step-label govuk-visually-hidden">
Step
</span>{" "}
2
<span
className="app-step-nav__circle-step-colon govuk-visually-hidden"
aria-hidden="true"
>
:
</span>
</span>
</span>
</span>
<span className="js-step-title">
<a
href="#"
onClick={() => {
setShowQuestionnaireSection(2);
}}
className="app-step-nav__button app-step-nav__button--title js-step-title-button"
aria-expanded="false"
aria-controls="step-panel-check-youre-allowed-to-drive-1"
>
<span className="js-step-title-text govuk-!-font-size-16">
{t(
"myrepresentations:s78-section-heading-two"
)}
</span>
</a>
</span>
</h3>
</div>
</li>
<li
className={
"app-step-nav__step js-step app-step-nav__step--active" +
(showQuestionnaireSection >= 3
? " sectionComplete"
: " sectionIncomplete")
}
aria-current="step"
data-show=""
id="check-youre-allowed-to-drive"
>
<div
className="app-step-nav__header js-toggle-panel "
data-position="1"
>
<h3 className="app-step-nav__title ">
<span className="app-step-nav__circle app-step-nav__circle--number">
<span className="app-step-nav__circle-inner">
<span className="app-step-nav__circle-background">
<span className="app-step-nav__circle-step-label govuk-visually-hidden">
Step
</span>{" "}
3
<span
className="app-step-nav__circle-step-colon govuk-visually-hidden"
aria-hidden="true"
>
:
</span>
</span>
</span>
</span>
<span className="js-step-title">
<a
href="#"
onClick={() => {
setShowQuestionnaireSection(3);
}}
className="app-step-nav__button app-step-nav__button--title js-step-title-button"
aria-expanded="false"
aria-controls="step-panel-check-youre-allowed-to-drive-1"
>
<span className="js-step-title-text govuk-!-font-size-16">
{t(
"myrepresentations:s78-section-heading-three"
)}
</span>
</a>
</span>
</h3>
</div>
</li>
<li
className={
"app-step-nav__step js-step app-step-nav__step--active" +
(showQuestionnaireSection >= 4
? " sectionComplete"
: " sectionIncomplete")
}
aria-current="step"
data-show=""
id="check-youre-allowed-to-drive"
>
<div
className="app-step-nav__header js-toggle-panel "
data-position="1"
>
<h3 className="app-step-nav__title ">
<span className="app-step-nav__circle app-step-nav__circle--number">
<span className="app-step-nav__circle-inner">
<span className="app-step-nav__circle-background">
<span className="app-step-nav__circle-step-label govuk-visually-hidden">
Step
</span>{" "}
4
<span
className="app-step-nav__circle-step-colon govuk-visually-hidden"
aria-hidden="true"
>
:
</span>
</span>
</span>
</span>
<span className="js-step-title">
<a
href="#"
onClick={() => {
setShowQuestionnaireSection(4);
}}
className="app-step-nav__button app-step-nav__button--title js-step-title-button"
aria-expanded="false"
aria-controls="step-panel-check-youre-allowed-to-drive-1"
>
<span className="js-step-title-text govuk-!-font-size-16">
{t(
"myrepresentations:s78-section-heading-four"
)}
</span>
</a>
</span>
</h3>
</div>
</li>
<li
className={
"app-step-nav__step js-step app-step-nav__step--active" +
(showQuestionnaireSection >= 5
? " sectionComplete"
: " sectionIncomplete")
}
aria-current="step"
data-show=""
id="check-youre-allowed-to-drive"
>
<div
className="app-step-nav__header js-toggle-panel "
data-position="1"
>
<h3 className="app-step-nav__title ">
<span className="app-step-nav__circle app-step-nav__circle--number">
<span className="app-step-nav__circle-inner">
<span className="app-step-nav__circle-background">
<span className="app-step-nav__circle-step-label govuk-visually-hidden">
Step
</span>{" "}
5
<span
className="app-step-nav__circle-step-colon govuk-visually-hidden"
aria-hidden="true"
>
:
</span>
</span>
</span>
</span>
<span className="js-step-title">
<a
href="#"
onClick={() => {
setShowQuestionnaireSection(5);
}}
className="app-step-nav__button app-step-nav__button--title js-step-title-button"
aria-expanded="false"
aria-controls="step-panel-check-youre-allowed-to-drive-1"
>
<span className="js-step-title-text govuk-!-font-size-16">
{t(
"myrepresentations:s78-section-heading-five"
)}
</span>
</a>
</span>
</h3>
</div>
</li>{" "}
<li
className={
"app-step-nav__step js-step app-step-nav__step--active" +
(showQuestionnaireSection >= 6
? " sectionComplete"
: " sectionIncomplete")
}
aria-current="step"
data-show=""
id="check-youre-allowed-to-drive"
>
<div
className="app-step-nav__header js-toggle-panel "
data-position="1"
>
<h3 className="app-step-nav__title ">
<span className="app-step-nav__circle app-step-nav__circle--number">
<span className="app-step-nav__circle-inner">
<span className="app-step-nav__circle-background">
<span className="app-step-nav__circle-step-label govuk-visually-hidden">
Step
</span>{" "}
6
<span
className="app-step-nav__circle-step-colon govuk-visually-hidden"
aria-hidden="true"
>
:
</span>
</span>
</span>
</span>
<span className="js-step-title">
<a
href="#"
onClick={() => {
setShowQuestionnaireSection(6);
}}
className="app-step-nav__button app-step-nav__button--title js-step-title-button"
aria-expanded="false"
aria-controls="step-panel-check-youre-allowed-to-drive-1"
>
<span className="js-step-title-text govuk-!-font-size-16">
{t(
"myrepresentations:add-files-label"
)}
</span>
</a>
</span>
</h3>
</div>
</li>
<li
className={
"app-step-nav__step js-step app-step-nav__step--active" +
(showQuestionnaireSection >= 7
? " sectionComplete"
: " sectionIncomplete")
}
aria-current="step"
data-show=""
id="check-youre-allowed-to-drive"
>
<div
className="app-step-nav__header js-toggle-panel "
data-position="1"
>
<h3 className="app-step-nav__title ">
<span className="app-step-nav__circle app-step-nav__circle--number">
<span className="app-step-nav__circle-inner">
<span className="app-step-nav__circle-background">
<span className="app-step-nav__circle-step-label govuk-visually-hidden">
Step
</span>{" "}
7
<span
className="app-step-nav__circle-step-colon govuk-visually-hidden"
aria-hidden="true"
>
:
</span>
</span>
</span>
</span>
<span className="js-step-title">
<a
href="#"
onClick={() => {
setShowQuestionnaireSection(7);
}}
className="app-step-nav__button app-step-nav__button--title js-step-title-button"
aria-expanded="false"
aria-controls="step-panel-check-youre-allowed-to-drive-1"
>
<span className="js-step-title-text govuk-!-font-size-16">
{t(
"myrepresentations:s78-section-heading-seven"
)}
</span>
</a>
</span>
</h3>
</div>
</li>
</ol>
</div>
</nav>
);
};
export default RepresentationProgress_s78;
@@ -97,32 +97,23 @@ let S78_Questionnaire = (props) => {
aria-describedby="commentBox-hint"
>
<h3 className="govuk-heading-s ">
Appeal procedure and site visit{" "}
{t("myrepresentations:s78-section-heading-one")}{" "}
</h3>
<div className="govuk-form-group">
<div className="govuk-label">
1. PEDW Reference:{" "}
1. {t("myrepresentations:s78-section-question-1")}{" "}
{currentView.caseReference.currentReference}
</div>
</div>
<div className="govuk-form-group">
<div className="govuk-label">
2. LPA reference: {resultsObj.pinswg_lpareference}
2. {t("myrepresentations:s78-section-question-2")}{" "}
{resultsObj.pinswg_lpareference}
</div>
</div>
<div className="govuk-form-group">
<div className="govuk-label">
4. Appeal type:{" "}
{
getFormCollectionByID(
currentView.caseReference.appealType
).value
}
</div>
</div>
<div className="govuk-form-group">
<div className="govuk-label">
3. Site Address:{" "}
3. {t("myrepresentations:s78-section-question-3")}{" "}
{detailsObj.pinswg_siteaddressline1 +
" " +
detailsObj.pinswg_siteaddressline2 +
@@ -132,9 +123,23 @@ let S78_Questionnaire = (props) => {
detailsObj.pinswg_siteaddresspostcode}
</div>
</div>
<div className="govuk-form-group">
<div className="govuk-label">
4. {t("myrepresentations:s78-section-question-4")}{" "}
{
getFormCollectionByID(
currentView.caseReference.appealType
).value
}
</div>
</div>
<div className="govuk-form-group">
<Field
label="5. Which procedure do you consider the appeal should follow?"
label={
"5. " +
t("myrepresentations:s78-section-question-5")
}
name="procedureType"
optionsArr={[
"Written representations",
@@ -164,11 +169,17 @@ let S78_Questionnaire = (props) => {
)}
<Field
label="6. Will the Inspector need to enter the appeal site/property?"
label={
"6. " +
t("myrepresentations:s78-section-question-6")
}
name="enterToView"
id="enterToView"
component={RenderRadioList}
options={["Yes", "No"]}
options={[
t("myrepresentations:questionnaire-yes"),
t("myrepresentations:questionnaire-no"),
]}
type="text"
rows="5"
className="govuk-textarea govuk-input--width-30"
@@ -179,57 +190,81 @@ let S78_Questionnaire = (props) => {
<Field
name="enterNeighbouringLandToViewSite"
datafieldname="enterNeighbouringLandToViewSite"
options={["Yes", "No"]}
options={[
t("myrepresentations:questionnaire-yes"),
t("myrepresentations:questionnaire-no"),
]}
id="enterNeighbouringLandToViewSite"
className="govuk-radios__input"
errorMsg={t("newappeal:select-an-option-label")}
component={RenderLPACondtionalRadioList}
validate={[required]}
legend={
"7. Do you consider that the Inspector needs to enter neighbouring private land/property to view the site?"
"7. " +
t(
"myrepresentations:s78-section-question-7"
)
}
conditionalLabel={
"If Yes, give reasons and provide the neighbouring site address. If you have them, provide the contact details of the landowner in an attachment."
}
optionSelect={"Yes"}
conditionalLabel={t(
"myrepresentations:s78-section-question-7-hint"
)}
optionSelect={t(
"myrepresentations:questionnaire-yes"
)}
/>
</div>
<div className="govuk-form-group">
<Field
name="enterNeighbouringLandAccessRequired"
datafieldname="enterNeighbouringLandAccessRequired"
options={["Yes", "No"]}
options={[
t("myrepresentations:questionnaire-yes"),
t("myrepresentations:questionnaire-no"),
]}
id="enterNeighbouringLandAccessRequired"
className="govuk-radios__input"
errorMsg={t("newappeal:select-an-option-label")}
component={RenderLPACondtionalRadioList}
validate={[required]}
legend={
"8. If access to private land/buildings is required, are you content for the Inspector to visit the site on an access required basis, with only the landowner or their representative present?"
"8. " +
t(
"myrepresentations:s78-section-question-8"
)
}
conditionalLabel={
"If No, give reasons for why you consider an Accompanied Site Visit to be necessary"
}
optionSelect={"No"}
conditionalLabel={t(
"myrepresentations:s78-section-question-8-hint"
)}
optionSelect={t(
"myrepresentations:questionnaire-no"
)}
/>
</div>
<div className="govuk-form-group">
<Field
name="healthAndSafetyIssues"
datafieldname="healthAndSafetyIssues"
options={["Yes", "No"]}
options={[
t("myrepresentations:questionnaire-yes"),
t("myrepresentations:questionnaire-no"),
]}
id="healthAndSafetyIssues"
className="govuk-radios__input"
errorMsg={t("newappeal:select-an-option-label")}
component={RenderLPACondtionalRadioList}
validate={[required]}
legend={
"9. Are you aware of any health and safety issues which would need to be considered when the Inspector visits the site?"
"9. " +
t(
"myrepresentations:s78-section-question-9"
)
}
conditionalLabel={
"If Yes, describe the health and safety issues to be considered"
}
optionSelect={"Yes"}
conditionalLabel={t(
"myrepresentations:s78-section-question-9-hint"
)}
optionSelect={t(
"myrepresentations:questionnaire-yes"
)}
/>
</div>
@@ -242,7 +277,12 @@ let S78_Questionnaire = (props) => {
data-aria-controls="LPAcontactDetails"
type="text"
component={RenderRichMultiline}
label="10. LPA contact for site visit, hearing or inquiry arrangements:"
label={
"10. " +
t(
"myrepresentations:s78-section-question-10"
)
}
/>
</div>
</div>
@@ -253,10 +293,16 @@ let S78_Questionnaire = (props) => {
className="govuk-fieldset govuk-!-margin-top-9"
aria-describedby="commentBox-hint"
>
<h3 className="govuk-heading-s ">Supporting documents </h3>
<h3 className="govuk-heading-s ">
{" "}
{t("myrepresentations:s78-section-heading-two")}{" "}
</h3>
<div className="govuk-form-group">
<Field
label="11. LPA case file and representations"
label={
"11. " +
t("myrepresentations:s78-section-question-11")
}
name="LPAcaseFileAndReps"
id="LPAcaseFileAndReps"
component={RenderMultiline}
@@ -265,12 +311,17 @@ let S78_Questionnaire = (props) => {
className="govuk-textarea govuk-input--width-30"
aria-describedby={props.name + "-hint"}
richText="false"
hint="Insert weblink(s) to case file and representations on the LPAs public portal. This must include all documents which were before the LPA at the time of its decision or when the appeal was made. Ensure that you link directly to the case documents list, not to a generic page on the LPAs portal. If web-based comments were also made, insert a second link to that page. Alternatively, state here if you are sending relevant case file documents under separate cover."
hint={t(
"myrepresentations:s78-section-question-11-hint"
)}
/>
</div>
<div className="govuk-form-group">
<Field
label="12. LPAs adopted local development plan and Proposals Map:"
label={
"12. " +
t("myrepresentations:s78-section-question-12")
}
name="LPAldpAndMap"
id="LPAldpAndMap"
component={RenderMultiline}
@@ -279,12 +330,17 @@ let S78_Questionnaire = (props) => {
className="govuk-textarea govuk-input--width-30"
aria-describedby={props.name + "-hint"}
richText="false"
hint="Insert weblinks to the Written Statement of the adopted LDP/UDP, and the accompanying Proposals Map (including map key). Alternatively, list relevant policies here and attach excerpts."
hint={t(
"myrepresentations:s78-section-question-12-hint"
)}
/>
</div>
<div className="govuk-form-group">
<Field
label="13. Adopted local guidance relevant to the proposal"
label={
"13. " +
t("myrepresentations:s78-section-question-13")
}
name="LPAlocalGuidance"
id="LPAlocalGuidance"
component={RenderMultiline}
@@ -293,15 +349,23 @@ let S78_Questionnaire = (props) => {
className="govuk-textarea govuk-input--width-30"
aria-describedby={props.name + "-hint"}
richText="false"
hint="Insert weblink(s) to any relevant any local guidance (e.g. Supplementary Planning Guidance, Conservation Area appraisals) which the LPA considers relevant, specifying the document name before the web link. Alternatively, list the relevant guidance and attach copies/excerpts."
hint={t(
"myrepresentations:s78-section-question-13-hint"
)}
/>
</div>
<Field
label="14. If applicable, do you intend to submit a full statement at the 4- week stage?"
label={
"14. " +
t("myrepresentations:s78-section-question-13")
}
name="LPAintentionToSubmitFullStatement"
id="LPAintentionToSubmitFullStatement"
component={RenderRadioList}
options={["Yes", "No"]}
options={[
t("myrepresentations:questionnaire-yes"),
t("myrepresentations:questionnaire-no"),
]}
type="text"
rows="5"
className="govuk-textarea govuk-input--width-30"
@@ -315,14 +379,20 @@ let S78_Questionnaire = (props) => {
aria-describedby="commentBox-hint"
>
<h3 className="govuk-heading-s ">
Statutory considerations
{t("myrepresentations:s78-section-heading-three")}
</h3>
<Field
label="15. Is all or part of the site within an Area of Outstanding Natural Beauty?"
label={
"15. " +
t("myrepresentations:s78-section-question-15")
}
name="AONB"
id="AONB"
component={RenderRadioList}
options={["Yes", "No"]}
options={[
t("myrepresentations:questionnaire-yes"),
t("myrepresentations:questionnaire-no"),
]}
type="text"
rows="5"
className="govuk-textarea govuk-input--width-30"
@@ -333,122 +403,164 @@ let S78_Questionnaire = (props) => {
<Field
name="ROW"
datafieldname="ROW"
options={["Yes", "No"]}
options={[
t("myrepresentations:questionnaire-yes"),
t("myrepresentations:questionnaire-no"),
]}
id="ROW"
className="govuk-radios__input"
errorMsg={t("newappeal:select-an-option-label")}
component={RenderLPACondtionalRadioList}
validate={[required]}
legend={
"16. Does the site include any public rights of way?"
"16. " +
t("myrepresentations:s78-section-question-16")
}
conditionalLabel={
"If Yes, attach or insert a link to the definitive map and statement for the local area"
}
optionSelect={"Yes"}
conditionalLabel={t(
"myrepresentations:s78-section-question-16-hint"
)}
optionSelect={t(
"myrepresentations:questionnaire-yes"
)}
/>
</div>
<div className="govuk-form-group">
<Field
name="conservationArea"
datafieldname="conservationArea"
options={["Yes", "No"]}
options={[
t("myrepresentations:questionnaire-yes"),
t("myrepresentations:questionnaire-no"),
]}
id="conservationArea"
className="govuk-radios__input"
errorMsg={t("newappeal:select-an-option-label")}
component={RenderLPACondtionalRadioList}
validate={[required]}
legend={
"17. Is all or part of the site within a Conservation Area?"
"17. " +
t("myrepresentations:s78-section-question-17")
}
conditionalLabel={
"If Yes, attach or insert links to a plan showing the Conservation Area boundary"
}
optionSelect={"Yes"}
conditionalLabel={t(
"myrepresentations:s78-section-question-17-hint"
)}
optionSelect={t(
"myrepresentations:questionnaire-yes"
)}
/>
</div>
<div className="govuk-form-group">
<Field
name="affectListedBuilding"
datafieldname="affectListedBuilding"
options={["Yes", "No"]}
options={[
t("myrepresentations:questionnaire-yes"),
t("myrepresentations:questionnaire-no"),
]}
id="affectListedBuilding"
className="govuk-radios__input"
errorMsg={t("newappeal:select-an-option-label")}
component={RenderLPACondtionalRadioList}
validate={[required]}
legend={
"18. Would the proposal involve works to, or affect the setting of, a listed building, Scheduled Monument or other designated historic asset?"
"18. " +
t("myrepresentations:s78-section-question-18")
}
conditionalLabel={
"If Yes, attach or insert links to the listing description(s) and location plan"
}
optionSelect={"Yes"}
conditionalLabel={t(
"myrepresentations:s78-section-question-18-hint"
)}
optionSelect={t(
"myrepresentations:questionnaire-yes"
)}
/>
</div>
<div className="govuk-form-group">
<Field
name="TPO"
datafieldname="TPO"
options={["Yes", "No"]}
options={[
t("myrepresentations:questionnaire-yes"),
t("myrepresentations:questionnaire-no"),
]}
id="TPO"
className="govuk-radios__input"
errorMsg={t("newappeal:select-an-option-label")}
component={RenderLPACondtionalRadioList}
validate={[required]}
legend={
"19. Is any part of the site subject to a Tree Preservation Order?"
"19. " +
t("myrepresentations:s78-section-question-19")
}
conditionalLabel={
"If Yes, attach or insert links to the relevant plan and details"
}
optionSelect={"Yes"}
conditionalLabel={t(
"myrepresentations:s78-section-question-19-hint"
)}
optionSelect={t(
"myrepresentations:questionnaire-yes"
)}
/>
</div>
<div className="govuk-form-group">
<Field
name="natureConservationSite"
datafieldname="natureConservationSite"
options={["Yes", "No"]}
options={[
t("myrepresentations:questionnaire-yes"),
t("myrepresentations:questionnaire-no"),
]}
id="natureConservationSite"
className="govuk-radios__input"
errorMsg={t("newappeal:select-an-option-label")}
component={RenderLPACondtionalRadioList}
validate={[required]}
legend={
"20. Is the site within or likely to affect an International or National Designated Site for nature conservation (as defined in Planning Policy Wales)?"
"20. " +
t("myrepresentations:s78-section-question-20")
}
conditionalLabel={
"If Yes, specify the name and attach any relevant details"
}
optionSelect={"Yes"}
conditionalLabel={t(
"myrepresentations:s78-section-question-20-hint"
)}
optionSelect={t(
"myrepresentations:questionnaire-yes"
)}
/>
</div>
<div className="govuk-form-group">
<Field
name="protectedSpecies"
datafieldname="protectedSpecies"
options={["Yes", "No"]}
options={[
t("myrepresentations:questionnaire-yes"),
t("myrepresentations:questionnaire-no"),
]}
id="protectedSpecies"
className="govuk-radios__input"
errorMsg={t("newappeal:select-an-option-label")}
component={RenderLPACondtionalRadioList}
validate={[required]}
legend={
"21. Are any protected species likely to be affected by the proposal?"
"21. " +
t("myrepresentations:s78-section-question-21")
}
conditionalLabel={
"If Yes, specify which and attach any relevant details"
}
optionSelect={"Yes"}
conditionalLabel={t(
"myrepresentations:s78-section-question-21-hint"
)}
optionSelect={t(
"myrepresentations:questionnaire-yes"
)}
/>
</div>
<Field
label="22. Does the case involve persons claiming Gypsy/Traveller status, whether or not this is accepted by the LPA?"
label={
"22. " +
t("myrepresentations:s78-section-question-22")
}
name="gypsyTravellerInvolvment"
id="gypsyTravellerInvolvment"
component={RenderRadioList}
options={["Yes", "No"]}
options={[
t("myrepresentations:questionnaire-yes"),
t("myrepresentations:questionnaire-no"),
]}
type="text"
rows="5"
className="govuk-textarea govuk-input--width-30"
@@ -458,19 +570,25 @@ let S78_Questionnaire = (props) => {
<Field
name="governmentDepartmentComments"
datafieldname="governmentDepartmentComments"
options={["Yes", "No"]}
options={[
t("myrepresentations:questionnaire-yes"),
t("myrepresentations:questionnaire-no"),
]}
id="governmentDepartmentComments"
className="govuk-radios__input"
errorMsg={t("newappeal:select-an-option-label")}
component={RenderLPACondtionalRadioList}
validate={[required]}
legend={
"23. Have you received comments or directions from any government department/agency or statutory undertaker, including in response to a statutory notification or consultation?"
"23. " +
t("myrepresentations:s78-section-question-23")
}
conditionalLabel={
"If Yes, specify which and attach any relevant details"
}
optionSelect={"Yes"}
conditionalLabel={t(
"myrepresentations:s78-section-question-23-hint"
)}
optionSelect={t(
"myrepresentations:questionnaire-yes"
)}
/>
</div>
</fieldset>
@@ -480,21 +598,26 @@ let S78_Questionnaire = (props) => {
className="govuk-fieldset govuk-!-margin-top-9"
aria-describedby="commentBox-hint"
>
<h3 className="govuk-heading-s ">Suggested conditions</h3>
<h3 className="govuk-heading-s ">
{t("myrepresentations:s78-section-heading-four")}
</h3>
<div className="govuk-form-group govuk-body-m">
24. Review the following standard conditions and advise
whether they would be necessary if permission/consent is
granted (not applicable to Advertisement consent
proposals):
{"24. " +
t("myrepresentations:s78-section-question-24")}
</div>
<Field
label="a) The development shall begin not later than five years from the date of this decision.
Reason: To comply with Section 91 of the Town and Country Planning Act 1990 / Section 18 of the Town and Country Planning (Listed Building and Conservation Areas) Act 1990."
label={
"a) " +
t("myrepresentations:s78-section-question-24a")
}
name="developmentNotBeginLaterThanFiveYears"
id="developmentNotBeginLaterThanFiveYears"
component={RenderRadioList}
options={["Yes", "No"]}
options={[
t("myrepresentations:questionnaire-yes"),
t("myrepresentations:questionnaire-no"),
]}
type="text"
rows="5"
className="govuk-textarea govuk-input--width-30"
@@ -505,40 +628,56 @@ Reason: To comply with Section 91 of the Town and Country Planning Act 1990 / Se
<Field
name="developmentCarriedOutInAccordance"
datafieldname="developmentCarriedOutInAccordance"
options={["Yes", "No"]}
options={[
t("myrepresentations:questionnaire-yes"),
t("myrepresentations:questionnaire-no"),
]}
id="developmentCarriedOutInAccordance"
className="govuk-radios__input"
errorMsg={t("newappeal:select-an-option-label")}
component={RenderLPACondtionalRadioList}
validate={[required]}
legend={
"b) The development shall be carried out in accordance with the following approved plans and documents: ............................ Reason: To ensure the development is carried out in accordance with the approved documents, plans and drawings submitted with the application."
"b) " +
t("myrepresentations:s78-section-question-24b")
}
conditionalLabel={
"If Yes, list the approved plans, documents and drawings here or list them in an attached document"
}
optionSelect={"Yes"}
conditionalLabel={t(
"myrepresentations:s78-section-question-24b-hint"
)}
optionSelect={t(
"myrepresentations:questionnaire-yes"
)}
/>
</div>
<Field
label="c) No development shall take place until a scheme for biodiversity enhancement has been submitted to and agreed in writing by the local planning authority. Development shall be carried out in accordance with the approved details.
Reason: In the interests of maintaining and enhancing biodiversity, in accordance with Future Wales Policy 9."
label={
"c) " +
t("myrepresentations:s78-section-question-24c")
}
name="developmentNotTakePlaceBiodiversity"
id="developmentNotTakePlaceBiodiversity"
component={RenderRadioList}
options={["Yes", "No"]}
options={[
t("myrepresentations:questionnaire-yes"),
t("myrepresentations:questionnaire-no"),
]}
type="text"
rows="5"
className="govuk-textarea govuk-input--width-30"
aria-describedby={props.name + "-hint"}
/>
<Field
label="d) No development shall take place until a scheme to enable the provision of gigabit capable broadband infrastructure from the site boundary to the dwellings/buildings hereby permitted has been submitted to and agreed in writing by the local planning authority. Development shall be carried out in accordance with the approved details.
Reason: To support the roll-out of digital communications infrastructure across Wales in accordance with Policy 13 of Future Wales."
label={
"d) " +
t("myrepresentations:s78-section-question-24d")
}
name="developmentNotTakePlaceBroadband"
id="developmentNotTakePlaceBroadband"
component={RenderRadioList}
options={["Yes", "No"]}
options={[
t("myrepresentations:questionnaire-yes"),
t("myrepresentations:questionnaire-no"),
]}
type="text"
rows="5"
className="govuk-textarea govuk-input--width-30"
@@ -549,19 +688,25 @@ Reason: To support the roll-out of digital communications infrastructure across
<Field
name="developmentAnyOtherConditions"
datafieldname="developmentAnyOtherConditions"
options={["Yes", "No"]}
options={[
t("myrepresentations:questionnaire-yes"),
t("myrepresentations:questionnaire-no"),
]}
id="developmentAnyOtherConditions"
className="govuk-radios__input"
errorMsg={t("newappeal:select-an-option-label")}
component={RenderLPACondtionalRadioList}
validate={[required]}
legend={
"25. Do you consider other conditions, or amended versions of the above standard conditions, to be necessary?"
"25. " +
t("myrepresentations:s78-section-question-25")
}
conditionalLabel={
"If Yes, list them here or in an attached document. Include reasons and relevant development plan policies. If you intend to send suggested conditions alongside your 4 week statement, state this here."
}
optionSelect={"Yes"}
conditionalLabel={t(
"myrepresentations:s78-section-question-25-hint"
)}
optionSelect={t(
"myrepresentations:questionnaire-yes"
)}
/>
</div>
</fieldset>
@@ -572,160 +717,199 @@ Reason: To support the roll-out of digital communications infrastructure across
aria-describedby="commentBox-hint"
>
<h3 className="govuk-heading-s ">
Before sending, have you attached or provided a web link
to:
{t("myrepresentations:s78-section-heading-five")}
</h3>
<div className="govuk-form-group">
<Field
name="copyOfApplicantsCertificate"
datafieldname="copyOfApplicantsCertificate"
options={["Yes", "No"]}
options={[
t("myrepresentations:questionnaire-yes"),
t("myrepresentations:questionnaire-no"),
]}
id="copyOfApplicantsCertificate"
className="govuk-radios__input"
errorMsg={t("newappeal:select-an-option-label")}
component={RenderLPACondtionalRadioList}
validate={[required]}
legend={
"26. A copy of the applicants certificate confirming that they notified persons with an interest in the land?"
}
conditionalLabel={
"Insert weblink here if available online. If No, give reasons"
}
optionSelect={"No"}
legend={t(
"myrepresentations:s78-section-question-26"
)}
conditionalLabel={t(
"myrepresentations:s78-section-question-26-hint"
)}
optionSelect={t(
"myrepresentations:questionnaire-no"
)}
/>
</div>
<div className="govuk-form-group">
<Field
name="advertismentGiven"
datafieldname="advertismentGiven"
options={["Yes", "No"]}
options={[
t("myrepresentations:questionnaire-yes"),
t("myrepresentations:questionnaire-no"),
]}
id="advertismentGiven"
className="govuk-radios__input"
errorMsg={t("newappeal:select-an-option-label")}
component={RenderLPACondtionalRadioList}
validate={[required]}
legend={
"27. Evidence of any publicity given to the application, including site notices and local advertisement?**"
}
conditionalLabel={
"Insert weblink here if available online. If No, give reasons"
}
optionSelect={"No"}
legend={t(
"myrepresentations:s78-section-question-27"
)}
conditionalLabel={t(
"myrepresentations:s78-section-question-27-hint"
)}
optionSelect={t(
"myrepresentations:questionnaire-no"
)}
/>
</div>
<div className="govuk-form-group">
<Field
name="copyOfLetterOfAppealNotification"
datafieldname="copyOfLetterOfAppealNotification"
options={["Yes", "No"]}
options={[
t("myrepresentations:questionnaire-yes"),
t("myrepresentations:questionnaire-no"),
]}
id="copyOfLetterOfAppealNotification"
className="govuk-radios__input"
errorMsg={t("newappeal:select-an-option-label")}
component={RenderLPACondtionalRadioList}
validate={[required]}
legend={
"28. A copy of the letter with which you notified people of the appeal AND a list of the people you notified?"
}
conditionalLabel={
"Insert weblink here if available online. If No, give reasons"
}
optionSelect={"No"}
legend={t(
"myrepresentations:s78-section-question-28"
)}
conditionalLabel={t(
"myrepresentations:s78-section-question-28-hint"
)}
optionSelect={t(
"myrepresentations:questionnaire-no"
)}
/>
</div>
<div className="govuk-form-group">
<Field
name="lpaEIAOS"
datafieldname="lpaEIAOS"
options={["Yes", "No"]}
options={[
t("myrepresentations:questionnaire-yes"),
t("myrepresentations:questionnaire-no"),
]}
id="lpaEIAOS"
className="govuk-radios__input"
errorMsg={t("newappeal:select-an-option-label")}
component={RenderLPACondtionalRadioList}
validate={[required]}
legend={
"29. he LPAs Environmental Impact Assessment Screening Opinion, if applicable?"
}
conditionalLabel={
"Insert weblink here if available online. If No, give reasons"
}
optionSelect={"Yes"}
legend={t(
"myrepresentations:s78-section-question-29"
)}
conditionalLabel={t(
"myrepresentations:s78-section-question-29-hint"
)}
optionSelect={t(
"myrepresentations:questionnaire-yes"
)}
/>
</div>
<div className="govuk-form-group">
<Field
name="advertismentConsentDiscontinuanceNotice"
datafieldname="advertismentConsentDiscontinuanceNotice"
options={["Yes", "No"]}
options={[
t("myrepresentations:questionnaire-yes"),
t("myrepresentations:questionnaire-no"),
]}
id="advertismentConsentDiscontinuanceNotice"
className="govuk-radios__input"
errorMsg={t("newappeal:select-an-option-label")}
component={RenderLPACondtionalRadioList}
validate={[required]}
legend={
"30. Advertisement consent proposals only: A true copy of the Discontinuance Notice (if one has been issued)?"
}
conditionalLabel={
"If Yes, state how the use of the site or the display of the advertisement(s) enjoys the benefit of deemed consent"
}
optionSelect={"Yes"}
legend={t(
"myrepresentations:s78-section-question-30"
)}
conditionalLabel={t(
"myrepresentations:s78-section-question-30-hint"
)}
optionSelect={t(
"myrepresentations:questionnaire-yes"
)}
/>
</div>
<div className="govuk-form-group">
<Field
name="detailsOfOtherAppeals"
datafieldname="detailsOfOtherAppeals"
options={["Yes", "No"]}
options={[
t("myrepresentations:questionnaire-yes"),
t("myrepresentations:questionnaire-no"),
]}
id="detailsOfOtherAppeals"
className="govuk-radios__input"
errorMsg={t("newappeal:select-an-option-label")}
component={RenderLPACondtionalRadioList}
validate={[required]}
legend={
"31. Details of other appeals or applications relating to the site, or a nearby site, which are still being considered by PEDW or the Welsh Ministers?"
}
conditionalLabel={
"If Yes, provide reference numbers and, if applicable, attach or insert links to relevant documents"
}
optionSelect={"Yes"}
legend={t(
"myrepresentations:s78-section-question-31"
)}
conditionalLabel={t(
"myrepresentations:s78-section-question-31-hint"
)}
optionSelect={t(
"myrepresentations:questionnaire-yes"
)}
/>
</div>
<div className="govuk-form-group">
<Field
name="detailsOfPreviousAppeals"
datafieldname="detailsOfPreviousAppeals"
options={["Yes", "No"]}
options={[
t("myrepresentations:questionnaire-yes"),
t("myrepresentations:questionnaire-no"),
]}
id="detailsOfPreviousAppeals"
className="govuk-radios__input"
errorMsg={t("newappeal:select-an-option-label")}
component={RenderLPACondtionalRadioList}
validate={[required]}
legend={
"32. Details of any previous appeal decision relating to the site or a nearby site referred to by the LPA or applicant?"
}
conditionalLabel={
"If Yes, provide the reference number(s) and address(es) and attach or insert links to the decision(s) and any relevant application documents"
}
optionSelect={"Yes"}
legend={t(
"myrepresentations:s78-section-question-32"
)}
conditionalLabel={t(
"myrepresentations:s78-section-question-32-hint"
)}
optionSelect={t(
"myrepresentations:questionnaire-yes"
)}
/>
</div>
<div className="govuk-form-group">
<Field
name="otherRelevantInformation"
datafieldname="otherRelevantInformation"
options={["Yes", "No"]}
options={[
t("myrepresentations:questionnaire-yes"),
t("myrepresentations:questionnaire-no"),
]}
id="otherRelevantInformation"
className="govuk-radios__input"
errorMsg={t("newappeal:select-an-option-label")}
component={RenderLPACondtionalRadioList}
validate={[required]}
legend={
"33. Any other relevant information that we should know about?"
}
conditionalLabel={
"If Yes, provide a brief description and attach or insert links to the relevant details"
}
optionSelect={"Yes"}
legend={t(
"myrepresentations:s78-section-question-33"
)}
conditionalLabel={t(
"myrepresentations:s78-section-question-33-hint"
)}
optionSelect={t(
"myrepresentations:questionnaire-yes"
)}
/>
</div>
</fieldset>
@@ -739,7 +923,7 @@ Reason: To support the roll-out of digital communications infrastructure across
<div className="govuk-form-group govuk-!-margin-bottom-9">
<FileUploadField
name={"representationDocuments"}
label={"Add your files"}
label={t("myrepresentations:add-files-label")}
ticketnumber={props.props.caseReference}
hint={"sdsd"}
fileList={[]}
@@ -763,7 +947,9 @@ Reason: To support the roll-out of digital communications infrastructure across
data-aria-controls="caseOfficer"
type="text"
component={RenderTextfield}
label="Signed"
label={t(
"myrepresentations:s78-section-question-signed"
)}
validate={[required]}
/>
</div>
@@ -777,14 +963,16 @@ Reason: To support the roll-out of digital communications infrastructure across
data-aria-controls="caseOfficer"
type="text"
component={RenderTextfield}
label="On behalf of"
label={t(
"myrepresentations:s78-section-question-onbehalf"
)}
validate={[required]}
/>
</div>
<Field
name="signedDate"
id="signedDate"
label="Date"
label={t("myrepresentations:s78-section-question-date")}
component={RenderDatePicker}
validate={[required]}
errorMsg="Select a date"
@@ -458,7 +458,7 @@ let RepLPAQuestionnaireCheck_enforcement = (props) => {
<>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
16. Does the site include any public rights of way?
16. {t("myrepresentations:s78-section-question-15")}
</dt>
<dd className="govuk-summary-list__value">
@@ -458,7 +458,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
<>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
16. Does the site include any public rights of way?
16. {t("myrepresentations:s78-section-question-15")}
</dt>
<dd className="govuk-summary-list__value">