Merged PR 1163: adjusted timetable to display correct dates

adjusted timetable to display correct dates

Related work items: #11262, #11263
This commit is contained in:
Robert Bond
2024-05-28 07:59:05 +00:00
7 changed files with 233 additions and 141 deletions
+4 -2
View File
@@ -1,7 +1,7 @@
export const getSelectQuery = (appealTypeName) => {
switch (appealTypeName) {
case "pinswg_advertses":
return "&$select=modifiedon,_pinswg_appellant_value,pinswg_name,pinswg_siteaddresscounty,pinswg_siteaddressline1,pinswg_siteaddressline2,pinswg_siteaddresspostcode,pinswg_siteaddresstown,_pinswg_associatedlpa_value,pinswg_casedecisiondate,pinswg_dateeventrequested,pinswg_decision,pinswg_procedure,pinswg_questionnaireduedate,statuscode,pinswg_startdateoftheevent,pinswg_typeofevent,pinswg_startdate,pinswg_otherpartiesstatement,pinswg_finalcommentsduedate,pinswg_proofsofevidencewrittenstatementsofeviden";
return "&$select=pinswg_speacialistcaseprocess,modifiedon,_pinswg_appellant_value,pinswg_name,pinswg_siteaddresscounty,pinswg_siteaddressline1,pinswg_siteaddressline2,pinswg_siteaddresspostcode,pinswg_siteaddresstown,_pinswg_associatedlpa_value,pinswg_casedecisiondate,pinswg_dateeventrequested,pinswg_decision,pinswg_procedure,pinswg_questionnaireduedate,statuscode,pinswg_startdateoftheevent,pinswg_typeofevent,pinswg_startdate,pinswg_otherpartiesstatement,pinswg_finalcommentsduedate,pinswg_proofsofevidencewrittenstatementsofeviden";
break;
case "pinswg_callinss77s":
return "&$select=modifiedon,_pinswg_appellant_value,pinswg_name,pinswg_siteaddresscounty,pinswg_siteaddressline1,pinswg_siteaddressline2,pinswg_siteaddresspostcode,pinswg_siteaddresstown,_pinswg_associatedlpa_value,pinswg_casedecisiondate,pinswg_dateeventrequested,pinswg_decision,pinswg_finalcommentsduedate,pinswg_procedure,pinswg_proofsofevidencewrittenstatementsofeviden,pinswg_questionnaireduedate,pinswg_startdate,statuscode,pinswg_dateexportedtoiss,pinswg_startdateofevent,pinswg_typeofevent";
@@ -13,6 +13,8 @@ export const getSelectQuery = (appealTypeName) => {
return "&$select=modifiedon,_pinswg_appellant_value,pinswg_name,pinswg_siteaddresscounty,pinswg_siteaddressline1,pinswg_siteaddressline2,pinswg_siteaddresspostcode,pinswg_siteaddresstown,_pinswg_associatedlpa_value,pinswg_casedecisiondate,pinswg_dateeventrequested,pinswg_decision,pinswg_finalcommentsduedate,pinswg_otherpartiesstatement,pinswg_procedure,pinswg_proofsofevidencewrittenstatementsofeviden,pinswg_questionnaireduedate,pinswg_relevantauthorityname,pinswg_startdate,statuscode,pinswg_startdateofevent,pinswg_typeofevent";
break;
case "pinswg_hedgeshedgerowstreepreservationreplacems":
return "&$select=pinswg_specialistcaseprocess,modifiedon,_pinswg_appellant_value,pinswg_name,pinswg_siteaddresscounty,pinswg_siteaddressline1,pinswg_siteaddressline2,pinswg_siteaddresspostcode,pinswg_siteaddresstown,_pinswg_associatedlpa_value,pinswg_casedecisiondate,pinswg_dateeventrequested,pinswg_decision,pinswg_finalcommentsduedate,pinswg_otherpartiesstatement,pinswg_procedure,pinswg_proofsofevidencewrittenstatementsofeviden,pinswg_questionnaireduedate,pinswg_relevantauthorityname,pinswg_startdate,statuscode,pinswg_startdateoftheevent,pinswg_typeofevent,pinswg_statementduedate";
break;
case "pinswg_miscellaneouscaseworks":
case "pinswg_wayleaves":
return "&$select=modifiedon,_pinswg_appellant_value,pinswg_name,pinswg_siteaddresscounty,pinswg_siteaddressline1,pinswg_siteaddressline2,pinswg_siteaddresspostcode,pinswg_siteaddresstown,_pinswg_associatedlpa_value,pinswg_casedecisiondate,pinswg_dateeventrequested,pinswg_decision,pinswg_finalcommentsduedate,pinswg_otherpartiesstatement,pinswg_procedure,pinswg_proofsofevidencewrittenstatementsofeviden,pinswg_questionnaireduedate,pinswg_relevantauthorityname,pinswg_startdate,statuscode,pinswg_startdateoftheevent,pinswg_typeofevent,pinswg_statementduedate";
@@ -63,7 +65,7 @@ export const getSelectQuery = (appealTypeName) => {
return "&$select=modifiedon,_pinswg_appellant_value,pinswg_name,pinswg_siteaddressline1,pinswg_siteaddressline2,pinswg_siteaddresspostcode,pinswg_siteaddresstown,_pinswg_associatedlpa_value,pinswg_casedecisiondate,pinswg_dateeventrequested,pinswg_decision,pinswg_finalcommentsduedate,pinswg_otherpartiesstatements,pinswg_procedure,pinswg_questionnaireduedate,pinswg_startdate,pinswg_statementduedate,statuscode,pinswg_startdateoftheevent,pinswg_typeofevent";
break;
case "pinswg_rows":
return "&$select=modifiedon,_pinswg_appellant_value,pinswg_name,pinswg_siteaddressline1,pinswg_siteaddressline2,pinswg_siteaddresspostcode,pinswg_siteaddresstown,_pinswg_associatedlpa_value,pinswg_casedecisiondate,pinswg_dateeventrequested,pinswg_decision,pinswg_finalcommentsduedate,pinswg_otherpartiesstatement,pinswg_procedure,pinswg_proofsofevidencewrittenstatementsofeviden,pinswg_questionnaireduedate,pinswg_relevantauthorityname,pinswg_startdate,statuscode,pinswg_startdateoftheevent,pinswg_typeofevent,pinswg_statementduedate";
return "&$select=pinswg_specialistcaseprocess,modifiedon,_pinswg_appellant_value,pinswg_name,pinswg_siteaddressline1,pinswg_siteaddressline2,pinswg_siteaddresspostcode,pinswg_siteaddresstown,_pinswg_associatedlpa_value,pinswg_casedecisiondate,pinswg_dateeventrequested,pinswg_decision,pinswg_finalcommentsduedate,pinswg_otherpartiesstatement,pinswg_procedure,pinswg_proofsofevidencewrittenstatementsofeviden,pinswg_questionnaireduedate,pinswg_relevantauthorityname,pinswg_startdate,statuscode,pinswg_startdateoftheevent,pinswg_typeofevent,pinswg_statementduedate";
break;
default:
return "";
+100 -103
View File
@@ -229,7 +229,7 @@ let MakeRepresentation = (props) => {
const buildRepsArr = (detailsObj) => {
let buildArr = [];
console.log(currentView.caseReference.appealType);
console.log(currentView.caseReference.appealType, "");
let todaysDate = new Date();
@@ -241,62 +241,50 @@ let MakeRepresentation = (props) => {
let statementDueDate;
isDNS
? (startDate = new Date(
? ((startDate = new Date(
detailsObj.pinswg_applicationacceptedasvalid
)),
(questionnaireDate = new Date(
new Date(
detailsObj.pinswg_applicationacceptedasvalid
detailsObj.pinswg_endofrepresentationperiod
).setHours(23, 59, 59, 999)
))(
(questionnaireDate = new Date(
new Date(
detailsObj.pinswg_endofrepresentationperiod
).setHours(23, 59, 59, 999)
))
)(
(finalCommentsDate = new Date(
new Date(detailsObj.pinswg_finalcommentsduedate).setHours(
23,
59,
59,
999
)
))
)(
(statementDueDate = new Date(
new Date(
detailsObj.pinswg_endofrepresentationperiod
).setHours(23, 59, 59, 999)
))
)
: (startDate = new Date(
new Date(detailsObj.pinswg_startdate).setHours(
)),
(finalCommentsDate = new Date(
new Date(detailsObj.pinswg_finalcommentsduedate).setHours(
23,
59,
59,
999
)
)),
(questionnaireDate = new Date(
new Date(detailsObj.pinswg_questionnaireduedate).setHours(
23,
59,
59,
999
)
)),
(finalCommentsDate = new Date(
new Date(detailsObj.pinswg_finalcommentsduedate).setHours(
23,
59,
59,
999
)
)),
(statementDueDate = new Date(
new Date(
detailsObj.pinswg_statementduedate ||
detailsObj.pinswg_statementsduedate
).setHours(23, 59, 59, 999)
));
(statementDueDate = new Date(
new Date(
detailsObj.pinswg_endofrepresentationperiod
).setHours(23, 59, 59, 999)
)))
: ((startDate = new Date(detailsObj.pinswg_startdate)),
(questionnaireDate = new Date(
new Date(detailsObj.pinswg_questionnaireduedate).setHours(
23,
59,
59,
999
)
)),
(finalCommentsDate = new Date(
new Date(detailsObj.pinswg_finalcommentsduedate).setHours(
23,
59,
59,
999
)
)),
(statementDueDate = new Date(
new Date(
detailsObj.pinswg_statementduedate ||
detailsObj.pinswg_statementsduedate
).setHours(23, 59, 59, 999)
)));
isLPA &&
currentView.caseReference.appealType != 846040019 &&
@@ -795,6 +783,10 @@ let MakeRepresentation = (props) => {
props.props.currentView.caseReference.currentReference,
"pinswg_questionnaireduedate":
detailsObj.pinswg_questionnaireduedate,
"pinswg_endofrepresentationperiod":
detailsObj.pinswg_endofrepresentationperiod,
"pinswg_applicationacceptedasvalid":
detailsObj.pinswg_applicationacceptedasvalid,
"pinswg_statementduedate": detailsObj.pinswg_statementduedate,
"pinswg_finalcommentsduedate":
detailsObj.pinswg_finalcommentsduedate,
@@ -1048,64 +1040,69 @@ let MakeRepresentation = (props) => {
</div>
</div>
</div>{" "}
{Object.keys(
{typeof props.props.currentView
.representationCapacity !=
"undefined" &&
props.props.currentView
.representationCapacity
).length > 0 && (
<div className="govuk-grid-row">
{savingStatus ? (
<span className=" progress-save-active">
{router.locale == "cy"
? "Nôl data"
: "Saving data"}
<img
className="data-loading-icon"
src="/assets/images/loading.gif"
alt={
router.locale ==
"cy"
? "Nôl data"
: "Saving data"
}
/>
</span>
) : (
<button
className="govuk-button govuk-button--secondary progress-save "
onClick={() => {
let valuesObj =
props.props
.form[
props.form
].values || {};
.representationCapacity.length >
0 && (
<div className="govuk-grid-row">
{savingStatus ? (
<span className=" progress-save-active">
{router.locale ==
"cy"
? "Nôl data"
: "Saving data"}
<img
className="data-loading-icon"
src="/assets/images/loading.gif"
alt={
router.locale ==
"cy"
? "Nôl data"
: "Saving data"
}
/>
</span>
) : (
<button
className="govuk-button govuk-button--secondary progress-save "
onClick={() => {
let valuesObj =
props.props
.form[
props
.form
].values ||
{};
console.log(
"valuesobj:",
valuesObj
);
console.log(
"valuesobj:",
valuesObj
);
delete valuesObj[
"_pinswg_appellant_value"
];
delete valuesObj[
"_pinswg_appellant_value"
];
console.log(
"on save:",
valuesObj
);
updateRepresentation(
valuesObj,
false,
true
);
}}
>
{t(
"common:save-exit-button"
)}
</button>
)}
</div>
)}
console.log(
"on save:",
valuesObj
);
updateRepresentation(
valuesObj,
false,
true
);
}}
>
{t(
"common:save-exit-button"
)}
</button>
)}
</div>
)}
<div>
{formObj.hasOwnProperty(
"representationForm"
@@ -2,7 +2,7 @@ import Link from "next/link";
import { connect } from "react-redux";
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import { Field, reduxForm } from "redux-form";
import { Field, reduxForm, change } from "redux-form";
import {
RenderPickList,
RenderTextfield,
@@ -48,7 +48,8 @@ const RepAgent = (props) => {
<div className="govuk-grid-row">
<div className="govuk-form-group">
{typeof formObj.representationForm.values
.representationType == "undefined" ? (
.representationType == "undefined" &&
props.representationType != "Select..." ? (
<>
<h2 className="govuk-heading-m ">
{t(
@@ -208,6 +209,11 @@ const RepAgent = (props) => {
<a
onClick={() => {
setRepresentationCapacity();
props.updateField(
"representationForm",
"representationCapacity",
""
);
}}
className="govuk-link"
>
@@ -219,4 +225,20 @@ const RepAgent = (props) => {
);
};
export default RepAgent;
const mapStateToProps = (state, props) => {};
const mapDispatchToProps = (dispatch) => ({
updateField: (form, field, newValue) =>
dispatch(change(form, field, newValue)),
});
export default connect(
mapStateToProps,
mapDispatchToProps
)(
reduxForm({
form: "representationForm",
enableReinitialize: true,
destroyOnUnmount: false,
})(RepAgent)
);
@@ -2,7 +2,7 @@ import Link from "next/link";
import { connect } from "react-redux";
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import { Field, reduxForm, reset } from "redux-form";
import { Field, reduxForm, reset, change } from "redux-form";
import React, { useCallback, useEffect, useMemo, useState } from "react";
import {
@@ -49,7 +49,8 @@ const RepAppellant = (props) => {
<div className="govuk-grid-row">
<div className="govuk-form-group">
{typeof formObj.representationForm.values
.representationType == "undefined" ? (
.representationType == "undefined" &&
props.representationType != "Select..." ? (
<>
<h2 className="govuk-heading-m ">
{t(
@@ -192,6 +193,11 @@ const RepAppellant = (props) => {
<a
onClick={() => {
setRepresentationCapacity();
props.updateField(
"representationForm",
"representationType",
""
);
}}
className="govuk-link"
>
@@ -203,4 +209,20 @@ const RepAppellant = (props) => {
);
};
export default RepAppellant;
const mapStateToProps = (state, props) => {};
const mapDispatchToProps = (dispatch) => ({
updateField: (form, field, newValue) =>
dispatch(change(form, field, newValue)),
});
export default connect(
mapStateToProps,
mapDispatchToProps
)(
reduxForm({
form: "representationForm",
enableReinitialize: true,
destroyOnUnmount: false,
})(RepAppellant)
);
@@ -1,7 +1,8 @@
import Link from "next/link";
import { connect } from "react-redux";
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import { Field, reduxForm } from "redux-form";
import { Field, reduxForm, change } from "redux-form";
import {
RenderPickList,
RenderTextfield,
@@ -10,6 +11,11 @@ import {
RenderRichMultiline,
FileUploadField,
} from "./representationElements";
import {
getFormCollectionByID,
getThumbnailIconByExtension,
bytesToSize,
} from "../../utils";
import { useDropzone } from "react-dropzone";
const RepInterestedPartyPerson = (props) => {
@@ -38,29 +44,33 @@ const RepInterestedPartyPerson = (props) => {
return (
<>
<div className="govuk-grid-row">
<h2 className="govuk-heading-m ">
{t(
"myrepresentations:representation-from-an-interested-person-heading"
)}
</h2>
<div className="govuk-form-group">
<label
className="govuk-label govuk-body-m"
htmlFor="representationType"
>
{t("myrepresentations:kind-of-rep-label")}
</label>
{typeof props.representationType == undefined ||
typeof formObj.representationForm.values
.representationType == "undefined" ? (
<Field
name="representationType"
component={RenderPickList}
datafieldname="representationType"
validate={[required]}
optionsArr={interestedPersonRepresentationArr}
errorMsg={t("newappeal:select-an-option-label")}
/>
{typeof formObj.representationForm.values
.representationType == "undefined" &&
props.representationType != "Select..." ? (
<>
<h2 className="govuk-heading-m ">
{t(
"myrepresentations:representation-from-an-interested-person-heading"
)}
</h2>
<label
className="govuk-label govuk-body-m"
htmlFor="representationType"
>
{t("myrepresentations:kind-of-rep-label")}
</label>
<Field
name="representationType"
component={RenderPickList}
datafieldname="representationType"
validate={[required]}
optionsArr={interestedPersonRepresentationArr}
errorMsg={t("newappeal:select-an-option-label")}
/>
</>
) : (
<label className="govuk-label govuk-body-m">
Representation Type:{" "}
@@ -160,7 +170,16 @@ const RepInterestedPartyPerson = (props) => {
<a
onClick={() => {
setRepresentationCapacity();
//setRepresentationSubmit(true);
props.updateField(
"representationForm",
"representationCapacity",
""
);
props.updateField(
"representationForm",
"representationType",
""
);
}}
className="govuk-link"
>
@@ -172,4 +191,20 @@ const RepInterestedPartyPerson = (props) => {
);
};
export default RepInterestedPartyPerson;
const mapStateToProps = (state, props) => {};
const mapDispatchToProps = (dispatch) => ({
updateField: (form, field, newValue) =>
dispatch(change(form, field, newValue)),
});
export default connect(
mapStateToProps,
mapDispatchToProps
)(
reduxForm({
form: "representationForm",
enableReinitialize: true,
destroyOnUnmount: false,
})(RepInterestedPartyPerson)
);
@@ -3,7 +3,7 @@ import _ from "lodash";
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import { connect } from "react-redux";
import { Field, reduxForm, formValueSelector } from "redux-form";
import { Field, reduxForm, formValueSelector, change } from "redux-form";
import {
RenderPickList,
RenderTextfield,
@@ -339,7 +339,8 @@ let RepLPA = (props) => {
"representationType",
]) ||
typeof props.representationType != "undefined") &&
(props.representationType != "Questionnaire" ? (
(props.representationType != "Questionnaire" &&
props.representationType != "Select..." ? (
<>
<p className="govuk-body">
{t("myrepresentations:enter-comment-label")}
@@ -480,10 +481,15 @@ let RepLPA = (props) => {
<a
onClick={() => {
//setRepresentationCapacity();
props.updateField(
"representationForm",
"representationType",
""
);
}}
className="govuk-link"
>
{t("common:back-link")}
{t("common:back-link")}ss
</a>
</>
)}
@@ -505,6 +511,11 @@ RepLPA = connect((state) => {
};
})(RepLPA);
const mapDispatchToProps = (dispatch) => ({
updateField: (form, field, newValue) =>
dispatch(change(form, field, newValue)),
});
const mapStateToProps = (state, props) => {
let initialValuesTemp = Object.assign(
state.currentView.caseReference.hasOwnProperty("repDetails")
@@ -534,7 +545,10 @@ const mapStateToProps = (state, props) => {
};
};
export default connect(mapStateToProps)(
export default connect(
mapStateToProps,
mapDispatchToProps
)(
reduxForm({
form: "representationForm",
enableReinitialize: true,
+1 -1
View File
@@ -3,7 +3,7 @@ import { currentViewActionTypes } from "./action";
const currentViewInitialState = {
currentView: {},
caseReference: {},
representationCapacity: {},
representationCapacity: "",
representationSubmit: "",
representationSubmitConfirmation: {},
representationMessageSent: false,