applied reps documents naming conventions

This commit is contained in:
2024-05-14 19:06:20 +01:00
parent 5987ecacf2
commit 0e3df85fdc
13 changed files with 273 additions and 137 deletions
+100 -44
View File
@@ -78,6 +78,94 @@ let MakeRepresentation = (props) => {
const [showQuestionnaireSection, setShowQuestionnaireSection] = useState(1); const [showQuestionnaireSection, setShowQuestionnaireSection] = useState(1);
const [questionnaireCount, setQuestionnaireCount] = useState(0); const [questionnaireCount, setQuestionnaireCount] = useState(0);
const setRepFileName = (values) => {
//console.log("---------------\n", values);
if (
values.hasOwnProperty("representationCapacity") &&
values.hasOwnProperty("representationType")
) {
let repType = "";
let repCap = "";
const repDate = new Date();
let day = repDate.getDate();
let month = repDate.getMonth() + 1;
let year = repDate.getFullYear();
switch (values.representationCapacity) {
case t("myrepresentations:capacity-options-arr-appellant"):
repCap = "APP";
break;
case t("myrepresentations:capacity-options-arr-agent"):
repCap = "AGENT";
break;
case t("myrepresentations:capacity-options-arr-interested"):
repCap = "IP";
break;
case "Land Owner":
repCap = "LO";
break;
case "lpa":
repCap = "LPA";
break;
default:
// code block
}
switch (values.representationType) {
case "Statement":
repType = "Statement";
break;
case "Statement of common ground":
repType = "SCG";
break;
case "Written statement":
repType = "WS";
break;
case "Written statement of evidence":
repType = "WSE";
break;
case "Questionnaire":
repType = "Questionnaire";
break;
case "Final comments":
repType = "Comments";
break;
case "Other":
repType = "OTHER";
break;
default:
// code block
}
Object.assign(values, {
"repfile_name": values.hasOwnProperty("repfile_name")
? values.repfile_name
: year +
"-" +
month +
"-" +
day +
"-" +
repDate.getHours() +
repDate.getMinutes() +
repDate.getSeconds() +
"_" +
repCap +
"_" +
repType +
"_" +
values.lastname +
"_" +
values.firstname,
});
}
return values;
};
const isLPA = const isLPA =
props.props.accountDetails.accountDetails[ props.props.accountDetails.accountDetails[
"pinswg_typeofinvolvement@OData.Community.Display.V1.FormattedValue" "pinswg_typeofinvolvement@OData.Community.Display.V1.FormattedValue"
@@ -200,6 +288,7 @@ let MakeRepresentation = (props) => {
setSubmitBack={setSubmitBack} setSubmitBack={setSubmitBack}
props={props} props={props}
caseReference={caseReference} caseReference={caseReference}
setRepFileName={setRepFileName}
/>; />;
break; break;
case "appellant": case "appellant":
@@ -221,6 +310,7 @@ let MakeRepresentation = (props) => {
currentView={currentView} currentView={currentView}
setSubmitBack={setSubmitBack} setSubmitBack={setSubmitBack}
props={props} props={props}
setRepFileName={setRepFileName}
/> />
); );
break; break;
@@ -246,6 +336,7 @@ let MakeRepresentation = (props) => {
showQuestionnaireSection={showQuestionnaireSection} showQuestionnaireSection={showQuestionnaireSection}
setQuestionnaireCount={setQuestionnaireCount} setQuestionnaireCount={setQuestionnaireCount}
questionnaireCount={questionnaireCount} questionnaireCount={questionnaireCount}
setRepFileName={setRepFileName}
/> />
); );
break; break;
@@ -268,6 +359,7 @@ let MakeRepresentation = (props) => {
currentView={currentView} currentView={currentView}
setSubmitBack={setSubmitBack} setSubmitBack={setSubmitBack}
props={props} props={props}
setRepFileName={setRepFileName}
/> />
); );
break; break;
@@ -290,6 +382,7 @@ let MakeRepresentation = (props) => {
currentView={currentView} currentView={currentView}
setSubmitBack={setSubmitBack} setSubmitBack={setSubmitBack}
props={props} props={props}
setRepFileName={setRepFileName}
/> />
); );
break; break;
@@ -309,6 +402,7 @@ let MakeRepresentation = (props) => {
currentView={currentView} currentView={currentView}
setSubmitBack={setSubmitBack} setSubmitBack={setSubmitBack}
props={props} props={props}
setRepFileName={setRepFileName}
/> />
); );
break; break;
@@ -444,50 +538,9 @@ let MakeRepresentation = (props) => {
// "pinswg_name": "2022-11-29-IP-REP_BOND_1", // "pinswg_name": "2022-11-29-IP-REP_BOND_1",
const repDate = new Date(); updateBody = setRepFileName(values);
let day = repDate.getDate();
let month = repDate.getMonth() + 1;
let year = repDate.getFullYear();
let time = repDate.getTime();
let repType = "";
switch (values.representationCapacity) {
case t("myrepresentations:capacity-options-arr-appellant"):
repType = "APPELLANT";
break;
case t("myrepresentations:capacity-options-arr-agent"):
repType = "AGENT";
break;
case t("myrepresentations:capacity-options-arr-interested"):
repType = "IP";
break;
case "Land Owner":
repType = "LO";
break;
case "lpa":
repType = "LPA";
break;
default:
// code block
}
Object.assign(updateBody, { Object.assign(updateBody, {
"repfile_name": updateBody.hasOwnProperty("repfile_name")
? updateBody.repfile_name
: year +
"-" +
month +
"-" +
day +
"-" +
time +
"-" +
repType +
"-REP" +
"_" +
props.props.accountDetails.accountDetails.lastname,
"pinswg_name": "pinswg_name":
props.props.currentView.caseReference.currentReference, props.props.currentView.caseReference.currentReference,
"containerID": props.props.accountDetails.containerID, "containerID": props.props.accountDetails.containerID,
@@ -558,7 +611,9 @@ let MakeRepresentation = (props) => {
}; };
const onHandleSubmit = (values) => { const onHandleSubmit = (values) => {
console.log("form values - ", JSON.stringify(values)); values = setRepFileName(values);
console.log("onHandleSubmit form values - ", JSON.stringify(values));
const buildFileArray = []; const buildFileArray = [];
@@ -782,8 +837,9 @@ let MakeRepresentation = (props) => {
{t( {t(
"myrepresentations:make-a-representation-on-label" "myrepresentations:make-a-representation-on-label"
)}{" "} )}{" "}
{currentView.caseReference.currentReference} {currentView.caseReference.currentReference}{" "}
</h1> </h1>
{currentView.caseReference.caseReference}
<div id="rep-form"> <div id="rep-form">
<div className="govuk-grid-column-three-quarters"> <div className="govuk-grid-column-three-quarters">
{whichControl()} {whichControl()}
@@ -31,8 +31,11 @@ const RepAgent = (props) => {
setRepresentationCapacity, setRepresentationCapacity,
setRepresentationSubmit, setRepresentationSubmit,
currentView, currentView,
setRepFileName,
} = props; } = props;
const { acceptedFiles, getRootProps, getInputProps } = useDropzone(); const { acceptedFiles, getRootProps, getInputProps } = useDropzone();
setRepFileName(formObj.representationForm.values);
const files = acceptedFiles.map((file) => ( const files = acceptedFiles.map((file) => (
<li key={file.path}> <li key={file.path}>
{file.path} - {file.size} bytes {file.path} - {file.size} bytes
@@ -138,6 +141,7 @@ const RepAgent = (props) => {
containerID={ containerID={
props.props.props.accountDetails.containerID props.props.props.accountDetails.containerID
} }
filenamePrefix={props}
/> />
</div> </div>
{props.currentView.caseReference.hasOwnProperty( {props.currentView.caseReference.hasOwnProperty(
@@ -38,9 +38,12 @@ const RepAppellant = (props) => {
setRepresentationCapacity, setRepresentationCapacity,
setRepresentationSubmit, setRepresentationSubmit,
currentView, currentView,
setRepFileName,
} = props; } = props;
const { acceptedFiles, getRootProps, getInputProps } = useDropzone(); const { acceptedFiles, getRootProps, getInputProps } = useDropzone();
setRepFileName(formObj.representationForm.values);
return ( return (
<> <>
<div className="govuk-grid-row"> <div className="govuk-grid-row">
@@ -78,7 +81,6 @@ const RepAppellant = (props) => {
)} )}
</div> </div>
</div> </div>
{(typeof props.representationType != "undefined" || {(typeof props.representationType != "undefined" ||
typeof formObj.representationForm.values.representationType != typeof formObj.representationForm.values.representationType !=
"undefined") && ( "undefined") && (
@@ -139,6 +141,7 @@ const RepAppellant = (props) => {
props.props.props.accountDetails props.props.props.accountDetails
.containerID .containerID
} }
filenamePrefix={props}
/> />
</div> </div>
{props.currentView.caseReference.hasOwnProperty( {props.currentView.caseReference.hasOwnProperty(
@@ -37,56 +37,58 @@ const RepCompleteSubmit = (props) => {
const repFormData = formObj.representationForm.values; const repFormData = formObj.representationForm.values;
const repDate = new Date(); // const repDate = new Date();
let day = repDate.getDate(); // let day = repDate.getDate();
let month = repDate.getMonth() + 1; // let month = repDate.getMonth() + 1;
let year = repDate.getFullYear(); // let year = repDate.getFullYear();
let time = repDate.getTime();
let repType = ""; // let repType = "";
switch (repFormData.representationCapacity) { // switch (repFormData.representationCapacity) {
case t("myrepresentations:capacity-options-arr-appellant"): // case t("myrepresentations:capacity-options-arr-appellant"):
repType = "APPELLANT"; // repType = "APP";
break; // break;
case t("myrepresentations:capacity-options-arr-agent"): // case t("myrepresentations:capacity-options-arr-agent"):
repType = "AGENT"; // repType = "AGENT";
break; // break;
case t("myrepresentations:capacity-options-arr-interested"): // case t("myrepresentations:capacity-options-arr-interested"):
repType = "IP"; // repType = "IP";
break; // break;
case "Land Owner": // case "Land Owner":
repType = "LO"; // repType = "LO";
break; // break;
case "lpa": // case "lpa":
repType = "LPA"; // repType = "LPA";
break; // break;
default: // default:
// code block // // code block
} // }
Object.assign(repFormData, { // Object.assign(repFormData, {
"repfile_name": repFormData.hasOwnProperty("repfile_name") // "repfile_name": repFormData.hasOwnProperty("repfile_name")
? repFormData.repfile_name // ? repFormData.repfile_name
: year + // : year +
"-" + // "-" +
month + // month +
"-" + // "-" +
day + // day +
"-" + // "-" +
time + // repDate.getHours() +
"-" + // repDate.getMinutes() +
repType + // repDate.getSeconds() +
"-REP" + // "_" +
"_" + // repType +
props.props.props.accountDetails.accountDetails.lastname, // "_" +
"pinswg_name": props.props.currentView.caseReference.currentReference, // props.props.props.accountDetails.accountDetails.lastname +
"containerID": props.props.props.accountDetails.containerID, // "_" +
"appealType": props.props.currentView.caseReference.appealType, // props.props.props.accountDetails.accountDetails.firstname,
"incidentID": props.props.currentView.caseReference.incidentid, // "pinswg_name": props.props.currentView.caseReference.currentReference,
"caseRef": props.props.currentView.caseReference.currentReference, // "containerID": props.props.props.accountDetails.containerID,
}); // "appealType": props.props.currentView.caseReference.appealType,
// "incidentID": props.props.currentView.caseReference.incidentid,
// "caseRef": props.props.currentView.caseReference.currentReference,
// });
console.log("///////// repFormData:", repFormData); console.log("///////// repFormData:", repFormData);
@@ -983,9 +983,13 @@ export const RenderFileUpload = (field) => {
onDrop={(filesToUpload, e) => { onDrop={(filesToUpload, e) => {
const renamedAcceptedFiles = filesToUpload.map( const renamedAcceptedFiles = filesToUpload.map(
(file) => (file) =>
new File([file], `${file.name}`, { new File(
type: file.type, [file],
}) `${field.filenamePrefix}_${file.name}`,
{
type: file.type,
}
)
); );
field.input.onChange(renamedAcceptedFiles); field.input.onChange(renamedAcceptedFiles);
}} }}
@@ -1103,6 +1107,10 @@ export function FileUploadField(props) {
fileList={props.fileList} fileList={props.fileList}
setFilesForAppeal={props.setFilesForAppeal} setFilesForAppeal={props.setFilesForAppeal}
containerID={props.containerID} containerID={props.containerID}
filenamePrefix={
props.filenamePrefix.formObj.representationForm.values
.repfile_name
}
/> />
</> </>
); );
@@ -22,10 +22,14 @@ const RepInterestedPartyPerson = (props) => {
interestedPersonRepresentationArr, interestedPersonRepresentationArr,
setRepresentationCapacity, setRepresentationCapacity,
setRepresentationSubmit, setRepresentationSubmit,
setRepFileName,
} = props; } = props;
const required = (value) => (value ? undefined : "Required"); const required = (value) => (value ? undefined : "Required");
const { acceptedFiles, getRootProps, getInputProps } = useDropzone(); const { acceptedFiles, getRootProps, getInputProps } = useDropzone();
setRepFileName(formObj.representationForm.values);
const files = acceptedFiles.map((file) => ( const files = acceptedFiles.map((file) => (
<li key={file.path}> <li key={file.path}>
{file.path} - {file.size} bytes {file.path} - {file.size} bytes
@@ -135,6 +139,7 @@ const RepInterestedPartyPerson = (props) => {
props.props.props.accountDetails props.props.props.accountDetails
.containerID .containerID
} }
filenamePrefix={props}
/> />
</div> </div>
</fieldset> </fieldset>
+84 -33
View File
@@ -417,39 +417,76 @@ const CaseSummary = (props) => {
detailsObj.pinswg_finalcommentsduedate detailsObj.pinswg_finalcommentsduedate
) && ( ) && (
<> <>
<Link {showRepButton(
href={{ props.currentView
pathname: .caseReference
"/myportal/representation", .appealType
query: { ) ? (
case: <>
currentType == <Link
"searchResultsObj" href={{
? detailsObj.pinswg_name pathname:
: currentType == "/myportal/representation",
"watchedCases" query: {
? casesObj.pinswg_title case:
: casesObj.reference, currentType ==
}, "searchResultsObj"
}} ? detailsObj.pinswg_name
className="govuk-button" : currentType ==
> "watchedCases"
{t( ? casesObj.pinswg_title
"case:summary-make-representation-label" : casesObj.reference,
)} },
</Link> }}
className="govuk-button"
>
{t(
"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( {t(
"case:summary-back-button-label" "case:summary-back-button-label"
)} )}
</a> </a>
</>
) : (
<>
<div className="govuk-grid-column-full govuk-!-padding-left-0">
<div className="govuk-button-group">
<p className="govuk-body">
The
representation
period for
this appeal
is between{" "}
{formatDates(
detailsObj.pinswg_startdate
)}{" "}
and{" "}
{formatDates(
detailsObj.pinswg_finalcommentsduedate
)}
<br />
You can make
a
representation
by emailing{" "}
<Link href="mailto:pedw.casework@gov.wales">
pedw.casework@gov.wales
</Link>
</p>
</div>
</div>
</>
)}
</> </>
)} )}
<div className="govuk-body"> <div className="govuk-body">
@@ -578,7 +615,6 @@ const CaseSummary = (props) => {
</div> </div>
</div> </div>
</div> </div>
<div className="govuk-grid-row"> <div className="govuk-grid-row">
<div className="govuk-grid-column-full"> <div className="govuk-grid-column-full">
{_.has(detailsObj, "pinswg_startdate") && {_.has(detailsObj, "pinswg_startdate") &&
@@ -1017,6 +1053,21 @@ const CaseSummary = (props) => {
return date >= start && date <= end ? true : false; return date >= start && date <= end ? true : false;
} }
function showRepButton(appealType) {
switch (appealType) {
case 846040012:
case 846040013:
case 846040014:
case 846040015:
case 846040020:
case 846040021:
case 846040023:
case 846040024:
return false;
default:
return true;
}
}
function showRepsEnded(startDate, endDate) { function showRepsEnded(startDate, endDate) {
let date = new Date(); let date = new Date();
date = new Date(date.toDateString()); date = new Date(date.toDateString());
+1 -1
View File
@@ -43,7 +43,7 @@ export default function Footer(props) {
const origin = const origin =
typeof window !== "undefined" && window.location.origin typeof window !== "undefined" && window.location.origin
? window.location.origin ? window.location.origin
: ""; : process.env.API_ROOT;
const URL = `${origin}`; const URL = `${origin}`;
+1 -1
View File
@@ -135,7 +135,7 @@ let AddressSearch = (props) => {
searchString = "?" + searchString.slice(0, -1); searchString = "?" + searchString.slice(0, -1);
console.log(searchString); //console.log(searchString);
router.replace( router.replace(
router.locale == "cy" router.locale == "cy"
+9 -2
View File
@@ -145,8 +145,15 @@ const TopThree = (props) => {
}; };
const repRaisedDate = (datePart) => { const repRaisedDate = (datePart) => {
var dateObj = new Date(parseInt(datePart.split("-")[3])); var dateObj = new Date(
return dateObj.toLocaleString(); datePart.split("-")[0] +
"-" +
datePart.split("-")[1] +
"-" +
datePart.split("-")[2]
);
return dateObj.toLocaleDateString();
}; };
let topThreeOnlyArr = showTopThreeArr.slice(0, 3); let topThreeOnlyArr = showTopThreeArr.slice(0, 3);
+1 -1
View File
@@ -137,7 +137,7 @@ let AddressSearch = (props) => {
searchString = "?" + searchString.slice(0, -1); searchString = "?" + searchString.slice(0, -1);
console.log(searchString); //console.log(searchString);
router.replace( router.replace(
router.locale == "cy" router.locale == "cy"
+1 -1
View File
@@ -398,7 +398,7 @@ let AdvancedSearch = (props) => {
searchString = "?" + searchString.slice(0, -1); searchString = "?" + searchString.slice(0, -1);
console.log(searchString); //console.log(searchString);
router.replace( router.replace(
router.locale == "cy" router.locale == "cy"
+4 -4
View File
@@ -161,7 +161,7 @@ export default async function handler(req, res) {
let repCapacity = ""; let repCapacity = "";
switch (reqBodyobj.representationCapacity) { switch (reqBodyobj.representationCapacity) {
case "Appellant": case "Appellant":
repCapacity = "APPELLANT"; repCapacity = "APP";
break; break;
case "Agent": case "Agent":
repCapacity = "AGENT"; repCapacity = "AGENT";
@@ -183,7 +183,7 @@ export default async function handler(req, res) {
let repType = ""; let repType = "";
switch (reqBodyobj.representationType) { switch (reqBodyobj.representationType) {
case "Statement": case "Statement":
repType = "STATE"; repType = "Statement";
break; break;
case "Statement of common ground": case "Statement of common ground":
repType = "SCG"; repType = "SCG";
@@ -195,10 +195,10 @@ export default async function handler(req, res) {
repType = "WSE"; repType = "WSE";
break; break;
case "Questionnaire": case "Questionnaire":
repType = "QUEST"; repType = "Questionnaire";
break; break;
case "Final comments": case "Final comments":
repType = "FC"; repType = "Comments";
break; break;
case "Other": case "Other":