Merged PR 846: edit a partial completed appeal
edit a partial completed appeal Related work items: #7603
This commit is contained in:
+17
-17
@@ -4,7 +4,7 @@ ACCESS_TOKEN_ENDPOINT = https://login.microsoftonline.com/
|
|||||||
//ESNR Tenant
|
//ESNR Tenant
|
||||||
TENANT = a8d860de-d5e1-45af-8376-d93f02e6b502
|
TENANT = a8d860de-d5e1-45af-8376-d93f02e6b502
|
||||||
//WGO Tenant
|
//WGO Tenant
|
||||||
TENANT = 9ac1a5ab-cd58-409e-a1b6-6b10422a68f5
|
//TENANT = 9ac1a5ab-cd58-409e-a1b6-6b10422a68f5
|
||||||
GRANT_TYPE = "client_credentials"
|
GRANT_TYPE = "client_credentials"
|
||||||
|
|
||||||
HASHKEY = 028ffbae928d7191c0017f298260995f901d78eabde1436c0af0423459cc3715832136d84f68818d3a96399467b52143e273d4f3bf4ae190848891535421cd6c
|
HASHKEY = 028ffbae928d7191c0017f298260995f901d78eabde1436c0af0423459cc3715832136d84f68818d3a96399467b52143e273d4f3bf4ae190848891535421cd6c
|
||||||
@@ -12,27 +12,27 @@ NEXT_PUBLIC_HASHKEY = 028ffbae928d7191c0017f298260995f901d78eabde1436c0af0423459
|
|||||||
|
|
||||||
|
|
||||||
//Dev oauth ESNR
|
//Dev oauth ESNR
|
||||||
//CLIENT_ID = e082def0-3453-461f-9a5e-f4ab127dc015
|
CLIENT_ID = e082def0-3453-461f-9a5e-f4ab127dc015
|
||||||
//CLIENT_SECRET = qW.7Q~TSr3sZmLEnJQJPXEdOckb_yo2t1yJmY
|
CLIENT_SECRET = qW.7Q~TSr3sZmLEnJQJPXEdOckb_yo2t1yJmY
|
||||||
//RELAY_ROOT = https://dev-pedw-ns.servicebus.windows.net/dev-pedw-hc/
|
RELAY_ROOT = https://dev-pedw-ns.servicebus.windows.net/dev-pedw-hc/
|
||||||
//RELAYURI = "dev-pedw-ns.servicebus.windows.net"
|
RELAYURI = "dev-pedw-ns.servicebus.windows.net"
|
||||||
//RELAYPATH = "dev-pedw-hc"
|
RELAYPATH = "dev-pedw-hc"
|
||||||
|
|
||||||
|
|
||||||
//Test Oauth ESNR
|
//Test Oauth ESNR
|
||||||
CLIENT_ID = 6619ad85-c908-490d-811b-de8c93c0f2aa
|
//CLIENT_ID = 6619ad85-c908-490d-811b-de8c93c0f2aa
|
||||||
CLIENT_SECRET = qKo7Q~5QvLEplbwnBbint_I5lXqx_-kDm8Vj-
|
//CLIENT_SECRET = qKo7Q~5QvLEplbwnBbint_I5lXqx_-kDm8Vj-
|
||||||
RELAY_ROOT = https://test-pedw-ns.servicebus.windows.net/test-pedw-hc/
|
//RELAY_ROOT = https://test-pedw-ns.servicebus.windows.net/test-pedw-hc/
|
||||||
RELAYURI = "test-pedw-ns.servicebus.windows.net"
|
//RELAYURI = "test-pedw-ns.servicebus.windows.net"
|
||||||
RELAYPATH = "test-pedw-hc"
|
//RELAYPATH = "test-pedw-hc"
|
||||||
|
|
||||||
|
|
||||||
//Preprod Oauth WGO
|
//Preprod Oauth WGO
|
||||||
CLIENT_ID = ab6c4678-b31a-4eb3-b429-e039120e488a
|
//CLIENT_ID = ab6c4678-b31a-4eb3-b429-e039120e488a
|
||||||
CLIENT_SECRET = Ioo7Q~RJfhWsE45wPsuHm1CzRk1SppnNN3lZF
|
//CLIENT_SECRET = Ioo7Q~RJfhWsE45wPsuHm1CzRk1SppnNN3lZF
|
||||||
RELAY_ROOT = https://pp-pedw-ns.servicebus.windows.net/pp-pedw-hc/
|
//RELAY_ROOT = https://pp-pedw-ns.servicebus.windows.net/pp-pedw-hc/
|
||||||
RELAYURI = "pp-pedw-ns.servicebus.windows.net"
|
//RELAYURI = "pp-pedw-ns.servicebus.windows.net"
|
||||||
RELAYPATH = "pp-pedw-hc"
|
//RELAYPATH = "pp-pedw-hc"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -48,7 +48,7 @@ GOOGLE_TAG_MANAGER = GTM-T78CBC3
|
|||||||
SHOWLOGIN = "true"
|
SHOWLOGIN = "true"
|
||||||
SHOWREPRESENTATIONS = false
|
SHOWREPRESENTATIONS = false
|
||||||
SHOWFILEUPLOAD = "false"
|
SHOWFILEUPLOAD = "false"
|
||||||
SHOWMAPS = "false"
|
SHOWMAPS = "true"
|
||||||
//BASIC_AUTH_CREDENTIALS = pinswg:password|pinswg2:password2
|
//BASIC_AUTH_CREDENTIALS = pinswg:password|pinswg2:password2
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+69
-1
@@ -77,6 +77,19 @@ export const azureHeaders = (access_token) => {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const azureHeadersNoOdata = (access_token) => {
|
||||||
|
return {
|
||||||
|
headers: {
|
||||||
|
//"OData-MaxVersion": "4.0",
|
||||||
|
//"OData-Version": "4.0",
|
||||||
|
//"Accept": "application/json;odata.metadata=none",
|
||||||
|
//"Prefer": 'odata.include-annotations="*",return=representation',
|
||||||
|
"Content-Type": "application/json",
|
||||||
|
"Authorization": "Bearer " + access_token,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
export const azureHeadersPaged = (access_token) => {
|
export const azureHeadersPaged = (access_token) => {
|
||||||
return {
|
return {
|
||||||
headers: {
|
headers: {
|
||||||
@@ -145,6 +158,22 @@ export const getBasicSearch = (searchString) => {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const getPartSavedAppeal = (searchString) => {
|
||||||
|
return axios
|
||||||
|
.get(
|
||||||
|
BASE_URL +
|
||||||
|
"/api/endpoint/getpartsavedappeal_api?searchString=" +
|
||||||
|
searchString
|
||||||
|
)
|
||||||
|
.then((res) => {
|
||||||
|
return res.data;
|
||||||
|
})
|
||||||
|
.catch((error) => {
|
||||||
|
console.log(error);
|
||||||
|
return error.response;
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
export const getBasicDNSURLSearch = (searchString) => {
|
export const getBasicDNSURLSearch = (searchString) => {
|
||||||
return axios
|
return axios
|
||||||
.get(
|
.get(
|
||||||
@@ -322,6 +351,38 @@ export const getBasicSearchDetails = (
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const getBasicPartSavedDetails = (
|
||||||
|
appealTypeName,
|
||||||
|
caseReference,
|
||||||
|
primaryIdAttribute,
|
||||||
|
incidentID
|
||||||
|
) => {
|
||||||
|
console.log(
|
||||||
|
"///////api call: ",
|
||||||
|
BASE_URL +
|
||||||
|
"/api/endpoint/getbasicpartsaveddetails_api?appealTypeName=" +
|
||||||
|
appealTypeName +
|
||||||
|
"&primaryIdAttribute=" +
|
||||||
|
primaryIdAttribute +
|
||||||
|
"&incidentID=" +
|
||||||
|
incidentID
|
||||||
|
);
|
||||||
|
return axios
|
||||||
|
.get(
|
||||||
|
BASE_URL +
|
||||||
|
"/api/endpoint/getbasicpartsaveddetails_api?appealTypeName=" +
|
||||||
|
appealTypeName +
|
||||||
|
"&primaryIdAttribute=" +
|
||||||
|
primaryIdAttribute +
|
||||||
|
"&incidentID=" +
|
||||||
|
incidentID
|
||||||
|
)
|
||||||
|
.then((res) => res.data)
|
||||||
|
.catch((error) => {
|
||||||
|
console.log("this error", error);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
export const getBasicSearchDetailsPaged = (
|
export const getBasicSearchDetailsPaged = (
|
||||||
appealTypeName,
|
appealTypeName,
|
||||||
caseReference,
|
caseReference,
|
||||||
@@ -670,13 +731,20 @@ export const getAwaitingSubmission = (loggedInUserId) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
export const getPortalModuleDetails = (appealType, caseReference) => {
|
export const getPortalModuleDetails = (appealType, caseReference) => {
|
||||||
|
console.log(
|
||||||
|
BASE_URL +
|
||||||
|
"/api/endpoint/getportalmoduledetails_api?appealType=" +
|
||||||
|
appealType +
|
||||||
|
"&caseReference=" +
|
||||||
|
encodeURI(caseReference)
|
||||||
|
);
|
||||||
return axios
|
return axios
|
||||||
.get(
|
.get(
|
||||||
BASE_URL +
|
BASE_URL +
|
||||||
"/api/endpoint/getportalmoduledetails_api?appealType=" +
|
"/api/endpoint/getportalmoduledetails_api?appealType=" +
|
||||||
appealType +
|
appealType +
|
||||||
"&caseReference=" +
|
"&caseReference=" +
|
||||||
caseReference
|
encodeURI(caseReference)
|
||||||
)
|
)
|
||||||
.then((res) => res.data)
|
.then((res) => res.data)
|
||||||
.catch((error) => {
|
.catch((error) => {
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ const Pinswg_dnsid = (props) => {
|
|||||||
className={
|
className={
|
||||||
showMap == "true"
|
showMap == "true"
|
||||||
? "govuk-grid-column-one-half"
|
? "govuk-grid-column-one-half"
|
||||||
: "govuk-grid-column-two-thirds"
|
: "govuk-grid-column-full"
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
|
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ import {
|
|||||||
subYears,
|
subYears,
|
||||||
subMonths,
|
subMonths,
|
||||||
subDays,
|
subDays,
|
||||||
|
parseISO,
|
||||||
} from "date-fns";
|
} from "date-fns";
|
||||||
|
|
||||||
const RenderTextfield = ({
|
const RenderTextfield = ({
|
||||||
@@ -92,7 +93,9 @@ export function Textfield(props) {
|
|||||||
disabled
|
disabled
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className="govuk-body">{t(hint)}</div>
|
<div className="govuk-body">
|
||||||
|
{t("newappeal:new-appeal-introduction-paragraph")}
|
||||||
|
</div>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
@@ -342,18 +345,29 @@ const RenderDatePicker = ({
|
|||||||
{errorMsg}
|
{errorMsg}
|
||||||
</span>
|
</span>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
|
{/* {value}
|
||||||
|
<br />
|
||||||
|
{moment(value).format("DD/MM/YY")}
|
||||||
|
<br /> */}
|
||||||
|
|
||||||
<DatePicker
|
<DatePicker
|
||||||
{...custom}
|
{...custom}
|
||||||
locale={router.locale}
|
locale={router.locale}
|
||||||
autoOk={true}
|
autoOk={true}
|
||||||
dateFormat="dd/MM/yyyy"
|
dateFormat="dd/MM/yyyy"
|
||||||
onChange={onChange}
|
onChange={onChange}
|
||||||
selected={value || null}
|
selected={
|
||||||
|
value
|
||||||
|
? typeof value != "object"
|
||||||
|
? parseISO(value)
|
||||||
|
: value
|
||||||
|
: null
|
||||||
|
} //{parseISO(value) || null}
|
||||||
className="govuk-input govuk-input--width-10"
|
className="govuk-input govuk-input--width-10"
|
||||||
minDate={minDate}
|
minDate={minDate}
|
||||||
maxDate={maxDate}
|
maxDate={maxDate}
|
||||||
|
//value={!value ? null : moment(value, "DD/MM/yyyy")}
|
||||||
// value={!value ? null : new Date(value)}
|
|
||||||
/>
|
/>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
</div>
|
</div>
|
||||||
@@ -554,6 +568,7 @@ const RenderYesNo = ({
|
|||||||
type="radio"
|
type="radio"
|
||||||
className="govuk-radios__input"
|
className="govuk-radios__input"
|
||||||
value={options[key]}
|
value={options[key]}
|
||||||
|
//checked={value == options[key]}
|
||||||
onChange={(e) => {
|
onChange={(e) => {
|
||||||
let docListObj = custom.documentList;
|
let docListObj = custom.documentList;
|
||||||
if (
|
if (
|
||||||
@@ -690,6 +705,10 @@ const RenderRadio = ({
|
|||||||
type="radio"
|
type="radio"
|
||||||
className="govuk-radios__input"
|
className="govuk-radios__input"
|
||||||
value={options[key].split("|")[0]}
|
value={options[key].split("|")[0]}
|
||||||
|
// checked={
|
||||||
|
// value ==
|
||||||
|
// parseInt(options[key].split("|")[0])
|
||||||
|
// }
|
||||||
onChange={(e) => {
|
onChange={(e) => {
|
||||||
let docListObj = custom.documentList;
|
let docListObj = custom.documentList;
|
||||||
if (
|
if (
|
||||||
@@ -748,15 +767,23 @@ export function Radiofield(props) {
|
|||||||
.split(",");
|
.split(",");
|
||||||
|
|
||||||
//parentFieldShowOnValue
|
//parentFieldShowOnValue
|
||||||
var showIfHasParentShowValue =
|
var showIfHasParentShowValue = parentField != false;
|
||||||
parentField != false &&
|
//debugger;
|
||||||
!_.isEmpty(formProps[form]) &&
|
// parentField != false &&
|
||||||
_.has(formProps[form].values, parentField) &&
|
// !_.isEmpty(formProps[form]) &&
|
||||||
parentFieldShowOnValue.indexOf(
|
// _.has(formProps[form].values, parentField) &&
|
||||||
formProps[form].values[parentField].toString()
|
// parentFieldShowOnValue.indexOf(
|
||||||
) > -1;
|
// formProps[form].values[parentField].toString()
|
||||||
|
// ) > -1;
|
||||||
|
|
||||||
// console.log(showIfHasParentShowValue);
|
(showIfHasParentShowValue == parentField) != false &&
|
||||||
|
showIfHasParentShowValue;
|
||||||
|
|
||||||
|
console.log(
|
||||||
|
datafieldname,
|
||||||
|
showIfHasParentShowValue,
|
||||||
|
formProps[form].values[parentField]
|
||||||
|
);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
|
|||||||
@@ -175,6 +175,11 @@ const TopThree = (props) => {
|
|||||||
className="govuk-link--no-underline"
|
className="govuk-link--no-underline"
|
||||||
data-id={index}
|
data-id={index}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
|
topThreeType == "awaitingSubmission" &&
|
||||||
|
console.log(
|
||||||
|
"appealDetails"
|
||||||
|
// props.props.awaitingSubmission
|
||||||
|
);
|
||||||
setCurrentReference({
|
setCurrentReference({
|
||||||
"currentReference":
|
"currentReference":
|
||||||
topThreeType != "watchedCases"
|
topThreeType != "watchedCases"
|
||||||
@@ -209,7 +214,7 @@ const TopThree = (props) => {
|
|||||||
]
|
]
|
||||||
: showTopThreeArr[key][
|
: showTopThreeArr[key][
|
||||||
"_pinswg_watchedcase_value@OData.Community.Display.V1.FormattedValue"
|
"_pinswg_watchedcase_value@OData.Community.Display.V1.FormattedValue"
|
||||||
]}
|
]}{" "}
|
||||||
</a>
|
</a>
|
||||||
</Link>
|
</Link>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -12,6 +12,8 @@ import {
|
|||||||
setCurrentSection,
|
setCurrentSection,
|
||||||
setDocumentsList,
|
setDocumentsList,
|
||||||
} from "../../store/appealType/action";
|
} from "../../store/appealType/action";
|
||||||
|
import { getFormCollectionByID } from "../utils";
|
||||||
|
import { updateCase, patchCase } from "../../actions";
|
||||||
|
|
||||||
import { FieldsTranslations } from "../elements";
|
import { FieldsTranslations } from "../elements";
|
||||||
|
|
||||||
@@ -32,6 +34,9 @@ let BuildSection = (props) => {
|
|||||||
sectionCount,
|
sectionCount,
|
||||||
onSubmit,
|
onSubmit,
|
||||||
handleSubmit,
|
handleSubmit,
|
||||||
|
load,
|
||||||
|
pristine,
|
||||||
|
reset,
|
||||||
formTitle,
|
formTitle,
|
||||||
setCurrentSection,
|
setCurrentSection,
|
||||||
refno,
|
refno,
|
||||||
@@ -62,7 +67,64 @@ let BuildSection = (props) => {
|
|||||||
|
|
||||||
const handleParam = (setValue) => (e) => setValue(e.target.value);
|
const handleParam = (setValue) => (e) => setValue(e.target.value);
|
||||||
|
|
||||||
|
const updateCaseProgress = (values) => {
|
||||||
|
let incidentId = props.appealType.caseReference.incidentid;
|
||||||
|
let updateBody = values || {};
|
||||||
|
|
||||||
|
let appTypeCollection = getFormCollectionByID(
|
||||||
|
props.appealType.appealTypeID
|
||||||
|
);
|
||||||
|
let updateBindAppealTypeToIncident =
|
||||||
|
appTypeCollection.NavigationProperty;
|
||||||
|
|
||||||
|
Object.assign(updateBody, {
|
||||||
|
"pinswg_Appellant@odata.bind":
|
||||||
|
"/contacts(" + props.props.accountDetails.loggedinUserId + ")",
|
||||||
|
"pinswg_name": props.appealType.caseReference.ticketnumber,
|
||||||
|
[updateBindAppealTypeToIncident + "@odata.bind"]:
|
||||||
|
"/incidents(" + incidentId + ")",
|
||||||
|
});
|
||||||
|
|
||||||
|
updateBody = JSON.stringify(updateBody);
|
||||||
|
updateBody = updateBody.replace(/:"Yes"/gm, `:true`);
|
||||||
|
updateBody = updateBody.replace(/:"No"/gm, `:false`);
|
||||||
|
updateBody = JSON.parse(updateBody);
|
||||||
|
|
||||||
|
Object.keys(updateBody).forEach((key) => {
|
||||||
|
if (updateBody[key] === null) {
|
||||||
|
delete updateBody[key];
|
||||||
|
}
|
||||||
|
if (key.indexOf("_") == 0) {
|
||||||
|
delete updateBody[key];
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
console.log(updateBody);
|
||||||
|
|
||||||
|
let updateFormCollection = appTypeCollection.LogicalCollectionName;
|
||||||
|
let primaryAttribute = appTypeCollection.PrimaryIdAttribute;
|
||||||
|
|
||||||
|
console.log(
|
||||||
|
incidentId,
|
||||||
|
updateBody,
|
||||||
|
updateFormCollection,
|
||||||
|
primaryAttribute,
|
||||||
|
props.appealType.caseReference.ticketnumber
|
||||||
|
);
|
||||||
|
updateCase(
|
||||||
|
incidentId,
|
||||||
|
updateBody,
|
||||||
|
updateFormCollection,
|
||||||
|
primaryAttribute,
|
||||||
|
props.appealType.caseReference.ticketnumber
|
||||||
|
);
|
||||||
|
//console.log("patching////////");
|
||||||
|
//patchCase(incidentId);
|
||||||
|
};
|
||||||
|
|
||||||
const onHandleSubmit = (values) => {
|
const onHandleSubmit = (values) => {
|
||||||
|
//alert(1);
|
||||||
|
//updateCaseProgress(values);
|
||||||
setCurrentSection(currentSection + 1);
|
setCurrentSection(currentSection + 1);
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -198,86 +260,116 @@ let BuildSection = (props) => {
|
|||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div className="govuk-grid-column-one-third">
|
<div className="govuk-grid-column-one-third">
|
||||||
<nav
|
<div className="at-nav-container">
|
||||||
role="navigation"
|
<nav
|
||||||
aria-labelledby="progress-list"
|
role="navigation"
|
||||||
className="at-nav"
|
aria-labelledby="progress-list"
|
||||||
>
|
className="at-nav"
|
||||||
<h3 className="govuk-heading-s govuk-!-font-weight-bold gov-font-dark-grey">
|
>
|
||||||
{t("newappeal:new-appeal-progress-nav-label")}:
|
<h3 className="govuk-heading-s govuk-!-font-weight-bold gov-font-dark-grey progress-heading">
|
||||||
</h3>
|
{t("newappeal:new-appeal-progress-nav-label")}:{" "}
|
||||||
<hr className="govuk-section-break govuk-section-break--m govuk-section-break--visible" />
|
<span className="progress-case-reference">
|
||||||
|
{props.appealType.caseReference.ticketnumber}
|
||||||
<ol className="govuk-list">
|
</span>
|
||||||
<ul className="govuk-list ">
|
|
||||||
<li className="at-nav__page">
|
|
||||||
<ol className="govuk-list">
|
|
||||||
{Object.keys(titleList).map((key) =>
|
|
||||||
parseInt(key) + 1 == currentSection ? (
|
|
||||||
<li key={key}>
|
|
||||||
<b>
|
|
||||||
{FieldsTranslations(
|
|
||||||
titleList[key].value
|
|
||||||
)}{" "}
|
|
||||||
</b>
|
|
||||||
</li>
|
|
||||||
) : (
|
|
||||||
<li key={key}>
|
|
||||||
{props.appealType
|
|
||||||
.formComplete == "true" ||
|
|
||||||
parseInt(key) + 1 <
|
|
||||||
currentSection ? (
|
|
||||||
<a
|
|
||||||
className="govuk-link"
|
|
||||||
href="#"
|
|
||||||
onClick={() => {
|
|
||||||
gotoSection(
|
|
||||||
parseInt(key) +
|
|
||||||
1
|
|
||||||
);
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
{FieldsTranslations(
|
|
||||||
titleList[key].value
|
|
||||||
)}
|
|
||||||
</a>
|
|
||||||
) : (
|
|
||||||
FieldsTranslations(
|
|
||||||
titleList[key].value
|
|
||||||
)
|
|
||||||
)}
|
|
||||||
</li>
|
|
||||||
)
|
|
||||||
)}
|
|
||||||
</ol>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</ol>
|
|
||||||
</nav>
|
|
||||||
|
|
||||||
{Object.keys(documentListObj).length > 0 && (
|
|
||||||
<div>
|
|
||||||
<h3 className="govuk-heading-s govuk-!-font-weight-bold gov-font-dark-grey">
|
|
||||||
{t("newappeal:new-appeal-documentlist-nav")}:
|
|
||||||
</h3>
|
</h3>
|
||||||
<hr className="govuk-section-break govuk-section-break--m govuk-section-break--visible" />
|
<hr className="govuk-section-break govuk-section-break--m govuk-section-break--visible" />
|
||||||
<ol className="govuk-list document-list">
|
|
||||||
|
<ol className="govuk-list">
|
||||||
<ul className="govuk-list ">
|
<ul className="govuk-list ">
|
||||||
<li className="at-nav__page">
|
<li className="at-nav__page">
|
||||||
<ol className="govuk-list govuk-list--bullet">
|
<ol className="govuk-list">
|
||||||
{Object.entries(documentListObj).map(
|
{Object.keys(titleList).map((key) =>
|
||||||
([key, value]) => {
|
parseInt(key) + 1 ==
|
||||||
return (
|
currentSection ? (
|
||||||
<li key={key}>{value}</li>
|
<li key={key}>
|
||||||
);
|
<b>
|
||||||
}
|
{FieldsTranslations(
|
||||||
|
titleList[key].value
|
||||||
|
)}{" "}
|
||||||
|
</b>
|
||||||
|
</li>
|
||||||
|
) : (
|
||||||
|
<li key={key}>
|
||||||
|
{props.appealType
|
||||||
|
.formComplete ==
|
||||||
|
"true" ||
|
||||||
|
parseInt(key) + 1 <
|
||||||
|
currentSection ? (
|
||||||
|
<a
|
||||||
|
className="govuk-link"
|
||||||
|
href="#"
|
||||||
|
onClick={() => {
|
||||||
|
gotoSection(
|
||||||
|
parseInt(
|
||||||
|
key
|
||||||
|
) + 1
|
||||||
|
);
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
{FieldsTranslations(
|
||||||
|
titleList[key]
|
||||||
|
.value
|
||||||
|
)}
|
||||||
|
</a>
|
||||||
|
) : (
|
||||||
|
FieldsTranslations(
|
||||||
|
titleList[key].value
|
||||||
|
)
|
||||||
|
)}
|
||||||
|
</li>
|
||||||
|
)
|
||||||
)}
|
)}
|
||||||
</ol>
|
</ol>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</ol>
|
</ol>
|
||||||
</div>
|
</nav>
|
||||||
)}
|
|
||||||
|
{Object.keys(documentListObj).length > 0 && (
|
||||||
|
<div>
|
||||||
|
<h3 className="govuk-heading-s govuk-!-font-weight-bold gov-font-dark-grey">
|
||||||
|
{t("newappeal:new-appeal-documentlist-nav")}:
|
||||||
|
</h3>
|
||||||
|
<hr className="govuk-section-break govuk-section-break--m govuk-section-break--visible" />
|
||||||
|
<ol className="govuk-list document-list">
|
||||||
|
<ul className="govuk-list ">
|
||||||
|
<li className="at-nav__page">
|
||||||
|
<ol className="govuk-list govuk-list--bullet">
|
||||||
|
{Object.entries(
|
||||||
|
documentListObj
|
||||||
|
).map(([key, value]) => {
|
||||||
|
return (
|
||||||
|
<li key={key}>{value}</li>
|
||||||
|
);
|
||||||
|
})}
|
||||||
|
</ol>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</ol>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
<hr className="govuk-section-break govuk-section-break--m govuk-section-break--visible" />
|
||||||
|
<button
|
||||||
|
className="govuk-button govuk-button--secondary progress-save "
|
||||||
|
onClick={() => {
|
||||||
|
let valuesObj = props.props.form[props.form].values;
|
||||||
|
|
||||||
|
console.log("valuesobj:", valuesObj);
|
||||||
|
|
||||||
|
delete valuesObj["_pinswg_appellant_value"];
|
||||||
|
|
||||||
|
console.log("on save:", valuesObj);
|
||||||
|
updateCaseProgress(valuesObj);
|
||||||
|
router.replace(
|
||||||
|
router.locale != "en"
|
||||||
|
? router.locale + "/myportal"
|
||||||
|
: "/myportal"
|
||||||
|
);
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
Save and exit
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
@@ -289,6 +381,7 @@ const mapStateToProps = (state) => {
|
|||||||
searchResultsObj: state.searchResultsObj,
|
searchResultsObj: state.searchResultsObj,
|
||||||
formData: state.formData,
|
formData: state.formData,
|
||||||
appealType: state.appealType,
|
appealType: state.appealType,
|
||||||
|
initialValues: state.appealType.caseReference.caseDetails,
|
||||||
//form: state.form,
|
//form: state.form,
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -316,5 +409,6 @@ export default connect(
|
|||||||
reduxForm({
|
reduxForm({
|
||||||
form: "appealForm",
|
form: "appealForm",
|
||||||
destroyOnUnmount: false,
|
destroyOnUnmount: false,
|
||||||
|
enableReinitialize: true, // this is needed!!
|
||||||
})(BuildSection)
|
})(BuildSection)
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -41,7 +41,8 @@ const TimeOut = (props) => {
|
|||||||
console.log("////////////", "\n", "logout", "\n", "//////////");
|
console.log("////////////", "\n", "logout", "\n", "//////////");
|
||||||
destroyCookie({}, "pinsUser"),
|
destroyCookie({}, "pinsUser"),
|
||||||
window.localStorage.clear(),
|
window.localStorage.clear(),
|
||||||
router.replace(props.ggLogout);
|
//router.replace(props.ggLogout);
|
||||||
|
router.replace("/logout");
|
||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ import data from "../../data/collections.json";
|
|||||||
import {
|
import {
|
||||||
getBasicSearchDetails,
|
getBasicSearchDetails,
|
||||||
getBasicSearchDetailsPaged,
|
getBasicSearchDetailsPaged,
|
||||||
|
getBasicPartSavedDetails,
|
||||||
} from "../../actions";
|
} from "../../actions";
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -69,6 +70,37 @@ export const getSearchDetails = (searchResultsObj) => {
|
|||||||
return Promise.all(detailsArr);
|
return Promise.all(detailsArr);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Get the partially saved details of a case from the appeal type
|
||||||
|
* @param object searchResultsObj
|
||||||
|
*/
|
||||||
|
export const getPartSavedDetails = (searchResultsObj) => {
|
||||||
|
//console.log(searchResultsObj);
|
||||||
|
|
||||||
|
let detailsArr = [];
|
||||||
|
searchResultsObj = searchResultsObj.value;
|
||||||
|
const detailsObj = searchResultsObj.map((searchDetail, index) => {
|
||||||
|
if (searchDetail.pinswg_appealcasetype == null) {
|
||||||
|
console.log(searchDetail.title);
|
||||||
|
} else {
|
||||||
|
let formMeta = getFormCollectionByID(
|
||||||
|
searchDetail.pinswg_appealcasetype
|
||||||
|
);
|
||||||
|
console.log(formMeta);
|
||||||
|
detailsArr.push(
|
||||||
|
getBasicPartSavedDetails(
|
||||||
|
formMeta.LogicalCollectionName,
|
||||||
|
searchDetail.title,
|
||||||
|
formMeta.PrimaryIdAttribute,
|
||||||
|
searchDetail.incidentid
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
//console.log(detailsArr);
|
||||||
|
return Promise.all(detailsArr);
|
||||||
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Get the details of a case from the appeal type
|
* Get the details of a case from the appeal type
|
||||||
* @param object searchResultsObj
|
* @param object searchResultsObj
|
||||||
|
|||||||
@@ -0,0 +1,50 @@
|
|||||||
|
import axios from "axios";
|
||||||
|
import CryptoJS from "crypto-js";
|
||||||
|
import { getToken, azureHeadersNoOdata } from "../../../actions";
|
||||||
|
import { getSelectQuery } from "../../../actions/selectQueryTypes";
|
||||||
|
|
||||||
|
const WORDKEY = process.env.HASHKEY;
|
||||||
|
|
||||||
|
const WEBAPI_URL =
|
||||||
|
process.env.RELAY_ROOT ||
|
||||||
|
"https://dev-pedw-ns.servicebus.windows.net/dev-pedw-hc/";
|
||||||
|
|
||||||
|
const hashAPIPath = (queryPath) => {
|
||||||
|
var hashlink = CryptoJS.HmacSHA256(
|
||||||
|
queryPath,
|
||||||
|
CryptoJS.enc.Hex.parse(WORDKEY)
|
||||||
|
);
|
||||||
|
hashlink = hashlink.toString(CryptoJS.enc.Hex);
|
||||||
|
return (queryPath.indexOf("?") > -1 ? "&hash=" : "?hash=") + hashlink;
|
||||||
|
};
|
||||||
|
|
||||||
|
export default async function ApiProxy(req, res) {
|
||||||
|
var appealTypeName = req.query.appealTypeName;
|
||||||
|
var primaryIdAttribute = req.query.primaryIdAttribute;
|
||||||
|
var incidentID = req.query.incidentID;
|
||||||
|
var token = await getToken();
|
||||||
|
|
||||||
|
var queryUrl =
|
||||||
|
appealTypeName +
|
||||||
|
"?$filter=_" +
|
||||||
|
primaryIdAttribute +
|
||||||
|
"s_value eq " +
|
||||||
|
incidentID +
|
||||||
|
"&$count=true";
|
||||||
|
|
||||||
|
queryUrl = queryUrl; //+ getSelectQuery(appealTypeName);
|
||||||
|
|
||||||
|
//console.log("query: ", queryUrl, "<<<<end query");
|
||||||
|
|
||||||
|
return axios
|
||||||
|
.get(
|
||||||
|
WEBAPI_URL + queryUrl + hashAPIPath(queryUrl),
|
||||||
|
azureHeadersNoOdata(token.access_token)
|
||||||
|
)
|
||||||
|
.then(({ data }) => {
|
||||||
|
res.status(200).json(data);
|
||||||
|
})
|
||||||
|
.catch(({ err }) => {
|
||||||
|
res.status(400).json(err);
|
||||||
|
});
|
||||||
|
}
|
||||||
@@ -32,7 +32,7 @@ export default async function ApiProxy(req, res) {
|
|||||||
searchString +
|
searchString +
|
||||||
"')) and pinswg_appealcasetype ne null and pinswg_publishtoweb eq true&$orderby=createdon desc&$count=true";
|
"')) and pinswg_appealcasetype ne null and pinswg_publishtoweb eq true&$orderby=createdon desc&$count=true";
|
||||||
|
|
||||||
// console.log("basic search ", queryUrl);
|
console.log("basic search ", queryUrl);
|
||||||
|
|
||||||
var apiResponse = _.isEmpty(req.query)
|
var apiResponse = _.isEmpty(req.query)
|
||||||
? res.status(400).json()
|
? res.status(400).json()
|
||||||
|
|||||||
@@ -0,0 +1,63 @@
|
|||||||
|
import axios from "axios";
|
||||||
|
import CryptoJS from "crypto-js";
|
||||||
|
import _ from "lodash";
|
||||||
|
import { getToken, azureHeadersPaged } from "../../../actions";
|
||||||
|
|
||||||
|
const WORDKEY = process.env.HASHKEY;
|
||||||
|
|
||||||
|
const WEBAPI_URL =
|
||||||
|
process.env.RELAY_ROOT ||
|
||||||
|
"https://dev-pedw-ns.servicebus.windows.net/dev-pedw-hc/";
|
||||||
|
|
||||||
|
const hashAPIPath = (queryPath) => {
|
||||||
|
var hashlink = CryptoJS.HmacSHA256(
|
||||||
|
queryPath,
|
||||||
|
CryptoJS.enc.Hex.parse(WORDKEY)
|
||||||
|
);
|
||||||
|
hashlink = hashlink.toString(CryptoJS.enc.Hex);
|
||||||
|
|
||||||
|
//return "&hash=" + hashlink;
|
||||||
|
|
||||||
|
return (queryPath.indexOf("?") > -1 ? "&hash=" : "?hash=") + hashlink;
|
||||||
|
};
|
||||||
|
|
||||||
|
export default async function ApiProxy(req, res) {
|
||||||
|
var searchString = req.query.searchString;
|
||||||
|
var token = await getToken();
|
||||||
|
|
||||||
|
var queryUrl =
|
||||||
|
"incidents?$select=description,numberofchildincidents,_accountid_value,_customerid_value,_pinswg_associatedlpa_value,_ownerid_value,pinswg_appealcasetype,statuscode,ticketnumber,title, _primarycontactid_value&$expand=primarycontactid($select=fullname)&$filter=(contains(title, '" +
|
||||||
|
searchString +
|
||||||
|
"') or contains(ticketnumber, '" +
|
||||||
|
searchString +
|
||||||
|
"')) and pinswg_appealcasetype ne null&$orderby=createdon desc&$count=true";
|
||||||
|
|
||||||
|
console.log("basic search ", queryUrl);
|
||||||
|
|
||||||
|
var apiResponse = _.isEmpty(req.query)
|
||||||
|
? res.status(400).json()
|
||||||
|
: searchString.length > 0
|
||||||
|
? axios
|
||||||
|
.get(
|
||||||
|
WEBAPI_URL + queryUrl + hashAPIPath(queryUrl),
|
||||||
|
azureHeadersPaged(token.access_token)
|
||||||
|
)
|
||||||
|
.then(({ data }) => {
|
||||||
|
var dataStr;
|
||||||
|
// dataStr = dataStr.replace(/: true/gm, `: "Yes"`);
|
||||||
|
// dataStr = dataStr.replace(/: false/gm, `: "No"`);
|
||||||
|
|
||||||
|
// console.log("replaced strinig:", dataStr);
|
||||||
|
|
||||||
|
_.has(data, "@odata.nextLink") == true &&
|
||||||
|
((dataStr = JSON.stringify(data["@odata.nextLink"])),
|
||||||
|
(data["@odata.nextLink"] = dataStr.split("/v8.2/")[1]));
|
||||||
|
res.status(200).json(data);
|
||||||
|
})
|
||||||
|
.catch(({ err }) => {
|
||||||
|
res.status(400).json(err);
|
||||||
|
})
|
||||||
|
: res.status(400).json();
|
||||||
|
|
||||||
|
return apiResponse;
|
||||||
|
}
|
||||||
@@ -20,9 +20,11 @@ const hashAPIPath = (queryPath) => {
|
|||||||
|
|
||||||
export default async function ApiProxy(req, res) {
|
export default async function ApiProxy(req, res) {
|
||||||
var appealType = req.query.appealType;
|
var appealType = req.query.appealType;
|
||||||
var caseReference = req.query.caseReference;
|
var caseReference = req.query.caseReference.split("'").join("''");
|
||||||
var token = await getToken();
|
var token = await getToken();
|
||||||
|
|
||||||
|
//console.log("the case:", caseReference);
|
||||||
|
|
||||||
var queryUrl =
|
var queryUrl =
|
||||||
appealType +
|
appealType +
|
||||||
"?$filter=pinswg_name eq '" +
|
"?$filter=pinswg_name eq '" +
|
||||||
@@ -31,6 +33,8 @@ export default async function ApiProxy(req, res) {
|
|||||||
|
|
||||||
queryUrl = queryUrl + getSelectQuery(appealType);
|
queryUrl = queryUrl + getSelectQuery(appealType);
|
||||||
|
|
||||||
|
//console.log("test:", queryUrl);
|
||||||
|
|
||||||
return axios
|
return axios
|
||||||
.get(
|
.get(
|
||||||
WEBAPI_URL + queryUrl + hashAPIPath(queryUrl),
|
WEBAPI_URL + queryUrl + hashAPIPath(queryUrl),
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import {
|
|||||||
getAppealsTypes,
|
getAppealsTypes,
|
||||||
getMandatoryFields,
|
getMandatoryFields,
|
||||||
getPickLists,
|
getPickLists,
|
||||||
|
getPartSavedAppeal,
|
||||||
} from "../../actions";
|
} from "../../actions";
|
||||||
import { getProviderConfig } from "../../actions/govgateway";
|
import { getProviderConfig } from "../../actions/govgateway";
|
||||||
import Breadcrumbs from "../../components/breadcrumbs";
|
import Breadcrumbs from "../../components/breadcrumbs";
|
||||||
@@ -32,6 +33,7 @@ import {
|
|||||||
import { setForm } from "../../store/formData/action";
|
import { setForm } from "../../store/formData/action";
|
||||||
import { getGovGatewayConfig } from "../../store/govgateway/action";
|
import { getGovGatewayConfig } from "../../store/govgateway/action";
|
||||||
import { wrapper } from "../../store/store";
|
import { wrapper } from "../../store/store";
|
||||||
|
import { getPartSavedDetails } from "../../components/utils";
|
||||||
|
|
||||||
let Home = (props) => {
|
let Home = (props) => {
|
||||||
const { footerLinks, pages, formData } = props;
|
const { footerLinks, pages, formData } = props;
|
||||||
@@ -218,10 +220,23 @@ export const getServerSideProps = wrapper.getServerSideProps(
|
|||||||
await getPickLists(query.appealtypes),
|
await getPickLists(query.appealtypes),
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
let searchResultsObj = await getPartSavedAppeal(query.casereference);
|
||||||
|
//console.log("eeee:", searchResultsObj);
|
||||||
|
let searchDetailsObj = await getPartSavedDetails(searchResultsObj);
|
||||||
|
console.log("appeal:", searchDetailsObj[0].value[0]);
|
||||||
|
|
||||||
|
searchDetailsObj = searchDetailsObj[0].value[0];
|
||||||
|
|
||||||
|
searchDetailsObj = JSON.stringify(searchDetailsObj);
|
||||||
|
searchDetailsObj = searchDetailsObj.replace(/:true/gm, `:"Yes"`);
|
||||||
|
searchDetailsObj = searchDetailsObj.replace(/:false/gm, `:"No"`);
|
||||||
|
searchDetailsObj = JSON.parse(searchDetailsObj);
|
||||||
|
|
||||||
let caseReference = {};
|
let caseReference = {};
|
||||||
|
|
||||||
caseReference.ticketnumber = query.casereference;
|
caseReference.ticketnumber = query.casereference;
|
||||||
caseReference.incidentid = query.inid;
|
caseReference.incidentid = query.inid;
|
||||||
|
caseReference.caseDetails = searchDetailsObj;
|
||||||
|
|
||||||
var path = require("path");
|
var path = require("path");
|
||||||
const configDirectory = path.resolve(process.cwd(), "data/formsxml");
|
const configDirectory = path.resolve(process.cwd(), "data/formsxml");
|
||||||
@@ -255,6 +270,8 @@ const mapStateToProps = (state) => {
|
|||||||
form: state.form,
|
form: state.form,
|
||||||
accountDetails: state.accountDetails,
|
accountDetails: state.accountDetails,
|
||||||
govGateway: state.govGateway,
|
govGateway: state.govGateway,
|
||||||
|
awaitingSubmission: state.awaitingSubmission,
|
||||||
|
currentView: state.currentView,
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -683,11 +683,28 @@ textarea,
|
|||||||
word-wrap: normal;
|
word-wrap: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// .at-nav-container{
|
||||||
|
// @media screen and (min-width: 480px) {
|
||||||
|
// position: fixed;
|
||||||
|
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
.at-nav {
|
.at-nav {
|
||||||
border-top: 5px solid #1d70b8;
|
border-top: 5px solid #1d70b8;
|
||||||
padding-top: 25px;
|
padding-top: 25px;
|
||||||
|
.progress-heading{
|
||||||
|
display:flex;
|
||||||
|
}
|
||||||
|
.progress-case-reference{
|
||||||
|
margin-left:10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.at-nav ul.govuk-list.js-hidden {
|
.at-nav ul.govuk-list.js-hidden {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
@@ -841,6 +858,19 @@ textarea,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.progress-save{
|
||||||
|
padding: 10px 15px !important;
|
||||||
|
font-size: 16px;
|
||||||
|
float: right;
|
||||||
|
border-color: $midgrey !important;
|
||||||
|
color: $midgrey !important;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
background-color: $midgrey !important;
|
||||||
|
color: $white !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.results .govuk-summary-list__row {
|
.results .govuk-summary-list__row {
|
||||||
@media screen and (max-width: 900px) {
|
@media screen and (max-width: 900px) {
|
||||||
padding: 20px 10px;
|
padding: 20px 10px;
|
||||||
|
|||||||
Reference in New Issue
Block a user