create rep pdf tweaks prior to multi types matrix
This commit is contained in:
+47
-1
@@ -428,6 +428,52 @@ export const uploadRepFiles = async (
|
|||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const uploadPDFRepFiles = async (
|
||||||
|
formContent,
|
||||||
|
containerName,
|
||||||
|
foldername,
|
||||||
|
repType
|
||||||
|
) => {
|
||||||
|
const containerToken = await createContainerSas(containerName);
|
||||||
|
const sasUrl = `${STORAGE_PATH}/${containerName}?${containerToken}`;
|
||||||
|
const containerClient = new ContainerClient(sasUrl);
|
||||||
|
|
||||||
|
const files = formContent;
|
||||||
|
|
||||||
|
console.log(formContent, containerName, foldername);
|
||||||
|
console.log(
|
||||||
|
"rep pdf files...",
|
||||||
|
files,
|
||||||
|
Object.keys(files).length,
|
||||||
|
foldername
|
||||||
|
);
|
||||||
|
|
||||||
|
// console.log(`files[${prop}] = ${files[prop][0].size}`);
|
||||||
|
console.log(foldername + "/files/" + formContent.split("tmp/")[1]);
|
||||||
|
|
||||||
|
const blobName = foldername + "/" + formContent.split("tmp/")[1];
|
||||||
|
console.log(blobName);
|
||||||
|
|
||||||
|
const blockBlobClient = containerClient.getBlockBlobClient(blobName);
|
||||||
|
const uploadBlobResponse = await blockBlobClient.uploadFile(formContent);
|
||||||
|
|
||||||
|
const tags = {
|
||||||
|
containerid: containerName,
|
||||||
|
caseID: foldername.split("/")[0],
|
||||||
|
documentType: repType,
|
||||||
|
blobType: "RepresentationPDF",
|
||||||
|
};
|
||||||
|
|
||||||
|
console.log("the tags:", tags);
|
||||||
|
const withTags = await blockBlobClient.setTags(tags);
|
||||||
|
const withMeta = await blockBlobClient.setMetadata(tags);
|
||||||
|
|
||||||
|
console.log(
|
||||||
|
`Uploaded block blob ${files} successfully`,
|
||||||
|
uploadBlobResponse.requestId
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
export const uploadPDFCaseFiles = async (
|
export const uploadPDFCaseFiles = async (
|
||||||
formContent,
|
formContent,
|
||||||
containerName,
|
containerName,
|
||||||
@@ -821,7 +867,7 @@ export const getRepsBlobs = async (containerName) => {
|
|||||||
listOptions
|
listOptions
|
||||||
)) {
|
)) {
|
||||||
const blobClient = await containerClient.getBlobClient(blob.name);
|
const blobClient = await containerClient.getBlobClient(blob.name);
|
||||||
console.log(blob);
|
console.log("getreps blob blob", blob);
|
||||||
blob.name.split("/")[2].indexOf("_rep.json") > 0 &&
|
blob.name.split("/")[2].indexOf("_rep.json") > 0 &&
|
||||||
blob.name.split("/")[2].indexOf("undefined") < 0 &&
|
blob.name.split("/")[2].indexOf("undefined") < 0 &&
|
||||||
blobObj.push({
|
blobObj.push({
|
||||||
|
|||||||
@@ -432,40 +432,56 @@ let MakeRepresentation = (props) => {
|
|||||||
|
|
||||||
detailsObj = detailsObj[0];
|
detailsObj = detailsObj[0];
|
||||||
|
|
||||||
Object.assign(values, {
|
console.log(
|
||||||
"containerID": props.props.accountDetails.containerID,
|
"Has data from form:",
|
||||||
"appealType": props.props.currentView.caseReference.appealType,
|
formObj.hasOwnProperty("representationForm") &&
|
||||||
"incidentID": props.props.currentView.caseReference.incidentid,
|
formObj.representationForm.hasOwnProperty("values")
|
||||||
"caseRef": props.props.currentView.caseReference.currentReference,
|
);
|
||||||
"pinswg_name":
|
|
||||||
props.props.currentView.caseReference.currentReference,
|
formObj.hasOwnProperty("representationForm") &&
|
||||||
"firstname": props.props.accountDetails.accountDetails.firstname,
|
!router.query.hasOwnProperty("state") &&
|
||||||
"lastname": props.props.accountDetails.accountDetails.lastname,
|
formObj.representationForm.hasOwnProperty("values") &&
|
||||||
"emailAddress":
|
(Object.assign(values, formObj.representationForm.values),
|
||||||
props.props.accountDetails.accountDetails.emailaddress1,
|
Object.assign(values, {
|
||||||
"siteAddress":
|
"containerID": props.props.accountDetails.containerID,
|
||||||
detailsObj.pinswg_siteaddressline1 +
|
"appealType": props.props.currentView.caseReference.appealType,
|
||||||
" " +
|
"incidentID": props.props.currentView.caseReference.incidentid,
|
||||||
detailsObj.pinswg_siteaddressline2 +
|
"caseRef":
|
||||||
" " +
|
props.props.currentView.caseReference.currentReference,
|
||||||
detailsObj.pinswg_siteaddresstown +
|
"pinswg_name":
|
||||||
" " +
|
props.props.currentView.caseReference.currentReference,
|
||||||
detailsObj.pinswg_siteaddresspostcode,
|
"firstname":
|
||||||
"pinswg_siteaddressline1": detailsObj.pinswg_siteaddressline1,
|
props.props.accountDetails.accountDetails.firstname,
|
||||||
"pinswg_siteaddressline2": detailsObj.pinswg_siteaddressline2,
|
"lastname": props.props.accountDetails.accountDetails.lastname,
|
||||||
"pinswg_siteaddresstown": detailsObj.pinswg_siteaddresstown,
|
"emailAddress":
|
||||||
"pinswg_siteaddresspostcode": detailsObj.pinswg_siteaddresspostcode,
|
props.props.accountDetails.accountDetails.emailaddress1,
|
||||||
"_pinswg_appellant_value": detailsObj["_pinswg_appellant_value"],
|
"siteAddress":
|
||||||
"_pinswg_appellant_value@OData.Community.Display.V1.FormattedValue":
|
detailsObj.pinswg_siteaddressline1 +
|
||||||
detailsObj[
|
" " +
|
||||||
"_pinswg_appellant_value@OData.Community.Display.V1.FormattedValue"
|
detailsObj.pinswg_siteaddressline2 +
|
||||||
],
|
" " +
|
||||||
"representationCapacity": router.query.hasOwnProperty("state")
|
detailsObj.pinswg_siteaddresstown +
|
||||||
? router.query.state == "edit"
|
" " +
|
||||||
? props.props.currentView.representationCapacity
|
detailsObj.pinswg_siteaddresspostcode,
|
||||||
: values.representationCapacity
|
"pinswg_siteaddressline1": detailsObj.pinswg_siteaddressline1,
|
||||||
: values.representationCapacity,
|
"pinswg_siteaddressline2": detailsObj.pinswg_siteaddressline2,
|
||||||
});
|
"pinswg_siteaddresstown": detailsObj.pinswg_siteaddresstown,
|
||||||
|
"pinswg_siteaddresspostcode":
|
||||||
|
detailsObj.pinswg_siteaddresspostcode,
|
||||||
|
"_pinswg_appellant_value":
|
||||||
|
detailsObj["_pinswg_appellant_value"],
|
||||||
|
"_pinswg_appellant_value@OData.Community.Display.V1.FormattedValue":
|
||||||
|
detailsObj[
|
||||||
|
"_pinswg_appellant_value@OData.Community.Display.V1.FormattedValue"
|
||||||
|
],
|
||||||
|
"representationCapacity": router.query.hasOwnProperty("state")
|
||||||
|
? router.query.state == "edit"
|
||||||
|
? props.props.currentView.representationCapacity
|
||||||
|
: values.representationCapacity
|
||||||
|
: isLPA
|
||||||
|
? "lpa"
|
||||||
|
: values.representationCapacity,
|
||||||
|
}));
|
||||||
console.log(values);
|
console.log(values);
|
||||||
currentView.representationSubmit != true
|
currentView.representationSubmit != true
|
||||||
? _.isEmpty(currentView.representationCapacity)
|
? _.isEmpty(currentView.representationCapacity)
|
||||||
@@ -610,7 +626,7 @@ let MakeRepresentation = (props) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const mapStateToProps = (state) => {
|
const mapStateToProps = (state) => {
|
||||||
console.log("\\\\\\\\\\\\\\\\\\\\\\\\\\\\/nin map state", state);
|
console.log("\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \n in map state", state);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
search: state.search,
|
search: state.search,
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,348 @@
|
|||||||
|
import Link from "next/link";
|
||||||
|
import { useRouter } from "next/router";
|
||||||
|
import useTranslation from "next-translate/useTranslation";
|
||||||
|
import xpath from "xpath";
|
||||||
|
import jsonpath from "jsonpath";
|
||||||
|
import { useSelector, shallowEqual, connect } from "react-redux";
|
||||||
|
import fieldLookup from "../../data/crmfieldlookuptranslations.json";
|
||||||
|
import {
|
||||||
|
getFormCollectionByID,
|
||||||
|
getPickListLabel,
|
||||||
|
getRadioLabel,
|
||||||
|
} from "../../components/utils";
|
||||||
|
|
||||||
|
import ReactPDF, {
|
||||||
|
Document,
|
||||||
|
Page,
|
||||||
|
Text,
|
||||||
|
View,
|
||||||
|
Image,
|
||||||
|
StyleSheet,
|
||||||
|
PDFViewer,
|
||||||
|
Font,
|
||||||
|
} from "@react-pdf/renderer";
|
||||||
|
import _ from "lodash";
|
||||||
|
|
||||||
|
import { DOMParser, XMLSerializer } from "@xmldom/xmldom";
|
||||||
|
|
||||||
|
export const AppealRow_pdf = (props) => {
|
||||||
|
let { t } = useTranslation();
|
||||||
|
|
||||||
|
// const router = useRouter();
|
||||||
|
// console.log(router);
|
||||||
|
// const { locale } = router;
|
||||||
|
|
||||||
|
const {
|
||||||
|
formXML,
|
||||||
|
whichSection,
|
||||||
|
sectionCount,
|
||||||
|
onSubmit,
|
||||||
|
updateCurrentSection,
|
||||||
|
mandatoryFieldsData,
|
||||||
|
} = props;
|
||||||
|
|
||||||
|
const styles = StyleSheet.create({
|
||||||
|
page: {
|
||||||
|
backgroundColor: "white",
|
||||||
|
padding: 20,
|
||||||
|
fontSize: 16,
|
||||||
|
paddingBottom: 50,
|
||||||
|
},
|
||||||
|
header: {
|
||||||
|
fontSize: 25,
|
||||||
|
fontFamily: "Helvetica",
|
||||||
|
flexDirection: "row",
|
||||||
|
justifyContent: "space-between",
|
||||||
|
},
|
||||||
|
subHeader: {
|
||||||
|
fontSize: 20,
|
||||||
|
},
|
||||||
|
logoImage: { width: "200pt" },
|
||||||
|
questionBullet: { width: "5%", fontSize: 12 },
|
||||||
|
questionText: { width: "30%", fontSize: 12 },
|
||||||
|
questionTextMid: { width: "80%", fontSize: 12 },
|
||||||
|
questionTextWide: { width: "95%", fontSize: 12, marginBottom: 5 },
|
||||||
|
questionAnswer: {
|
||||||
|
color: "#757575",
|
||||||
|
width: "65%",
|
||||||
|
fontSize: 12,
|
||||||
|
padding: 5,
|
||||||
|
border: 1,
|
||||||
|
borderColor: "#eee",
|
||||||
|
paddingLeft: 10,
|
||||||
|
backgroundColor: "white",
|
||||||
|
},
|
||||||
|
questionAnswerMid: {
|
||||||
|
color: "#757575",
|
||||||
|
width: "20%",
|
||||||
|
fontSize: 12,
|
||||||
|
padding: 5,
|
||||||
|
border: 1,
|
||||||
|
borderColor: "#eee",
|
||||||
|
paddingLeft: 10,
|
||||||
|
backgroundColor: "white",
|
||||||
|
},
|
||||||
|
questionAnswerWide: {
|
||||||
|
color: "#757575",
|
||||||
|
width: "95%",
|
||||||
|
fontSize: 12,
|
||||||
|
marginLeft: "5%",
|
||||||
|
border: 1,
|
||||||
|
borderColor: "#eee",
|
||||||
|
backgroundColor: "white",
|
||||||
|
padding: 5,
|
||||||
|
},
|
||||||
|
|
||||||
|
sectionContainer: {
|
||||||
|
backgroundColor: "#F8F8F8",
|
||||||
|
padding: 10,
|
||||||
|
marginTop: 20,
|
||||||
|
fontSize: 15,
|
||||||
|
},
|
||||||
|
pageNumber: {
|
||||||
|
position: "absolute",
|
||||||
|
fontSize: 12,
|
||||||
|
bottom: 20,
|
||||||
|
left: 0,
|
||||||
|
right: 0,
|
||||||
|
textAlign: "center",
|
||||||
|
color: "grey",
|
||||||
|
},
|
||||||
|
|
||||||
|
richArea: {
|
||||||
|
fontSize: 12,
|
||||||
|
color: "red",
|
||||||
|
flexDirection: "column",
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
const parser = new DOMParser();
|
||||||
|
var doc = parser.parseFromString(formXML, "text/xml");
|
||||||
|
|
||||||
|
var rowXML = xpath.select(
|
||||||
|
"/form/tabs/tab[" +
|
||||||
|
whichSection +
|
||||||
|
"]/columns//sections/section/rows/row",
|
||||||
|
doc
|
||||||
|
);
|
||||||
|
|
||||||
|
//console.log(rowXML);
|
||||||
|
|
||||||
|
function formatDate(dateObj) {
|
||||||
|
var m = new Date(dateObj);
|
||||||
|
var dateString;
|
||||||
|
dateObj != null
|
||||||
|
? (dateString =
|
||||||
|
("0" + m.getDate()).slice(-2) +
|
||||||
|
"/" +
|
||||||
|
("0" + (m.getMonth() + 1)).slice(-2) +
|
||||||
|
"/" +
|
||||||
|
m.getFullYear())
|
||||||
|
: (dateString = "");
|
||||||
|
|
||||||
|
return dateString;
|
||||||
|
}
|
||||||
|
|
||||||
|
const FieldsTranslations = (label) => {
|
||||||
|
// const router = useRouter();
|
||||||
|
// const { locale } = router;
|
||||||
|
const { appealtypes } = router.query;
|
||||||
|
|
||||||
|
let formObj = jsonpath.query(fieldLookup, "$['" + appealtypes + "']");
|
||||||
|
|
||||||
|
// let labelTrans =
|
||||||
|
// router.locale == "cy"
|
||||||
|
// ? jsonpath.query(
|
||||||
|
// formObj,
|
||||||
|
// "$..[?(@.value=='" + label + "')].value_cy"
|
||||||
|
// )
|
||||||
|
// : label;
|
||||||
|
|
||||||
|
let labelTrans = label;
|
||||||
|
return labelTrans;
|
||||||
|
};
|
||||||
|
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
{Object.keys(rowXML).map((key, index) => {
|
||||||
|
var newRowXML = new XMLSerializer().serializeToString(
|
||||||
|
rowXML[key]
|
||||||
|
);
|
||||||
|
//console.log(newRowXML);
|
||||||
|
var doc = parser.parseFromString(newRowXML, "text/xml");
|
||||||
|
|
||||||
|
var rows = xpath.select("//label/@description", doc);
|
||||||
|
var fieldtype = xpath.select("//@classid", doc);
|
||||||
|
var datafieldname = xpath.select("//@datafieldname", doc);
|
||||||
|
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
{(() => {
|
||||||
|
switch (fieldtype[0].value) {
|
||||||
|
case "{5B773807-9FB2-42db-97C3-7A91EFF8ADFF}":
|
||||||
|
return (
|
||||||
|
<View
|
||||||
|
wrap={false}
|
||||||
|
style={{
|
||||||
|
flexDirection: "row",
|
||||||
|
marginBottom: 10,
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<Text
|
||||||
|
style={styles.questionTextWide}
|
||||||
|
>
|
||||||
|
{/* {FieldsTranslations(rows[0].value)} */}
|
||||||
|
{rows[0].value}
|
||||||
|
</Text>
|
||||||
|
|
||||||
|
<Text
|
||||||
|
style={
|
||||||
|
styles.questionAnswerWide
|
||||||
|
}
|
||||||
|
>
|
||||||
|
{formatDate(
|
||||||
|
props.props[
|
||||||
|
datafieldname[0].value
|
||||||
|
]
|
||||||
|
)}{" "}
|
||||||
|
</Text>
|
||||||
|
</View>
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
case "{E0DECE4B-6FC8-4a8f-A065-082708572369}":
|
||||||
|
return (
|
||||||
|
<View
|
||||||
|
style={{
|
||||||
|
flexDirection: "column",
|
||||||
|
marginBottom: 10,
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<View
|
||||||
|
wrap={false}
|
||||||
|
style={{
|
||||||
|
flexDirection: "row",
|
||||||
|
marginBottom: 10,
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<Text
|
||||||
|
style={
|
||||||
|
styles.questionTextMid
|
||||||
|
}
|
||||||
|
>
|
||||||
|
{rows[0].value}
|
||||||
|
</Text>
|
||||||
|
</View>
|
||||||
|
<View
|
||||||
|
style={
|
||||||
|
styles.questionAnswerWide
|
||||||
|
}
|
||||||
|
>
|
||||||
|
<Text>
|
||||||
|
{
|
||||||
|
props.props[
|
||||||
|
datafieldname[0]
|
||||||
|
.value
|
||||||
|
]
|
||||||
|
}
|
||||||
|
</Text>
|
||||||
|
</View>
|
||||||
|
</View>
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
case "{07FAC785-CD58-4f9f-ABB3-4B7DDC6ED5ED}":
|
||||||
|
return (
|
||||||
|
<View
|
||||||
|
style={{
|
||||||
|
flexDirection: "column",
|
||||||
|
marginBottom: 10,
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<View
|
||||||
|
wrap={false}
|
||||||
|
style={{
|
||||||
|
flexDirection: "row",
|
||||||
|
marginBottom: 10,
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<Text
|
||||||
|
style={styles.questionText}
|
||||||
|
>
|
||||||
|
{rows[0].value}
|
||||||
|
</Text>
|
||||||
|
</View>
|
||||||
|
<View style={styles.questionAnswer}>
|
||||||
|
<Text>
|
||||||
|
{
|
||||||
|
props.props[
|
||||||
|
datafieldname[0]
|
||||||
|
.value
|
||||||
|
]
|
||||||
|
}
|
||||||
|
</Text>
|
||||||
|
</View>
|
||||||
|
</View>
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
return (
|
||||||
|
<View
|
||||||
|
wrap={false}
|
||||||
|
style={{
|
||||||
|
flexDirection: "row",
|
||||||
|
marginBottom: 10,
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<Text style={styles.questionText}>
|
||||||
|
{/* {FieldsTranslations(rows[0].value)} */}
|
||||||
|
{rows[0].value}
|
||||||
|
</Text>
|
||||||
|
|
||||||
|
<Text
|
||||||
|
style={
|
||||||
|
styles.questionAnswerWide
|
||||||
|
}
|
||||||
|
>
|
||||||
|
{
|
||||||
|
props.props[
|
||||||
|
datafieldname[0].value
|
||||||
|
]
|
||||||
|
}
|
||||||
|
</Text>
|
||||||
|
</View>
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
})()}
|
||||||
|
|
||||||
|
{/* <Text className="govuk-summary-list__value">
|
||||||
|
{fieldtype[0].value ==
|
||||||
|
"{5B773807-9FB2-42db-97C3-7A91EFF8ADFF}"
|
||||||
|
? formatDate(
|
||||||
|
props.props.values[datafieldname[0].value]
|
||||||
|
)
|
||||||
|
: fieldtype[0].value ==
|
||||||
|
"{3EF39988-22BB-4f0b-BBBE-64B5A3748AEE}"
|
||||||
|
? getPickListLabel(
|
||||||
|
props.props.formData.pickListData,
|
||||||
|
datafieldname[0].value,
|
||||||
|
props.props.values[datafieldname[0].value]
|
||||||
|
)
|
||||||
|
: fieldtype[0].value ==
|
||||||
|
"{07FAC785-CD58-4f9f-ABB3-4B7DDC6ED5ED}"
|
||||||
|
? getRadioLabel(
|
||||||
|
props.props.formData.pickListData,
|
||||||
|
datafieldname[0].value,
|
||||||
|
props.props.values[datafieldname[0].value]
|
||||||
|
)
|
||||||
|
: fieldtype[0].value ==
|
||||||
|
"{16D63FD6-119B-4353-BDCA-18358721C3FE}"
|
||||||
|
? "ssss"
|
||||||
|
: props.props.values[datafieldname[0].value]}
|
||||||
|
</Text> */}
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
})}
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
};
|
||||||
@@ -9,6 +9,7 @@ import ReactPDF, {
|
|||||||
Font,
|
Font,
|
||||||
} from "@react-pdf/renderer";
|
} from "@react-pdf/renderer";
|
||||||
import Html from "react-pdf-html";
|
import Html from "react-pdf-html";
|
||||||
|
import { getFormCollectionByID } from "../../components/utils";
|
||||||
|
|
||||||
const styles = StyleSheet.create({
|
const styles = StyleSheet.create({
|
||||||
page: {
|
page: {
|
||||||
@@ -96,6 +97,7 @@ export const lpaQuestionnaire_pdf = ({ docProps }) => {
|
|||||||
return dd + "/" + mm + "/" + yyyy;
|
return dd + "/" + mm + "/" + yyyy;
|
||||||
}
|
}
|
||||||
let values = docProps;
|
let values = docProps;
|
||||||
|
let appealTypeValue = getFormCollectionByID(values.appealType);
|
||||||
|
|
||||||
console.log("sdffhjdhjdjdgkj: ", values.procedureType);
|
console.log("sdffhjdhjdjdgkj: ", values.procedureType);
|
||||||
return (
|
return (
|
||||||
|
|||||||
@@ -103,7 +103,7 @@ export const other_pdf = ({ docProps }) => {
|
|||||||
|
|
||||||
let datestr = values.pinswg_name.split("-");
|
let datestr = values.pinswg_name.split("-");
|
||||||
let signedDate = datestr[2] + "/" + datestr[1] + "/" + datestr[0];
|
let signedDate = datestr[2] + "/" + datestr[1] + "/" + datestr[0];
|
||||||
let appealTypeValue = getFormCollectionByID(values.appealType);
|
const isLPA = values.representationCapacity == "lpa" ? true : false;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Document>
|
<Document>
|
||||||
@@ -128,9 +128,13 @@ export const other_pdf = ({ docProps }) => {
|
|||||||
fontFamily: "Helvetica-Bold",
|
fontFamily: "Helvetica-Bold",
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
For Planning, Conservation area, Listed
|
For Planning Appeal, Planning Conditions,
|
||||||
Building and Advertisement
|
Listed Building and Conservation Area
|
||||||
applications/appeals
|
Appeal, Lawful Development Appeal, Planning
|
||||||
|
Obligations, Community Infrastructure Levy,
|
||||||
|
Enforcement Notice appeal, Enforcement
|
||||||
|
Listed Building Appeal, Maintenance of land,
|
||||||
|
Called in Application applications/appeals
|
||||||
</Text>
|
</Text>
|
||||||
</View>
|
</View>
|
||||||
</View>
|
</View>
|
||||||
@@ -199,7 +203,10 @@ export const other_pdf = ({ docProps }) => {
|
|||||||
Case Type:
|
Case Type:
|
||||||
</Text>
|
</Text>
|
||||||
<Text style={styles.questionAnswer}>
|
<Text style={styles.questionAnswer}>
|
||||||
{appealTypeValue.value}
|
{
|
||||||
|
getFormCollectionByID(values.appealType)
|
||||||
|
.value
|
||||||
|
}
|
||||||
</Text>
|
</Text>
|
||||||
</View>
|
</View>
|
||||||
</View>
|
</View>
|
||||||
@@ -342,20 +349,24 @@ export const other_pdf = ({ docProps }) => {
|
|||||||
</Text>
|
</Text>
|
||||||
</View>
|
</View>
|
||||||
</View>
|
</View>
|
||||||
<View
|
{isLPA && (
|
||||||
wrap={false}
|
<View
|
||||||
style={{
|
wrap={false}
|
||||||
flexDirection: "row",
|
style={{
|
||||||
marginBottom: 10,
|
flexDirection: "row",
|
||||||
}}
|
marginBottom: 10,
|
||||||
>
|
}}
|
||||||
<Text style={{ width: "18%", fontSize: 12 }}>
|
>
|
||||||
On behalf of:
|
<Text
|
||||||
</Text>
|
style={{ width: "18%", fontSize: 12 }}
|
||||||
<Text style={styles.questionAnswerWide}>
|
>
|
||||||
{values.representationCapacity}
|
On behalf of:
|
||||||
</Text>
|
</Text>
|
||||||
</View>
|
<Text style={styles.questionAnswerWide}>
|
||||||
|
{values.representationCapacity}
|
||||||
|
</Text>
|
||||||
|
</View>
|
||||||
|
)}
|
||||||
</View>
|
</View>
|
||||||
</View>
|
</View>
|
||||||
</View>
|
</View>
|
||||||
|
|||||||
@@ -0,0 +1,362 @@
|
|||||||
|
import ReactPDF, {
|
||||||
|
Document,
|
||||||
|
Page,
|
||||||
|
Text,
|
||||||
|
View,
|
||||||
|
Image,
|
||||||
|
StyleSheet,
|
||||||
|
PDFViewer,
|
||||||
|
Font,
|
||||||
|
} from "@react-pdf/renderer";
|
||||||
|
import { createElement } from "react";
|
||||||
|
import Html from "react-pdf-html";
|
||||||
|
import { getFormCollectionByID } from "../utils";
|
||||||
|
import fs from "fs";
|
||||||
|
import xpath from "xpath";
|
||||||
|
import renderers, { renderBlock } from "react-pdf-html/dist/renderers";
|
||||||
|
import _ from "lodash";
|
||||||
|
import { DOMParser, XMLSerializer } from "@xmldom/xmldom";
|
||||||
|
import { AppealRow_pdf } from "./appealRow_pdf";
|
||||||
|
|
||||||
|
const styles = StyleSheet.create({
|
||||||
|
page: {
|
||||||
|
backgroundColor: "white",
|
||||||
|
padding: 20,
|
||||||
|
fontSize: 16,
|
||||||
|
paddingBottom: 50,
|
||||||
|
},
|
||||||
|
header: {
|
||||||
|
fontSize: 25,
|
||||||
|
fontFamily: "Helvetica",
|
||||||
|
flexDirection: "row",
|
||||||
|
justifyContent: "space-between",
|
||||||
|
},
|
||||||
|
subHeader: {
|
||||||
|
fontSize: 20,
|
||||||
|
},
|
||||||
|
logoImage: { width: "200pt" },
|
||||||
|
questionBullet: { width: "5%", fontSize: 12 },
|
||||||
|
questionText: { width: "30%", fontSize: 12 },
|
||||||
|
questionTextMid: { width: "80%", fontSize: 12 },
|
||||||
|
questionTextWide: { width: "95%", fontSize: 12, marginBottom: 5 },
|
||||||
|
questionAnswer: {
|
||||||
|
color: "#757575",
|
||||||
|
width: "65%",
|
||||||
|
fontSize: 12,
|
||||||
|
padding: 5,
|
||||||
|
border: 1,
|
||||||
|
borderColor: "#eee",
|
||||||
|
paddingLeft: 10,
|
||||||
|
backgroundColor: "white",
|
||||||
|
},
|
||||||
|
questionAnswerMid: {
|
||||||
|
color: "#757575",
|
||||||
|
width: "20%",
|
||||||
|
fontSize: 12,
|
||||||
|
padding: 5,
|
||||||
|
border: 1,
|
||||||
|
borderColor: "#eee",
|
||||||
|
paddingLeft: 10,
|
||||||
|
backgroundColor: "white",
|
||||||
|
},
|
||||||
|
questionAnswerWide: {
|
||||||
|
color: "#757575",
|
||||||
|
width: "95%",
|
||||||
|
fontSize: 12,
|
||||||
|
marginLeft: "5%",
|
||||||
|
border: 1,
|
||||||
|
borderColor: "#eee",
|
||||||
|
backgroundColor: "white",
|
||||||
|
padding: 5,
|
||||||
|
},
|
||||||
|
|
||||||
|
sectionContainer: {
|
||||||
|
backgroundColor: "#F8F8F8",
|
||||||
|
padding: 10,
|
||||||
|
marginTop: 20,
|
||||||
|
fontSize: 15,
|
||||||
|
},
|
||||||
|
pageNumber: {
|
||||||
|
position: "absolute",
|
||||||
|
fontSize: 12,
|
||||||
|
bottom: 20,
|
||||||
|
left: 0,
|
||||||
|
right: 0,
|
||||||
|
textAlign: "center",
|
||||||
|
color: "grey",
|
||||||
|
},
|
||||||
|
|
||||||
|
richArea: {
|
||||||
|
fontSize: 12,
|
||||||
|
color: "red",
|
||||||
|
flexDirection: "column",
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
export const planningappeals78_pdf = ({ docProps }) => {
|
||||||
|
//console.log("----", docProps);
|
||||||
|
function formatDates(dateObj) {
|
||||||
|
var dateObj = new Date(dateObj);
|
||||||
|
var dd = String(dateObj.getDate()).padStart(2, "0");
|
||||||
|
var mm = String(dateObj.getMonth() + 1).padStart(2, "0"); //January is 0!
|
||||||
|
var yyyy = dateObj.getFullYear();
|
||||||
|
|
||||||
|
return dd + "/" + mm + "/" + yyyy;
|
||||||
|
}
|
||||||
|
let values = docProps;
|
||||||
|
|
||||||
|
let datestr = values.pinswg_name.split("-");
|
||||||
|
let signedDate = datestr[2] + "/" + datestr[1] + "/" + datestr[0];
|
||||||
|
let appealTypeValue = getFormCollectionByID(values.pinswg_appealcasetype);
|
||||||
|
|
||||||
|
var path = require("path");
|
||||||
|
const configDirectory = path.resolve(process.cwd(), "data/formsxml");
|
||||||
|
var xmlStr = fs.readFileSync(
|
||||||
|
path.join(configDirectory, "planningappeals78" + ".xml"),
|
||||||
|
"utf8"
|
||||||
|
);
|
||||||
|
|
||||||
|
xmlStr = xmlStr.replace(/\t/g, "");
|
||||||
|
xmlStr = xmlStr.replace(/\n/g, "");
|
||||||
|
xmlStr = xmlStr.replace(/> <"/g, "><");
|
||||||
|
xmlStr = xmlStr.toString();
|
||||||
|
|
||||||
|
console.log(xmlStr);
|
||||||
|
|
||||||
|
const parser = new DOMParser();
|
||||||
|
var doc = parser.parseFromString(xmlStr, "text/xml");
|
||||||
|
var titles = xpath.select(
|
||||||
|
"//form/tabs/tab[*]/labels/label/@description",
|
||||||
|
doc
|
||||||
|
);
|
||||||
|
var rowXML = xpath.select(
|
||||||
|
"/form/tabs/tab[*]/columns//sections/section/rows/row",
|
||||||
|
doc
|
||||||
|
);
|
||||||
|
|
||||||
|
var titleList = xpath.select(
|
||||||
|
"//form/tabs/tab[*]/labels/label/@description",
|
||||||
|
doc
|
||||||
|
);
|
||||||
|
|
||||||
|
//console.log(titles);
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Document>
|
||||||
|
<Page size="A4" style={styles.page} wrap>
|
||||||
|
<View style={{ padding: 20 }}>
|
||||||
|
<View style={styles.header}>
|
||||||
|
<View>
|
||||||
|
<Text
|
||||||
|
style={{
|
||||||
|
width: "60%",
|
||||||
|
fontFamily: "Helvetica-Bold",
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
Planning Appeals s78
|
||||||
|
</Text>
|
||||||
|
<View>
|
||||||
|
<Text
|
||||||
|
style={{
|
||||||
|
width: "60%",
|
||||||
|
fontSize: 15,
|
||||||
|
marginTop: 20,
|
||||||
|
fontFamily: "Helvetica-Bold",
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
For Planning, Conservation area, Listed
|
||||||
|
Building and Advertisement
|
||||||
|
applications/appeals
|
||||||
|
</Text>
|
||||||
|
</View>
|
||||||
|
</View>
|
||||||
|
<Image
|
||||||
|
style={styles.logoImage}
|
||||||
|
src="public/assets/images/pedw_logo.png"
|
||||||
|
/>
|
||||||
|
</View>
|
||||||
|
|
||||||
|
<View style={styles.section}>
|
||||||
|
<View
|
||||||
|
style={{
|
||||||
|
marginTop: 10,
|
||||||
|
fontFamily: "Helvetica-Bold",
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<Text style={{ fontSize: 14 }}>Case details</Text>
|
||||||
|
</View>
|
||||||
|
<View style={styles.sectionContainer}>
|
||||||
|
<View
|
||||||
|
wrap={false}
|
||||||
|
style={{
|
||||||
|
flexDirection: "row",
|
||||||
|
marginBottom: 10,
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<Text style={styles.questionBullet}>1.</Text>
|
||||||
|
<Text style={styles.questionText}>
|
||||||
|
PEDW reference:
|
||||||
|
</Text>
|
||||||
|
<Text style={styles.questionAnswer}>
|
||||||
|
{values.caseRef}
|
||||||
|
</Text>
|
||||||
|
</View>
|
||||||
|
<View
|
||||||
|
wrap={false}
|
||||||
|
style={{
|
||||||
|
flexDirection: "row",
|
||||||
|
marginBottom: 10,
|
||||||
|
}}
|
||||||
|
></View>
|
||||||
|
<View
|
||||||
|
wrap={false}
|
||||||
|
style={{
|
||||||
|
flexDirection: "row",
|
||||||
|
marginBottom: 10,
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<Text style={styles.questionBullet}>3.</Text>
|
||||||
|
<Text style={styles.questionText}>
|
||||||
|
Site address/grid ref:
|
||||||
|
</Text>
|
||||||
|
<Text style={styles.questionAnswer}>
|
||||||
|
{values.siteAddress}
|
||||||
|
</Text>
|
||||||
|
</View>
|
||||||
|
<View
|
||||||
|
wrap={false}
|
||||||
|
style={{
|
||||||
|
flexDirection: "row",
|
||||||
|
marginBottom: 10,
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<Text style={styles.questionBullet}>4.</Text>
|
||||||
|
<Text style={styles.questionText}>
|
||||||
|
Case Type:
|
||||||
|
</Text>
|
||||||
|
<Text style={styles.questionAnswer}>
|
||||||
|
{appealTypeValue.value}
|
||||||
|
</Text>
|
||||||
|
</View>
|
||||||
|
</View>
|
||||||
|
</View>
|
||||||
|
|
||||||
|
{Object.keys(titles).map((key) => (
|
||||||
|
<View key={key}>
|
||||||
|
<View
|
||||||
|
style={{
|
||||||
|
marginTop: 10,
|
||||||
|
fontFamily: "Helvetica-Bold",
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<Text style={{ fontSize: 14 }}>
|
||||||
|
{parseInt(key) + 1} {titles[key].value}
|
||||||
|
</Text>
|
||||||
|
<View style={styles.sectionContainer}>
|
||||||
|
<View
|
||||||
|
wrap={false}
|
||||||
|
style={{
|
||||||
|
flexDirection: "row",
|
||||||
|
marginBottom: 10,
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<View
|
||||||
|
style={{
|
||||||
|
flexDirection: "column",
|
||||||
|
marginBottom: 10,
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<AppealRow_pdf
|
||||||
|
formXML={xmlStr}
|
||||||
|
whichSection={parseInt(key) + 1}
|
||||||
|
sectionCount={key}
|
||||||
|
props={docProps}
|
||||||
|
key={key}
|
||||||
|
mandatoryFieldsData={null}
|
||||||
|
/>
|
||||||
|
</View>
|
||||||
|
</View>
|
||||||
|
</View>
|
||||||
|
</View>
|
||||||
|
</View>
|
||||||
|
))}
|
||||||
|
|
||||||
|
<View>
|
||||||
|
<View
|
||||||
|
style={{
|
||||||
|
marginTop: 10,
|
||||||
|
fontFamily: "Helvetica-Bold",
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<Text style={{ fontSize: 14 }}>
|
||||||
|
Supporting documents
|
||||||
|
</Text>
|
||||||
|
</View>
|
||||||
|
<View style={styles.sectionContainer}>
|
||||||
|
<View
|
||||||
|
wrap={false}
|
||||||
|
style={{
|
||||||
|
flexDirection: "row",
|
||||||
|
marginBottom: 10,
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<Text style={styles.questionBullet}>11.</Text>
|
||||||
|
<Text style={styles.questionText}>
|
||||||
|
List of attached files
|
||||||
|
</Text>
|
||||||
|
<View
|
||||||
|
style={[
|
||||||
|
styles.questionAnswer,
|
||||||
|
{ flexDirection: "column" },
|
||||||
|
]}
|
||||||
|
>
|
||||||
|
{values.hasOwnProperty("filesList") &&
|
||||||
|
values.filesList.map(function (p) {
|
||||||
|
return (
|
||||||
|
<View
|
||||||
|
style={{
|
||||||
|
flexDirection: "row",
|
||||||
|
marginBottom: 4,
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<Text
|
||||||
|
styles={
|
||||||
|
styles.questionTextMid
|
||||||
|
}
|
||||||
|
>
|
||||||
|
{p.name} - {p.size}
|
||||||
|
</Text>
|
||||||
|
</View>
|
||||||
|
);
|
||||||
|
})}
|
||||||
|
</View>
|
||||||
|
</View>
|
||||||
|
</View>
|
||||||
|
</View>
|
||||||
|
</View>
|
||||||
|
<Text
|
||||||
|
style={styles.pageNumber}
|
||||||
|
render={({ pageNumber, totalPages }) =>
|
||||||
|
`${pageNumber} / ${totalPages}`
|
||||||
|
}
|
||||||
|
fixed
|
||||||
|
/>
|
||||||
|
<View
|
||||||
|
fixed
|
||||||
|
style={{
|
||||||
|
position: "absolute",
|
||||||
|
top: 20,
|
||||||
|
left: 20,
|
||||||
|
bottom: 20,
|
||||||
|
right: 20,
|
||||||
|
border: 1,
|
||||||
|
borderColor: "#eee",
|
||||||
|
padding: 20,
|
||||||
|
paddingTop: 30,
|
||||||
|
height: "100%",
|
||||||
|
}}
|
||||||
|
></View>
|
||||||
|
</Page>
|
||||||
|
</Document>
|
||||||
|
);
|
||||||
|
};
|
||||||
+2
-1
@@ -22,6 +22,7 @@
|
|||||||
"@prisma/client": "^5.0.0",
|
"@prisma/client": "^5.0.0",
|
||||||
"@react-pdf/renderer": "^3.1.12",
|
"@react-pdf/renderer": "^3.1.12",
|
||||||
"@redux-devtools/extension": "^3.2.5",
|
"@redux-devtools/extension": "^3.2.5",
|
||||||
|
"@xmldom/xmldom": "^0.8.10",
|
||||||
"applicationinsights": "^2.2.0",
|
"applicationinsights": "^2.2.0",
|
||||||
"axios": "^0.24.0",
|
"axios": "^0.24.0",
|
||||||
"compression": "^1.7.4",
|
"compression": "^1.7.4",
|
||||||
@@ -86,4 +87,4 @@
|
|||||||
"eslint-plugin-jsdoc": "^40.0.1",
|
"eslint-plugin-jsdoc": "^40.0.1",
|
||||||
"prisma": "^5.0.0"
|
"prisma": "^5.0.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,211 @@
|
|||||||
|
/**
|
||||||
|
* @swagger
|
||||||
|
* /api/file/generateappealpdf:
|
||||||
|
* post:
|
||||||
|
* tags: [Azure Storage]
|
||||||
|
* summary: Phase 2
|
||||||
|
* description: Create reps pdf from text field
|
||||||
|
* consumes:
|
||||||
|
* - application/json
|
||||||
|
* requestBody:
|
||||||
|
* name: PDF
|
||||||
|
* description: PDF content body
|
||||||
|
* required: true
|
||||||
|
* content:
|
||||||
|
* 'application/json':
|
||||||
|
* schema:
|
||||||
|
* type: object
|
||||||
|
* properties:
|
||||||
|
* representationType:
|
||||||
|
* type: string
|
||||||
|
* example: "Questionnaire"
|
||||||
|
* representationQuestion1:
|
||||||
|
* type: string
|
||||||
|
* example: "question 111111"
|
||||||
|
* representationQuestion2:
|
||||||
|
* type: string
|
||||||
|
* example: "question 232222"
|
||||||
|
* representationCapacity:
|
||||||
|
* type: string
|
||||||
|
* example: "yes"
|
||||||
|
* representationDocuments:
|
||||||
|
* type: array
|
||||||
|
* example: [{}]
|
||||||
|
* pinswg_name:
|
||||||
|
* type: string
|
||||||
|
* example: "2023-8-24-1692882853853--REP_Bond"
|
||||||
|
* containerID:
|
||||||
|
* type: string
|
||||||
|
* example: "cljzkgyev0006f9tl4pk6u171"
|
||||||
|
* appealType:
|
||||||
|
* type: integer
|
||||||
|
* example: 846040000
|
||||||
|
* incidentID:
|
||||||
|
* type: string
|
||||||
|
* example: "50b533aa-43f1-ec11-aade-00224800be9c"
|
||||||
|
* caseRef:
|
||||||
|
* type: string
|
||||||
|
* example: "CAS-00764-L0Q9W2"
|
||||||
|
* parameters:
|
||||||
|
* - name: container
|
||||||
|
* in: query
|
||||||
|
* required: true
|
||||||
|
* example: cljzkgyev0006f9tl4pk6u171
|
||||||
|
* schema:
|
||||||
|
* type: string
|
||||||
|
* - name: casefolderID
|
||||||
|
* in: query
|
||||||
|
* required: true
|
||||||
|
* example: CAS-00764-L0Q9W2
|
||||||
|
* schema:
|
||||||
|
* type: string
|
||||||
|
* - name: hash
|
||||||
|
* in: query
|
||||||
|
* required: true
|
||||||
|
* example: 530b67db992ea277a236790be05b2e49bdd9dd02e6d790cc1c25f96cf39687cb
|
||||||
|
* schema:
|
||||||
|
* type: string
|
||||||
|
|
||||||
|
*
|
||||||
|
* responses:
|
||||||
|
* 200:
|
||||||
|
* description: Success
|
||||||
|
*/
|
||||||
|
|
||||||
|
import {
|
||||||
|
createContainer,
|
||||||
|
getContainers,
|
||||||
|
getBlobs,
|
||||||
|
createRepBlob,
|
||||||
|
uploadFile,
|
||||||
|
uploadPDFAppealFiles,
|
||||||
|
downloadProgressFile,
|
||||||
|
getProgressBlobs,
|
||||||
|
} from "../../../actions/azurestorage";
|
||||||
|
import { hashAPIPath } from "../../../actions";
|
||||||
|
|
||||||
|
import ReactPDF, {
|
||||||
|
Document,
|
||||||
|
Page,
|
||||||
|
Text,
|
||||||
|
View,
|
||||||
|
StyleSheet,
|
||||||
|
PDFViewer,
|
||||||
|
} from "@react-pdf/renderer";
|
||||||
|
import middleware from "../middleware/middleware";
|
||||||
|
import nextConnect from "next-connect";
|
||||||
|
import fs from "fs";
|
||||||
|
import { planningappeals78_pdf } from "../../../components/pdftemplates/planningappeals78_pdf";
|
||||||
|
import { finalComments_pdf } from "../../../components/pdftemplates/finalComments_pdf";
|
||||||
|
import { statement_pdf } from "../../../components/pdftemplates/statement_pdf";
|
||||||
|
import { writtenStatement_pdf } from "../../../components/pdftemplates/writtenStatement_pdf";
|
||||||
|
import { other_pdf } from "../../../components/pdftemplates/other_pdf";
|
||||||
|
|
||||||
|
// const ApiProxy = nextConnect();
|
||||||
|
// ApiProxy.use(middleware);
|
||||||
|
|
||||||
|
// ApiProxy.post(async (req, res) => {
|
||||||
|
|
||||||
|
export default async function handler(req, res) {
|
||||||
|
var checkHash = req.query.hash;
|
||||||
|
|
||||||
|
let appealBodyObj = req.body; //JSON.parse(req.body);
|
||||||
|
|
||||||
|
console.log(
|
||||||
|
"//////////////////////\nappealBodyObj" +
|
||||||
|
req +
|
||||||
|
"\n//////////////////////\n"
|
||||||
|
);
|
||||||
|
console.log(
|
||||||
|
"//////////////////////\nappealBodyObj" +
|
||||||
|
req.body +
|
||||||
|
"\n//////////////////////\n"
|
||||||
|
);
|
||||||
|
|
||||||
|
var containerID = req.query.containerID;
|
||||||
|
var casefolderID = req.query.casefolderID;
|
||||||
|
var caseRef = req.query.caseRef;
|
||||||
|
|
||||||
|
//console.log("there are files:", Object.keys(req.files).length);
|
||||||
|
|
||||||
|
var checkquerypath = "/api/file/generateappealpdf";
|
||||||
|
|
||||||
|
//console.log("-------", checkHash);
|
||||||
|
// console.log(hashAPIPath(checkquerypath) == "?hash=" + checkHash);
|
||||||
|
console.log(casefolderID, caseRef);
|
||||||
|
// Create Document Component
|
||||||
|
|
||||||
|
const MyDocument = (values) => {
|
||||||
|
switch (values.docProps.pinswg_appealcasetype) {
|
||||||
|
case "846040000":
|
||||||
|
return planningappeals78_pdf(values);
|
||||||
|
break;
|
||||||
|
case "846040025":
|
||||||
|
return listedbuildingandconservationareaconsen_pdf(values);
|
||||||
|
break;
|
||||||
|
case "846040004":
|
||||||
|
return householderappealhas_pdf(values);
|
||||||
|
break;
|
||||||
|
case "846040018":
|
||||||
|
return adverts_pdf(values);
|
||||||
|
break;
|
||||||
|
case "846040024":
|
||||||
|
return nonvalidation_pdf(values);
|
||||||
|
break;
|
||||||
|
case "846040005":
|
||||||
|
return enforcement_pdf(values);
|
||||||
|
break;
|
||||||
|
case "846040017":
|
||||||
|
return highhedgestpo_pdf(values);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
return other_pdf(values);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
const blobProgress = await getProgressBlobs(containerID, casefolderID).then(
|
||||||
|
(data) => {
|
||||||
|
console.log("Progress blob path:", data);
|
||||||
|
return downloadProgressFile(containerID, data.path, casefolderID);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
console.log(blobProgress);
|
||||||
|
//if (hashAPIPath(checkquerypath) == "?hash=" + checkHash) {
|
||||||
|
// //createContainer(containerID).then((containerName) => {
|
||||||
|
|
||||||
|
// console.log("does this get folder name:", containerID, casefolderID);
|
||||||
|
|
||||||
|
console.log(
|
||||||
|
"///////////////////////////////////\n file created: \n" +
|
||||||
|
`tmp/${blobProgress.pinswg_name}.pdf` +
|
||||||
|
"\n/////////////////////////"
|
||||||
|
);
|
||||||
|
|
||||||
|
// createRepBlob(req.body, containerID, caseRef);
|
||||||
|
|
||||||
|
ReactPDF.render(
|
||||||
|
<MyDocument docProps={blobProgress} />,
|
||||||
|
`tmp/${blobProgress.pinswg_name}.pdf`
|
||||||
|
);
|
||||||
|
|
||||||
|
// uploadPDFAppealFiles(
|
||||||
|
// `tmp/${appealBodyObj.repfile_name}.pdf`,
|
||||||
|
// containerID,
|
||||||
|
// caseRef + "/" + appealBodyObj.pinswg_name
|
||||||
|
// );
|
||||||
|
|
||||||
|
// to do upload file to storage account
|
||||||
|
|
||||||
|
// then remove from local folder
|
||||||
|
|
||||||
|
// fs.unlinkSync( `tmp/${appealBodyObj.repfile_name}.pdf`,);
|
||||||
|
|
||||||
|
return res.status(200).json({
|
||||||
|
data: "success",
|
||||||
|
path: `tmp/${blobProgress.pinswg_name}.pdf`,
|
||||||
|
});
|
||||||
|
// } else {
|
||||||
|
// return res.status(400).json();
|
||||||
|
// }
|
||||||
|
}
|
||||||
@@ -207,38 +207,18 @@ export default function handler(req, res) {
|
|||||||
// code block
|
// code block
|
||||||
}
|
}
|
||||||
|
|
||||||
// const repDate = new Date();
|
|
||||||
|
|
||||||
// let day = ("0" + repDate.getDate()).slice(-2);
|
|
||||||
// let month = ("0" + (repDate.getMonth() + 1)).slice(-2);
|
|
||||||
// let year = repDate.getFullYear();
|
|
||||||
// let time =
|
|
||||||
// ("0" + repDate.getHours()).slice(-2) +
|
|
||||||
// "" +
|
|
||||||
// ("0" + repDate.getMinutes()).slice(-2);
|
|
||||||
|
|
||||||
// let repDateStamp = "";
|
|
||||||
// repDateStamp = year + "" + month + day; //+ "-" + time;
|
|
||||||
|
|
||||||
//console.log(reqBodyobj);
|
|
||||||
//if (hashAPIPath(checkquerypath) == "?hash=" + checkHash) {
|
|
||||||
// //createContainer(containerID).then((containerName) => {
|
|
||||||
|
|
||||||
// console.log("does this get folder name:", containerID, casefolderID);
|
|
||||||
|
|
||||||
console.log(
|
console.log(
|
||||||
"///////////////////////////////////\n file created: \n" +
|
"///////////////////////////////////\n file created: \n" +
|
||||||
`tmp/${reqBodyobj.repfile_name}.pdf` +
|
`tmp/${reqBodyobj.repfile_name}.pdf` +
|
||||||
"\n/////////////////////////"
|
"\n/////////////////////////"
|
||||||
);
|
);
|
||||||
|
|
||||||
// createRepBlob(req.body, containerID, caseRef);
|
|
||||||
|
|
||||||
ReactPDF.render(
|
ReactPDF.render(
|
||||||
<MyDocument docProps={reqBodyobj} />,
|
<MyDocument docProps={reqBodyobj} />,
|
||||||
`tmp/${reqBodyobj.repfile_name}.pdf`
|
`tmp/${reqBodyobj.repfile_name}.pdf`
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// upload file to storage account
|
||||||
uploadPDFRepFiles(
|
uploadPDFRepFiles(
|
||||||
`tmp/${reqBodyobj.repfile_name}.pdf`,
|
`tmp/${reqBodyobj.repfile_name}.pdf`,
|
||||||
containerID,
|
containerID,
|
||||||
@@ -246,10 +226,7 @@ export default function handler(req, res) {
|
|||||||
repType
|
repType
|
||||||
);
|
);
|
||||||
|
|
||||||
// to do upload file to storage account
|
// remove from local folder
|
||||||
|
|
||||||
// then remove from local folder
|
|
||||||
|
|
||||||
// fs.unlinkSync( `tmp/${reqBodyobj.repfile_name}.pdf`,);
|
// fs.unlinkSync( `tmp/${reqBodyobj.repfile_name}.pdf`,);
|
||||||
|
|
||||||
return res.status(200).json({
|
return res.status(200).json({
|
||||||
|
|||||||
Reference in New Issue
Block a user