Merged PR 1364: UAT defects 140125

Related work items: #13012
This commit is contained in:
Robert Bond
2025-01-15 11:34:17 +00:00
17 changed files with 268 additions and 307 deletions
+15 -1
View File
@@ -1270,7 +1270,21 @@ export const getAllProgressBlobs = async (containerName) => {
// "\n////////////////////////////" // "\n////////////////////////////"
// ); // );
return blobObj; function removeDuplicates(arr) {
const unique = arr.filter(
(value, index, self) =>
index ===
self.findIndex(
(t) =>
t.name === value.name // Change 'id' to the property you're checking for uniqueness
)
);
return unique;
}
const result = removeDuplicates(blobObj);
return result;
}; };
export const getRepsBlobs = async (containerName) => { export const getRepsBlobs = async (containerName) => {
+86 -201
View File
@@ -865,50 +865,23 @@ let MakeRepresentation = (props) => {
? (Object.assign(values, { ? (Object.assign(values, {
"filesList": props.currentView.fileList, "filesList": props.currentView.fileList,
}), }),
// commented out as dont need to create pdf on save
// generateRepPDF(
// values,
// props.props.accountDetails.containerID,
// currentView.caseReference.currentReference
// ),
uploadRepresentationFiles(values), uploadRepresentationFiles(values),
router.replace( router.replace(
router.locale != "en" router.locale != "en"
? router.locale + "/myportal" ? router.locale + "/myportal"
: "/myportal" : "/myportal"
)) ))
: //values.hasOwnProperty("representationDocuments") && : Object.assign(values, {
// sortFileObj() "filesList": props.currentView.fileList,
// (values.representationDocuments.map((Blob) => }),
// buildFileArray.push({ console.log("Rep Updated - props.caseReference"),
// "name": Blob.name, uploadRepresentationFiles(values);
// "size": Blob.size,
// })
// ),
// Object.assign(values, {
// "filesList": buildFileArray,
// })),
console.log("updated");
uploadRepresentationFiles(values);
// generateRepPDF(
// values,
// props.props.accountDetails.containerID,
// currentView.caseReference.currentReference
// );
}; };
const onHandleSubmit = (values) => { const onHandleSubmit = (values) => {
window.scrollTo({ top: 0, behavior: "smooth" }); window.scrollTo({ top: 0, behavior: "smooth" });
values = setRepFileName(values); values = setRepFileName(values);
// values.representationType == "Questionnaire" &&
// !values.hasOwnProperty("pinswg_lpareference") &&
// Object.assign(values, {
// "pinswg_lpareference":
// searchResultsObj?.searchResultsObj?.value[0]
// ?.pinswg_lpareference,
// });
//console.log("onHandleSubmit form values - ", JSON.stringify(values)); //console.log("onHandleSubmit form values - ", JSON.stringify(values));
const buildFileArray = []; const buildFileArray = [];
@@ -1074,55 +1047,9 @@ let MakeRepresentation = (props) => {
setRepresentationSubmit(true); setRepresentationSubmit(true);
setRepresentationSubmitConfirmation(true); setRepresentationSubmitConfirmation(true);
} else { } else {
console.log("nit updated"); console.log("not updated");
} }
} }
// currentView.representationSubmit != true
// ? _.isEmpty(currentView.representationCapacity)
// ? isLPA
// ? setRepresentationCapacity("LPA")
// : setRepresentationCapacity(
// values.representationCapacity
// .replace(/(\band|[\s\-\+\(\)\,\&])/g, "")
// .toLowerCase()
// )
// : questionnaireCount != 0 &&
// showQuestionnaireSection < questionnaireCount
// ? (setShowQuestionnaireSection(showQuestionnaireSection + 1),
// updateRepresentation(values, false, false))
// : (updateRepresentation(values, false, false),
// setRepresentationSubmit(true))
// : currentView.representationSubmit == true
// ? (console.log("capacity", currentView.representationCapacity),
// console.log("has errors:", props.invalid),
// Object.assign(values, { "locale": router.locale }),
// props.invalid == false &&
// updateRepresentation(values, false, false),
// // values.hasOwnProperty("representationDocuments") &&
// // (values.representationDocuments.map((Blob) =>
// // buildFileArray.push({
// // "name": Blob.name,
// // "size": Blob.size,
// // })
// // ),
// // Object.assign(values, {
// // "filesList": buildFileArray,
// // })),
// console.log(
// "====================== rep lpa payload:\n",
// JSON.stringify(values)
// ),
// generateRepPDF(
// values,
// props.props.accountDetails.containerID,
// currentView.caseReference.currentReference
// ),
// uploadRepresentationFiles(values),
// setRepresentationSubmitConfirmation(true))
// : console.log("nit updated");
//window.alert(`You submitted:\n\n${JSON.stringify(values, null, 2)}`);
}; };
const cleanFilesList = (blobList) => { const cleanFilesList = (blobList) => {
@@ -1184,14 +1111,9 @@ let MakeRepresentation = (props) => {
var dataObj = values; var dataObj = values;
// for (let key in dataObj) {
// _.includes(key, "representationDocuments") == true &&
// delete dataObj[key];
// }
uploadRepFiles( uploadRepFiles(
dataObj, dataObj,
fileListObj, [{}],
values.containerID, values.containerID,
props.caseReference + "/" + dataObj.repfile_name props.caseReference + "/" + dataObj.repfile_name
).then((data) => { ).then((data) => {
@@ -1229,140 +1151,103 @@ let MakeRepresentation = (props) => {
/> />
) : ( ) : (
<> <>
{/* {!session ? ( <h1 className="govuk-heading-l">
<> {t(
<div> "myrepresentations:make-a-representation-on-label"
<p className="govuk-body"> )}{" "}
{t( {currentView.caseReference.currentReference}{" "}
"myrepresentations:sign-in-to-raise-rep-label" </h1>
)}{" "} <div id="rep-form">
<a <div className="govuk-grid-column-three-quarters wgForm">
href={ {whichControl()}
"mailto:" + </div>
t(
"myrepresentations:login-contact-email"
)
}
className="govuk-link--no-underline"
>
{t(
"myrepresentations:login-contact-email"
)}
</a>
</p>
</div>
<button
className="govuk-button withChevron govuk-button-cta"
type="button"
onClick={() => signIn()}
>
{t(
"myrepresentations:sign-in-to-raise-rep-button"
)}
</button>
</>
) : ( */}
<>
<h1 className="govuk-heading-l">
{t(
"myrepresentations:make-a-representation-on-label"
)}{" "}
{currentView.caseReference.currentReference}{" "}
</h1>
<div id="rep-form">
<div className="govuk-grid-column-three-quarters wgForm">
{whichControl()}
</div>
<div className="govuk-grid-column-one-quarter"> <div className="govuk-grid-column-one-quarter">
{" "} {" "}
<div className="card"> <div className="card">
<div className="card-body"> <div className="card-body">
<h2 className="govuk-heading-s"> <h2 className="govuk-heading-s">
{t( {t(
"myrepresentations:timetable-title" "myrepresentations:timetable-title"
)}{" "} )}{" "}
</h2> </h2>
<div className="govuk-summary-list"> <div className="govuk-summary-list">
<div className="govuk-body-s"> <div className="govuk-body-s">
{currentView.caseReference {currentView.caseReference
.appealType == 846040011 .appealType == 846040011
? t( ? t(
"myrepresentations:local-impact-report" "myrepresentations:local-impact-report"
)
: t(
"myrepresentations:questionnaire-due-label"
)}
:
<span className="govuk-body-s">
{" "}
{detailsObj.hasOwnProperty(
"pinswg_questionnaireduedate"
) ||
detailsObj.hasOwnProperty(
"pinswg_endofrepresentationperiod"
)
? formatDates(
detailsObj.pinswg_questionnaireduedate ||
detailsObj.pinswg_endofrepresentationperiod
) )
: t( : "N/A"}
"myrepresentations:questionnaire-due-label" </span>
)} </div>
: <div className="govuk-body-s">
<span className="govuk-body-s"> {t(
{" "} "myrepresentations:statements-due-label"
{detailsObj.hasOwnProperty( )}
"pinswg_questionnaireduedate" :
) || <span className="govuk-body-s">
detailsObj.hasOwnProperty( {" "}
"pinswg_endofrepresentationperiod" {formatDates(
) detailsObj.pinswg_statementduedate ||
? formatDates( detailsObj.pinswg_statementsduedate ||
detailsObj.pinswg_questionnaireduedate || detailsObj.pinswg_endofrepresentationperiod
detailsObj.pinswg_endofrepresentationperiod )}
) </span>
: "N/A"} </div>
</span> {currentView.caseReference
</div> .appealType != 846040011 && (
<div className="govuk-body-s"> <div className="govuk-body-s">
{t( {t(
"myrepresentations:statements-due-label" "myrepresentations:final-comments-due-label"
)} )}
: :
<span className="govuk-body-s"> <span className="govuk-body-s">
{" "} {" "}
{formatDates( {formatDates(
detailsObj.pinswg_statementduedate || detailsObj.pinswg_finalcommentsduedate
detailsObj.pinswg_statementsduedate ||
detailsObj.pinswg_endofrepresentationperiod
)} )}
</span> </span>
</div> </div>
{currentView.caseReference )}
.appealType !=
846040011 && (
<div className="govuk-body-s">
{t(
"myrepresentations:final-comments-due-label"
)}
:
<span className="govuk-body-s">
{" "}
{formatDates(
detailsObj.pinswg_finalcommentsduedate
)}
</span>
</div>
)}
</div>
</div> </div>
</div> </div>
<div> </div>
{formObj.hasOwnProperty( <div>
{formObj.hasOwnProperty(
"representationForm"
) &&
formObj[
"representationForm" "representationForm"
].hasOwnProperty("values") &&
formObj[
"representationForm"
].values.hasOwnProperty(
"representationType"
) && ) &&
formObj[ formObj["representationForm"].values
"representationForm" .representationType ==
].hasOwnProperty("values") && "Questionnaire" &&
formObj[ whichProgress()}
"representationForm"
].values.hasOwnProperty(
"representationType"
) &&
formObj["representationForm"].values
.representationType ==
"Questionnaire" &&
whichProgress()}
</div>
</div> </div>
</div> </div>
</> </div>
{/* )} */}
</> </>
)} )}
</form> </form>
@@ -251,7 +251,7 @@ const RepCompleteSubmit = (props) => {
</dd> </dd>
<dd className="govuk-summary-list__actions"> <dd className="govuk-summary-list__actions">
<a {/* <a
className="govuk-link" className="govuk-link"
href="#" href="#"
onClick={() => { onClick={() => {
@@ -261,11 +261,11 @@ const RepCompleteSubmit = (props) => {
{t("common:change-link-label")} {t("common:change-link-label")}
<span className="govuk-visually-hidden"> <span className="govuk-visually-hidden">
{" "} {" "}
{/* {FieldsTranslations( {FieldsTranslations(
rows[0].value rows[0].value
)} */} )}
</span> </span>
</a> </a> */}
</dd> </dd>
</div> </div>
{_.has( {_.has(
@@ -344,38 +344,41 @@ const RepCompleteSubmit = (props) => {
)} )}
</> </>
)} )}
<div className="govuk-summary-list__row"> {repFormData.representationType !=
<dt className="govuk-summary-list__key"> "Questionnaire" && (
{t("case:representation-comments")} <div className="govuk-summary-list__row">
</dt> <dt className="govuk-summary-list__key">
{t("case:representation-comments")}
</dt>
<dd className="govuk-summary-list__value"> <dd className="govuk-summary-list__value">
<span <span
className="multiline-elipsis" className="multiline-elipsis"
dangerouslySetInnerHTML={{ dangerouslySetInnerHTML={{
__html: repFormData.representationComments, __html: repFormData.representationComments,
}} }}
/> />
</dd> </dd>
<dd className="govuk-summary-list__actions"> <dd className="govuk-summary-list__actions">
<a <a
className="govuk-link" className="govuk-link"
href="#" href="#"
onClick={() => { onClick={() => {
setSubmitBack(); setSubmitBack();
}} }}
> >
{t("common:change-link-label")} {t("common:change-link-label")}
<span className="govuk-visually-hidden"> <span className="govuk-visually-hidden">
{" "} {" "}
{/* {FieldsTranslations( {/* {FieldsTranslations(
rows[0].value rows[0].value
)} */} )} */}
</span> </span>
</a> </a>
</dd> </dd>
</div> </div>
)}
<div className="govuk-summary-list__row"> <div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key"> <dt className="govuk-summary-list__key">
{t("case:representation-files")} {t("case:representation-files")}
@@ -453,7 +456,10 @@ const RepCompleteSubmit = (props) => {
{t( {t(
"myrepresentations:rep-check-tandc-para-two" "myrepresentations:rep-check-tandc-para-two"
)}{" "} )}{" "}
<Link href={t("common:footer-privacy-link")}> <Link
href={t("common:footer-privacy-link")}
target="_blank"
>
{t( {t(
"common:footer-privacy-notice-link-label" "common:footer-privacy-notice-link-label"
)} )}
@@ -410,7 +410,7 @@ export const RenderLPACondtionalRadioList = ({
className="govuk-hint govuk-!-font-size-14" className="govuk-hint govuk-!-font-size-14"
id={id + "-hint"} id={id + "-hint"}
> >
{t(custom.hint)} {custom.hint}
</div> </div>
)} )}
@@ -578,6 +578,7 @@ export const RenderTextfield = ({
name={name} name={name}
id={id} id={id}
type={type} type={type}
disabled={custom.disabled == true ? true : false}
/> />
</div> </div>
</> </>
@@ -1045,7 +1046,6 @@ export const RenderFileUpload = (field) => {
// Handle accepted files (clear error message when files are accepted) // Handle accepted files (clear error message when files are accepted)
const handleDropAccepted = () => { const handleDropAccepted = () => {
setErrorMessage(null); // Clear any previous error messages when files are accepted
setRejectedFiles([]); // Clear any previously rejected file errorsss setRejectedFiles([]); // Clear any previously rejected file errorsss
}; };
@@ -1067,6 +1067,7 @@ let S78_Questionnaire = (props) => {
label={t( label={t(
"myrepresentations:s78-section-question-onbehalf" "myrepresentations:s78-section-question-onbehalf"
)} )}
disabled={true}
errorMsg={t("myrepresentations:is-required-label")} errorMsg={t("myrepresentations:is-required-label")}
/> />
</div> </div>
@@ -1077,7 +1078,7 @@ let S78_Questionnaire = (props) => {
component={RenderDatePicker} component={RenderDatePicker}
validate={[required]} validate={[required]}
dateStart="0" dateStart="0"
dateEnd="1-y" dateEnd="0"
errorMsg={t("myrepresentations:is-required-label")} errorMsg={t("myrepresentations:is-required-label")}
locale={locale} locale={locale}
/> />
+5 -1
View File
@@ -9,7 +9,7 @@ import React, { useMemo, useState } from "react";
import DatePicker from "react-datepicker"; import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css"; import "react-datepicker/dist/react-datepicker.css";
import Dropzone from "react-dropzone"; import Dropzone from "react-dropzone";
import { Field, FieldArray } from "redux-form"; import { Field, FieldArray, change } from "redux-form";
import { import {
deleteBlob, deleteBlob,
getFilesFromBlobHashed, getFilesFromBlobHashed,
@@ -2364,6 +2364,8 @@ export const FieldArrayForm = (props) => {
maxSubField, maxSubField,
} = props; } = props;
const dispatch = useDispatch(); // Get dispatch using useDispatch hook
var showIfHasParentShowValue = var showIfHasParentShowValue =
parentField != false && parentField != false &&
!_.isEmpty(formProps[form]) && !_.isEmpty(formProps[form]) &&
@@ -2375,6 +2377,8 @@ export const FieldArrayForm = (props) => {
(showIfHasParentShowValue == parentField) != false && (showIfHasParentShowValue == parentField) != false &&
showIfHasParentShowValue; showIfHasParentShowValue;
!showIfHasParentShowValue && dispatch(change("appealForm", name, null));
parentFieldShowOnValue; parentFieldShowOnValue;
const { handleSubmit, pristine, reset, submitting } = props; const { handleSubmit, pristine, reset, submitting } = props;
+35 -28
View File
@@ -302,35 +302,41 @@ let BuildCheckRow = (props) => {
"undefined" && "undefined" &&
props.props.form["appealForm"].values[ props.props.form["appealForm"].values[
datafieldname[0].value datafieldname[0].value
].map((tenant, index) => { ] != null ? (
console.log( props.props.form["appealForm"].values[
typeof tenant.pinswg_owners datafieldname[0].value
); ].map((tenant, index) => {
return typeof tenant.pinswg_owners != console.log(
"undefined" || typeof tenant.pinswg_owners
typeof tenant.pinswg_agriculturaltenantname != );
"undefined" ? ( return typeof tenant.pinswg_owners !=
<div "undefined" ||
key={index} typeof tenant.pinswg_agriculturaltenantname !=
style={{ "undefined" ? (
display: "flex", <div
}} key={index}
> style={{
<div className="govuk-!-width-one-half"> display: "flex",
{tenant.pinswg_agriculturaltenantname || }}
tenant.pinswg_owners} >
<div className="govuk-!-width-one-half">
{tenant.pinswg_agriculturaltenantname ||
tenant.pinswg_owners}
</div>
<div className="govuk-!-width-one-half">
Served:{" "}
{formatDate(
tenant.dateserved
)}
</div>
</div> </div>
<div className="govuk-!-width-one-half"> ) : (
Served:{" "} ""
{formatDate( );
tenant.dateserved })
)} ) : (
</div> "N/A"
</div> )
) : (
""
);
})
) : ( ) : (
props.props.form["appealForm"].values[ props.props.form["appealForm"].values[
datafieldname[0].value datafieldname[0].value
@@ -358,6 +364,7 @@ let BuildCheckRow = (props) => {
</dd> </dd>
</div> </div>
); );
// } // }
} }
})} })}
@@ -298,6 +298,7 @@ let BuildCheckSection = (props) => {
"newappeal:new-appeal-check-confirm-paragraph-two" "newappeal:new-appeal-check-confirm-paragraph-two"
)}{" "} )}{" "}
<Link <Link
target="_blank"
href={t( href={t(
"newappeal:new-appeal-check-confirm-paragraph-two-link" "newappeal:new-appeal-check-confirm-paragraph-two-link"
)} )}
+4 -1
View File
@@ -158,7 +158,10 @@ export const AppealRow_pdf = (props) => {
function CleanHTML(htmlStr) { function CleanHTML(htmlStr) {
let cleanStr = let cleanStr =
typeof htmlStr === "string" typeof htmlStr === "string"
? htmlStr.replace(/<p><br><\/p>/g, "") ? htmlStr.replace(
/<p><br><\/p>|<p class=\"ql-align-justify\"><br><\/p>/g,
""
)
: ""; : "";
return cleanStr; return cleanStr;
+4 -1
View File
@@ -104,7 +104,10 @@ export const EnforcementQuestionnaire_pdf = ({ docProps }) => {
function CleanHTML(htmlStr) { function CleanHTML(htmlStr) {
let cleanStr = let cleanStr =
typeof htmlStr === "string" typeof htmlStr === "string"
? htmlStr.replace(/<p><br><\/p>/g, "") ? htmlStr.replace(
/<p><br><\/p>|<p class=\"ql-align-justify\"><br><\/p>/g,
""
)
: ""; : "";
return cleanStr; return cleanStr;
+10 -5
View File
@@ -21,7 +21,7 @@ const getTrans = (locale, key) => {
let jsonObj = locale == "cy" ? transLookupCY : transLookupEN; let jsonObj = locale == "cy" ? transLookupCY : transLookupEN;
console.log(locale, jsonObj[key]); //console.log(locale, jsonObj[key]);
return jsonObj[key]; return jsonObj[key];
}; };
@@ -68,9 +68,8 @@ const styles = StyleSheet.create({
}, },
questionAnswerWide: { questionAnswerWide: {
color: "#757575", color: "#757575",
width: "95%", width: "100%",
fontSize: 12, fontSize: 12,
marginLeft: "5%",
border: 1, border: 1,
borderColor: "#eee", borderColor: "#eee",
backgroundColor: "white", backgroundColor: "white",
@@ -125,7 +124,10 @@ export const finalComments_pdf = ({ docProps }) => {
function CleanHTML(htmlStr) { function CleanHTML(htmlStr) {
let cleanStr = let cleanStr =
typeof htmlStr === "string" typeof htmlStr === "string"
? htmlStr.replace(/<p><br><\/p>/g, "") ? htmlStr.replace(
/<p><br><\/p>|<p class=\"ql-align-justify\"><br><\/p>/g,
""
)
: ""; : "";
return cleanStr; return cleanStr;
@@ -398,7 +400,10 @@ export const finalComments_pdf = ({ docProps }) => {
} }
> >
{p.name} -{" "} {p.name} -{" "}
{bytesToSize(p.size)}{" "} {bytesToSize(
p.size ||
p.contentLength
)}{" "}
{"\n"} {"\n"}
</Text> </Text>
</View> </View>
+26 -11
View File
@@ -61,6 +61,7 @@ const styles = StyleSheet.create({
border: 1, border: 1,
borderColor: "#eee", borderColor: "#eee",
paddingLeft: 10, paddingLeft: 10,
paddingRight: 10,
backgroundColor: "white", backgroundColor: "white",
marginRight: 10, marginRight: 10,
}, },
@@ -86,9 +87,8 @@ const styles = StyleSheet.create({
}, },
questionAnswerWide: { questionAnswerWide: {
color: "#757575", color: "#757575",
width: "95%", width: "100%",
fontSize: 12, fontSize: 12,
marginLeft: "5%",
border: 1, border: 1,
borderColor: "#eee", borderColor: "#eee",
backgroundColor: "white", backgroundColor: "white",
@@ -148,7 +148,10 @@ export const lpaQuestionnaire_pdf = ({ docProps }) => {
function CleanHTML(htmlStr) { function CleanHTML(htmlStr) {
let cleanStr = let cleanStr =
typeof htmlStr === "string" typeof htmlStr === "string"
? htmlStr.replace(/<p><br><\/p>/g, "") ? htmlStr.replace(
/<p><br><\/p>|<p class=\"ql-align-justify\"><br><\/p>/g,
""
)
: ""; : "";
return cleanStr; return cleanStr;
@@ -557,7 +560,6 @@ export const lpaQuestionnaire_pdf = ({ docProps }) => {
wrap={false} wrap={false}
> >
<View <View
wrap={false}
style={{ style={{
flexDirection: "row", flexDirection: "row",
marginBottom: 10, marginBottom: 10,
@@ -584,10 +586,8 @@ export const lpaQuestionnaire_pdf = ({ docProps }) => {
flexDirection: "column", flexDirection: "column",
marginBottom: 10, marginBottom: 10,
}} }}
wrap={false}
> >
<View <View
wrap={false}
style={{ style={{
flexDirection: "row", flexDirection: "row",
marginBottom: 10, marginBottom: 10,
@@ -1440,7 +1440,7 @@ export const lpaQuestionnaire_pdf = ({ docProps }) => {
}} }}
> >
<Text <Text
style={{ width: "20%", fontSize: 12 }} style={{ width: "15%", fontSize: 12 }}
> >
{getTrans( {getTrans(
docProps.locale, docProps.locale,
@@ -1448,10 +1448,19 @@ export const lpaQuestionnaire_pdf = ({ docProps }) => {
)} )}
</Text> </Text>
<Text <Text
style={styles.questionAnswerSmall} style={{
wrap={false} color: "#757575",
width: "310",
fontSize: 12,
padding: 5,
border: 1,
borderColor: "#eee",
backgroundColor: "white",
paddingRight: 10,
}}
wrap={true}
> >
w{values.caseOfficer} {values.caseOfficer}
</Text> </Text>
</View> </View>
<View <View
@@ -1461,7 +1470,13 @@ export const lpaQuestionnaire_pdf = ({ docProps }) => {
alignItems: "center", alignItems: "center",
}} }}
> >
<Text style={{ width: "75", fontSize: 12 }}> <Text
style={{
width: "40",
fontSize: 12,
marginLeft: 10,
}}
>
{getTrans( {getTrans(
docProps.locale, docProps.locale,
"s78-section-question-date" "s78-section-question-date"
+5 -2
View File
@@ -21,7 +21,7 @@ const getTrans = (locale, key) => {
let jsonObj = locale == "cy" ? transLookupCY : transLookupEN; let jsonObj = locale == "cy" ? transLookupCY : transLookupEN;
console.log(locale, jsonObj[key]); //console.log(locale, jsonObj[key]);
return jsonObj[key]; return jsonObj[key];
}; };
@@ -129,7 +129,10 @@ export const other_pdf = ({ docProps }) => {
function CleanHTML(htmlStr) { function CleanHTML(htmlStr) {
let cleanStr = let cleanStr =
typeof htmlStr === "string" typeof htmlStr === "string"
? htmlStr.replace(/<p><br><\/p>/g, "") ? htmlStr.replace(
/<p><br><\/p>|<p class=\"ql-align-justify\"><br><\/p>/g,
""
)
: ""; : "";
return cleanStr; return cleanStr;
+11 -6
View File
@@ -18,7 +18,7 @@ const getTrans = (locale, key) => {
let jsonObj = locale == "cy" ? transLookupCY : transLookupEN; let jsonObj = locale == "cy" ? transLookupCY : transLookupEN;
console.log(locale, jsonObj[key]); //console.log(locale, jsonObj[key]);
return jsonObj[key]; return jsonObj[key];
}; };
@@ -65,9 +65,8 @@ const styles = StyleSheet.create({
}, },
questionAnswerWide: { questionAnswerWide: {
color: "#757575", color: "#757575",
width: "95%", width: "100%",
fontSize: 12, fontSize: 12,
marginLeft: "5%",
border: 1, border: 1,
borderColor: "#eee", borderColor: "#eee",
backgroundColor: "white", backgroundColor: "white",
@@ -97,7 +96,7 @@ const styles = StyleSheet.create({
}); });
export const statement_pdf = ({ docProps }) => { export const statement_pdf = ({ docProps }) => {
console.log("----", docProps); //console.log("----", docProps);
function formatDates(dateObj) { function formatDates(dateObj) {
var dateObj = new Date(dateObj); var dateObj = new Date(dateObj);
var dd = String(dateObj.getDate()).padStart(2, "0"); var dd = String(dateObj.getDate()).padStart(2, "0");
@@ -122,7 +121,10 @@ export const statement_pdf = ({ docProps }) => {
function CleanHTML(htmlStr) { function CleanHTML(htmlStr) {
let cleanStr = let cleanStr =
typeof htmlStr === "string" typeof htmlStr === "string"
? htmlStr.replace(/<p><br><\/p>/g, "") ? htmlStr.replace(
/<p><br><\/p>|<p class=\"ql-align-justify\"><br><\/p>/g,
""
)
: ""; : "";
return cleanStr; return cleanStr;
@@ -395,7 +397,10 @@ export const statement_pdf = ({ docProps }) => {
} }
> >
{p.name} -{" "} {p.name} -{" "}
{bytesToSize(p.size)}{" "} {bytesToSize(
p.size ||
p.contentLength
)}{" "}
{"\n"} {"\n"}
</Text> </Text>
</View> </View>
@@ -110,7 +110,10 @@ export const writtenStatement_pdf = ({ docProps }) => {
function CleanHTML(htmlStr) { function CleanHTML(htmlStr) {
let cleanStr = let cleanStr =
typeof htmlStr === "string" typeof htmlStr === "string"
? htmlStr.replace(/<p><br><\/p>/g, "") ? htmlStr.replace(
/<p><br><\/p>|<p class=\"ql-align-justify\"><br><\/p>/g,
""
)
: ""; : "";
return cleanStr; return cleanStr;
+1 -1
View File
@@ -42,7 +42,7 @@ class MyDocument extends Document {
csp += `form-action 'self' ` + process.env.NEXTAUTH_URL + ` ;`; csp += `form-action 'self' ` + process.env.NEXTAUTH_URL + ` ;`;
csp += `object-src 'self' data:;`; csp += `object-src 'self' data:;`;
csp += `default-src 'self' https://www.google-analytics.com;`; csp += `default-src 'self' https://www.google-analytics.com;`;
csp += `connect-src 'self' http://127.0.0.1 https://maps.googleapis.com https://ukwest-0.in.applicationinsights.azure.com https://js.monitor.azure.com https://region1.google-analytics.com;`; csp += `connect-src 'self' http://127.0.0.1 https://maps.googleapis.com https://uksouth-1.in.applicationinsights.azure.com https://ukwest-0.in.applicationinsights.azure.com https://js.monitor.azure.com https://region1.google-analytics.com;`;
csp += `script-src 'self' 'unsafe-eval' 'unsafe-inline' https://maps.googleapis.com https://ukwest-0.in.applicationinsights.azure.com https://region1.google-analytics.com https://www.google-analytics.com/ https://tagmanager.google.com/ https://www.googletagmanager.com/;`; csp += `script-src 'self' 'unsafe-eval' 'unsafe-inline' https://maps.googleapis.com https://ukwest-0.in.applicationinsights.azure.com https://region1.google-analytics.com https://www.google-analytics.com/ https://tagmanager.google.com/ https://www.googletagmanager.com/;`;
csp += `style-src 'self' 'unsafe-inline' https://pro.fontawesome.com/ https://www.google-analytics.com https://tagmanager.google.com/ https://www.googletagmanager.com/ https://fonts.googleapis.com/;`; csp += `style-src 'self' 'unsafe-inline' https://pro.fontawesome.com/ https://www.google-analytics.com https://tagmanager.google.com/ https://www.googletagmanager.com/ https://fonts.googleapis.com/;`;
csp += `img-src 'self' 'unsafe-inline' https://maps.gstatic.com https://maps.googleapis.com https://www.gov.wales https://gov.wales https://fonts.gstatic.com https://www.googletagmanager.com https://www.google-analytics.com https://ssl.gstatic.com/ blob: data:;`; csp += `img-src 'self' 'unsafe-inline' https://maps.gstatic.com https://maps.googleapis.com https://www.gov.wales https://gov.wales https://fonts.gstatic.com https://www.googletagmanager.com https://www.google-analytics.com https://ssl.gstatic.com/ blob: data:;`;
+18 -12
View File
@@ -35,20 +35,26 @@ ApiProxy.post(async (req, res) => {
repOrAppeal repOrAppeal
? createRepBlob(appealData, containerID, casefolderID).then((data) => { ? createRepBlob(appealData, containerID, casefolderID).then((data) => {
Object.keys(req.files).length > 0 && // Object.keys(req.files).length > 0 &&
uploadFile(req.files, containerID, casefolderID).then( // uploadFile(req.files, containerID, casefolderID).then(
(data) => { // (data) => {
return res.status(200).json({ data }); // return res.status(200).json({ data });
} // }
); // );
console.log("================================\nRepfile updated");
return res.status(200).json({ data });
}) })
: createBlob(appealData, containerID, casefolderID).then((data) => { : createBlob(appealData, containerID, casefolderID).then((data) => {
Object.keys(req.files).length > 0 && // Object.keys(req.files).length > 0 &&
uploadFile(req.files, containerID, casefolderID).then( // uploadFile(req.files, containerID, casefolderID).then(
(data) => { // (data) => {
return res.status(200).json({ data }); // return res.status(200).json({ data });
} // }
); // );
console.log(
"================================\nAppeal file updated"
);
return res.status(200).json({ data });
}); });
//}); //});