@@ -1686,6 +1686,24 @@ export const getFilesFromBlob = (containerName, casefolderID) => {
|
||||
});
|
||||
};
|
||||
|
||||
export const getFilesFromBlobproxy = (containerName, casefolderID) => {
|
||||
return axios
|
||||
.get(
|
||||
BASE_URL +
|
||||
"/api/file/getbloblistproxy?container=" +
|
||||
containerName +
|
||||
"&casefolderID=" +
|
||||
casefolderID
|
||||
)
|
||||
.then((res) => {
|
||||
//console.log("//////////----", res.data);
|
||||
return res.data;
|
||||
})
|
||||
.catch((error) => {
|
||||
consoleLogger(error);
|
||||
});
|
||||
};
|
||||
|
||||
export const getFilesFromBlobHashed = (
|
||||
containerName,
|
||||
getblobshash,
|
||||
|
||||
+164
-99
@@ -14,6 +14,7 @@ import {
|
||||
deleteBlob,
|
||||
getFilesFromBlobHashed,
|
||||
uploadSingleFile,
|
||||
getFilesFromBlobproxy,
|
||||
} from "../../actions";
|
||||
import fieldLookup from "../../data/crmfieldlookuptranslations.json";
|
||||
import pickListLookup from "../../data/picklistLookups.json";
|
||||
@@ -656,17 +657,20 @@ const RenderDatePicker = ({
|
||||
</div>
|
||||
)}
|
||||
</legend>
|
||||
{touched && error && (
|
||||
<span
|
||||
id={id + "-error"}
|
||||
className="govuk-error-message"
|
||||
>
|
||||
<span className="govuk-visually-hidden">
|
||||
Error:
|
||||
</span>{" "}
|
||||
{errorMsg}
|
||||
</span>
|
||||
)}
|
||||
{!custom.hasOwnProperty("showErrorBottom")
|
||||
? touched &&
|
||||
error && (
|
||||
<span
|
||||
id={id + "-error"}
|
||||
className="govuk-error-message"
|
||||
>
|
||||
<span className="govuk-visually-hidden">
|
||||
Error:
|
||||
</span>{" "}
|
||||
{errorMsg}
|
||||
</span>
|
||||
)
|
||||
: ""}
|
||||
|
||||
{/* {value}
|
||||
<br />
|
||||
@@ -693,6 +697,20 @@ const RenderDatePicker = ({
|
||||
autoComplete="off"
|
||||
//value={!value ? null : moment(value, "DD/MM/yyyy")}
|
||||
/>
|
||||
{custom.hasOwnProperty("showErrorBottom")
|
||||
? touched &&
|
||||
error && (
|
||||
<span
|
||||
id={id + "-error"}
|
||||
className="govuk-error-message"
|
||||
>
|
||||
<span className="govuk-visually-hidden">
|
||||
Error:
|
||||
</span>{" "}
|
||||
{error}
|
||||
</span>
|
||||
)
|
||||
: ""}
|
||||
</fieldset>
|
||||
</div>
|
||||
</>
|
||||
@@ -1748,6 +1766,7 @@ export function FileUploadField(props) {
|
||||
containerID={props.containerID}
|
||||
uploadCount={props.uploadCount}
|
||||
setFileCount={props.setFileCount}
|
||||
props={props.props}
|
||||
/>
|
||||
</>
|
||||
);
|
||||
@@ -2023,7 +2042,53 @@ const RenderFileUpload = (field) => {
|
||||
field.ticketnumber
|
||||
).then((data) => {
|
||||
console.log(data);
|
||||
setCompletedUploadFiles(true);
|
||||
let buildAppealFilesArray = [];
|
||||
let values = field.form.appealForm.values;
|
||||
let filesUploadObj = renamedAcceptedFiles;
|
||||
|
||||
for (let key in filesUploadObj) {
|
||||
typeof filesUploadObj[key].name != "undefined" &&
|
||||
buildAppealFilesArray.push({
|
||||
"name": filesUploadObj[key].name,
|
||||
"size": filesUploadObj[key].size,
|
||||
});
|
||||
}
|
||||
|
||||
//console.log(buildAppealFilesArray);
|
||||
function removeDuplicates(arr, key) {
|
||||
const seen = new Set();
|
||||
return arr.filter((item) => {
|
||||
const value = item[key];
|
||||
if (seen.has(value)) {
|
||||
return false; // Duplicate found
|
||||
} else {
|
||||
seen.add(value); // Add value to the set
|
||||
return true; // Keep the item
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
buildAppealFilesArray = values.hasOwnProperty(
|
||||
"filesList"
|
||||
)
|
||||
? buildAppealFilesArray.concat(values.filesList)
|
||||
: buildAppealFilesArray;
|
||||
|
||||
buildAppealFilesArray = removeDuplicates(
|
||||
buildAppealFilesArray,
|
||||
"name"
|
||||
);
|
||||
|
||||
Object.assign(values, {
|
||||
"filesList": buildAppealFilesArray,
|
||||
});
|
||||
getFilesFromBlobproxy(
|
||||
field.containerID,
|
||||
field.ticketnumber
|
||||
).then((data) => {
|
||||
field.setFilesForAppeal(data);
|
||||
setCompletedUploadFiles(true);
|
||||
});
|
||||
});
|
||||
}}
|
||||
onDropRejected={handleDropRejected}
|
||||
@@ -2057,7 +2122,7 @@ const RenderFileUpload = (field) => {
|
||||
)}
|
||||
{completedUploadFiles > 0 && (
|
||||
<div className="govuk-body govuk-!-font-size-14">
|
||||
{uploadCountMessage} files completed{" "}
|
||||
{uploadCountMessage} files uploaded{" "}
|
||||
</div>
|
||||
)}
|
||||
</section>
|
||||
@@ -2076,54 +2141,52 @@ const RenderFileUpload = (field) => {
|
||||
{field.meta.touched && field.meta.error && (
|
||||
<span className="error">{field.meta.error}</span>
|
||||
)}
|
||||
{filesList.length > 0 &&
|
||||
(completedUploadFiles ? (
|
||||
"Done"
|
||||
) : (
|
||||
<p className="govuk-body textloading">Uploading</p>
|
||||
))}
|
||||
{files && Array.isArray(files) && (
|
||||
<>
|
||||
{/* {(files = removeEmptyObjects(files))} */}
|
||||
<br />
|
||||
{files.map(
|
||||
(file, i) =>
|
||||
typeof file.name != "undefined" && (
|
||||
<div
|
||||
key={file.name}
|
||||
className="govuk-!-margin-bottom-5 fileThumb"
|
||||
>
|
||||
{" "}
|
||||
{}
|
||||
<span
|
||||
className="govuk-summary-list__actionLink watched_link govuk-!-margin-right-5 govuk-!-text-align-left"
|
||||
onClick={() => removeFile(file)}
|
||||
|
||||
{!completedUploadFiles &&
|
||||
files.map(
|
||||
(file, i) =>
|
||||
typeof file.name != "undefined" && (
|
||||
<div
|
||||
key={file.name}
|
||||
className="govuk-!-margin-bottom-5 fileThumb"
|
||||
>
|
||||
−
|
||||
</span>
|
||||
<img
|
||||
src={getThumbnailIcon(file, file.type)}
|
||||
alt={file.name}
|
||||
width="50"
|
||||
/>
|
||||
<span className="govuk-body govuk-!-font-size-14 govuk-!-padding-left-5">
|
||||
{file.name} ({bytesToSize(file.size)}){" "}
|
||||
<br />
|
||||
<div id={file.name + "_" + i}>
|
||||
{completedUploadFiles ? (
|
||||
<p className="govuk-body govuk-!-font-size-14">
|
||||
Upload complete
|
||||
</p>
|
||||
) : (
|
||||
<p className="govuk-body textloading govuk-!-font-size-14">
|
||||
Uploading...
|
||||
</p>
|
||||
{" "}
|
||||
{}
|
||||
<span
|
||||
className="govuk-summary-list__actionLink watched_link govuk-!-margin-right-5 govuk-!-text-align-left"
|
||||
onClick={() => removeFile(file)}
|
||||
>
|
||||
−
|
||||
</span>
|
||||
<img
|
||||
src={getThumbnailIcon(
|
||||
file,
|
||||
file.type
|
||||
)}
|
||||
</div>
|
||||
</span>
|
||||
</div>
|
||||
)
|
||||
)}
|
||||
alt={file.name}
|
||||
width="50"
|
||||
/>
|
||||
<span className="govuk-body govuk-!-font-size-14 govuk-!-padding-left-5">
|
||||
{file.name} (
|
||||
{bytesToSize(file.size)}) <br />
|
||||
<div id={file.name + "_" + i}>
|
||||
{completedUploadFiles ? (
|
||||
<p className="govuk-body govuk-!-font-size-14">
|
||||
Upload complete
|
||||
</p>
|
||||
) : (
|
||||
<p className="govuk-body textloading govuk-!-font-size-14">
|
||||
Uploading...
|
||||
</p>
|
||||
)}
|
||||
</div>
|
||||
</span>
|
||||
</div>
|
||||
)
|
||||
)}
|
||||
</>
|
||||
)}
|
||||
{blobList.length > 0 && (
|
||||
@@ -2214,54 +2277,56 @@ const RenderSubFields = ({ fields, meta: { touched, error }, ...custom }) => {
|
||||
|
||||
return errors;
|
||||
};
|
||||
const required = (value) =>
|
||||
value ? undefined : t("newappeal:is-required-label");
|
||||
|
||||
return (
|
||||
<ul>
|
||||
<div>
|
||||
{fields.map((member, index) => (
|
||||
<div key={index}>
|
||||
<h4>
|
||||
{subTitle == "owners" ? "Owner" : "Tenant"} #
|
||||
{index + 1}
|
||||
</h4>
|
||||
<ul className="subFieldList">
|
||||
{fields.map((member, index) => (
|
||||
<div key={index}>
|
||||
<h4>
|
||||
{subTitle == "owners" ? "Owner" : "Tenant"} #{index + 1}
|
||||
</h4>
|
||||
|
||||
<div className="fieldArrayContainer">
|
||||
<Field
|
||||
id={`${member}.${fields.name}`}
|
||||
name={`${member}.${fields.name}`}
|
||||
type="text"
|
||||
component={RenderTextfield}
|
||||
validate={[checkValue]}
|
||||
label={
|
||||
subTitle == "owners"
|
||||
? "Owner name"
|
||||
: "Tenant name"
|
||||
}
|
||||
className="govuk-input govuk-input--width-10"
|
||||
showErrorBottom={true}
|
||||
/>
|
||||
<Field
|
||||
name={`${member}.dateserved`}
|
||||
type="text"
|
||||
component={RenderDatePicker}
|
||||
label="Date served "
|
||||
dateStart={"-6m"}
|
||||
dateEnd={"0"}
|
||||
className="govuk-input govuk-input--width-10"
|
||||
/>
|
||||
<div className="fieldArrayContainer">
|
||||
<Field
|
||||
id={`${member}.${fields.name}`}
|
||||
name={`${member}.${fields.name}`}
|
||||
type="text"
|
||||
component={RenderTextfield}
|
||||
validate={[checkValue]}
|
||||
label={
|
||||
subTitle == "owners"
|
||||
? "Owner name"
|
||||
: "Tenant name"
|
||||
}
|
||||
className="govuk-input govuk-input--width-10"
|
||||
showErrorBottom={true}
|
||||
/>
|
||||
<Field
|
||||
name={`${member}.dateserved`}
|
||||
type="text"
|
||||
component={RenderDatePicker}
|
||||
label="Date served "
|
||||
dateStart={"-6m"}
|
||||
dateEnd={"0"}
|
||||
validate={[required]}
|
||||
className="govuk-input govuk-input--width-10"
|
||||
showErrorBottom={true}
|
||||
/>
|
||||
|
||||
<button
|
||||
type="button"
|
||||
title="Remove"
|
||||
onClick={() => fields.remove(index)}
|
||||
className="govuk-button fieldArrayDelete"
|
||||
>
|
||||
X
|
||||
</button>
|
||||
</div>
|
||||
<button
|
||||
type="button"
|
||||
title="Remove"
|
||||
onClick={() => fields.remove(index)}
|
||||
className="govuk-button fieldArrayDelete"
|
||||
>
|
||||
X
|
||||
</button>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
))}
|
||||
|
||||
<br />
|
||||
{fields.length < custom.maxSubField && (
|
||||
<button
|
||||
|
||||
@@ -127,116 +127,116 @@ let BuildCheckRow = (props) => {
|
||||
// ]
|
||||
// );
|
||||
|
||||
if (
|
||||
typeof props.props.form["appealForm"].values[
|
||||
datafieldname[0].value
|
||||
] != "undefined"
|
||||
) {
|
||||
return (
|
||||
<div className="govuk-summary-list__row" key={key}>
|
||||
<dt className="govuk-summary-list__key">
|
||||
{FieldsTranslations(rows[0].value)}
|
||||
</dt>
|
||||
// if (
|
||||
// typeof props.props.form["appealForm"].values[
|
||||
// datafieldname[0].value
|
||||
// ] != "undefined"
|
||||
// ) {
|
||||
return (
|
||||
<div className="govuk-summary-list__row" key={key}>
|
||||
<dt className="govuk-summary-list__key">
|
||||
{FieldsTranslations(rows[0].value)}
|
||||
</dt>
|
||||
|
||||
<dd className="govuk-summary-list__value">
|
||||
{fieldtype[0].value ==
|
||||
"{E0DECE4B-6666-4a8f-A065-082708572369}" ? (
|
||||
<div
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: props.props.form[
|
||||
"appealForm"
|
||||
].values[
|
||||
datafieldname[0].value
|
||||
],
|
||||
}}
|
||||
/>
|
||||
) : fieldtype[0].value ==
|
||||
"{5B773807-9FB2-42db-97C3-7A91EFF8ADFF}" ? (
|
||||
formatDate(
|
||||
props.props.form["appealForm"]
|
||||
.values[datafieldname[0].value]
|
||||
)
|
||||
) : fieldtype[0].value ==
|
||||
"{3EF39988-22BB-4f0b-BBBE-64B5A3748AEE}" ? (
|
||||
getPickListLabel(
|
||||
props.props.formData.pickListData,
|
||||
datafieldname[0].value,
|
||||
props.props.form["appealForm"]
|
||||
.values[datafieldname[0].value]
|
||||
)
|
||||
) : fieldtype[0].value ==
|
||||
"{07FAC785-CD58-4f9f-ABB3-4B7DDC6ED5ED}" ? (
|
||||
getRadioLabel(
|
||||
props.props.formData.pickListData,
|
||||
datafieldname[0].value,
|
||||
props.props.form["appealForm"]
|
||||
.values[datafieldname[0].value]
|
||||
)
|
||||
) : fieldtype[0].value ==
|
||||
"{67FAC785-CD58-4f9f-ABB3-4B7DDC6ED5ED}" ? (
|
||||
<dd className="govuk-summary-list__value">
|
||||
{fieldtype[0].value ==
|
||||
"{E0DECE4B-6666-4a8f-A065-082708572369}" ? (
|
||||
<div
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: props.props.form[
|
||||
"appealForm"
|
||||
].values[datafieldname[0].value],
|
||||
}}
|
||||
/>
|
||||
) : fieldtype[0].value ==
|
||||
"{5B773807-9FB2-42db-97C3-7A91EFF8ADFF}" ? (
|
||||
formatDate(
|
||||
props.props.form["appealForm"].values[
|
||||
datafieldname[0].value
|
||||
] == "false" ? (
|
||||
router.locale == "cy" ? (
|
||||
"Nac ydw"
|
||||
) : (
|
||||
"No"
|
||||
)
|
||||
) : router.locale == "cy" ? (
|
||||
"Oes"
|
||||
]
|
||||
)
|
||||
) : fieldtype[0].value ==
|
||||
"{3EF39988-22BB-4f0b-BBBE-64B5A3748AEE}" ? (
|
||||
getPickListLabel(
|
||||
props.props.formData.pickListData,
|
||||
datafieldname[0].value,
|
||||
props.props.form["appealForm"].values[
|
||||
datafieldname[0].value
|
||||
]
|
||||
)
|
||||
) : fieldtype[0].value ==
|
||||
"{07FAC785-CD58-4f9f-ABB3-4B7DDC6ED5ED}" ? (
|
||||
getRadioLabel(
|
||||
props.props.formData.pickListData,
|
||||
datafieldname[0].value,
|
||||
props.props.form["appealForm"].values[
|
||||
datafieldname[0].value
|
||||
]
|
||||
)
|
||||
) : fieldtype[0].value ==
|
||||
"{67FAC785-CD58-4f9f-ABB3-4B7DDC6ED5ED}" ? (
|
||||
props.props.form["appealForm"].values[
|
||||
datafieldname[0].value
|
||||
] == "false" ? (
|
||||
router.locale == "cy" ? (
|
||||
"Nac ydw"
|
||||
) : (
|
||||
"Yes"
|
||||
"No"
|
||||
)
|
||||
) : fieldtype[0].value ==
|
||||
"{16D63FD6-119B-4353-BDCA-18358721C3FE}" ? (
|
||||
<>
|
||||
{props.filesArray.map((blob, i) => (
|
||||
<div key={i}>
|
||||
{getDocumentTypeFromFilename(
|
||||
blob.name
|
||||
) ===
|
||||
documentTypeCode[0]
|
||||
.value && (
|
||||
<div
|
||||
) : router.locale == "cy" ? (
|
||||
"Oes"
|
||||
) : (
|
||||
"Yes"
|
||||
)
|
||||
) : fieldtype[0].value ==
|
||||
"{16D63FD6-119B-4353-BDCA-18358721C3FE}" ? (
|
||||
<>
|
||||
{props.filesArray.map((blob, i) => (
|
||||
<div key={i}>
|
||||
{getDocumentTypeFromFilename(
|
||||
blob.name
|
||||
) ===
|
||||
documentTypeCode[0]
|
||||
.value && (
|
||||
<div
|
||||
style={{
|
||||
display: "flex",
|
||||
alignItems:
|
||||
"flex-start",
|
||||
}}
|
||||
className="govuk-!-margin-bottom-2"
|
||||
>
|
||||
<img
|
||||
style={{
|
||||
display: "flex",
|
||||
alignItems:
|
||||
"flex-start",
|
||||
minWidth: "50",
|
||||
width: "50",
|
||||
}}
|
||||
className="govuk-!-margin-bottom-2"
|
||||
src={getThumbnailIconByExtension(
|
||||
blob.name
|
||||
)}
|
||||
alt={blob.name}
|
||||
width="50"
|
||||
/>
|
||||
<span
|
||||
style={{
|
||||
maxWidth: "85%",
|
||||
}}
|
||||
className="govuk-body govuk-!-font-size-14 govuk-!-margin-left-2"
|
||||
>
|
||||
<img
|
||||
style={{
|
||||
minWidth:
|
||||
"50",
|
||||
width: "50",
|
||||
}}
|
||||
src={getThumbnailIconByExtension(
|
||||
blob.name
|
||||
)}
|
||||
alt={blob.name}
|
||||
width="50"
|
||||
/>
|
||||
<span
|
||||
style={{
|
||||
maxWidth:
|
||||
"85%",
|
||||
}}
|
||||
className="govuk-body govuk-!-font-size-14 govuk-!-margin-left-2"
|
||||
>
|
||||
{blob.name} -{" "}
|
||||
{bytesToSize(
|
||||
blob.size
|
||||
)}{" "}
|
||||
</span>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
))}
|
||||
|
||||
<br />
|
||||
|
||||
{props.props.form[
|
||||
{blob.name} -{" "}
|
||||
{bytesToSize(
|
||||
blob.size
|
||||
)}{" "}
|
||||
</span>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
))}
|
||||
<br />
|
||||
{typeof props.props.form["appealForm"]
|
||||
.values[datafieldname[0].value] !=
|
||||
"undefined" &&
|
||||
props.props.form[
|
||||
"appealForm"
|
||||
].values[
|
||||
datafieldname[0].value
|
||||
@@ -294,62 +294,63 @@ let BuildCheckRow = (props) => {
|
||||
</div>
|
||||
)
|
||||
)}
|
||||
</>
|
||||
) : fieldtype[0].value ==
|
||||
"{0273EDBD-AC1D-40d3-9FB2-095C621B552D}" ? (
|
||||
props.props.form["appealForm"].values[
|
||||
datafieldname[0].value
|
||||
].map((tenant, index) => {
|
||||
return (
|
||||
<div
|
||||
key={index}
|
||||
style={{
|
||||
display: "flex",
|
||||
}}
|
||||
>
|
||||
<div className="govuk-!-width-one-half">
|
||||
{tenant.pinswg_agriculturaltenantname ||
|
||||
tenant.pinswg_owners}
|
||||
</div>
|
||||
<div className="govuk-!-width-one-half">
|
||||
Served:{" "}
|
||||
{formatDate(
|
||||
tenant.dateserved
|
||||
)}
|
||||
</div>
|
||||
</>
|
||||
) : fieldtype[0].value ==
|
||||
"{0273EDBD-AC1D-40d3-9FB2-095C621B552D}" ? (
|
||||
typeof props.props.form["appealForm"]
|
||||
.values[datafieldname[0].value] !=
|
||||
"undefined" &&
|
||||
props.props.form["appealForm"].values[
|
||||
datafieldname[0].value
|
||||
].map((tenant, index) => {
|
||||
return (
|
||||
<div
|
||||
key={index}
|
||||
style={{
|
||||
display: "flex",
|
||||
}}
|
||||
>
|
||||
<div className="govuk-!-width-one-half">
|
||||
{tenant.pinswg_agriculturaltenantname ||
|
||||
tenant.pinswg_owners}
|
||||
</div>
|
||||
);
|
||||
})
|
||||
) : (
|
||||
props.props.form["appealForm"].values[
|
||||
datafieldname[0].value
|
||||
]
|
||||
)}
|
||||
</dd>
|
||||
<div className="govuk-!-width-one-half">
|
||||
Served:{" "}
|
||||
{formatDate(
|
||||
tenant.dateserved
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
})
|
||||
) : (
|
||||
props.props.form["appealForm"].values[
|
||||
datafieldname[0].value
|
||||
]
|
||||
)}
|
||||
</dd>
|
||||
|
||||
<dd className="govuk-summary-list__actions">
|
||||
{rows[0].value != "Temporary reference" && (
|
||||
<a
|
||||
className="govuk-link"
|
||||
href="#"
|
||||
onClick={() => {
|
||||
setCurrentSection(whichSection);
|
||||
}}
|
||||
>
|
||||
<dd className="govuk-summary-list__actions">
|
||||
{rows[0].value != "Temporary reference" && (
|
||||
<a
|
||||
className="govuk-link"
|
||||
href="#"
|
||||
onClick={() => {
|
||||
setCurrentSection(whichSection);
|
||||
}}
|
||||
>
|
||||
{" "}
|
||||
{t("newappeal:change-link-label")}
|
||||
<span className="govuk-visually-hidden">
|
||||
{" "}
|
||||
{t("newappeal:change-link-label")}
|
||||
<span className="govuk-visually-hidden">
|
||||
{" "}
|
||||
{FieldsTranslations(
|
||||
rows[0].value
|
||||
)}
|
||||
</span>
|
||||
</a>
|
||||
)}
|
||||
</dd>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
{FieldsTranslations(rows[0].value)}
|
||||
</span>
|
||||
</a>
|
||||
)}
|
||||
</dd>
|
||||
</div>
|
||||
);
|
||||
// }
|
||||
}
|
||||
})}
|
||||
</>
|
||||
|
||||
@@ -315,9 +315,7 @@ let BuildCheckSection = (props) => {
|
||||
<a
|
||||
className="govuk-link"
|
||||
href="#"
|
||||
onClick={() =>
|
||||
setCurrentSection(sectionCount - 1)
|
||||
}
|
||||
onClick={() => setCurrentSection(sectionCount)}
|
||||
>
|
||||
{t("common:back-link")}
|
||||
</a>
|
||||
|
||||
@@ -217,6 +217,7 @@ export default function BuildField(props) {
|
||||
uploadCount={props.uploadCount}
|
||||
setFileCount={props.props.setFileCount}
|
||||
setUploadCount={props.setUploadCount}
|
||||
props={props.props.props.props}
|
||||
/>
|
||||
</div>
|
||||
);
|
||||
|
||||
@@ -173,143 +173,124 @@ let BuildSection = (props) => {
|
||||
|
||||
setSavingStatus(useSaveStatus);
|
||||
|
||||
setShowCompletedUploadFiles(true);
|
||||
//not sure we need this here if it does it on drop of file
|
||||
//uploadAppealFiles(values);
|
||||
|
||||
uploadAppealFiles(values)
|
||||
.then((data) => {
|
||||
// console.log(
|
||||
// "\n////////////////////////\n appeal pdf payload",
|
||||
// values,
|
||||
// props.props.accountDetails.containerID,
|
||||
// props.appealType.caseReference.ticketnumber,
|
||||
// props.appealType,
|
||||
// "\n////////////////////////\n"
|
||||
// );
|
||||
// console.log(
|
||||
// "\n////////////////////////\n appeal pdf payload",
|
||||
// values,
|
||||
// props.props.accountDetails.containerID,
|
||||
// props.appealType.caseReference.ticketnumber,
|
||||
// props.appealType,
|
||||
// "\n////////////////////////\n"
|
||||
// );
|
||||
|
||||
// let pdfObj = values;
|
||||
// let pdfObj = values;
|
||||
|
||||
// Object.assign(pdfObj, {
|
||||
// "containerID": props.props.accountDetails.containerID,
|
||||
// "casefolderID": props.appealType.caseReference.ticketnumber,
|
||||
// });
|
||||
// Object.assign(pdfObj, {
|
||||
// "containerID": props.props.accountDetails.containerID,
|
||||
// "casefolderID": props.appealType.caseReference.ticketnumber,
|
||||
// });
|
||||
|
||||
// generateAppealPDF(
|
||||
// pdfObj,
|
||||
// props.props.accountDetails.containerID,
|
||||
// props.appealType.caseReference.ticketnumber,
|
||||
// router.query.appealtypes,
|
||||
// props.appealType.fileList
|
||||
// ),
|
||||
// generateAppealPDF(
|
||||
// pdfObj,
|
||||
// props.props.accountDetails.containerID,
|
||||
// props.appealType.caseReference.ticketnumber,
|
||||
// router.query.appealtypes,
|
||||
// props.appealType.fileList
|
||||
// ),
|
||||
|
||||
props.setNewAppealProgress(
|
||||
getProgressObj(
|
||||
formXML,
|
||||
titleList,
|
||||
mandatoryFieldsData,
|
||||
props
|
||||
)
|
||||
);
|
||||
props.setNewAppealProgress(
|
||||
getProgressObj(formXML, titleList, mandatoryFieldsData, props)
|
||||
);
|
||||
|
||||
let appTypeCollection = getFormCollectionByID(
|
||||
props.appealType.appealTypeID
|
||||
);
|
||||
let updateBindAppealTypeToIncident =
|
||||
appTypeCollection.NavigationProperty;
|
||||
let appTypeCollection = getFormCollectionByID(
|
||||
props.appealType.appealTypeID
|
||||
);
|
||||
let updateBindAppealTypeToIncident =
|
||||
appTypeCollection.NavigationProperty;
|
||||
|
||||
Object.assign(updateBody, {
|
||||
"pinswg_appealcasetype": props.appealType.appealTypeID,
|
||||
"pinswg_Appellant@odata.bind":
|
||||
"/contacts(" +
|
||||
props.props.accountDetails.loggedinUserId +
|
||||
")",
|
||||
"pinswg_name": props.appealType.caseReference.ticketnumber,
|
||||
[updateBindAppealTypeToIncident + "@odata.bind"]:
|
||||
"/incidents(" + incidentId + ")",
|
||||
});
|
||||
Object.assign(updateBody, {
|
||||
"pinswg_appealcasetype": props.appealType.appealTypeID,
|
||||
"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);
|
||||
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];
|
||||
}
|
||||
});
|
||||
Object.keys(updateBody).forEach((key) => {
|
||||
if (updateBody[key] === null) {
|
||||
delete updateBody[key];
|
||||
}
|
||||
if (key.indexOf("_") == 0) {
|
||||
delete updateBody[key];
|
||||
}
|
||||
});
|
||||
|
||||
//console.log(updateBody);
|
||||
//console.log(updateBody);
|
||||
|
||||
let updateFormCollection =
|
||||
appTypeCollection.LogicalCollectionName;
|
||||
let primaryAttribute = appTypeCollection.PrimaryIdAttribute;
|
||||
let updateFormCollection = appTypeCollection.LogicalCollectionName;
|
||||
let primaryAttribute = appTypeCollection.PrimaryIdAttribute;
|
||||
|
||||
const reference = "PEDW-PARTIAL";
|
||||
const templateId = "021b0a7b-df00-41f1-b94e-c269bee98c75";
|
||||
const templateIdCY = "f3c4a56b-bfb8-4d39-97dd-888df3062b0a";
|
||||
const emailAddress =
|
||||
props.props.accountDetails.loggedinUserEmail;
|
||||
const personalisation = {
|
||||
"caseReference":
|
||||
props.appealType.caseReference.ticketnumber,
|
||||
"emailAddress":
|
||||
props.props.accountDetails.loggedinUserEmail,
|
||||
"returnLink":
|
||||
props.props.url +
|
||||
(router.locale != "en"
|
||||
? "/cy/fymhorth/"
|
||||
: "/myportal/") +
|
||||
appTypeCollection.UrlName +
|
||||
"?lpa=" +
|
||||
props.appealType.appealLPA +
|
||||
"&apt=" +
|
||||
appTypeCollection.appealTypeID +
|
||||
"&casereference=" +
|
||||
props.appealType.caseReference.ticketnumber +
|
||||
"&inid=" +
|
||||
props.appealType.caseReference.incidentid,
|
||||
"linkExpiry": 10 * 60,
|
||||
};
|
||||
const reference = "PEDW-PARTIAL";
|
||||
const templateId = "021b0a7b-df00-41f1-b94e-c269bee98c75";
|
||||
const templateIdCY = "f3c4a56b-bfb8-4d39-97dd-888df3062b0a";
|
||||
const emailAddress = props.props.accountDetails.loggedinUserEmail;
|
||||
const personalisation = {
|
||||
"caseReference": props.appealType.caseReference.ticketnumber,
|
||||
"emailAddress": props.props.accountDetails.loggedinUserEmail,
|
||||
"returnLink":
|
||||
props.props.url +
|
||||
(router.locale != "en" ? "/cy/fymhorth/" : "/myportal/") +
|
||||
appTypeCollection.UrlName +
|
||||
"?lpa=" +
|
||||
props.appealType.appealLPA +
|
||||
"&apt=" +
|
||||
appTypeCollection.appealTypeID +
|
||||
"&casereference=" +
|
||||
props.appealType.caseReference.ticketnumber +
|
||||
"&inid=" +
|
||||
props.appealType.caseReference.incidentid,
|
||||
"linkExpiry": 10 * 60,
|
||||
};
|
||||
|
||||
// console.log(
|
||||
// "/////////////////////////////////",
|
||||
// "returnLink:",
|
||||
// props.props.url +
|
||||
// (router.locale != "en" ? "/cy/fymhorth/" : "/myportal/") +
|
||||
// appTypeCollection.UrlName +
|
||||
// "?lpa=" +
|
||||
// props.appealType.appealLPA +
|
||||
// "&apt=" +
|
||||
// appTypeCollection.appealTypeID +
|
||||
// "&casereference=" +
|
||||
// props.appealType.caseReference.ticketnumber +
|
||||
// "&inid=" +
|
||||
// props.appealType.caseReference.incidentid,
|
||||
// "/////////////////////////////////"
|
||||
// );
|
||||
})
|
||||
.then(() => {
|
||||
sendSavedEmail == true &&
|
||||
sendEmail(
|
||||
router.locale != "en" ? templateIdCY : templateId,
|
||||
emailAddress,
|
||||
personalisation,
|
||||
reference
|
||||
);
|
||||
// console.log(
|
||||
// "/////////////////////////////////",
|
||||
// "returnLink:",
|
||||
// props.props.url +
|
||||
// (router.locale != "en" ? "/cy/fymhorth/" : "/myportal/") +
|
||||
// appTypeCollection.UrlName +
|
||||
// "?lpa=" +
|
||||
// props.appealType.appealLPA +
|
||||
// "&apt=" +
|
||||
// appTypeCollection.appealTypeID +
|
||||
// "&casereference=" +
|
||||
// props.appealType.caseReference.ticketnumber +
|
||||
// "&inid=" +
|
||||
// props.appealType.caseReference.incidentid,
|
||||
// "/////////////////////////////////"
|
||||
// );
|
||||
|
||||
useSaveStatus &&
|
||||
router.replace(
|
||||
router.locale != "en"
|
||||
? "/" + router.locale + "/myportal"
|
||||
: "/myportal"
|
||||
);
|
||||
})
|
||||
.then(() => {
|
||||
setCompletedUploadFiles(true);
|
||||
});
|
||||
sendSavedEmail == true &&
|
||||
sendEmail(
|
||||
router.locale != "en" ? templateIdCY : templateId,
|
||||
emailAddress,
|
||||
personalisation,
|
||||
reference
|
||||
);
|
||||
|
||||
useSaveStatus &&
|
||||
router.replace(
|
||||
router.locale != "en"
|
||||
? "/" + router.locale + "/myportal"
|
||||
: "/myportal"
|
||||
);
|
||||
};
|
||||
|
||||
const onHandleSubmit = (values) => {
|
||||
@@ -617,7 +598,7 @@ let BuildSection = (props) => {
|
||||
"_pinswg_appellant_value"
|
||||
];
|
||||
|
||||
console.log("on save:", valuesObj);
|
||||
//console.log("on save:", valuesObj);
|
||||
updateCaseProgress(
|
||||
valuesObj,
|
||||
true,
|
||||
|
||||
@@ -111,5 +111,5 @@
|
||||
"planning-obligation-(s106/unilateral)": "Rhwymedigaeth gynllunio (S106/Unochrog)",
|
||||
"site-location-plan": "Cynllun Lleoliad Safle",
|
||||
"registration-of-application-letter": "Llythyr Cofrestru Cais",
|
||||
"previously-added-files": "Ffeiliau a ychwanegwyd yn flaenorol"
|
||||
"previously-added-files": "Ffeiliau wedi'u llwytho i fyny"
|
||||
}
|
||||
@@ -111,5 +111,5 @@
|
||||
"planning-obligation-(s106/unilateral)": "Planning obligation (S106/Unilateral)",
|
||||
"site-location-plan": "Site Location Plan",
|
||||
"registration-of-application-letter": "Registration of Application letter",
|
||||
"previously-added-files": "Previously added files"
|
||||
"previously-added-files": "Uploaded files"
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
import {
|
||||
downloadAllProgressFiles,
|
||||
getAllProgressBlobs,
|
||||
} from "../../../actions/azurestorage";
|
||||
import _ from "lodash";
|
||||
import nextConnect from "next-connect";
|
||||
import middleware from "../middleware/middleware";
|
||||
import {
|
||||
getToken,
|
||||
azureHeaders,
|
||||
consoleLogger,
|
||||
hashAPIPath,
|
||||
} from "../../../actions";
|
||||
import axios from "axios";
|
||||
import CryptoJS from "crypto-js";
|
||||
|
||||
const WORDKEY = process.env.HASHKEY;
|
||||
|
||||
const WEBAPI_URL =
|
||||
process.env.RELAY_ROOT ||
|
||||
"https://dev-pedw-ns.servicebus.windows.net/dev-pedw-hc/";
|
||||
|
||||
const BASE_URL = process.env.API_ROOT || `http://localhost:${port}`;
|
||||
|
||||
export default async function ApiProxy(req, res) {
|
||||
var containerName = req.query.container;
|
||||
var casefolderID = req.query.casefolderID;
|
||||
var checkHash = req.query.hash;
|
||||
var token = await getToken();
|
||||
|
||||
var queryUrl =
|
||||
"/api/file/getbloblist?container=" +
|
||||
containerName +
|
||||
"&casefolderID=" +
|
||||
casefolderID;
|
||||
|
||||
return axios
|
||||
.get(
|
||||
BASE_URL + queryUrl + hashAPIPath(queryUrl),
|
||||
azureHeaders(token.access_token)
|
||||
)
|
||||
.then(({ data }) => {
|
||||
res.status(200).json(data);
|
||||
})
|
||||
.catch((error) => {
|
||||
consoleLogger(error);
|
||||
res.status(400).json(error);
|
||||
});
|
||||
}
|
||||
@@ -2483,6 +2483,7 @@ ul#sharePageLinks.active {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// modal timeout
|
||||
|
||||
.modal {
|
||||
@@ -2655,6 +2656,10 @@ fade {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
|
||||
.govuk-summary-list__actionLink.watched_link {
|
||||
width: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -2904,4 +2909,10 @@ fade {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
ul.subFieldList {
|
||||
padding-left: 0;
|
||||
}
|
||||
Reference in New Issue
Block a user