Merged PR 1073: linked watched cases for all personnas

linked watched cases for all personnas

Related work items: #9460, #9461, #9464, #9465, #9486, #9487, #9488, #9489
This commit is contained in:
Robert Bond
2024-02-02 12:32:50 +00:00
23 changed files with 273 additions and 353 deletions
+1 -1
View File
@@ -39,7 +39,7 @@ RELAYPATH = "dev-pedw-hc"
GOOGLE_TAG_MANAGER = GTM-T78CBC3 GOOGLE_TAG_MANAGER = GTM-T78CBC3
SHOWLOGIN = false SHOWLOGIN = true
SHOWREPRESENTATIONS = false SHOWREPRESENTATIONS = false
SHOWFILEUPLOAD = "false" SHOWFILEUPLOAD = "false"
SHOWMAPS = "false" SHOWMAPS = "false"
+17 -2
View File
@@ -75,6 +75,7 @@ let MakeRepresentation = (props) => {
var casesObj = {}; var casesObj = {};
const [showQuestionnaireSection, setShowQuestionnaireSection] = useState(1); const [showQuestionnaireSection, setShowQuestionnaireSection] = useState(1);
const [questionnaireCount, setQuestionnaireCount] = useState(0);
const isLPA = const isLPA =
props.props.accountDetails.accountDetails[ props.props.accountDetails.accountDetails[
@@ -107,6 +108,8 @@ let MakeRepresentation = (props) => {
? router.query.state == "edit" ? router.query.state == "edit"
? props.props.myRepresentations.myRepresentations ? props.props.myRepresentations.myRepresentations
: props.props.searchResultsObj.searchDetailsObj : props.props.searchResultsObj.searchDetailsObj
: props.currentType == "watchedCases"
? props.props.watchedCases.watchedCasesDetails
: props.props.searchResultsObj.searchDetailsObj; : props.props.searchResultsObj.searchDetailsObj;
var detailsObj = {}; var detailsObj = {};
@@ -240,6 +243,8 @@ let MakeRepresentation = (props) => {
setShowQuestionnaireSection setShowQuestionnaireSection
} }
showQuestionnaireSection={showQuestionnaireSection} showQuestionnaireSection={showQuestionnaireSection}
setQuestionnaireCount={setQuestionnaireCount}
questionnaireCount={questionnaireCount}
/> />
); );
break; break;
@@ -347,6 +352,8 @@ let MakeRepresentation = (props) => {
setShowQuestionnaireSection={ setShowQuestionnaireSection={
setShowQuestionnaireSection setShowQuestionnaireSection
} }
setQuestionnaireCount={setQuestionnaireCount}
questionnaireCount={questionnaireCount}
/> />
); );
break; break;
@@ -363,6 +370,8 @@ let MakeRepresentation = (props) => {
setShowQuestionnaireSection={ setShowQuestionnaireSection={
setShowQuestionnaireSection setShowQuestionnaireSection
} }
setQuestionnaireCount={setQuestionnaireCount}
questionnaireCount={questionnaireCount}
/> />
); );
break; break;
@@ -555,7 +564,7 @@ let MakeRepresentation = (props) => {
: isLPA : isLPA
? "lpa" ? "lpa"
: values.representationCapacity, : values.representationCapacity,
"locale": locale, "locale": router.locale,
})); }));
currentView.representationSubmit != true currentView.representationSubmit != true
? _.isEmpty(currentView.representationCapacity) ? _.isEmpty(currentView.representationCapacity)
@@ -566,10 +575,14 @@ let MakeRepresentation = (props) => {
.replace(/(\band|[\s\-\+\(\)\,\&])/g, "") .replace(/(\band|[\s\-\+\(\)\,\&])/g, "")
.toLowerCase() .toLowerCase()
) )
: questionnaireCount != 0 &&
showQuestionnaireSection < questionnaireCount
? setShowQuestionnaireSection(showQuestionnaireSection + 1)
: setRepresentationSubmit(true) : setRepresentationSubmit(true)
: currentView.representationSubmit == true : currentView.representationSubmit == true
? (console.log("capacity", currentView.representationCapacity), ? (console.log("capacity", currentView.representationCapacity),
console.log("has errors:", props.invalid), console.log("has errors:", props.invalid),
Object.assign(values, { "locale": router.locale }),
props.invalid == false && props.invalid == false &&
updateRepresentation(values, false, false), updateRepresentation(values, false, false),
values.hasOwnProperty("representationDocuments") && values.hasOwnProperty("representationDocuments") &&
@@ -579,7 +592,9 @@ let MakeRepresentation = (props) => {
"size": Blob.size, "size": Blob.size,
}) })
), ),
Object.assign(values, { "filesList": buildFileArray })), Object.assign(values, {
"filesList": buildFileArray,
})),
generateRepPDF( generateRepPDF(
values, values,
props.props.accountDetails.containerID, props.props.accountDetails.containerID,
@@ -76,20 +76,7 @@ const RepAgent = (props) => {
)} )}
</div> </div>
</div> </div>
{/* <div className="govuk-grid-row">
<div className="govuk-form-group">
<Field
className="govuk-input govuk-!-width-three-quarters"
id="representationDescription"
name="representationDescription"
value="email"
data-aria-controls="representationDescription"
type="text"
component={RenderTextfield}
label="Description of representation"
/>
</div>
</div> */}
<div className="govuk-grid-row"> <div className="govuk-grid-row">
<div className="govuk-form-group"> <div className="govuk-form-group">
<Field <Field
@@ -194,14 +181,7 @@ const RepAgent = (props) => {
> >
{t("common:continue-button")}{" "} {t("common:continue-button")}{" "}
</button> </button>
{/* <a
onClick={() => {
setRepresentationSubmit(true);
}}
className="govuk-button"
>
{t("common:continue-button")} ww
</a> */}
<a <a
onClick={() => { onClick={() => {
setRepresentationCapacity(); setRepresentationCapacity();
@@ -78,21 +78,6 @@ const RepAppellant = (props) => {
</div> </div>
</div> </div>
{/* <div className="govuk-grid-row">
<div className="govuk-form-group">
<Field
className="govuk-input govuk-!-width-three-quarters"
id="representationDescription"
name="representationDescription"
value="email"
data-aria-controls="representationDescription"
type="text"
component={RenderTextfield}
label="Description of representation"
/>
</div>
</div> */}
{(typeof props.representationType != "undefined" || {(typeof props.representationType != "undefined" ||
typeof formObj.representationForm.values.representationType != typeof formObj.representationForm.values.representationType !=
"undefined") && ( "undefined") && (
@@ -199,14 +184,7 @@ const RepAppellant = (props) => {
> >
{t("common:continue-button")} {t("common:continue-button")}
</button> </button>
{/* <a
onClick={() => {
setRepresentationSubmit(true);
}}
className="govuk-button"
>
{t("common:continue-button")} ww
</a> */}
<a <a
onClick={() => { onClick={() => {
setRepresentationCapacity(); setRepresentationCapacity();
@@ -19,7 +19,9 @@ const RepDetails = (props) => {
? router.query.state == "edit" ? router.query.state == "edit"
? props.myRepresentations.myRepresentations ? props.myRepresentations.myRepresentations
: props.searchResultsObj.searchDetailsObj : props.searchResultsObj.searchDetailsObj
: props.searchResultsObj.searchDetailsObj; : props.currentType == "watchedCases"
? props.props.props.watchedCases.watchedCasesDetails
: props.props.searchResultsObj.searchDetailsObj;
var detailsObj = {}; var detailsObj = {};
@@ -53,19 +55,9 @@ const RepDetails = (props) => {
"_pinswg_appellant_value@OData.Community.Display.V1.FormattedValue" "_pinswg_appellant_value@OData.Community.Display.V1.FormattedValue"
] ]
} }
{/* {detailsObj.firstName +
" " +
detailsObj.lastName || "not entered"} */}
</dd> </dd>
</div> </div>
{/* <div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-agent-label")}
</dt>
<dd className="govuk-summary-list__value">
Mr A Agent
</dd>
</div> */}
<div className="govuk-summary-list__row"> <div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key"> <dt className="govuk-summary-list__key">
{t("case:summary-site-address-label")} {t("case:summary-site-address-label")}
@@ -645,11 +645,6 @@ export const RenderDatePicker = ({
</span> </span>
)} )}
{/* {value}
<br />
{moment(value).format("DD/MM/YY")}
<br /> */}
<DatePicker <DatePicker
{...custom} {...custom}
locale={custom.locale} locale={custom.locale}
@@ -1007,10 +1002,6 @@ export const RenderFileUpload = (field) => {
> >
{({ getRootProps, getInputProps }) => ( {({ getRootProps, getInputProps }) => (
<> <>
{/* {field.hint != false && (
<div className="govuk-hint">ss{t(field.hint)}</div>
)}
<div className="govuk-form-group"></div> */}
<section className="container"> <section className="container">
<div {...getRootProps({ style })}> <div {...getRootProps({ style })}>
{" "} {" "}
@@ -151,16 +151,7 @@ const RepInterestedPartyPerson = (props) => {
> >
{t("common:continue-button")} {t("common:continue-button")}
</button> </button>
{/* <Link href="/representation">
<a
onClick={() => {
setRepresentationSubmit(true);
}}
className="govuk-button"
>
{t("common:continue-button")}
</a>
</Link> */}
<a <a
onClick={() => { onClick={() => {
setRepresentationCapacity(); setRepresentationCapacity();
@@ -24,7 +24,7 @@ import { select } from "xpath";
import jsonpath from "jsonpath"; import jsonpath from "jsonpath";
import { useState } from "react"; import { useState } from "react";
import Enforcement_Questionnaire from "./representationQuestionnaires/representationLPAQuestionnaire_enforcement"; import Enforcement_Questionnaire from "./representationQuestionnaires/representationLPAQuestionnaire_enforcement";
import S78_Qquestionnaire from "./representationQuestionnaires/representationLPAQuestionnaire_s78"; import S78_Questionnaire from "./representationQuestionnaires/representationLPAQuestionnaire_s78";
import RepresentationProgress_s78 from "./representationProgress/representationProgress_s78"; import RepresentationProgress_s78 from "./representationProgress/representationProgress_s78";
import RepresentationProgress_enforcement from "./representationProgress/representationProgress_enforcement"; import RepresentationProgress_enforcement from "./representationProgress/representationProgress_enforcement";
import transLookup from "../../../data/lookuptranslations.json"; import transLookup from "../../../data/lookuptranslations.json";
@@ -35,6 +35,8 @@ let RepLPA = (props) => {
const router = useRouter(); const router = useRouter();
const { locale } = router; const { locale } = router;
const { const {
onSubmit,
handleSubmit,
formObj, formObj,
appellantApplicantRepresentationArr, appellantApplicantRepresentationArr,
setRepresentationCapacity, setRepresentationCapacity,
@@ -44,6 +46,8 @@ let RepLPA = (props) => {
onBehalfOfLPA, onBehalfOfLPA,
setShowQuestionnaireSection, setShowQuestionnaireSection,
showQuestionnaireSection, showQuestionnaireSection,
questionnaireCount,
setQuestionnaireCount,
} = props; } = props;
const { acceptedFiles, getRootProps, getInputProps } = useDropzone(); const { acceptedFiles, getRootProps, getInputProps } = useDropzone();
const files = acceptedFiles.map((file) => ( const files = acceptedFiles.map((file) => (
@@ -53,6 +57,34 @@ let RepLPA = (props) => {
)); ));
const required = (value) => (value ? undefined : "Required"); const required = (value) => (value ? undefined : "Required");
const updateQuestionnaireCount = () => {
{
switch (currentView.caseReference.appealType) {
case 846040000:
case 846040001:
case 846040006:
case 846040025:
case 846040004:
case 846040018:
case 846040003:
case 846040009:
case 846040008:
setQuestionnaireCount(7);
break;
case 846040005:
case 846040006:
case 846040007:
setQuestionnaireCount(9);
break;
default:
setQuestionnaireCount(7);
break;
}
}
};
const whichQuestionnaire = () => { const whichQuestionnaire = () => {
{ {
switch (currentView.caseReference.appealType) { switch (currentView.caseReference.appealType) {
@@ -65,8 +97,9 @@ let RepLPA = (props) => {
case 846040003: case 846040003:
case 846040009: case 846040009:
case 846040008: case 846040008:
updateQuestionnaireCount();
return ( return (
<S78_Qquestionnaire <S78_Questionnaire
props={props} props={props}
containerID={ containerID={
props.props.props.accountDetails.containerID props.props.props.accountDetails.containerID
@@ -76,6 +109,7 @@ let RepLPA = (props) => {
setShowQuestionnaireSection={ setShowQuestionnaireSection={
setShowQuestionnaireSection setShowQuestionnaireSection
} }
questionnaireCount={questionnaireCount}
/> />
); );
break; break;
@@ -83,6 +117,7 @@ let RepLPA = (props) => {
case 846040005: case 846040005:
case 846040006: case 846040006:
case 846040007: case 846040007:
updateQuestionnaireCount();
return ( return (
<Enforcement_Questionnaire <Enforcement_Questionnaire
props={props} props={props}
@@ -94,6 +129,7 @@ let RepLPA = (props) => {
setShowQuestionnaireSection={ setShowQuestionnaireSection={
setShowQuestionnaireSection setShowQuestionnaireSection
} }
questionnaireCount={questionnaireCount}
/> />
); );
break; break;
@@ -235,7 +271,6 @@ let RepLPA = (props) => {
</div> </div>
)} )}
</div> </div>
<div className="govuk-grid-row"> <div className="govuk-grid-row">
<div className="govuk-form-group"> <div className="govuk-form-group">
{typeof props.representationType != "undefined" && {typeof props.representationType != "undefined" &&
@@ -306,18 +341,26 @@ let RepLPA = (props) => {
{typeof props.representationType != "undefined" && {typeof props.representationType != "undefined" &&
props.representationType == "Questionnaire" && ( props.representationType == "Questionnaire" && (
<> <>
{showQuestionnaireSection < 7 && ( {showQuestionnaireSection <=
<a questionnaireCount && (
href="#" <button
onClick={() => { // type="submit"
setShowQuestionnaireSection(
showQuestionnaireSection + 1
);
}}
className="govuk-button" className="govuk-button"
data-module="govuk-button"
> >
Next section {t("common:continue-button")}ww
</a> </button>
// <a
// href="#"
// onClick={() => {
// setShowQuestionnaireSection(
// showQuestionnaireSection + 1
// );
// }}
// className="govuk-button"
// >
// Next section
// </a>
)} )}
{showQuestionnaireSection == 9 && ( {showQuestionnaireSection == 9 && (
<button <button
@@ -352,15 +395,6 @@ let RepLPA = (props) => {
> >
{t("common:continue-button")} {t("common:continue-button")}
</button> </button>
{/* <a
onClick={() => {
setRepresentationSubmit(false);
}}
className="govuk-button"
>
{t("common:continue-button")}
</a> */}
<a <a
onClick={() => { onClick={() => {
//setRepresentationCapacity(); //setRepresentationCapacity();
@@ -16,7 +16,9 @@ const RepLPADetails = (props) => {
let setCaseDetailsObj = router.query.hasOwnProperty("state") let setCaseDetailsObj = router.query.hasOwnProperty("state")
? router.query.state == "edit" ? router.query.state == "edit"
? props.props.myRepresentations.myRepresentations ? props.props.myRepresentations.myRepresentations
: props.props.searchResultsObj.searchDetailsObj : props.searchResultsObj.searchDetailsObj
: props.currentType == "watchedCases"
? props.props.props.watchedCases.watchedCasesDetails
: props.props.searchResultsObj.searchDetailsObj; : props.props.searchResultsObj.searchDetailsObj;
var detailsObj = {}; var detailsObj = {};
@@ -45,14 +47,7 @@ const RepLPADetails = (props) => {
] || "not entered"} ] || "not entered"}
</dd> </dd>
</div> </div>
{/* <div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-agent-label")}
</dt>
<dd className="govuk-summary-list__value">
Mr A Agent
</dd>
</div> */}
<div className="govuk-summary-list__row"> <div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key"> <dt className="govuk-summary-list__key">
{t("case:summary-site-address-label")} {t("case:summary-site-address-label")}
@@ -60,20 +60,6 @@ const RepLandOwner = (props) => {
/> />
</div> </div>
</div> </div>
{/* <div className="govuk-grid-row">
<div className="govuk-form-group">
<Field
className="govuk-input govuk-!-width-three-quarters"
id="representationDescription"
name="representationDescription"
value="email"
data-aria-controls="representationDescription"
type="text"
component={RenderTextfield}
label="Description of representation"
/>
</div>
</div> */}
<div className="govuk-grid-row"> <div className="govuk-grid-row">
<div className="govuk-form-group"> <div className="govuk-form-group">
@@ -128,16 +114,6 @@ const RepLandOwner = (props) => {
> >
{t("common:continue-button")} {t("common:continue-button")}
</button> </button>
{/* <Link href="/representation">
<a
onClick={() => {
setRepresentationSubmit(true);
}}
className="govuk-button"
>
{t("common:continue-button")}
</a>
</Link> */}
<a <a
onClick={() => { onClick={() => {
setRepresentationCapacity(); setRepresentationCapacity();
@@ -23,10 +23,10 @@ import { select } from "xpath";
import jsonpath from "jsonpath"; import jsonpath from "jsonpath";
import { getFormCollectionByID } from "../../../../components/utils"; import { getFormCollectionByID } from "../../../../components/utils";
let S78_Questionnaire = async (props) => { let S78_Questionnaire = (props) => {
//let { t } = useTranslation(); let { t } = useTranslation();
let t = await getT(props.reqQuery.__nextLocale, "common"); //let t = await getT(props.reqQuery.__nextLocale, "common");
const router = useRouter(); const router = useRouter();
const { locale } = router; const { locale } = router;
@@ -89,10 +89,22 @@ let S78_Questionnaire = async (props) => {
console.log(resultsObj); console.log(resultsObj);
const onHandleSubmit = (values) => {
//if (currentSection == sectionCount) {
let valuesObj = values || {};
delete valuesObj["_pinswg_appellant_value"];
console.log("has errors:", props.invalid);
props.invalid == false && updateCaseProgress(valuesObj, false, false);
setCurrentSection(currentSection + 1);
};
return ( return (
<> <>
{props.representationTypeValue} {props.representationTypeValue}
{props.procedureTypeValue} {props.procedureTypeValue}
{showQuestionnaireSection == 1 && ( {showQuestionnaireSection == 1 && (
<fieldset <fieldset
className="govuk-fieldset" className="govuk-fieldset"
@@ -186,6 +198,7 @@ let S78_Questionnaire = async (props) => {
rows="5" rows="5"
className="govuk-textarea govuk-input--width-30" className="govuk-textarea govuk-input--width-30"
aria-describedby={props.name + "-hint"} aria-describedby={props.name + "-hint"}
validate={[required]}
/> />
<div className="govuk-form-group"> <div className="govuk-form-group">
@@ -372,6 +385,7 @@ let S78_Questionnaire = async (props) => {
rows="5" rows="5"
className="govuk-textarea govuk-input--width-30" className="govuk-textarea govuk-input--width-30"
aria-describedby={props.name + "-hint"} aria-describedby={props.name + "-hint"}
validate={[required]}
/> />
</fieldset> </fieldset>
)} )}
@@ -399,6 +413,7 @@ let S78_Questionnaire = async (props) => {
rows="5" rows="5"
className="govuk-textarea govuk-input--width-30" className="govuk-textarea govuk-input--width-30"
aria-describedby={props.name + "-hint"} aria-describedby={props.name + "-hint"}
validate={[required]}
/> />
<div className="govuk-form-group"> <div className="govuk-form-group">
@@ -624,6 +639,7 @@ let S78_Questionnaire = async (props) => {
rows="5" rows="5"
className="govuk-textarea govuk-input--width-30" className="govuk-textarea govuk-input--width-30"
aria-describedby={props.name + "-hint"} aria-describedby={props.name + "-hint"}
validate={[required]}
/> />
<div className="govuk-form-group"> <div className="govuk-form-group">
@@ -667,6 +683,7 @@ let S78_Questionnaire = async (props) => {
rows="5" rows="5"
className="govuk-textarea govuk-input--width-30" className="govuk-textarea govuk-input--width-30"
aria-describedby={props.name + "-hint"} aria-describedby={props.name + "-hint"}
validate={[required]}
/> />
<Field <Field
label={ label={
@@ -684,6 +701,7 @@ let S78_Questionnaire = async (props) => {
rows="5" rows="5"
className="govuk-textarea govuk-input--width-30" className="govuk-textarea govuk-input--width-30"
aria-describedby={props.name + "-hint"} aria-describedby={props.name + "-hint"}
validate={[required]}
/> />
<div className="govuk-form-group"> <div className="govuk-form-group">
+31 -97
View File
@@ -76,9 +76,9 @@ const CaseSummary = (props) => {
setWatchedCases, setWatchedCases,
setWatchedCasesDetails, setWatchedCasesDetails,
showMap, showMap,
showLoginCheck,
} = props; } = props;
const showLoginCheck = props.currentView.caseReference.showLoginCheck;
const { data: session, status } = useSession(); const { data: session, status } = useSession();
//console.log("session status:", status, session); //console.log("session status:", status, session);
@@ -385,32 +385,7 @@ const CaseSummary = (props) => {
</dl> </dl>
</div> </div>
</div> </div>
{/* <div className="govuk-grid-row">
<div className="govuk-grid-column-full">
todays date - {formatDates(new Date())}
<br />
pinswg_startdate -{" "}
{formatDates(detailsObj.pinswg_startdate)}
<br />
days between pinswg_startdate & todays date -
{Math.floor(
(new Date(detailsObj.pinswg_startdate) -
new Date()) /
(24 * 3600 * 1000)
)}
<br />
pinswg_statementduedate -{" "}
{formatDates(detailsObj.pinswg_statementduedate)}
<br />
pinswg_finalcommentsduedate -{" "}
{formatDates(detailsObj.pinswg_finalcommentsduedate)}
<br />
pinswg_startdatetimeiftheevent -{" "}
{formatDates(detailsObj.pinswg_startdatetimeiftheevent)}
<br /> <br />
</div>
</div>
*/}
{showLoginCheck == "true" && ( {showLoginCheck == "true" && (
<> <>
<div className="govuk-grid-row"> <div className="govuk-grid-row">
@@ -596,50 +571,6 @@ const CaseSummary = (props) => {
</> </>
)} )}
{/* 1{" "}
{_.has(detailsObj, "pinswg_startdatetimeiftheevent") &&
detailsObj.pinswg_startdatetimeiftheevent}
2{" "}
{_.has(detailsObj, "pinswg_startdateoftheevent") &&
detailsObj.pinswg_startdateoftheevent}
3{" "}
{_.has(detailsObj, "pinswg_startdateofevent") &&
detailsObj.pinswg_startdateofevent}
4{" "}
{_.has(detailsObj, "pinswg_starttimeoftheevent") &&
detailsObj.pinswg_starttimeoftheevent} */}
{/* <div className="govuk-grid-row">
<div className="govuk-grid-column-full">
<div className="govuk-button-group">
{props.currentView.caseReference.showreps !=
"true" ? (
""
) : noRepresentationLink.includes(
router.pathname
) == true ? (
""
) : (
<Link href="/myportal/representation">
<a className="govuk-button">
{t(
"case:summary-make-representation-label"
)}
</a>
</Link>
)}
<a
onClick={() => {
//spinnerState();
router.back();
}}
className="govuk-button govuk-button--secondary"
>
{t("case:summary-back-button-label")}
</a>
</div>
</div>
</div> */}
{showSummary(casesObj, detailsObj)} {showSummary(casesObj, detailsObj)}
</div> </div>
) : ( ) : (
@@ -651,35 +582,38 @@ const CaseSummary = (props) => {
</div> </div>
</div> </div>
</div> </div>
<div className="govuk-grid-row"> {showLoginCheck == "true" && (
<div className="govuk-grid-column-full"> <div className="govuk-grid-row">
<div className="govuk-button-group"> <div className="govuk-grid-column-full">
{noRepresentationLink.includes(router.pathname) == <div className="govuk-button-group">
true ? ( {noRepresentationLink.includes(
"" router.pathname
) : ( ) == true ? (
<Link ""
href="/representation" ) : (
className="govuk-button" <Link
> href="/representation"
{t( className="govuk-button"
"case:summary-make-representation-label" >
)} {t(
</Link> "case:summary-make-representation-label"
)} )}
</Link>
)}
<a <a
onClick={() => { onClick={() => {
// spinnerState(); // spinnerState();
router.back(); router.back();
}} }}
className="govuk-button govuk-button--secondary" className="govuk-button govuk-button--secondary"
> >
{t("case:summary-back-button-label")} {t("case:summary-back-button-label")}
</a> </a>
</div>
</div> </div>
</div> </div>
</div> )}
</> </>
); );
+114 -117
View File
@@ -16,7 +16,7 @@ import UploadFile from "./myportal/uploadFile";
import WatchedCases from "./myportal/watchedcases"; import WatchedCases from "./myportal/watchedcases";
const MyPortal = (props) => { const MyPortal = (props) => {
const { showFileUpload } = props; const { showFileUpload, showLoginCheck } = props;
let { t } = useTranslation(); let { t } = useTranslation();
const router = useRouter(); const router = useRouter();
@@ -39,86 +39,81 @@ const MyPortal = (props) => {
? true ? true
: false; : false;
return <> return (
<main className="" id="main-content" role="main"> <>
<div className="servicebanner myportal govuk-!-margin-bottom-4"> <main className="" id="main-content" role="main">
<h1> <div className="servicebanner myportal govuk-!-margin-bottom-4">
<img <h1>
src={ <img
router.locale == "cy" src={
? "/assets/images/planning-casework-cy.svg" router.locale == "cy"
: "/assets/images/planning-casework-en.svg" ? "/assets/images/planning-casework-cy.svg"
} : "/assets/images/planning-casework-en.svg"
alt={
router.locale == "cy"
? "Fy mhorth"
: "My Portal"
}
/>
</h1>
<div className="serviceBanner_userDetails">
<img
className="user_logo"
src="/assets/images/user.svg"
alt={router.locale == "cy" ? "Defnyddiwr" : "User"}
/>{" "}
<div className="serviceBanner_userDetails_name">
<Link href="/account/personaldetails" className="govuk-button-secondary">
{
props.accountDetails.accountDetails
.firstname
}{" "}
{
props.accountDetails.accountDetails
.lastname
} }
{" - "} alt={
router.locale == "cy"
? "Fy mhorth"
: "My Portal"
}
/>
</h1>
<div className="serviceBanner_userDetails">
<img
className="user_logo"
src="/assets/images/user.svg"
alt={router.locale == "cy" ? "Defnyddiwr" : "User"}
/>{" "}
<div className="serviceBanner_userDetails_name">
<Link
href="/account/personaldetails"
className="govuk-button-secondary"
>
{props.accountDetails.accountDetails.firstname}{" "}
{props.accountDetails.accountDetails.lastname}
{" - "}
{
props.accountDetails.accountDetails[
"pinswg_typeofinvolvement@OData.Community.Display.V1.FormattedValue"
]
}
</Link>
</div>
<div>
<Link
href={
router.locale == "cy"
? "/allgofnodi"
: "/logout"
}
onClick={() => {
handleLogout();
}}
className="govuk-header__link govuk-!-margin-right-3"
>
{t("common:signout-label")}
</Link>
</div>
</div>
</div>
{isLPA && (
<div>
<h2 className="heading-small card-heading">
{ {
props.accountDetails.accountDetails[ props.accountDetails.accountDetails[
"pinswg_typeofinvolvement@OData.Community.Display.V1.FormattedValue" "pinswg_contact_associatedlpa@OData.Community.Display.V1.FormattedValue"
] ]
} }{" "}
LPA Portal
</Link> </h2>
</div> </div>
<div> )}
<Link <div className="govuk-grid-row">
href={ <div className="govuk-grid-column-full">
router.locale == "cy" <div className="flex-container grid-row govuk-body ">
? "/allgofnodi" {!isLPA && <MakeNewAppeal />}
: "/logout" <SearchCases />
} {/* {props.awaitingSubmission.awaitingSubmission[
onClick={() => {
handleLogout();
}}
className="govuk-header__link govuk-!-margin-right-3">
{t("common:signout-label")}
</Link>
</div>
</div>
</div>
{isLPA && (
<div>
<h2 className="heading-small card-heading">
{
props.accountDetails.accountDetails[
"pinswg_contact_associatedlpa@OData.Community.Display.V1.FormattedValue"
]
}{" "}
LPA Portal
</h2>
</div>
)}
<div className="govuk-grid-row">
<div className="govuk-grid-column-full">
<div className="flex-container grid-row govuk-body ">
{!isLPA && <MakeNewAppeal />}
<SearchCases />
{/* {props.awaitingSubmission.awaitingSubmission[
"@odata.count" "@odata.count"
] > 0 && ( ] > 0 && (
<AwaitingSubmission <AwaitingSubmission
@@ -127,50 +122,52 @@ const MyPortal = (props) => {
} }
/> />
)} */} )} */}
{isLPA {isLPA
? "" ? ""
: props.awaitingSubmission : props.awaitingSubmission
.awaitingSubmissionFromBlob[ .awaitingSubmissionFromBlob[
"@odata.count" "@odata.count"
] > 0 && ( ] > 0 && (
<AwaitingSubmissionFromBlob <AwaitingSubmissionFromBlob
containerID={props.containerID} containerID={props.containerID}
awaitingSubmissionFromBlob={ awaitingSubmissionFromBlob={
props.awaitingSubmission props.awaitingSubmission
.awaitingSubmissionFromBlob .awaitingSubmissionFromBlob
} }
/> />
)} )}
{props.myCases.myCases["@odata.count"] > 0 && ( {props.myCases.myCases["@odata.count"] > 0 && (
<MyCases <MyCases
myCases={props.myCases} myCases={props.myCases}
isLPA={isLPA} isLPA={isLPA}
/> />
)} )}
{props.watchedCases.watchedCases["@odata.count"] > {props.watchedCases.watchedCases["@odata.count"] >
0 && ( 0 && (
<WatchedCases <WatchedCases
watchedCases={props.watchedCases} watchedCases={props.watchedCases}
isLPA={isLPA} isLPA={isLPA}
/> showLoginCheck={props.showLoginCheck}
)} />
{props.myRepresentations.myRepresentations[ )}
"@odata.count" {props.myRepresentations.myRepresentations[
] > 0 && ( "@odata.count"
<MyRepresentations ] > 0 && (
myRepresentations={props.myRepresentations} <MyRepresentations
isLPA={isLPA} myRepresentations={props.myRepresentations}
/> isLPA={isLPA}
)} />
{!isLPA && <Dns />} )}
{!isLPA && <Dns />}
{/* <YourAccount /> */} {/* <YourAccount /> */}
</div>
</div> </div>
</div> </div>
</div> </main>
</main> <TimeOut />
<TimeOut /> </>
</>; );
}; };
export default MyPortal; export default MyPortal;
+2
View File
@@ -35,6 +35,7 @@ const TopThree = (props) => {
setWatchedCasesDetails, setWatchedCasesDetails,
setAwaitingSubmission, setAwaitingSubmission,
setAwaitingSubmissionDetails, setAwaitingSubmissionDetails,
showLoginCheck,
} = props; } = props;
const router = useRouter(); const router = useRouter();
@@ -193,6 +194,7 @@ const TopThree = (props) => {
"appealType": "appealType":
showTopThreeArr[key] showTopThreeArr[key]
.pinswg_appealcasetype, .pinswg_appealcasetype,
"showLoginCheck": props.showLoginCheck,
}); });
}} }}
> >
+2
View File
@@ -19,10 +19,12 @@ const WatchedCases = (props) => {
{t("myportal:watchedcases-card-title")} {t("myportal:watchedcases-card-title")}
</h3> </h3>
<div className="cardModuleContainer"> <div className="cardModuleContainer">
<div>werwrew {props.showLoginCheck}</div>
<TopThree <TopThree
showTopThree={props.watchedCases.watchedCases} showTopThree={props.watchedCases.watchedCases}
showDetails={props.watchedCases.watchedCasesDetails} showDetails={props.watchedCases.watchedCasesDetails}
topThreeType={"watchedCases"} topThreeType={"watchedCases"}
showLoginCheck={props.showLoginCheck}
/> />
</div> </div>
@@ -99,6 +99,7 @@ export const EnforcementQuestionnaire_pdf = ({ docProps }) => {
} }
let values = docProps; let values = docProps;
let appealTypeValue = getFormCollectionByID(values.appealType); let appealTypeValue = getFormCollectionByID(values.appealType);
console.log("//////////////////////\n docpropseeeee:".docProps);
console.log("sdffhjdhjdjdgkj: ", values.procedureType); console.log("sdffhjdhjdjdgkj: ", values.procedureType);
return ( return (
@@ -113,6 +113,7 @@ export const lpaQuestionnaire_pdf = ({ docProps }) => {
return dd + "/" + mm + "/" + yyyy; return dd + "/" + mm + "/" + yyyy;
} }
let values = docProps; let values = docProps;
console.log("//////////////////////\n docprops:".docProps);
let appealTypeValue = getFormCollectionByID(values.appealType); let appealTypeValue = getFormCollectionByID(values.appealType);
console.log("sdffhjdhjdjdgkj: ", values.procedureType); console.log("sdffhjdhjdjdgkj: ", values.procedureType);
+3
View File
@@ -40,8 +40,11 @@
"s78-section-question-5": "Pa weithdrefn ydych chi'n ystyried y dylai'r apêl ei dilyn?", "s78-section-question-5": "Pa weithdrefn ydych chi'n ystyried y dylai'r apêl ei dilyn?",
"s78-section-question-6": "A fydd angen i'r Arolygydd fynd i mewn i safle/eiddo'r apźl?", "s78-section-question-6": "A fydd angen i'r Arolygydd fynd i mewn i safle/eiddo'r apźl?",
"s78-section-question-7": "A ydych yn ystyried bod angen i'r Arolygydd fynd ar dir/eiddo preifat cyfagos i weld y safle?", "s78-section-question-7": "A ydych yn ystyried bod angen i'r Arolygydd fynd ar dir/eiddo preifat cyfagos i weld y safle?",
"s78-section-question-7-hint": "Os Oes, rhowch resymau a rhowch gyfeiriad y safle cyfagos. Os oes gennych rai, rhowch fanylion cyswllt y tirfeddiannwr mewn atodiad.",
"s78-section-question-8": "Os oes angen mynediad i dir/adeiladau preifat, a ydych yn fodlon ir Arolygydd ymweld â’r safle ar sail angen mynediad, gyda dim ond y tirfeddiannwr neu ei gynrychiolydd yn bresennol?", "s78-section-question-8": "Os oes angen mynediad i dir/adeiladau preifat, a ydych yn fodlon ir Arolygydd ymweld â’r safle ar sail angen mynediad, gyda dim ond y tirfeddiannwr neu ei gynrychiolydd yn bresennol?",
"s78-section-question-8-hint": "Os Na, rhowch resymau pam yr ydych yn ystyried bod angen Ymweliad Safle Cydymaith",
"s78-section-question-9": "A ydych yn ymwybodol o unrhyw faterion iechyd a diogelwch y byddai angen eu hystyried pan fydd yr Arolygydd yn ymweld â'r safle?", "s78-section-question-9": "A ydych yn ymwybodol o unrhyw faterion iechyd a diogelwch y byddai angen eu hystyried pan fydd yr Arolygydd yn ymweld â'r safle?",
"s78-section-question-9-hint": "Os Oes, disgrifiwch y materion iechyd a diogelwch i'w hystyried",
"s78-section-question-10": "Cyswllt ACLl ar gyfer ymweliad safle, gwrandawiad neu drefniadau ymchwiliad:", "s78-section-question-10": "Cyswllt ACLl ar gyfer ymweliad safle, gwrandawiad neu drefniadau ymchwiliad:",
"s78-section-heading-two": "Dogfennau ategol", "s78-section-heading-two": "Dogfennau ategol",
"s78-section-question-11": "Ffeil achos yr ACLl a sylwadau", "s78-section-question-11": "Ffeil achos yr ACLl a sylwadau",
+4
View File
@@ -40,8 +40,11 @@
"s78-section-question-5": "Which procedure do you consider the appeal should follow?", "s78-section-question-5": "Which procedure do you consider the appeal should follow?",
"s78-section-question-6": "Will the Inspector need to enter the appeal site/property?", "s78-section-question-6": "Will the Inspector need to enter the appeal site/property?",
"s78-section-question-7": "Do you consider that the Inspector needs to enter neighbouring private land/property to view the site?", "s78-section-question-7": "Do you consider that the Inspector needs to enter neighbouring private land/property to view the site?",
"s78-section-question-7-hint": "If Yes, give reasons and provide the neighbouring site address. If you have them, provide the contact details of the landowner in an attachment.",
"s78-section-question-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?", "s78-section-question-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?",
"s78-section-question-8-hint": "If No, give reasons for why you consider an Accompanied Site Visit to be necessary",
"s78-section-question-9": "Are you aware of any health and safety issues which would need to be considered when the Inspector visits the site?", "s78-section-question-9": "Are you aware of any health and safety issues which would need to be considered when the Inspector visits the site?",
"s78-section-question-9-hint": "If Yes, describe the health and safety issues to be considered",
"s78-section-question-10": "LPA contact for site visit, hearing or inquiry arrangements:", "s78-section-question-10": "LPA contact for site visit, hearing or inquiry arrangements:",
"s78-section-heading-two": "Supporting documents", "s78-section-heading-two": "Supporting documents",
"s78-section-question-11": "LPA case file and representations", "s78-section-question-11": "LPA case file and representations",
@@ -112,6 +115,7 @@
"enf-section-question-8": "Are you aware of any health and safety issues which would need to be considered when the Inspector visits the site?", "enf-section-question-8": "Are you aware of any health and safety issues which would need to be considered when the Inspector visits the site?",
"enf-section-question-8-hint": "If Yes, describe the health and safety issues to be considered", "enf-section-question-8-hint": "If Yes, describe the health and safety issues to be considered",
"enf-section-question-9": "LPA contact for site visit, hearing or inquiry arrangements:", "enf-section-question-9": "LPA contact for site visit, hearing or inquiry arrangements:",
"enf-section-question-9-hint": "If Yes, describe the health and safety issues to be considered",
"enf-section-heading-two": "Deemed Application Fee", "enf-section-heading-two": "Deemed Application Fee",
"enf-section-question-10": "Has the local planning authority received the correct fee payable in relation to this appeal for the deemed planning application/ground (a) to be considered?", "enf-section-question-10": "Has the local planning authority received the correct fee payable in relation to this appeal for the deemed planning application/ground (a) to be considered?",
"enf-section-question-11": "Is the appeal fee exempt?", "enf-section-question-11": "Is the appeal fee exempt?",
+1 -1
View File
@@ -106,7 +106,7 @@ import { other_pdf } from "../../../components/pdftemplates/other_pdf";
export default function handler(req, res) { export default function handler(req, res) {
var checkHash = req.query.hash; var checkHash = req.query.hash;
let reqBodyobj = JSON.parse(req.body); let reqBodyobj = req.body; //JSON.parse(req.body);
console.log( console.log(
"//////////////////////\nreqBodyobj" + "//////////////////////\nreqBodyobj" +
+1
View File
@@ -89,6 +89,7 @@ const mapStateToProps = (state) => {
watchedCases: state.watchedCases, watchedCases: state.watchedCases,
myRepresentations: state.myRepresentations, myRepresentations: state.myRepresentations,
awaitingSubmission: state.awaitingSubmission, awaitingSubmission: state.awaitingSubmission,
showLoginCheck: process.env.SHOWLOGIN || false,
}; };
}; };
+3 -1
View File
@@ -81,7 +81,9 @@ const Home = (props) => {
props.searchResultsObj.representationsObj props.searchResultsObj.representationsObj
} }
showRepresentations={showRepresentations} showRepresentations={showRepresentations}
showLoginCheck={props.currentView.showLogin} showLoginCheck={
props.currentView.caseReference.showLogin
}
/> />
</div> </div>
<Footer footerLinks={footerLinks} /> <Footer footerLinks={footerLinks} />
+3
View File
@@ -56,6 +56,7 @@ const Home = (props) => {
awaitingSubmission, awaitingSubmission,
accountDetails, accountDetails,
showFileUpload, showFileUpload,
showLoginCheck,
} = props; } = props;
let { t, lang } = useTranslation(); let { t, lang } = useTranslation();
@@ -146,6 +147,7 @@ const Home = (props) => {
accountDetails={accountDetails} accountDetails={accountDetails}
showFileUpload={showFileUpload} showFileUpload={showFileUpload}
containerID={accountDetails.containerID} containerID={accountDetails.containerID}
showLoginCheck={showLoginCheck}
/> />
</div> </div>
<Footer footerLinks={footerLinks} /> <Footer footerLinks={footerLinks} />
@@ -288,6 +290,7 @@ export const getServerSideProps = wrapper.getServerSideProps(
props: { props: {
showFileUpload: process.env.SHOWFILEUPLOAD, showFileUpload: process.env.SHOWFILEUPLOAD,
containerID: thisSession.user.id, containerID: thisSession.user.id,
showLoginCheck: process.env.SHOWLOGIN,
}, },
}; };
} }